基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking

    最近的CVPR2018上出现了一篇使用Region Proposal Network来做目标跟踪的文章,题目是“High Performance Visual Tracking with Siamese Region Proposal Network”,简称SiamRPN。听说效果很好,但是文章一直没放出来,不知道他的实现细节,所以闲来无事在ArXiv上面搜索了一下,意外的发现一篇用Region Proposal来做跟踪的文章,文章题目是“A New Target-specific Object Proposal Generation Method for Visual Tracking”,简称TOPGT。之所以对这篇文章感兴趣,一是因为这篇文章用了Region Proposal ,而且作者中的一人正是SiamRPN的第一作者,二是因为文章的方法性能相当强大,在OTB2013上击败了除ECO以外的所有方法,在UAV20L上的性能强于ECO。可惜的是,作者在文章中没有说算法的运行效率,不知道实时性怎么样,感觉效率可能不是很高,不过在SiamRPN中换成了RPN网络来实现Region Proposal后应该会比较快。

    闲话说完了,进入正题。TOPGT算法跟踪的基本流程 Region Proposal  提取候选的目标区域 + CNN 给出每个目标区域的置信度,选择置信度高的作为下一帧的预测目标,并且CNN模型会不断更新。其中Region Proposal  提取候选的目标区域的比较关键的,下面分别介绍跟踪阶段训练阶段的算法细节。

一、跟踪阶段(Region Proposal提取候选的目标区域+CNN给出置信度)

        文章中跟踪的流程是: 给定前景和背景的直方图分布(每30帧更新一次),根据直方图计算每个像素属于前景的概率(得到前景响应图)-> 在响应图上使用EgdeBox得到Proposal -> 使用三个相似性对Proposal进行打分->输出得分高的若干个Proposal -> CNN计算Proposal的置信度,选择置信度最高的Proposal作为目标。

统计前景和背景的直方图分布

    对于给定的一张图片,首先标出前景和背景。文章中比较特别的一点是使用了tri-map,也就是标出三个部分,分别是前景、前景和背景的混合部分、背景,作者说这样做可以增强算法的鲁棒性,如下图所示:

                                                          基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第1张图片

         其中,蓝色部分的是目标(前景),绿色部分是前景和背景的混合区域(即有前景也有背景),红色部分是背景区域。

         根据标出的前景和背景图,统计直方图分布,文章中将直方图分为了32个通道。如下图所示:

                                                            基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第2张图片

            对于直方图模型,文章中做实验发现,每30帧更新一次直方图,效果较好。


②计算每个像素属于前景的概率(得到前景响应图)    

    得到直方图后,计算每个像素属于前景的概率,得到前景概率图(响应图),下面是一个发生运动模糊的示例图:

                                                                                         基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第3张图片


③在响应图上使用EgdeBox得到Proposal

           在这个响应图的基础上,获得边缘图,使用EdgeBox得到Proposal,如图所示:

基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第4张图片

        之所以在响应图上面提取Proposal,是因为响应图可以抑制掉大部分的噪声,突出目标,这样一来提取Proposal的时候效果就会好很多。如果直接在原图上面提取Proposal,那么提取的结果会是这样的:基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第5张图片

         可以看到,在原图上提取Proposal效果是比较差的,基本都框错了。


④使用三个相似性对Proposal进行打分

        文章里面定义了三个相似性,分别是Shape affinity、Color affinity和Size affinity。

                                                        基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第6张图片

        由于这三种相似性是独立的,因此可以使用下面的式子来得到每个Proposal最后的得分    :

                                                                            

        实际上就是把三个相似性得分相乘。


⑤输出得分较高的若干个Proposal

        前一步得到了Proposal的得分排行,选取前500个Proposal,使用CNN来得到每个Proposal的置信度,选择置信度最高的作为预测的目标。


        下面分别给出算法在OTB2013和UAV20L中的性能曲线:

         (1)OTB2013

基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第7张图片


        (2)UAV20L

基于Region Proposal的目标跟踪算法-A New Target-specific Object Proposal Generation Method for Visual Tracking_第8张图片

                可以看到,该算法的性能还是很强的。


二、 训练阶段

        训练阶段主要对CNN模型进行更新,文章中使用的网络是基于VGG-M的,初始化的时候卷积层参数和VGG-M一样,全连接层参数初始化为高斯分布。

        正负样本都由Proposal组成,正样本与目标的IoU大于0.7,负样本与目标的IoU小于0.5,但是由于正负样本不均衡,因此,还会在前一帧的目标周围再采样N个样本,样本加入高斯噪声,以增广样本,实验中N取100。

        得到正负样本后,就可以对CNN进行fine-tune了,这一步更新CNN模型应该是相当耗时的,这可能也是文章中绝口不提算法效率的原因,要fine-tune  CNN的话一般是不大可能实时的。


三、小结

        文章中提出了一种新的针对目标的Proposal提取方法,想法比较朴实,利用了颜色和边缘这两个线索,创造性的在响应图上提取边缘,得到了较好的Proposal提取结果,并且应用在跟踪中效果也很好,只不过效率可能比较低。尽管如此,该思想还是值得借鉴的。感觉作者可能也是把相应的思想应用到了SiamRPN中,等CVPR会议的时候SiamRPN应该会公布出来,到时候就可以知道在SiamRPN是怎么做的了。

你可能感兴趣的:(目标跟踪)