比如TLD、CT、Struct这些效果不错的Tracker其实都不是单纯的Tracker了。09年的时候我记得比较流行的是Particle Filtering, 或者一些MeanShift/CamShift的变形,比如特征变了,比如对问题的假设变了。
后来突然出现一些tracking by detection的方法,之前的很多朋友就觉得这是耍流氓。比如TLD,严格的跟踪算法也许只是里面的Forward/Backward Opitcal Flow的部分,但是效果很Impressive,所以不管怎样,一下就火了。
之后所谓的跟族孙踪就不再是一个传统的跟踪问题,而是一个综合的工程问题。online learning,random projection ,sparse learning的东西都加进来,大家其实到底是在做跟踪还是在做检测或者online learning,其实已经不重要,因为衡量的标准是你冲漏在某些public dataset上的精度。
但这些对实际的项目有没有帮助呢?
这是个很有意思的地方,在很多时候,我们之所以需要跟踪算法,是因为我们的检测算法很慢,跟踪很快。基本上当前排名前几的跟踪算法都很难用在这样的情况下,因为你实际的速度已经太慢了,比如TLD,CT,还有Struct,如果目标超过十个,基本上就炸了。况且还有些跟踪算法自己drift掉了也不知道,比如第一版本的CT是无法处理drift的问题的,TLD是可以的,究其原因还是因为检测算法比较鲁棒啊……
实际中我觉得速度极快,实现也简单的纯跟踪算法居然是NCC和Overlap。
NCC很简单,这个是对点进行的,对于区域也有很多变种,网上有一些相关的资源。
Overlap是我取的名字,一般用在里面,假如你的摄像头是静止的,背景建模之后出来的前景可以是一个一个的blob,对相邻散穗烂两帧的blob检测是否Overlap就可以得到track。在一些真实场景下,这个算法是非常有效的。关于背景template的问题在真实的里面也是很好解决的。
坐在电脑前面调试代码tuning 各种阈值让跟踪算法在某一个帧下面不要drift的事情我是再也不想干了。
顺祝你2015幸福快乐。
CT的成像原理:CT是用X射线束对人体某部一定厚度的层面进行扫描,由探测器接收透过该层面的X射线,转变为可见光后,由光电转换变为电信号,再经模拟/数字转换器(analog/digital converter)转为数祥拍字,输入计算机处理。图像形磨拆成的处理有如对选定层面分成若干个体积相同的长方体,称之为体素(voxel)。
扫描所得信息经计算而获得每个体素的X射线衰减系数或吸收系数,再排列成矩阵,即数字矩阵(digital matrix),数字矩阵可存贮于磁盘或光盘中。经数字/模拟转换器(digital/analog converter)把数字矩阵中的每个数字转为由黑到白不等灰度的小方块,即像素谨游羡(pixel),并按矩阵排列,即构成CT图像。所以,CT图像是重建图像。每个体素的X射线吸收系数可以通过不同的数学方法算出。
CT的工作程序是这样的:它根据人体不同组织对X线的吸收与透过率的不同,应用灵敏度极高的仪器对人体进行测量,然后将测量所获取的数据输入电子计算机,电子计算机对数据进行处理后,就可摄下人体被检查部位的断面或立体的图像,发现体内任何部位的细小病变。
计算机视觉中,目前有哪些经典的目标跟踪算法 比如TLD、CT、Struct这些效果亩兆不错的Tracker其实都不是单纯的Tracker了。09年的时候我记得比较流行歼仿的是迅改租Particle Filtering, 或者一些MeanShift/CamSh欢迎分享,转载请注明来源:内存溢出
评论列表(0条)