convnet联机这个软件怎么用,听说可以联机mc,有人会用吗。大佬有没有

&figure&&img src=&/v2-cbb_b.jpg& data-rawwidth=&856& data-rawheight=&252& class=&origin_image zh-lightbox-thumb& width=&856& data-original=&/v2-cbb_r.jpg&&&/figure&论文下载地址:&a href=&/?target=http%3A//ieeexplore.ieee.org/abstract/document/6870486/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&paper&i class=&icon-external&&&/i&&/a&。代码下载地址:&a href=&/?target=http%3A//www.isr.uc.pt/%7Ehenriques& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&code&i class=&icon-external&&&/i&&/a&。本人水平有限,难免有理解不到位的地方,请大家批评指正哈哈~&p&个人认为,这篇论文是近年来跟踪界最经典的论文,没有之一。主要思想就是利用了循环矩阵对角化等性质,使得核化之后的计算变得十分简单。原理很复杂(原文中公式竟然有60多个啊+_+),代码很简单(少到令人感动)。下面废话不多说,谈谈论文的主要思想。&/p&&p&1.总体思路:所谓的相关滤波方法就是根据当前帧的信息和之前帧的信息训练出一个相关滤波器,然后与新输入的帧进行相关性计算,得到的置信图就是预测的跟踪结果,显然,得分最高的那个点(或者块)就是最可能的跟踪结果。由于KCF里并没有任何的流程图,所以我们借助&a href=&/?target=http%3A//www.kaihuazhang.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Kaihua Zhang&i class=&icon-external&&&/i&&/a&的STC[1]中的配图来理解一下,看着配图应该能理解主要的流程了。这里要说一下,为什么能用其它论文的配图,因为我们介绍的这篇KCF和STC都是对12年CSK[2]的改进,不同的是,KCF是在CSK基础上加了HOG特征使得效果大大提升了,STC是在贝叶斯的框架下对CSK进行解释并在其中加入了上下文(context)信息的应用。所以本质上来说,这几个都是一样的流程。&figure&&img src=&/v2-39d92fdfafd6b58e684cb_b.png& data-rawwidth=&945& data-rawheight=&525& class=&origin_image zh-lightbox-thumb& width=&945& data-original=&/v2-39d92fdfafd6b58e684cb_r.png&&&/figure&1.1上面的部分就是利用之前帧的跟踪结果图片训练出相关滤波器。我们将原始的问题表述为:&/p&&figure&&img src=&/v2-f37cc6ea5e11f3dd8e2a4c_b.png& data-rawwidth=&96& data-rawheight=&23& class=&content_image& width=&96&&&/figure&&p&优化函数由凸优化里最简单的最小二乘和正则项组成,也就是最常用的岭回归方法:&br&&figure&&img src=&/v2-761acce590ec33ec0feb8_b.png& data-rawwidth=&230& data-rawheight=&46& class=&content_image& width=&230&&&/figure&这里的理想回归期望(标签)假设是高斯型,直观上理解就是离上一帧跟踪结果越近,那么它是这一帧的跟踪结果的概率也就越大。如下图,下一帧中心点的位置在黄色点周围的可能性大,不会跑太远,所以理想回归函数也就是中间大周围小。&/p&&figure&&img src=&/v2-b987c157a910ecb009a3d33c2e7eded4_b.png& data-rawwidth=&71& data-rawheight=&69& class=&content_image& width=&71&&&/figure&&p&因为最小二乘类的优化方法已经很成熟了,所以我们可以直接用公式求解(其实就是求偏导令其等于0):&/p&&figure&&img src=&/v2-b2a399e3853dd_b.png& data-rawwidth=&209& data-rawheight=&40& class=&content_image& width=&209&&&/figure&&br&&p&看起来比较复杂,又是共轭转置又是求逆的,所以要简化一下。那么本文也是常规思路,把非线性问题转化为线性问题,所以就想到了SVM中也用到的核技巧(注意我们这里推导的时候用的是点积核,但其实核函数还有多项式核、径向基核及高斯核等),引入核函数后能够把参数训练问题简化:&/p&&figure&&img src=&/v2-fcbe46f0c47d57d86df2b1f_b.png& data-rawwidth=&137& data-rawheight=&27& class=&content_image& width=&137&&&/figure&&p&这里的K是两个矩阵的核相关性。看起来似乎已经简化了很多了,但是,还是有求逆!求逆杀伤力太强了,不行,一定还要简化。怎么办呢?这时循环矩阵对角化的性质派上用场了,利用循环矩阵的性质,使得训练过程进一步简化。&/p&&figure&&img src=&/v2-87feabe477d0b8c8f6b0fc84991bae01_b.png& data-rawwidth=&106& data-rawheight=&47& class=&content_image& width=&106&&&/figure&&p&这里顶上的符号是复域的意思。不管你信不信,反正我是信了,竟然如此简单,这里详细的推导过程放在后面的部分。&/p&&p&1.2下面的部分就是对新输入的帧进行检测,其实就是跟滤波器计算出相关性再乘上回归系数,如果是新手听不懂没关系,后面会再讲的哦。右下角的置信图(就是各个点是跟踪结果的可能性)用公式来表达就是如下:&figure&&img src=&/v2-bfdeeb0a4d051b2_b.png& data-rawwidth=&165& data-rawheight=&62& class=&content_image& width=&165&&&/figure&&/p&&p&没错,就是这么简单就能求出输入帧的跟踪结果了。如上图右下角所示,新的跟踪结果比原跟踪结果往右上方移了一些,直观上来看红色框中David的脸确实往右上方移动了一些,所以结果应该是对的,当然这只是我们肉眼看到的结果,真正结果好不好还要看在数据集上跑的结果,KCF的结果会在之后的实验部分讲,结果是相当好的,当然那是在2014年的时候。&figure&&img src=&/v2-bf23f1b897e_b.png& data-rawwidth=&134& data-rawheight=&138& class=&content_image& width=&134&&&/figure&&/p&&p&那么这里得到的响应矩阵(置信图)该怎么理解呢?便于理解,故放一张图。这里也是循环采样的精髓之处。&/p&&p&&figure&&img src=&/v2-426aad13fbd32c_b.png& data-rawwidth=&135& data-rawheight=&135& class=&content_image& width=&135&&&/figure&如上图,最后得到的响应矩阵其实可以理解成一种密集的采样对应的响应矩阵,左上角(上图中第1行第1列)的响应值就是预测的当前输入帧以这个点为中心的可能性,当然这个点的预测值肯定是很低的,因为我下一帧很难跑到那里去。以此类推,MxN个响应对应的就是MxN种循环移位。下面一句话是重点,所谓的循环矩阵到这里就大显身手了,仔细想想,第ij块表示原图下移i行右移j列,那么换句话说,好像我所有的这MxN个循环移位的矩阵只要用一个量就可以表示了。&/p&&p&有没有一种熟悉的感觉?对,就是基波和谐波。类比一下,我用一个基波和一个倍数就能表示所有的谐波了,这里的原图就是基波,而位移之后的图就是谐波。自然地,既然那么像,那我们就试试傅立叶变换呗,一试就成了,因为需要计算的量很少,所以速度快,因为密集采样样本大大增加,所以跟踪的效果又很好。&/p&&figure&&img src=&/v2-6f2c3ae2c030d3e1fe9f29ab32fffb7a_b.png& data-rawwidth=&933& data-rawheight=&276& class=&origin_image zh-lightbox-thumb& width=&933& data-original=&/v2-6f2c3ae2c030d3e1fe9f29ab32fffb7a_r.png&&&/figure&&p&如果你不是做跟踪这行的话,可能会问,右下角t+1帧的时候为什么红色框的中心(也就是黄色小点)不是David的鼻子那里,那是因为这个红色框是根据上一帧的跟踪结果来画的,这个小黄点的位置其实是上一帧David(David也算是个数据集中的明星0.0)鼻子的位置,这也是常见做法,先用上一帧的结果在当前输入帧框出一个大框,然后跟最新的滤波器做相关性计算,相关性最大的就是鼻子那块,也就是当前输入帧的跟踪结果。&/p&&p&2.其实讲到这里已经把精髓讲完了,下面讲一些推导细节,加深理解。&/p&&p&2.1循环矩阵对角化有神奇效果,大大降低了运算量。首先举个例子,来展现它神奇的效果。就拿上文出现的岭回归公式当例子吧,看看能把它简化成什么样。&/p&&p&原始公式:&/p&&p&&figure&&img src=&/v2-62ceb4ee47bbc200cc89_b.png& data-rawwidth=&190& data-rawheight=&29& class=&content_image& width=&190&&&/figure&在复域中(H表示共轭转置)即:&figure&&img src=&/v2-9c3aea755b61d0afda0e341b339ce567_b.png& data-rawwidth=&196& data-rawheight=&28& class=&content_image& width=&196&&&/figure&&/p&&p&化简过程:&/p&&p&&figure&&img src=&/v2-b5bfb69b46dde4ef7a4c14f8_b.png& data-rawwidth=&457& data-rawheight=&817& class=&origin_image zh-lightbox-thumb& width=&457& data-original=&/v2-b5bfb69b46dde4ef7a4c14f8_r.png&&&/figure&这是我早前推的,比起他的公式,我个人更喜欢他的代码嘻嘻。这个公式推下来并没有用,只是让我们见识一下循环矩阵化简的威力,真正用到代码里去的是下面3个推导。&/p&&p&2.2大家是否还记得我们这里实际上用到的是核化的岭回归啊?也就是比普通的稍微简化了一些的,所以推导起来也比较容易。&/p&&p&原始公式:&/p&&p&&figure&&img src=&/v2-dc2b5f070d34d6b771ddfa89fdf5de7a_b.png& data-rawwidth=&134& data-rawheight=&23& class=&content_image& width=&134&&&/figure&化简过程:&/p&&p&&figure&&img src=&/v2-97e749a7a8d14ad767b39ab67105bdc6_b.png& data-rawwidth=&279& data-rawheight=&377& class=&content_image& width=&279&&&/figure&嗯,好像看起来还不错哦,既没有求逆又没有很多矩阵乘法运算。它的代码其实更感人。&/p&&p&&figure&&img src=&/v2-df767f7b849c961b39ca87_b.png& data-rawwidth=&356& data-rawheight=&61& class=&content_image& width=&356&&&/figure&简单的不能再简单了,至此,训练过程结束。下面看检测过程,同样化简得面目全非。&/p&&p&2.3检测出跟踪结果,就是当前输入的帧和滤波器求相关性,相关性最大的即为跟踪结果。&/p&&p&原始公式:&figure&&img src=&/v2-36d12ffe244e23a798f0740_b.png& data-rawwidth=&117& data-rawheight=&25& class=&content_image& width=&117&&&/figure&&/p&&p&化简过程:&/p&&p&&figure&&img src=&/v2-ecf4ac9ceecf56ea155fe351_b.png& data-rawwidth=&339& data-rawheight=&339& class=&content_image& width=&339&&&/figure&嗯,这篇论文真是不断地感动着我们这些吃瓜群众,原来可以这么简单。看着公式,代码闭着眼睛都能编了。&/p&&p&&figure&&img src=&/v2-da2abb917a_b.png& data-rawwidth=&389& data-rawheight=&64& class=&content_image& width=&389&&&/figure&现在只剩一个问题了,那就是核相关性怎么求。&/p&&p&2.4核相关性的化简。好像解决了这个就完美了,那这个核相关性好求吗?如果不好求的话,就空亏一篑了,放心,跟踪界的allstar Henriques(葡萄牙人的名字我至今不会读)当然已经帮我们解决好了,依然简单。&/p&&p&原式公式:&figure&&img src=&/v2-9799fbebbac_b.png& data-rawwidth=&35& data-rawheight=&25& class=&content_image& width=&35&&&/figure&&/p&&p&化简过程:&figure&&img src=&/v2-e724a2aaca86_b.png& data-rawwidth=&404& data-rawheight=&160& class=&content_image& width=&404&&&/figure&&/p&&p&我们这里只推导点积核。剩下的多项式核,径向基核,高斯核类比就能得到。论文里效果最好的是高斯核。&/p&&p&&figure&&img src=&/v2-a88fcaaf0b7459228ace3b1_b.png& data-rawwidth=&388& data-rawheight=&77& class=&content_image& width=&388&&&/figure&注意,代码里第2行是使用HOG特征的关键,他把31层HOG特征全部加起来了,这个简单的操作使得之前的CSK能用很多高维特征,故性能大增。&/p&&p&3.实验。我在OTB50上跑了0.514,因为加入了形状特征HOG,所以抗光照等性能骤升,当时(2014年)能排世界第3,由于实现起来非常简单,在很多人眼里是近年来跟踪界当之无愧的最佳论文(其实是在我眼里)。&/p&&p&本人跑的结果:&/p&&p&&figure&&img src=&/v2-bf29fb277aaabe03398df8_b.jpg& data-rawwidth=&560& data-rawheight=&420& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&/v2-bf29fb277aaabe03398df8_r.jpg&&&/figure&作者论文中的对比实验结果:&/p&&p&&figure&&img src=&/v2-4e9acb5fa9b2a94d3931e7e_b.png& data-rawwidth=&523& data-rawheight=&402& class=&origin_image zh-lightbox-thumb& width=&523& data-original=&/v2-4e9acb5fa9b2a94d3931e7e_r.png&&&/figure&4.总结&/p&&p&本论文使用了HOG特征+核函数法把相关滤波器领域又推到了一个新的高度上。KCF是原理很复杂,实现很简单的代表作之一。&/p&&p&[1] K. Zhang, L. Zhang, Q. Liu, D. Zhang, and M.-H. Yang. Fast visual tracking via dense spatio-temporal context learning. In Proceedings of the European Conference on Computer Vision, 2014.&/p&&p&[2] J. F. Henriques, R. Caseiro, P. Martins, and J. Batista. Exploiting the circulant structure of tracking-by-detection with kernels. In Proceedings of the European Conference on Computer Vision, 2012.&/p&
论文下载地址:。代码下载地址:。本人水平有限,难免有理解不到位的地方,请大家批评指正哈哈~个人认为,这篇论文是近年来跟踪界最经典的论文,没有之一。主要思想就是利用了循环矩阵对角化等性质,使得核化之后的计算变得十分简单。原理很复杂…
&p&* 此文用途为个人记录总结,可能会有偏差,仅作参考,细节详情还是读原文吧 *&/p&&p&&b&### 还有两个问题没弄懂 ###&/b&&/p&&p&原文链接:&a href=&/?target=http%3A//www.cs.colostate.edu/%7Edraper/papers/bolme_cvpr10.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Visual Object Tracking using Adaptive Correlation Filters&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&p&问题:&/p&&p&1、为什么要提出这个模型&/p&&p&
第一个在tracking项目中使用相关滤波器的模型。&/p&&p&2、模型结构是怎样的&/p&&p&
概括, &img src=&/equation?tex=H%5E%7B%2A%7D& alt=&H^{*}& eeimg=&1&& 就是令输入 &img src=&/equation?tex=F_%7Bi%7D& alt=&F_{i}& eeimg=&1&& 和groundtruth &img src=&/equation?tex=G_%7Bi%7D& alt=&G_{i}& eeimg=&1&& 相关的一个filter,因故得名“相关滤波”,追踪器的模型就是找到令输出和实际groundtruth最小的那个 &img src=&/equation?tex=H%5E%7B%2A%7D& alt=&H^{*}& eeimg=&1&& ,并且在跟踪的时候,模型的更新需要用到先前帧的信息。详情看正文内容。&/p&&p&3、模型的特别之处,及其带来的好效果&/p&&p&
模型利用傅里叶变换,利用在二维频域上的相乘进行傅里叶逆变换得到空间域上的卷积,大大地减少了计算量,实时效果非常好。&/p&&p&4、不足的地方&/p&&p&
精度吧&/p&&hr&&p&&b&空间域 &img src=&/equation?tex=%5Crightarrow& alt=&\rightarrow& eeimg=&1&& 频域&/b&&/p&&p&对输入图像进行二维傅里叶变换 &img src=&/equation?tex=F+%3D+FFT%28f%29& alt=&F = FFT(f)& eeimg=&1&&&/p&&p&对相关滤波器畸形二维傅里叶变换 &img src=&/equation?tex=H+%3D+FFT%28h%29& alt=&H = FFT(h)& eeimg=&1&&&/p&&p&&img src=&/equation?tex=G+%3D+F%5Codot+H%5E%7B%2A%7D& alt=&G = F\odot H^{*}& eeimg=&1&& (&i&&b&第一个疑问,为什么 &img src=&/equation?tex=H& alt=&H& eeimg=&1&& 要变成复共轭?&/b&&/i&)&/p&&p&(频域相乘=空间域卷积,此处 &img src=&/equation?tex=%5Codot& alt=&\odot& eeimg=&1&& 表示像素点相乘, &img src=&/equation?tex=%2A& alt=&*& eeimg=&1&&
表示复共轭)&/p&&p&&b&频域 &img src=&/equation?tex=%5Crightarrow& alt=&\rightarrow& eeimg=&1&& 空间域&/b&&/p&&p&对上式的 &img src=&/equation?tex=G+& alt=&G & eeimg=&1&& 进行傅里叶逆变换,频域转回空间域 &img src=&/equation?tex=g%3DiFFT%28G%29& alt=&g=iFFT(G)& eeimg=&1&&&/p&&p&&br&&/p&&p&1、预处理&/p&&p&由于对图像进行傅里叶变换的时,卷积会让空间域的图像进行周期延拓(复制,挨着贴在一起),也就是图像上边缘挨着下边缘,左边缘挨着右边缘,这样会对correlation输出产生影响。(&i&&b&疑问二,如何影响? 论文说参考做法
&/b&&/i&D. S. Bolme, B. A. Draper, and J. R. Beveridge. Average of synthetic exact filters. In CVPR,
)因此,需要对图片进行预处理。&/p&&p&首先,进行一个 &img src=&/equation?tex=log& alt=&log& eeimg=&1&& 处理低对比度,(提升照片的对比度)&/p&&p&然后,令像素值形成一个均值为0的正态分布&/p&&p&最后,乘上一个 &img src=&/equation?tex=cos& alt=&cos& eeimg=&1&& 窗,使得图像周边的像素值逐渐减少至0,同时有利于对目标中心给与更多的emphasis。&/p&&p&&br&&/p&&p&&br&&/p&&p&2、MOSSE滤波器&/p&&p&首先,需要一组训练对,输入 &img src=&/equation?tex=f_%7Bi%7D& alt=&f_{i}& eeimg=&1&& ,输出 &img src=&/equation?tex=g_%7Bi%7D& alt=&g_{i}& eeimg=&1&& 。&/p&&p&这里, &img src=&/equation?tex=g_%7Bi%7D& alt=&g_{i}& eeimg=&1&& 是在训练图像 &img src=&/equation?tex=f_%7Bi%7D& alt=&f_{i}& eeimg=&1&&
中心点的二维高斯响应( &img src=&/equation?tex=%5Csigma+%3D+2.0& alt=&\sigma = 2.0& eeimg=&1&& )。&/p&&p&与上一节相同我们对 &img src=&/equation?tex=f_%7Bi%7D& alt=&f_{i}& eeimg=&1&& 和 &img src=&/equation?tex=g_%7Bi%7D& alt=&g_{i}& eeimg=&1&& 进行傅里叶变换并在频域上相乘(即空间域卷积)&/p&&p&&img src=&/equation?tex=H_%7Bi%7D%5E%7B%2A%7D+%3D+%5Cfrac%7BG_%7Bi%7D%7D%7BF_%7Bi%7D%7D& alt=&H_{i}^{*} = \frac{G_{i}}{F_{i}}& eeimg=&1&&&/p&&p&MOSSE(Minimize Sum of Squared Error) 找到的是,一个能最小化输出和实际输出平方误差的filter &img src=&/equation?tex=H& alt=&H& eeimg=&1&&&/p&&p&&img src=&/equation?tex=%5Cmin_%7BH%5E%7B%2A%7D%7D%7B%5Csum_%7Bi%7D%5E%7B%7D%7B%5Cleft%7C+F_%7Bi%7D%5Codot+H%5E%7B%2A%7D+-+G_%7Bi%7D%5Cright%7C%5E%7B2%7D%7D%7D& alt=&\min_{H^{*}}{\sum_{i}^{}{\left| F_{i}\odot H^{*} - G_{i}\right|^{2}}}& eeimg=&1&&&/p&&p&对上式的 &img src=&/equation?tex=H%5E%7B%2A%7D& alt=&H^{*}& eeimg=&1&& 求偏导,令偏导数为0,得到能够最小化平方误差的 &img src=&/equation?tex=H%5E%7B%2A%7D& alt=&H^{*}& eeimg=&1&& ,求导过程省略,详情可参考&a href=&/?target=http%3A//blog.csdn.net/autocyz/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&i class=&icon-external&&&/i&&/a& ,得到&/p&&p&&img src=&/equation?tex=H%5E%7B%2A%7D+%3D+%5Cfrac%7B%5Csum_%7Bi%7D%5E%7B%7D%7BG_%7Bi%7D%5Codot+F_%7Bi%7D%5E%7B%2A%7D%7D%7D%7B%5Csum_%7Bi%7D%5E%7B%7D%7BF_%7Bi%7D%5Codot+F_%7Bi%7D%5E%7B%2A%7D%7D%7D& alt=&H^{*} = \frac{\sum_{i}^{}{G_{i}\odot F_{i}^{*}}}{\sum_{i}^{}{F_{i}\odot F_{i}^{*}}}& eeimg=&1&&&/p&&p&&br&&/p&&p&&br&&/p&&p&3、滤波器的在线更新&/p&&p&初始化不细讲,&b&追踪过程的参数更新&/b&&/p&&p&&img src=&/equation?tex=H_%7Bi%7D%5E%7B%2A%7D+%3D+%5Cfrac%7BA_%7Bi%7D%7D%7BB_%7Bi%7D%7D& alt=&H_{i}^{*} = \frac{A_{i}}{B_{i}}& eeimg=&1&&&/p&&p&&img src=&/equation?tex=A_%7Bi%7D+%3D+%5Ceta+G_%7Bi%7D+%5Codot+F_%7Bi%7D%5E%7B%2A%7D+%2B+%281-%5Ceta%29A_%7Bi-1%7D& alt=&A_{i} = \eta G_{i} \odot F_{i}^{*} + (1-\eta)A_{i-1}& eeimg=&1&&&/p&&p&&img src=&/equation?tex=B_%7Bi%7D+%3D+%5Ceta+F_%7Bi%7D+%5Codot+F_%7Bi%7D%5E%7B%2A%7D+%2B+%281-%5Ceta%29B_%7Bi-1%7D& alt=&B_{i} = \eta F_{i} \odot F_{i}^{*} + (1-\eta)B_{i-1}& eeimg=&1&&&/p&&p&&img src=&/equation?tex=%5Ceta+& alt=&\eta & eeimg=&1&& 为学习率,加入学习率是为了应对追踪过程。在追踪的过程中,视频的帧与帧之前的变化是连续的,具有时序性,并且邻近的帧其相关性也大,每一个 &img src=&/equation?tex=A_%7Bi%7D& alt=&A_{i}& eeimg=&1&& 和 &img src=&/equation?tex=B_%7Bi%7D& alt=&B_{i}& eeimg=&1&& 都包含了过去帧信息以不同的权重以叠加,离当前帧越远的帧,其权重越小。&/p&&p&在实际测试中,发现 &img src=&/equation?tex=%5Ceta+%3D+0.125& alt=&\eta = 0.125& eeimg=&1&& 的时候,在保持鲁棒性的情况下,能够很快地适应物体外观的改变。&/p&&p&&br&&/p&&p&&br&&/p&&p&我的理解,说白了, &img src=&/equation?tex=H%5E%7B%2A%7D& alt=&H^{*}& eeimg=&1&& 就是令输入 &img src=&/equation?tex=F+& alt=&F & eeimg=&1&& 和groundtruth &img src=&/equation?tex=G& alt=&G& eeimg=&1&& 相关的一个filter,因故得名“相关滤波”,追踪器的模型就是找到令输出和实际groundtruth最小的那个 &img src=&/equation?tex=H%5E%7B%2A%7D& alt=&H^{*}& eeimg=&1&& ,并且在跟踪的时候,模型的更新需要用到先前帧的信息。&/p&&p&&/p&&p&&/p&
* 此文用途为个人记录总结,可能会有偏差,仅作参考,细节详情还是读原文吧 *### 还有两个问题没弄懂 ###原文链接: 问题:1、为什么要提出这个模型 第一个在tracking项目中使用相关滤波器的模型…
&figure&&img src=&/v2-3bfba762b074b07cea3aa1b1a6d2732c_b.jpg& data-rawwidth=&676& data-rawheight=&190& class=&origin_image zh-lightbox-thumb& width=&676& data-original=&/v2-3bfba762b074b07cea3aa1b1a6d2732c_r.jpg&&&/figure&&h2&专栏前言&/h2&&p&本专栏主要用来分享视觉目标跟踪领域的相关算法和具体实现,整个专栏的分享顺序是先基于相关滤波框架后基于深度学习框架,这两个方向也是从2010年开始至今研究最火热也是跟踪效果最好的两个框架。先从涉及到相关滤波框架中的基础框架的三个算法MOSSE、CSK、KCF开始本专栏的分享,本文是相关滤波的开山之作MOSSE的理解,那就开始我们的分享之旅吧&/p&&hr&&h2&前言&/h2&&p&作者:&b&David S. Bolme&/b&
J. Ross Beveridge
Bruce A. Draper
Yui Man Lui&/p&&p&主页:&a href=&/?target=http%3A//www.cs.colostate.edu/%7Evision/ocof_toolset_2012/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&cs.colostate.edu/~visio&/span&&span class=&invisible&&n/ocof_toolset_2012/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&出处:2010年CVPR&/p&&p&目标跟踪被广泛的应用。目标跟踪定义:在首帧得到目标的位置,在接下来的每帧中跟踪上目标。当跟踪上每一帧目标后可以得到很多信息,可以用来鉴定目标和分析目标的行为。因为跟踪比检测更加容易,跟踪算法可以在消耗较少资源的情况下实时的运行。&/p&&p&最近,目标跟踪受到了更多的关注。有很多跟踪方法能适应目标的外观,并且能够在目标发生运动时跟踪上目标,比如:IVT、FragTrack、GBDL、MILTrack。这些方法很高效,但是并不简单,它们往往包含复杂的外观模型或者繁琐的优化算法,速度上只能勉强在25到30FPS。&/p&&p&在2010年前,视觉目标跟踪使用的方法多数是生成式方法,包括meanshift、camshift、粒子滤波和kalman滤波。生成式方法的思路是对目标建模,需要使用表现优异的特征表示,同时建立的模型相对复杂,存在如下一些问题:对目标的建模过程比较费时,无法做到较好的实时性,同时只对目标进行建模,没有考虑到背景的信息,跟踪性能无法保证。我们知道之后出现的判别式方法可以很好的解决上述提到的问题,所以目前判别式方法在跟踪领域的表现相对优于生成式方法。判别式方法把目标跟踪问题看作是目标和背景的分类问题,只要在每帧图像中区分出目标和背景,然后不断更新分类器就可以实现目标跟踪,在保持实时性的同时对目标的跟踪较为准确,同时考虑了背景信息更加的鲁棒。而判别式方法中的翘楚是2010年出现的相关滤波算法,2010年MOSSE的横空出世宣告相关滤波至少7年以上的研究热潮。&/p&&p&这篇文章就是对CF类算法的开山之作MOSSE的介绍,介绍其带来的速度和性能上的提升后也会分析其存在的问题,毕竟是开山之作并不是CF类的巅峰之作,还是存在一些问题。&/p&&h2&创新点&/h2&&p&在2010年,相关滤波还没有被广泛应用,这篇论文则是开创性的将相关滤波技术引入到目标跟踪领域,这类算法可以很好的适应于复杂目标的旋转、被遮挡以及一些其他的干扰,并且跟踪速度是其他优秀算法的20倍。过去的相关滤波方法只是使用简单的模板,通常在跟踪中会应用失败。2010年以前一些更好的相关滤波方法,比如:ASEF和UMACE也并不适合于目标跟踪。视觉跟踪需要一个鲁棒性很强的滤波器,是通过首帧的目标训练而得的,同时能够自适应于目标的变化。&/p&&p&这篇文章主要提出一种误差平方和最小的滤波器MOSSE(Minimum Output Sum of&br&Squared Error filter)跟踪算法,是通过首帧目标训练而得。基于这样滤波器的跟踪算法能够对目标的光照、尺度、姿态变化和非刚性形变有很好的鲁棒性,同时实现极快的跟踪速度,在作者的计算机上可以达到669FPS。当目标发生遮挡时,可以根据PSR值来判断目标跟踪是否失败来决定是否更新滤波器参数,当目标再次出现在视野中时,可以再次跟上目标。&/p&&h2&算法流程&/h2&&p&算法的整体流程如下图所示:&/p&&figure&&img src=&/v2-cd90cca6c69fd7d6a676f7a8ae31f2c6_b.jpg& data-size=&normal& data-rawwidth=&560& data-rawheight=&372& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&/v2-cd90cca6c69fd7d6a676f7a8ae31f2c6_r.jpg&&&figcaption&算法的整体流程图&/figcaption&&/figure&&p&该算法将相关滤波概念应用到目标跟踪的理论依据是基于训练样本的最小二乘误差:&/p&&figure&&img src=&/v2-124cddabf35eb46f2dc3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&122& data-rawheight=&30& class=&content_image& width=&122&&&/figure&&p&所以上述流程中基于首帧图像的目标仿射变换得到的多个样本和对应各样本的期望输出都是用于求解和训练滤波器参数的,上式的求解则是在频域中的求导后置0可以求到闭式解:&/p&&figure&&img src=&/v2-1cfd68a7d90d3fbd8916c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&75& data-rawheight=&33& class=&content_image& width=&75&&&/figure&&p&在下一帧图像到来之后,根据训练得到的滤波器模板和基于上帧目标位置的采集样本可以获得最后的响应输出,选取响应最大的位置为这一帧中目标的位置,之后再更新滤波器和图像样本反复循环的执行以上过程可以持续的跟踪住目标。&/p&&h2&算法细节&/h2&&p&预处理&/p&&p&对图像和滤波器进行卷积操作会将其映射到拓扑空间中,形成圆环性,即左边与右边相连,上边与下边相连。卷积时图像发生旋转,目标位移会不准确,这样就加入了人为的影响。需要用预处理步骤来克服这一点,首先对原始灰度值进行对数变换,降低光照影响,图像灰度值被归一化到均值为0,然后将图像与一个余弦窗相乘,让图像边缘的值接近0,更加的突出中间目标的权重。&/p&&p&失败检测&/p&&figure&&img src=&/v2-78f572e1f8b8c4821a56_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&81& data-rawheight=&27& class=&content_image& width=&81&&&/figure&&p&使用PSR的值来检测跟踪失败,在实验中PSR值在20到60之间被认为是跟踪效果较好,当PSR值低于7就可以判断为跟踪失败,不更新模板。&/p&&h2&图解算法&/h2&&p&为了方便展示算法运行过程中的效果,以OTB数据集中的跟踪序列Bolt为例:&/p&&figure&&img src=&/v2-b0fcf30b19b371dbecc02_b.jpg& data-size=&small& data-rawwidth=&640& data-rawheight=&360& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&/v2-b0fcf30b19b371dbecc02_r.jpg&&&figcaption&OTB数据集中的跟踪序列Bolt&/figcaption&&/figure&&p&根据目标中心位置和尺度获得滤波器与样本卷积后的期望响应:&/p&&figure&&img src=&/v2-77afeab2ac22625cdb0b6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&943& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&/v2-77afeab2ac22625cdb0b6_r.jpg&&&/figure&&p&截取目标大小的期望响应图如下:&/p&&figure&&img src=&/v2-4670d2dac66cb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&479& data-rawheight=&240& class=&origin_image zh-lightbox-thumb& width=&479& data-original=&/v2-4670d2dac66cb_r.jpg&&&/figure&&p&对目标图像进行预处理前后的对比图:&/p&&figure&&img src=&/v2-b7d6f60ce8adddc829f9011_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&70& data-rawheight=&111& class=&content_image& width=&70&&&/figure&&figure&&img src=&/v2-c6c653d11bffedae4744c1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&74& data-rawheight=&110& class=&content_image& width=&74&&&/figure&&p&对目标进行仿射变换得到的图:&/p&&figure&&img src=&/v2-f555d29357fbc6cf42d1b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&73& data-rawheight=&111& class=&content_image& width=&73&&&/figure&&p&那么第一帧图像是这样的:&/p&&figure&&img src=&/v2-e43dd0e185cf9adcf7aef3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&554& data-rawheight=&304& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-e43dd0e185cf9adcf7aef3_r.jpg&&&/figure&&p&&br&&/p&&p&第二帧中的滤波器响应如下:&/p&&figure&&img src=&/v2-19cedf06d37fff4f14886_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&554& data-rawheight=&272& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-19cedf06d37fff4f14886_r.jpg&&&/figure&&p&选取其中响应值最大的点作为这一帧中目标的位置&/p&&h2&优缺点总结&/h2&&p&MOSSE算法的训练样本时通过目标的仿射变换得到的,每个样本的输出为各自的一个高斯分布,然后根据误差平方和最小的原则计算这一帧的滤波器模板。接着用训练得到的滤波器在下一帧中找到目标的位置,最后再更新滤波器。滤波器训练采用的特征是最原始的灰度特征,特征表示能力较弱,后续有算法对其进行改进,好的特征表示可以提高跟踪算法的鲁棒性。整体算法都够适应小尺度的目标变化,但是不能适应大尺度的目标变化。最后总结起来,MOSSE算法存在如下缺点:&/p&&p&1、MOSSE算法的样本采样仍是一种稀疏采样,训练效果一般;&/p&&p&2、采样的是线性滤波器(最小二乘法),分类性能一般;&/p&&p&3、采用的特征是单通道的灰度特征,表征目标的能力有限。&/p&&p&&br&&br&&br&_
&/p&&p&&/p&&p&&/p&&p&&/p&
专栏前言本专栏主要用来分享视觉目标跟踪领域的相关算法和具体实现,整个专栏的分享顺序是先基于相关滤波框架后基于深度学习框架,这两个方向也是从2010年开始至今研究最火热也是跟踪效果最好的两个框架。先从涉及到相关滤波框架中的基础框架的三个算法MOSS…
&h2&论文背景&a href=&/?target=http%3A//www.paperweekly.site/papers/notes/147%23%25E8%25AE%25BA%25E6%E8%E6%2599%25AF& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&?&i class=&icon-external&&&/i&&/a&&/h2&&p&目标跟踪一直是图像处理领域一个重要的分支。给定一段视频并在某一帧图片标定目标位置,然后在后续帧中找到指定目标。由于受光照,目标遮挡,运动模糊等各种因素影响,目标跟踪一直是图像处理的难题之一。 2010年发布在CVPR的MOSSE(本文提出的算法)是相关滤波应用于目标跟踪的开篇之作。C-COT,EOC等的算法根源来自于MOSSE。CNN是处理目标跟踪的另外一个分支,但是存在由于大规模数据集少建模困难,实时性差等缺点。本人从头研究MOSSE,也是想沿着目标跟踪的脉络学习一边。&/p&&p&&br&&/p&&figure&&img src=&/v2-4d0d82def9e349da19bc4ea0d5fa3fe8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&517& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/v2-4d0d82def9e349da19bc4ea0d5fa3fe8_r.jpg&&&/figure&&p&&br&&/p&&p&图片来自于&a href=&/?target=https%3A///foolwood/benchmark_results& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&/foolwood/ben&/span&&span class=&invisible&&chmark_results&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 重新理解一下相关和卷积的定义:&/p&&p&相关:&/p&&p&&br&&/p&&figure&&img src=&/v2-9b3fdda826cc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&395& data-rawheight=&104& class=&content_image& width=&395&&&/figure&&p&&br&&/p&&p&卷积:&/p&&p&&br&&/p&&figure&&img src=&/v2-b73e7f5f12e981ae98a6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&376& data-rawheight=&99& class=&content_image& width=&376&&&/figure&&p&&br&&/p&&p&相关是描述两个信号之间的关系,而卷积是计算激励信号作用于系统所产生的系统零状态相应。在g对称情况下,卷积和相关具有相同的效果。&/p&&p&在信号处理中,相关性(correlation)用来描述两个因素之间的联系。而相关性又分为cross-correlation(互相关,两个信号之间的联系)和auto-correlation(自相关,本身在不同频域的相关性)。&/p&&p&在之前笔者写过SSD/Faster R-CNN等相关笔记,视频目标跟踪说白了也是每一幅图片去检测目标不就完事了?没那么简单,视频图像本质上很多背景冗余信息,用相关滤波去实现目标跟踪可以用更少的资源。&/p&&p&由于对2010年前的目标跟踪算法了解很少,直接上performance图,不得了,669fps(文章最后声明是在滤波器尺寸64*64实现的)。&/p&&p&&br&&/p&&figure&&img src=&/v2-ec7ef621e511bd8a87fd032e0c4ff2fa_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&701& data-rawheight=&343& class=&origin_image zh-lightbox-thumb& width=&701& data-original=&/v2-ec7ef621e511bd8a87fd032e0c4ff2fa_r.jpg&&&/figure&&p&&br&&/p&&h2&数学描述&a href=&/?target=http%3A//www.paperweekly.site/papers/notes/147%23%25E6%%25E5%25AD%25A6%25E6%258F%258F%25E8%25BF%25B0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&?&i class=&icon-external&&&/i&&/a&&/h2&&p&本文提出的相关滤波器(Correlation Filter)通过MOSSE(Minimum Output Sum of Squared Error (MOSSE) filter)算法实现,基本思想:越是相似的两个目标相关值越大,也就是视频帧中与初始化目标越相似,得到的相应也就越大。下图所示通过对比UMACE,ASEF,MOSSE等相关滤波算法,使输出目标中心最大化。&/p&&p&&br&&/p&&figure&&img src=&/v2-666d47ef9e05d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&711& data-rawheight=&671& class=&origin_image zh-lightbox-thumb& width=&711& data-original=&/v2-666d47ef9e05d_r.jpg&&&/figure&&p&&br&&/p&&p&训练的目标就是得到这样的一个滤波器模板,使得响应输出最大化。我们知道,时域的卷积可以通过频域的相乘实现:训练的目标就是得到这样的一个滤波器模板,使得响应输出最大化。我们知道,时域的卷积可以通过频域的相乘实现:&/p&&p&时域公式表示(f:输入;h:滤波器;g:输出(Gaussian Shape)):&/p&&p&&br&&/p&&figure&&img src=&/v2-b0dbabf8edf4ecb401e8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&148& data-rawheight=&71& class=&content_image& width=&148&&&/figure&&p&&br&&/p&&p&频域公式表示(G,F,H:分别为g,f,h的频域,既FFT):&/p&&p&&br&&/p&&figure&&img src=&/v2-0aac02e4bdcde_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&148& data-rawheight=&43& class=&content_image& width=&148&&&/figure&&p&&br&&/p&&p&所以目标H的计算为:&/p&&p&&br&&/p&&figure&&img src=&/v2-ac9d8e51f3ce69b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&120& data-rawheight=&80& class=&content_image& width=&120&&&/figure&&p&&br&&/p&&p&而将correlation filter应用与跟踪最简单的想法就是:两个信号越相似,其相关值越高。在跟踪,就是找到与跟踪目标响应最大的项。 MOSSE:Minimum Output Sum of Squared Error filter,即输出的平方差误差最小滤波器。&br&根据以上,我们的目标是将训练的输入F,通过滤波器H得到期望的输出G。这里的输出G为Gaussian Shape的矩阵。训练样本N个,MOSSE滤波器方法目标如下:&/p&&p&&br&&/p&&figure&&img src=&/v2-cd74611b3dbb3ed07df31e5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&277& data-rawheight=&72& class=&content_image& width=&277&&&/figure&&p&&br&&/p&&p&对目标函数求导,得到结果,完整的推到过程如论文的附录A&/p&&p&&br&&/p&&figure&&img src=&/v2-7aa1e3e8e4ba29b25fef791e07e49af6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&562& data-rawheight=&261& class=&origin_image zh-lightbox-thumb& width=&562& data-original=&/v2-7aa1e3e8e4ba29b25fef791e07e49af6_r.jpg&&&/figure&&p&&br&&/p&&h2&论文的意义&a href=&/?target=http%3A//www.paperweekly.site/papers/notes/147%23%25E8%25AE%25BA%25E6%E7%259A%%E4%25B9%2589& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&?&i class=&icon-external&&&/i&&/a&&/h2&&p&从模板匹配角度讲,模板匹配有天然的缺陷:取决于模板,比如人在图像的远处和近处,头像的大小是不一样的,使用模板匹配的方法无法准确实现目标追踪,但是MOSSE是使用目标跟踪的算法鼻祖,后面有很多算法改进,比如根据MOSSE改进的CSK。&/p&&p&&br&&/p&&p&&a href=&/p/& class=&internal&&返回CV-Object Tracking目录&/a&&/p&&p&&a href=&/p/& class=&internal&&返回CV总目录&/a&&/p&
论文背景目标跟踪一直是图像处理领域一个重要的分支。给定一段视频并在某一帧图片标定目标位置,然后在后续帧中找到指定目标。由于受光照,目标遮挡,运动模糊等各种因素影响,目标跟踪一直是图像处理的难题之一。 2010年发布在CVPR的MOSSE(本文提出的…
&p&深度学习在SLAM上目前有不少文章了,简单列一下最近的工作:&/p&&p&CNN-SLAM[1]为今年CVPR的文章,是比较完整的pipeline,将LSD-SLAM里的深度估计和图像匹配都替换成基于CNN的方法,取得了更为robust的结果,并可以融合语义信息。见&a href=&///?target=http%3A//campar.in.tum.de/Chair/ProjectCNNSLAM& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&campar.in.tum.de/Chair/&/span&&span class=&invisible&&ProjectCNNSLAM&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&。类似的工作还有[2]。&/p&&p&VINet[3]是今年AAAI的文章,利用CNN和RNN构建了一个VIO,即输入image和IMU信息,直接输出估计的pose。&/p&&p&[4]是Magic Leap放出来的文章,说是Deep SLAM,其实只是用CNN做了SLAM中提取特征点和匹配特征点的两个模块,在CPU上实时。&/p&&p&[5]是Google 今年CVPR的oral文章,利用CNN学习一个无监督的深度估计和pose估计网络,代码见&a href=&///?target=https%3A///tinghuiz/SfMLearner& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&tinghuiz/SfMLearner&i class=&icon-external&&&/i&&/a&。SfM-Net[6]利用监督学习也干了类似的工作。&/p&&p&其他包括重定位[7][8]、语义地图[9]、回环检测等也有一些工作,这里不赘述。&/p&&p&这些工作大部分都是针对单目来做的,因为单目尺度未知,正好需要CNN进行脑补。个人觉得,基于CNN的方法由于局限于训练数据,目前除了回环和语义以外,其它方面在数据集或者受限场景以外尚未达到可用的效果。欢迎交流。&/p&&p&参考文献:&/p&&p&[1] Tateno K, Tombari F, Laina I, et al. CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction[J]. arXiv preprint arXiv:, 2017.&/p&&p&[2] Li R, Wang S, Long Z, et al. UnDeepVO: Monocular Visual Odometry through Unsupervised Deep Learning[J]. arXiv preprint arXiv:, 2017.&/p&&p&[3] Clark R, Wang S, Wen H, et al. VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem[C]//AAAI. -4001.&/p&&p&[4] DeTone D, Malisiewicz T, Rabinovich A. Toward Geometric Deep SLAM[J]. arXiv preprint arXiv:, 2017.&/p&&p&[5] Zhou T, Brown M, Snavely N, et al. Unsupervised learning of depth and ego-motion from video[J]. arXiv preprint arXiv:, 2017.&/p&&p&[6] Vijayanarasimhan S, Ricco S, Schmid C, et al. SfM-Net: Learning of Structure and Motion from Video[J]. arXiv preprint arXiv:, 2017.&/p&&p&[7] Wu J, Ma L, Hu X. Delving deeper into convolutional neural networks for camera relocalization[C]//Robotics and Automation (ICRA), 2017 IEEE International Conference on. IEEE, -5651.&/p&&p&[8] Kendall A, Grimes M, Cipolla R. Posenet: A convolutional network for real-time 6-dof camera relocalization[C]//Proceedings of the IEEE international conference on computer vision. -2946.&/p&&p&[9] Li X, Belaroussi R. Semi-Dense 3D Semantic Mapping from Monocular SLAM[J]. arXiv preprint arXiv:, 2016.&/p&
深度学习在SLAM上目前有不少文章了,简单列一下最近的工作:CNN-SLAM[1]为今年CVPR的文章,是比较完整的pipeline,将LSD-SLAM里的深度估计和图像匹配都替换成基于CNN的方法,取得了更为robust的结果,并可以融合语义信息。见。类似的工…
&figure&&img src=&/v2-47aa565fa1c419ec56e4_b.jpg& data-rawwidth=&908& data-rawheight=&294& class=&origin_image zh-lightbox-thumb& width=&908& data-original=&/v2-47aa565fa1c419ec56e4_r.jpg&&&/figure&前几天tensorflow开源了诸多目标检测模型,包括Faster RCNN、SSD等,恰巧自己的论文用的也是目标检测网络,是时间把以前刷过的检测网络祭出来了。自己看过的主要包括基于region proposal的RCNN系列:RCNN、Fast RCNN、Faster RCNN,基于区域划分的YOLO、SSD,基于强化学习的AttentionNet等,还有最新的Mask RCNN。我们将用一周时间先详细介绍每个模型然后通过Tensorflow跑一遍模型。说到基于region proposal的目标检测方法不得不提到RCNN所使用的Selective Search方法,就让我们从这篇文章开始入手好了。&p&文章地址:&a href=&/?target=http%3A//www.huppelen.nl/publications/selectiveSearchDraft.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&huppelen.nl/publication&/span&&span class=&invisible&&s/selectiveSearchDraft.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&/p&&h2&&b&摘要&/b&&/h2&&p&为了了解目标检测区域建议的复杂性,我们先看一组图片:&/p&&p&&figure&&img src=&/v2-78eac7d572a5d_b.jpg& data-rawwidth=&892& data-rawheight=&804& class=&origin_image zh-lightbox-thumb& width=&892& data-original=&/v2-78eac7d572a5d_r.jpg&&&/figure&由于我们事先不知道需要检测哪个类别,因此第一张图的桌子、瓶子、餐具都是一个个候选目标,而餐具包含在桌子这个目标内,勺子又包含在碗内。这张图展示了目标检测的层级关系以及尺度关系,那我们如何去获得这些可能目标的位置呢。常规方法是通过穷举法,就是在原始图片上进行不同尺度不同大小的滑窗,获取每个可能的位置。而这样做的缺点也显而易见,就是计算量实在是太大了,而且由于不可能每个尺度都兼顾到,因此得到的目标位置也不可能那么准。那么我们能不能通过视觉特征去减少这种分类的可能性并提高精确度呢。这就是本文想做的事情。&/p&&p&可用的特征有很多,到底什么特征是有用的呢?我们看第二副图片的两只猫咪,他们的纹理是一样的,因此纹理特征肯定不行了。而如果通过颜色则能很好区分。但是第三幅图变色龙可就不行了,这时候边缘特征、纹理特征又显得比较有用。而在最后一幅图中,我们很容易把车和轮胎看作是一个整体,但是其实这两者的特征差距真的很明显啊,无论是颜色还是纹理或是边缘都差的太远了。而这这是几种情况,自然图像辣么多,我们通过什么特征去区分?应该区分到什么尺度?&/p&&p&selective search的策略是,既然是不知道尺度是怎样的,那我们就尽可能遍历所有的尺度好了,但是不同于暴力穷举,我们可以先得到小尺度的区域,然后一次次合并得到大的尺寸就好了,这样也符合人类的视觉认知。既然特征很多,那就把我们知道的特征都用上,但是同时也要照顾下计算复杂度,不然和穷举法也没啥区别了。最后还要做的是能够对每个区域进行排序,这样你想要多少个候选我就产生多少个,不然总是产生那么多你也用不完不是吗?好了这就是整篇文章的思路了,那我们一点点去看。&/p&&h2&&b&产生多尺度的区域建议&/b&&/h2&&p&&figure&&img src=&/v2-dbe9a62adc7d904ad59cb0e2d8249f47_b.jpg& data-rawwidth=&543& data-rawheight=&452& class=&origin_image zh-lightbox-thumb& width=&543& data-original=&/v2-dbe9a62adc7d904ad59cb0e2d8249f47_r.jpg&&&/figure&首先通过基于图的图像分割方法初始化原始区域,就是将图像分割成很多很多的小块。然后我们使用贪心策略,计算每两个相邻的区域的相似度,然后每次合并最相似的两块,直到最终只剩下一块完整的图片。然后这其中每次产生的图像块包括合并的图像块我们都保存下来,这样就得到图像的分层表示了呢。那我们如何计算两个图像块的相似度呢?&/p&&h2&&b&保持多样性的策略&/b&&/h2&&p&为了尽最大可能去分割所有情景的图片我们得保持特征的多样性啊,该文章主要通过两种方式保持特征多样性,一方面是通过色彩空间变换,将原始色彩空间转换到多达八中的色彩空间。然后通过多样性的距离计算方式,综合颜色、纹理等所有的特征。&/p&&ul&&li&颜色空间变换&figure&&img src=&/v2-92aafe7f8a23934bcab2a_b.jpg& data-rawwidth=&549& data-rawheight=&371& class=&origin_image zh-lightbox-thumb& width=&549& data-original=&/v2-92aafe7f8a23934bcab2a_r.jpg&&&/figure&&/li&&/ul&&br&这么多的颜色空间,反正我认识的不认识的都在里面了。&ul&&li&距离计算方式&/li&&/ul&&br&距离计算方式需要满足两个条件,其一速度得快啊,因为毕竟我们这么多的区域建议还有这么多的多样性。其二是合并后的特征要好计算,因为我们通过贪心算法合并区域,如果每次都需要重新计算距离,这个计算量就大太多了。&ol&&li&颜色距离&/li&&/ol&&br&我们费劲心思搞了这么多的色彩空间,首先当然就是应该计算颜色的距离了啊。&p&&figure&&img src=&/v2-2f0a1e96eec6b444adc5a256b9b501dc_b.jpg& data-rawwidth=&273& data-rawheight=&60& class=&content_image& width=&273&&&/figure&距离的计算方式很简单,就是对各个通道计算颜色直方图,然后取各个对应bins的直方图最小值。这样做的话两个区域合并后的直方图也很好计算,直接通过直方图大小加权区域大小然后除以总区域大小就好了。&/p&&p&2.纹理距离&/p&&p&&figure&&img src=&/v2-b0eed0fdffb_b.jpg& data-rawwidth=&257& data-rawheight=&67& class=&content_image& width=&257&&&/figure&纹理距离计算方式和颜色距离几乎一样,我们计算每个区域的快速sift特征,其中方向个数为8,3个通道,每个通道bins为10,对于每幅图像得到240维的纹理直方图,然后通过上式计算距离。&/p&&p&3.优先合并小的区域&/p&&p&如果仅仅是通过颜色和纹理特征合并的话,很容易使得合并后的区域不断吞并周围的区域,后果就是多尺度只应用在了那个局部,而不是全局的多尺度。因此我们给小的区域更多的权重,这样保证在图像每个位置都是多尺度的在合并。&/p&&p&&figure&&img src=&/v2-78e6d61af4a6e5f62b7c577030cad5f6_b.jpg& data-rawwidth=&285& data-rawheight=&66& class=&content_image& width=&285&&&/figure&4.区域的合适度度距离&/p&&p&不仅要考虑每个区域特征的吻合程度,区域的吻合度也是重要的,吻合度的意思是合并后的区域要尽量规范,不能合并后出现断崖的区域,这样明显不符合常识,体现出来就是区域的外接矩形的重合面积要大。因此区域的合适度距离定义为:&/p&&p&&figure&&img src=&/v2-7e2a63cc26b2a_b.jpg& data-rawwidth=&392& data-rawheight=&53& class=&content_image& width=&392&&&/figure&5.综合各种距离&/p&&p&现在各种距离都计算出来,我们要做的就是整合这些距离,通过多种策略去得到区域建议,最简单的方法当然是加权咯:&/p&&p&&figure&&img src=&/v2-d8bd995fba_b.jpg& data-rawwidth=&398& data-rawheight=&68& class=&content_image& width=&398&&&/figure&6.参数初始化多样性&/p&&p&我们基于基于图的图像分割得到初始区域,而这个初始区域对于最终的影响是很大的,因此我们通过多种参数初始化图像分割,也算是扩充了多样性。&/p&&h2&&b&给区域打分&/b&&/h2&&p&通过上述的步骤我们能够得到很多很多的区域,但是显然不是每个区域作为目标的可能性都是相同的,因此我们需要衡量这个可能性,这样就可以根据我们的需要筛选区域建议个数啦。&/p&&p&这篇文章做法是,给予最先合并的图片块较大的权重,比如最后一块完整图像权重为1,倒数第二次合并的区域权重为2以此类推。但是当我们策略很多,多样性很多的时候呢,这个权重就会有太多的重合了,排序不好搞啊。文章做法是给他们乘以一个随机数,毕竟3分看运气嘛,然后对于相同的区域多次出现的也叠加下权重,毕竟多个方法都说你是目标,也是有理由的嘛。这样我就得到了所有区域的目标分数,也就可以根据自己的需要选择需要多少个区域了。&/p&&h2&&b&基于Selective Search的目标识别&/b&&/h2&&p&&figure&&img src=&/v2-dfb487d18f24_b.jpg& data-rawwidth=&1116& data-rawheight=&266& class=&origin_image zh-lightbox-thumb& width=&1116& data-original=&/v2-dfb487d18f24_r.jpg&&&/figure&这就是典型的一个应用了,我们得到了区域的很多建议,提取区域的空间金字塔的多样特征,组合成一个特征向量,然后训练SVM就可以分类出哪个区域是真正我们想要的目标啦。当然也可以用以目标检测,我们接下来要说的RCNN就是这样干的。不过比相比这篇文章的sift特征啊啥的要高级一些,毕竟CNN的特征表达能力还是很强势的。&/p&
前几天tensorflow开源了诸多目标检测模型,包括Faster RCNN、SSD等,恰巧自己的论文用的也是目标检测网络,是时间把以前刷过的检测网络祭出来了。自己看过的主要包括基于region proposal的RCNN系列:RCNN、Fast RCNN、Faster RCNN,基于区域划分的YOLO、SSD…
&figure&&img src=&/v2-c63fcac3ee3c9ee5a685bac_b.jpg& data-rawwidth=&734& data-rawheight=&458& class=&origin_image zh-lightbox-thumb& width=&734& data-original=&/v2-c63fcac3ee3c9ee5a685bac_r.jpg&&&/figure&&p&RCNN系列都是region-based目标检测方法,即需要计算proposals,这里回顾一下几篇region-free方法,free指其将检测任务从基于回归问题的角度考虑。&/p&&p&(1)YOLO-You Only Look Once: Unified, Real-Time Object Detection&/p&&p&与classifier-based方法不同,其首先将目标检测任务作为回归问题考虑,其直接在对应于检测表现的一个损失函数上进行训练,单个神经网络直接在一次评估中从完整图像预测边界框和类概率。这篇论文发表于2015年,就不多言了。&/p&&p&&br&&/p&&figure&&img src=&/v2-f694c6a4ccdee0e7ba56a8_b.png& data-rawwidth=&554& data-rawheight=&283& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-f694c6a4ccdee0e7ba56a8_r.png&&&/figure&&p&&br&&/p&&p&(2)YOLO9000: Better, Faster, Stronger&/p&&p&其为YOLO升级版,其对YOLO方法作了一些改进,Better方面考虑(Batch Normalization, High&br&Resolution, Anchor Boxes, Dimension Clusters, Direct location prediction, Fine-Grained Features, Multi-Scale Training),Faster方面提出一个新的Darknet-19结构。除此之外,其提出一个方法在目标检测数据集与图像分类数据集上联合训练,主要构建了一个视觉内容分层树结构WordTree。&/p&&p&&br&&/p&&figure&&img src=&/v2-a4251ccfbcd4ce89c79c52_b.png& data-rawwidth=&554& data-rawheight=&315& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-a4251ccfbcd4ce89c79c52_r.png&&&/figure&&p&&br&&/p&&p&(3)SSD: Single Shot MultiBox Detector&/p&&p&其主要考虑在每个特征图位置以不同长宽比和尺度将将边界框输出空间离散为一系列default&br&boxes,在预测时网络为每个default box生成目标得分并产生位置调整。通过组合不同分辨率特征图的预测来应对不同尺度的目标。YOLO和SSD比较如下:&/p&&p&&br&&/p&&figure&&img src=&/v2-a1e5fa665c_b.png& data-rawwidth=&554& data-rawheight=&296& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-a1e5fa665c_r.png&&&/figure&&p&&br&&/p&&p&(4)DSSD : Deconvolutional Single Shot Detector&/p&&p&其主要考虑以deconvolution layers的方式引入additional large-scale context,来改善特别是小目标的检测准确率。SSD和DSSD比较如下:&/p&&p&&br&&/p&&figure&&img src=&/v2-58988f3ddfe23e66e484df_b.png& data-rawwidth=&554& data-rawheight=&333& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-58988f3ddfe23e66e484df_r.png&&&/figure&&p&&br&&/p&&p&(5)R-SSD: Enhancement of SSD by concatenating feature maps for object detection&/p&&p&其主要考虑如何有效的利用特征图来改善SSD的表现,SSD并未考虑不同尺度之间的关系而且小目标检测效果相对较差,因此其解决方式为实现分类网络时考虑特征金字塔不同层间的关系,且每层通道数有效的增加。结合pooling and deconvolution 的Rainbow concatenation方式如下:&/p&&p&&br&&/p&&figure&&img src=&/v2-558b153d0bbfd127c8f6d81c61d665e1_b.png& data-rawwidth=&554& data-rawheight=&181& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-558b153d0bbfd127c8f6d81c61d665e1_r.png&&&/figure&&p&&br&&/p&&p&(6)RUN:Residual Features and Unified Prediction Network for Single Stage Detection&/p&&p&其主要考虑多尺度特征既要考虑图像低级信息又要考虑目标高级信息的矛盾需求,通过ResBlock和deconvolutional layer丰富特征图的表示能力。SSD和RUN比较如下:&/p&&p&&br&&/p&&figure&&img src=&/v2-c3d8ccaddf185_b.png& data-rawwidth=&554& data-rawheight=&421& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&/v2-c3d8ccaddf185_r.png&&&/figure&&p&&/p&
RCNN系列都是region-based目标检测方法,即需要计算proposals,这里回顾一下几篇region-free方法,free指其将检测任务从基于回归问题的角度考虑。(1)YOLO-You Only Look Once: Unified, Real-Time Object Detection与classifier-based方法不同,其首先将…
&p&&b&源码及论文内容较为陈旧,供初学者学习参考。&/b&&/p&&br&&p&&strong&一、特征提取Feature Extraction:&/strong&&/p&&p&·
SIFT [1] [&a href=&/?target=http%3A//www.cs.ubc.ca/%7Elowe/keypoints/siftDemoV4.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Demo program&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//blogs.oregonstate.edu/hess/code/sift/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SIFT Library&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.vlfeat.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&VLFeat&i class=&icon-external&&&/i&&/a&]&/p&&p&·
PCA-SIFT [2] [&a href=&/?target=http%3A//www.cs.cmu.edu/%7Eyke/pcasift/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Affine-SIFT [3] [&a href=&/?target=http%3A//www.ipol.im/pub/algo/my_affine_sift/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
SURF [4] [&a href=&/?target=http%3A///computer-vision-opensurf.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&OpenSURF&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.maths.lth.se/matematiklth/personal/petter/surfmex.php& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab Wrapper&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Affine Covariant Features [5] [&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/research/affine/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Oxford project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
MSER [6] [&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/research/affine/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Oxford project&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.vlfeat.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&VLFeat&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Geometric Blur [7] [&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/software/MKL/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Local Self-Similarity Descriptor [8] [&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/software/SelfSimilarity/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Oxford implementation&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Global and Efficient Self-Similarity [9] [&a href=&/?target=http%3A//www.vision.ee.ethz.ch/%7Ecalvin/gss/selfsim_release1.0.tgz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Histogram of Oriented Graidents [10] [&a href=&/?target=http%3A///software& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&INRIA Object Localization Toolkit&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//puting.edu.au/%7E/hog.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&OLT toolkit for Windows&i class=&icon-external&&&/i&&/a&]&/p&&p&·
GIST [11] [&a href=&/?target=http%3A//people.csail.mit.edu/torralba/code/spatialenvelope/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Shape Context [12] [&a href=&/?target=http%3A//www.eecs.berkeley.edu/Research/Projects/CS/vision/shape/sc_digits.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Color Descriptor [13] [&a href=&/?target=http%3A//koen.me/research/colordescriptors/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Pyramids of Histograms of Oriented Gradients [&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/research/caltech/phog/phog.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Space-Time Interest Points (STIP) [14][&a href=&/?target=http%3A//www.nada.kth.se/cvap/abstracts/cvap284.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.irisa.fr/vista/Equipe/People/Laptev/download/stip-1.1-winlinux.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Boundary Preserving Dense Local Regions [15][&a href=&/?target=http%3A//vision.cs.utexas.edu/projects/bplr/bplr.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Weighted Histogram[&a href=&/?target=http%3A//www.wisdom.weizmann.ac.il/%7Ebagon/matlab_code/whistc.tar.gz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Histogram-based Interest Points Detectors[&a href=&/?target=http%3A//www.cs.nthu.edu.tw/%7Ehtchen/hipd_cvpr09.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//740-2.cs.nthu.edu.tw/%7Ehtchen/hipd/hist_corner.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
An &a href=&/?target=http%3A//lib.csdn.net/base/opencv& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&OpenCV&i class=&icon-external&&&/i&&/a& - C++ implementation of Local Self Similarity Descriptors [&a href=&/?target=http%3A///post//A-OpenCV-C%2B%2B-implementation-of-Local-Self-Similarity-Descriptors.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Fast Sparse Representation with Prototypes[&a href=&/?target=http%3A//faculty.ucmerced.edu/mhyang/cvpr10_fsr.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Corner Detection [&a href=&/?target=http%3A//kiwi.cs.dal.ca/%7Edparks/CornerDetection/index.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
AGAST Corner Detector: faster than FAST and even FAST-ER[&a href=&/?target=http%3A//www6.in.tum.de/Main/ResearchAgast& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Real-time Facial Feature Detection using Conditional Regression Forests[&a href=&/?target=http%3A//files.is.tue.mpg.de/jgall/projects/facialfeatures/facialfeatures.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&br&&/p&&p&·
Global and Efficient Self-Similarity for Object Classification and Detection[&a href=&/?target=http%3A//groups.inf.ed.ac.uk/calvin/gss/selfsim_release1.0.tgz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&code&i class=&icon-external&&&/i&&/a&]&br&&/p&&p&·
WαSH: Weighted α-Shapes for Local Feature Detection[&a href=&/?target=http%3A//image.ntua.gr/iva/research/wash/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&br&&/p&&p&·
HOG[&a href=&/?target=http%3A//soc./vip/projects/gradproj/wiki/HOG%25E4%25BB%25A3%25E7%25A0%2581& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Online Selection of Discriminative Tracking Features[&a href=&/?target=http%3A//www.cs.ucla.edu/%7Eroozbehm/cs7495/report.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&&strong&二、图像分割Image Segmentation:&/strong&&/p&&p&·
Normalized Cut [1] [&a href=&/?target=http%3A//www.cis.upenn.edu/%7Ejshi/software/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Gerg Mori’ Superpixel code [2] [&a href=&/?target=http%3A//www.cs.sfu.ca/%7Emori/research/superpixels/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Efficient Graph-based Image Segmentation [3] [&a href=&/?target=http%3A//people.cs.uchicago.edu/%7Epff/segment/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C++ code&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A///matlabcentral/fileexchange/25866-efficient-graph-based-image-segmentation& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab wrapper&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Mean-Shift Image Segmentation [4] [&a href=&/?target=http%3A//coewww.rutgers.edu/riul/research/code/EDISON/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&EDISON C++ code&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.wisdom.weizmann.ac.il/%7Ebagon/matlab_code/edison_matlab_interface.tar.gz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab wrapper&i class=&icon-external&&&/i&&/a&]&/p&&p&·
OWT-UCM Hierarchical Segmentation [5] [&a href=&/?target=http%3A//www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Resources&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Turbepixels [6] [&a href=&/?target=http%3A//www.cs.toronto.edu/%7Ebabalex/turbopixels_code.tar.gz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab code 32bit&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.cs.toronto.edu/%7Ebabalex/TurboPixels64.rar& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Matlab code 64bit&i class=&icon-external&&&/i&&/a&] [&a href=&/?target=http%3A//www.cs.toronto.edu/%7Ebabalex/superpixels_update.tgz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Updated code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Quick-Shift [7] [&a href=&/?target=http%3A//www.vlfeat.org/overview/quickshift.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&VLFeat&i class=&icon-external&&&/i&&/a&]&/p&&p&·
SLIC Superpixels [8] [&a href=&/?target=http%3A//ivrgwww.epfl.ch/supplementary_material/RK_SLICSuperpixels/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Segmentation by Minimum Code Length [9] [&a href=&/?target=http%3A//perception.csl.uiuc.edu/coding/image_segmentation/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Biased Normalized Cut [10] [&a href=&/?target=http%3A//www.cs.berkeley.edu/%7Esmaji/projects/biasedNcuts/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Segmentation Tree [11-12] [&a href=&/?target=http%3A//vision.ai.uiuc.edu/segmentation& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Entropy Rate Superpixel Segmentation [13] [&a href=&/?target=http%3A//www.umiacs.umd.edu/%7Emingyliu/src/ers_matlab_wrapper_v0.1.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Fast Approximate Energy Minimization via Graph Cuts[&a href=&/?target=http%3A//www.csd.uwo.ca/faculty/olga/Papers/pami01_final.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//vision.csd.uwo.ca/code/gco-v3.0.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Efficient Planar Graph Cuts with Applications in Computer Vision[&a href=&/?target=http%3A//www.csd.uwo.ca/%7Eschmidtf/pdf/schmidt_et_al_cvpr09.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//vision.csd.uwo.ca/code/PlanarCut-v1.0.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Isoperimetric Graph Partitioning for Image Segmentation[&a href=&/?target=http%3A//s.bu.edu/%7Elgrady/grady2006isoperimetric.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//s.bu.edu/%7Elgrady/grady2006isoperimetric_code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Random Walks for Image Segmentation[&a href=&/?target=http%3A//s.bu.edu/%7Elgrady/grady2006random.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//s.bu.edu/%7Elgrady/random_walker_matlab_code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Blossom V: A new implementation of a minimum cost perfect matching algorithm[&a href=&/?target=http%3A//pub.ist.ac.at/%7Evnk/software/blossom5-v2.03.src.tar.gz%http%3A/pub.ist.ac.at/%7Evnk/software/blossom5-v2.03.src.tar.gz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Computer Vision[&a href=&/?target=http%3A//www.csd.uwo.ca/%7Eyuri/Papers/pami04.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//pub.ist.ac.at/%7Evnk/software/maxflow-v3.01.src.tar.gz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Geodesic Star Convexity for Interactive Image Segmentation[&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/software/iseg/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Contour Detection and Image Segmentation Resources[&a href=&/?target=http%3A//www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/BSR/BSR_source.tgz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Biased Normalized Cuts[&a href=&/?target=http%3A//www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/biasedNcuts/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Max-flow/min-cut[&a href=&/?target=http%3A//vision.csd.uwo.ca/code/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Chan-Vese Segmentation using Level Set[&a href=&/?target=http%3A//www.ipol.im/pub/art/2012/g-cv/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
A Toolbox of Level Set Methods[&a href=&/?target=http%3A//www.cs.ubc.ca/%7Emitchell/ToolboxLS/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Re-initialization Free Level Set Evolution via Reaction Diffusion[&a href=&/?target=http%3A//p.polyu.edu.hk/%7Ecslzhang/RD/RD.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Improved C-V active contour model[&a href=&/?target=http%3A//p.polyu.edu.hk/%7Ecskhzhang/J_papers/ICV.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//p.polyu.edu.hk/%7Ecskhzhang/J_papers/ICV.rar& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
A Variational Multiphase Level Set Approach to Simultaneous Segmentation and Bias Correction[&a href=&/?target=http%3A//p.polyu.edu.hk/%7Ecskhzhang/J_papers/ICIP10_SVMLS.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//p.polyu.edu.hk/%7Ecskhzhang/J_papers/SVMLS_v0.rar& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Level Set Method Research by Chunming Li[&a href=&/?target=http%3A//www.engr.uconn.edu/%7Ecmli/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&br&&/p&&p&·
ClassCut for Unsupervised Class Segmentation[&a href=&/?target=http%3A//groups.inf.ed.ac.uk/calvin/classcut/ClassCut-release_v1.0.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&cod&i class=&icon-external&&&/i&&/a&e]&br&&/p&&p&·
SEEDS: Superpixels Extracted via Energy-Driven Sampling &a href=&/?target=http%3A//www.vision.ee.ethz.ch/%7Evamichae/seeds/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&[Project&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//www.mvdblive.org/seeds/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&other&i class=&icon-external&&&/i&&/a&]&br&&/p&&p&&strong&三、目标检测Object Detection:&/strong&&/p&&p&·
A simple object detector with boosting [&a href=&/?target=http%3A//people.csail.mit.edu/torralba/shortCourseRLOC/boosting/boosting.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
INRIA Object Detection and Localization Toolkit [1] [&a href=&/?target=http%3A//pascal.inrialpes.fr/soft/olt/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Discriminatively Trained Deformable Part Models [2] [&a href=&/?target=http%3A//people.cs.uchicago.edu/%7Epff/latent/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Cascade Object Detection with Deformable Part Models [3] [&a href=&/?target=http%3A//people.cs.uchicago.edu/%7Erbg/star-cascade/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Poselet [4] [&a href=&/?target=http%3A//www.eecs.berkeley.edu/%7Elbourdev/poselets/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Implicit Shape Model [5] [&a href=&/?target=http%3A//www.vision.ee.ethz.ch/%7Ebleibe/code/ism.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Viola and Jones’s Face Detection [6] [&a href=&/?target=http%3A///wiki/Face_detection& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Bayesian Modelling of Dyanmic Scenes for Object Detection[&a href=&/?target=http%3A//vision.eecs.ucf.edu/papers/.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//vision.eecs.ucf.edu/Code/Background.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Hand detection using multiple proposals[&a href=&/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/software/hands/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Color Constancy, Intrinsic Images, and Shape Estimation[&a href=&/?target=http%3A//www.eecs.berkeley.edu/Research/Projects/CS/vision/reconstruction/BarronMalikECCV2012.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Paper&i class=&icon-external&&&/i&&/a&][&a href=&/?target=http%3A//www.cs.berkeley.edu/%7Ebarron/BarronMalikECCV2012_code.zip& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Code&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Discriminatively trained deformable part models[&a href=&/?target=http%3A//people.cs.uchicago.edu/%7Erbg/latent/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Project&i class=&icon-external&&&/i&&/a&]&/p&&p&·
Gradient Response Maps for Real-Time Detection of Texture-Less Objects: LineMOD [&a href=&/?target=http%3A//campar.cs.tum.edu/Main/StefanHinterstoisser& class=& wrap external& target=&_bl}

我要回帖

更多关于 我的世界联机mctoho 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信