TCNN(Object Detection from Video Tubelets with Convolutional Neural Networks)论文详读

Abstract

       基于静态图像的目标检测方法和常规目标跟踪方法,提出了一个针对视频目标检测的框架——利用时间卷积网络,将时间信息纳入卷积计算,从而使检测结果规范化,并显示出该方法对视频目标检测任务的有效性。

Introduce

       因为现有的目标检测算法都是基于图像目标检测而设计的,从而当在视频上进行目标检测时,如何保证检测方法的有效性和鲁棒性成为亟待解决的问题。

在这里插入图片描述

(a)为基于图像的目标检测方法应用在视频目标检测的结果,发现其检测分数波动很大,波动产生的原因可能来自动作模糊、视频虚焦、目标部分遮挡、稀奇古怪的姿势等;
(b)显示了对同一物体进行跟踪的情况,由于遮挡、外观变化和姿势的变化等原因,导致跟踪框可能会偏移到非目标的情况。

       对于视频的每个帧,算法需要使用边框标记每个类别的目标并计算其置信度,现有的一些视频目标检测方法一般都是主要检测几个特定类别的物体。在视频中进行目标检测分为以下几个步骤:视频分类、视频标记类别以及其他相关的检测方法。通过对视频中的目标进行定位,可以对视频中的语义信息了解的更加透彻,从而为基于视频的其他任务提供更强大的性能。

       因为视频中同一对象的位置是时刻变化的,且高度相关,所以应恢复视频中的位置对应关系,从而使相关的图像补丁可以完美的补齐到轨道中,以便提取时间信息,除此之外,识别结果的时间一致性也应被规范化,目标对象边框的检测分数不应在视频中剧烈变化。

       根据上述的各种要求,所以把目标跟踪模块纳入检测框架中,但直接使用目标跟踪不能解决视频目标检测的问题,如(b),为了解决这个问题,提出一种tubelet 边框扰动方法和最大池化处理,以优化处理效果。

       TCNN包括两个模块:1)一个tubelet 目标建议模块,合并了静态图像目标检测和目标跟踪方法;2)一个tubelet分类、重新打分模块,使用空间最大池化进行处理来对robust边框进行打分,使用时间卷积来结合时间的一致性。
       在TCNN中,目标的检测和跟踪方法被紧密结合在一起,一方面使用目标检测生成高置信度的anchor来初始化跟踪方法,且通过空间最大池化减少跟踪错误;另一方面跟踪同样为目标检测生成了一个新的proposal,跟踪边框可以作为一个anchor来聚合现有的检测结果。

Related Work

       通过比较,发现VID数据集更加复杂且更加贴近真实生活场景,所以之前在其他视频数据集训练、适用的方法在VID并不适用。

       目标跟踪技术主要是近十年才提出的,Learning multi-domain convolutional neural networks for visual tracking中提出,为了学习目标跟踪的通用表达形式,训练一个多域的CNN,当跟踪一个新的目标时,通过结合预训练CNN 的共享层和一个新的二元分类层,形成一个新的网络,该网络的参数是可以实时更新的。

       但是这些基于CNN的跟踪方法通常倾向于长期跟踪任务,因为它们主要利用目标的外观信息进行跟踪,而不是语义信息。

TCNN框架细节

       视频中的目标有时间和空间一致性,邻近帧中。目标的外观和位置都是相似的。

       如果把视频看作是一个个图片的集合,则只利用了相邻帧目标外观相似这一特点,忽略了时间一致性,导致检测分数具有较大的波动(如(a))。

       一般的目标跟踪方法都是在开始帧对目标进行跟踪,然后通过对当前跟踪边框进行采样来更新检测器。这些方法的检测器因为需要在视频中进行采样,所以通常会因为大目标外观的变化而产生偏移的问题。

在这里插入图片描述

