在2017 IEEE上,Erik Bochinski等人提出了IOU Tracker,一种简单高效的多目标跟踪器;而紧接着,在2018 IEEE,VIOU被提出;本篇我们简单介绍一下这篇论文。
(注,VIOU在VisDrone2018中摘得桂冠!其winner talk的ppt在这里)
1. 简介
VIOU 是基于IOU Tracker的一种扩展,其自然和IOU Tracker一样,是在高准确检测器和高帧率视频假设下进行的跟踪(尤其是前者)。在IOU Tracker介绍中,我们提过,其虽然可以通过阈值处理有效地解决FP问题,但是过度依赖检测器的准确度,missing detections(FN)等问题会严重影响检测器性能。
VIOU就是为此而生的,它致力于通过引入新的跟踪模块——Visual Single-object Tracker,来解决FN引起的ID Switch及Fragmentations等问题。
2. 算法
VIOU的基本算法思路很简单:
具体来说: 当某一条track不能关联当前帧中的detection时(用IOU Tracker中的σIOU判定),我们引入一个visual tracker来继续对其跟踪最多 ttl 帧,若期间track重新满足了σIOU条件,则停止Visual Track而继续IOU Track;否则,track中止。
另外: 为了处理visual tracker跟丢某条track或者跳转至其他track,对每条新的track也会相前使用 ttl 帧的visual tracker;如果它与某个finished track满足某种重叠标准(overlap criteria),便可以将其合并。(这里我专门和psy师兄讨论了一下对这里的理解,因为随着帧数的增加,单向的visual tracker容易出现“跟错”的问题,引入反向跟踪就是为了缓解这种误差;假设两端track之间有10帧的距离,“前向跟踪5帧+后向跟踪5帧”,是要比“仅仅前向跟踪10帧”稳定的~)
不过: visual tracker的使用会在轨迹的开头和结尾加入视觉上的跟踪存根(add visually tracked stubs),因此需要限制visual track的使用、删除跟踪存根(论文对这里的做法并没有详细说明)
最后: 关于visual tracker的挑选,论文中使用了KCF(2015)和Medianflow(2010)检测器
3. 实验效果
作者在UA-DETRAC数据集上使用“CompACT/Mask R-CNN” detector + IOU tracker + KCF tracker;在VisDrone数据集上使用“Faster R-CNN” detector + IOU tracker + KCF/Medianflow tracker。另外,对后者,在最优分配问题上作者使用了匈牙利算法来提高性能。
从实验效果上来看,VIOU能够较大程度上缓解ID_SW和Fragments的问题,速度也较高。
至此,文章中的核心内容就介绍完了。IOU/VIOU Tracker都是思路和算法很简单的跟踪器,更多细节可以参照原论文~