HCF:Hierarchical Convolutional Features for Visual Tracking
今天讲解的这个算法是比较简单容易理解的,这个前提就是你对相关滤波器算法和深度学习都有一定的了解。废话不多说,直接进入正题。
论文下载地址:http://pan.baidu.com/s/1hs84t9M
代码下载地址:https://github.com/jbhuang0604/CF2
本文思想
本文算法思想还是比较简单容易理解的,基本的跟踪框架就是KCF,把原有的论文当中所使用的HOG特征替换为本文所使用的深度卷积特征,但是本文所使用给定深度卷积特征和以前论文当中使用的还有区别,使用训练好的VGG-19(本文使用的深度网络框架为VGG-19,在ImageNet上面已经训练好了网络,然后直接拿过来使用。)当中的conv3-4、conv4-4、conv5-4的输出,而不是使用最后全卷积层的输出作为特征提取层,从三个层当中提取的特征分别经过相关滤波器学习得到不同的模板,然后对所得到的三个置信图进行加权融合得到最终的目标位置。作者给这个特征起了一个比较炫酷的名字Hierarchical Convolutional Features。
思想来源
作者研究发现,低层特征有较高的分辨率能够对目标进行精准的定位,高层特征包含更多的语义信息,能够处理较大的目标变化和防止跟踪器漂移,能够对目标进行范围定位。
本文贡献
1、提出使用分层卷积特征对跟踪目标进行学习和表达
2、在不同层学习相关滤波器对目标进行跟踪提高精度。
3、在OTB-100上面做了实验测试,效果很好。
本文重点
第一个图表明对图片在深度卷积网络当中的不同层进行的分析,想要分析在卷积网络当中对黑白分割线的定位。在conv3中,如红色线所示,该层特征对能够进行精准的定位,由于该层特征有较高的分辨率,而conv5就没有办法对目标进行很好的定位。
重点来了~
重点来了~~
重点来了~~~
下面图4就是本文的核心,该图是使用卷积可视化得到的,如图中所示,在conv3中的特征能够比较清晰的看到目标的轮廓,但是在conv5中已经很难看到细节所在,但是,在conv5当中能够看到的是,本层特征包含了较多的语义信息,如图中所示,在左半部分有高亮区域,这表明就是目标位置的所在的大概区域范围,本图所要表达的重要信息就是,在高层特征当中,我们能够根据所提取特征的语义信息,能够很容易的找到目标所在的大概区域范围,然后逐步使用较低层次的特征对目标进行精确定位,像图中右半部分所示,在conv5中,得到的区域范围是比较大的,在conv4中逐步缩小范围,进行较为精确的定位,在conv3中继续使用低层更为精确的信息对目标在缩小范围之后的范围进行精确的定位,从而得到最终的目标response map,找到目标的位置所在。
本张图就是对上面的所说在OTB-50的序列集上所进行跟踪时候所得到的图展示。
本文算法流程
算法也很简单可以,很好理解,就像上面描述的一样,就是使用多层卷积特征分别学习滤波器得到最终的response map 进行融合得到最终的response map,然后找到response map 当中的最大值即为目标的位置所在。论文当中没体现出来,截取代码部分给大家展示一下。
参数设置
对目标位置的预测
模型更新
具体的细节部分还需要代码中去看。
实验结果
同时测试了使用不同的卷积层作为特征的跟踪结果,单独使用每一层的特征和使用融合卷积特征的结果比较。最终结果发现,还是使用融合卷积特征的效果是最好的。
定性结果评价表示,HCF跟踪算法对大多数目标序列集都能够进行很好的跟踪。
本文算法的不足
当遇到目标被长时间遮挡的时候,比如Girl2和Lemming序列集,跟踪器没有对这方面做很好的解决,导致跟踪失败,可以考虑结合re-detection的方法进行改进,对算法跟踪效果提升。还有一个就是Singer2这个序列集,因为背景颜色是黑色的,跟踪目标人物也是黑色的,所以在高层特征中进行粗定位的时候跟踪器发生漂移,没能进行很好的找到,所以导致跟踪失败。
本文授权转载自知乎专栏目标跟踪算法,点击阅读原文查看原文。