TCNN的实现步骤:

  1. image object proposal:使用一般的候选区域生成方法生成2000个候选区域(2000个边框),如selective search方法,因为2000个边框中大部分都是负样本,且可能根本不包含任何对象(只有背景),所以使用在ImageNet预训练的AlexNet,对ImageNet中含的200类对象的检测分数设置一定的阈值,来消除易于判断的负样本。

  2. object proposal scoring:因为VID包含的30大类中包含DET的200个小类,所以可以直接使用为DET设计的检测方法。
           TCNN使用一个在ImageNet上进行预训练分类,并针对DET进行微调的GoogleNet网络。与RCNN类似,对于每个类别,需要一个对第五层卷积层提取出的特征图使用困难负样本挖掘方法训练出的SVM。所以VID需要30个SVM来区分是背景还是30个类别之一。对一个边框来说,其SVM得分越高,其置信度分数越高。

  3. high-confidience tracking:对每个类别,在视频中双向跟踪置信度高的候选区域。为了达到对目标对象姿势和尺寸变化的高鲁棒性,TCNN使用Visual tracking with fully convolutional networks中的跟踪器。把置信度最高的边框作为跟踪的起始位置,然后反向跟踪至第一帧,正向跟踪至最后一帧,两个跟踪轨迹最后合并为一个完整的轨迹。

           但因为跟踪是从该最大置信度边框开始的,所以可能会导致最终结果偏移到背景或其他对象,或因为对象的姿势和尺寸发生变化而无法保持对其进行跟踪。因此,设置当跟踪的置信度低于某一个阈值则进行earlystop操作。

           在得到一个轨迹后,在剩余的边框中再选择一个最高置信度的边框对令一个目标进行检测,但一般情况下,高置信度的区域是聚集在一起的,所以通常会重复跟踪同一对象,所以使用一个类似NMS的抑制方法,当某边框与现有的轨迹的初始边框重复度高于某一阈值(测试为0.3),则该边框不会被选择作为初始跟踪的边框。跟踪方法反复进行迭代,直至剩余边框的置信度均低于某一阈值(测试为0)。

  4. tubelet box perturbation and maxpooling:该步骤的主要目的是使用高置信度的边框取代tubelet边框。

           第一个部分是在每个tubelet边框周围,通过随机扰动tubelet边框以生成新的边框——具体方法是对左上角和右下角的坐标进行随机采样,坐标的随机偏置由下面公式决定:
    在这里插入图片描述        其中U是均匀分布,r是关于采样率的参数。高采样率意味着初始的tubelet边框具有低置信度,低采样率意味着tubelet边框具有高置信度。

           第二部分是使用与tubelet边框重复率超过某一阈值的边框替换初始的边框(重复率越高,则置信度越高。),同时进行卷积的NMS。如果一个边框是有着低检测分数的正边框,该方法可以找到一些正边框来抑制这个边框。

           在完成该步骤后,使用步骤2中的检测器对剩下的所有边框(增强后的边框和初始边框)进行打分,对每个tubelet边框,只有拥有最大检测分数的边框才能被保留并用来替换初始的边框。

           最大池化的作用是增强检测器的空间鲁棒性,并使用tubelet周围的原始物体进行检测。

  5. temporal convolution and re-scoring:因为检测分数的多变,自然而然的会导致性能的损失。TCNN中的时间卷积网络TCN利用一维连续特征——包括检测分数、跟踪分数、anchor offset,在每一个tubelet边框上生成时间密集的预测分数。在这里插入图片描述        TCN是一个4层的一维全卷积网络,最后对每个tubelet边框输出一个对应的时间密集的预测分数对每个类别,训练一个类别特定的、使用tubelet特征作为输入的TCN输入是一个密集的一维特征(包括检测分数、跟踪分数、anchor offsets的时间序列,可以提供比单一tubelet层更丰富的supervision)输出是1或0(与ground truth的重复率高于0.5为1)测试时使用连续的分类分数替代二元检测值。

others

       为了对每个边框进行分类,在此之前都是使用step2中的方法,但是这个方法与对静态图像进行检测的RCNN进行对比发现其性能适中,原因如下:

  1. 与最初的2000个候选边框相比,处理后剩下边框的数量少了很多,可能缺少一些目标,且在测试集中recall较低。
  2. 针对静态图像设计的检测方法对小的位置移动十分敏感,并且可能出现一个跟踪边框与目标有较大的重复区域但没有一个合理的检测分数。
  3. 因为对候选边框采样了抑制以减少冗余,所以处理后的tubelet与图像相比含有较少的候选边框,而这个抑制方法或许会与卷积的NMS产生冲突,因为在卷积的NMS中,即便一个正边框含有较低的置信度,但只要与它重叠较大的框有较大的置信度,该正边框就会被抑制且不会影响总体的平均精度。早抑制的结果是一些低置信度的正边框与高置信度边框没有重叠,因此不会被一直为假负边框(false negative box)。
  4. 检测分数有很大的变化,时间信息应该被利用来获得检测分数。

猜你喜欢

转载自blog.csdn.net/weixin_41963310/article/details/112077695