Watch and Learn: Semi-Supervised Learning of Object Detectors from Videos
2015 CVPR创新点本文提出了一种可在视频中定位多个未知目标的半监督学习框架。该框架从少量稀疏标注的目标出发通过迭代方式在视频中标记出新的、有用的训练样本。解决了在稀疏标注视频中检测多个目标的半监督学习问题提出了一种通过融合视频中的多类弱线索并利用多特征空间中的数据建模来挖掘不相关误差从而约束半监督学习过程的方法且通过实验证明了该方法相较于传统基于检测的跟踪方法更具有效性鉴于视频数据中存在冗余信息我们需要一种能够自动判断训练样本与目标检测任务相关性的方法为此我们提出了在半监督学习的每次迭代中纳入训练样本相关性和多样性考量的策略最终形成了一种可扩展的增量学习算法。问题直观地说处理视频的算法应该分别使用**外观和时间线索前者通过检测实现后者通过跟踪实现。**人们可能会认为将检测与跟踪进行简单组合就能构成一个可防止偏移的半监督框架然而正如我们在实验中所展示的对这两种技术进行朴素组合的效果并不理想。从长远来看在耦合系统中检测和跟踪各自存在的误差会被放大。我们也可以考虑采用纯检测方法或纯跟踪方法来解决该问题但纯检测方法会忽略时间信息而纯跟踪方法在长时间序列中则容易出现偏差。去除冗余信息解决方法本文提出了一种可扩展的框架该框架利用半监督学习SSL实现视频中的目标检测图 1本文提出一种新颖的半监督学习框架用于从视频中自动学习的目标检测器。该方法适用于长视频能够自动生成多个目标实例的边界框级标注。其无需假设输入视频中每个目标实例都经过详尽标注仅通过少量带标签实例即可自动标注数十万个目标实例。Sparse labeled examples这是半监督学习的起点—— 仅需人工标注极少量的目标实例“稀疏标注”无需对视频中所有目标或所有帧进行详尽标注。Unlabeled Videos “Watch”多帧未标注的视频画面其中用红色虚线框标记了目标的运动 / 出现区域。算法会 “观察” 这些未标注的长视频利用视频的时间连续性如目标运动、外观变化来挖掘潜在的目标实例。Learned Examples算法通过学习能够识别同一类别下的不同实例即使外观、车型有差异也能归类为 “汽车” 目标体现了对目标类别的泛化能力。Automatically labeled examples算法通过迭代学习在未标注视频中自动生成大量精准的边界框标注实现了从 “少量人工标注” 到 “大规模自动标注” 的跨越。在最初为数不多的 “带标签” 帧中并非所有目标都经过了标注。这种场景设定放宽了 “给定帧内所有目标实例都已被详尽标注” 这一假设意味着我们无法确定帧中未标注的区域属于目标类别还是背景因此也不能将输入中的任何区域用作负样本。尽管以往的大部分研究都忽略了这类稀疏标注场景以及缺乏显式负样本的问题但我们提出了克服这一缺陷的方法。我们不尝试解决数据关联问题即框架不会去识别之前是否见过某个特定的目标实例传统方法会花精力做这件事——跟踪时要记住每个目标的身份避免把同一个目标当成新目标本文不做这件事不管当前框出来的目标之前见没见过都只把它当成 “一个需要标注的新实例”由于稀疏标注这样可以避免前面某帧漏标了目标就没法关联后续帧由于算法适用于稀疏标注场景因此**不假设可以从当前边界框周围采样负样本**我们不需要显式的负样本或任何预训练的目标模型我们将高开销的计算限制在输入帧的一个子集上关键帧从而能够扩展到百万帧规模的视频处理。传统方法对视频里的每一帧都做高开销计算遇到百万帧的长视频就会算力不够本文算法只挑一部分帧做高开销计算剩下的帧用低成本操作处理。框架图 2我们的方法通过精心融合检测、鲁棒跟踪、重定位以及正样本数据的多视角建模技术以迭代方式发现新的边界框进而完成样本选择。该图展示了如何通过这些技术之间的协同作用从大规模未标注视频语料库中学习有效信息。(a)Sparse labeled frames稀疏标注帧两帧视频画面仅对少数汽车用红色边界框做了标注。 仅需人工标注极少量目标“稀疏标注”无需对所有帧或所有目标详尽标注。(b)Unlabeled videos Object detection多帧未标注的视频画面通过 “目标检测器” 进行检测。基于初始稀疏标注训练的检测器对大规模未标注视频进行检测初步识别潜在的目标实例。cDecorrelated Errors去相关误差利用“多特征空间去相关误差” 的原理过滤检测结果中的假阳性。不同特征空间中检测器的错误是 “不相关” 的 —— 若一个区域在多个特征空间中都被识别为目标才是可靠的真目标若仅在某一特征空间中被识别为目标则是假阳性(d)Reliable Tracking可靠跟踪绿色对勾代表可靠跟踪的真目标红色叉代表被过滤的假阳性。对 “去相关误差” 过滤后的真目标进行短期可靠跟踪标记新的目标实例。不追求长时间跟踪只关注 “可靠标记新样本”且能识别跟踪失败避免将假阳性或跟踪漂移的结果纳入训练。(e)New labeled examples新标注样本通过可靠跟踪在未标注视频中自动生成大量新的目标标注实现从 “稀疏人工标注” 到 “大规模自动标注” 的扩展。(f)Selected Positives Object Detectors目标检测器更新从 “新标注样本” 中筛选多样、优质的正样本用于增量更新目标检测器无需从头重训。避免冗余样本视频中大量相似帧的标注无需重复训练只选择 “新的、多样的” 样本保证每次更新都能为检测器引入有效信息。稀疏标注缺乏显式负样本我们从U的一个随机子集中选取少量稀疏标注的帧作为起点。与其他方法不同稀疏标注意味着我们不假设输入帧被详尽标注因此无法从标注正样本的附近区域采样负样本。我们使用互联网上的随机图像作为负样本基于这些稀疏标签训练目标检测器 再用这些检测器在视频的一个子集上进行目标检测例如每 30 帧检测一次。仅用少量正样本且无 “领域负样本” 训练的检测器会出现如图 3 所示的高置信度假阳性。移除这类假阳性非常重要因为如果对其进行跟踪会引入更多劣质训练样本导致检测器性能在迭代中不断下降。图 3稀疏标注的正样本如上图所示被用于训练示例检测器 。由于我们不假设图像中每个实例都被详尽标注因此无法从输入边界框周围采样负样本。当使用这些未结合领域负样本训练的检测器时它们可能会学习到背景特征例如同时出现的黄色条纹或道路分隔带并产生高置信度的假阳性结果如下图所示。我们通过利用去相关误差来解决这一问题我们从一个包含少量边界框的稀疏标注集 (L_0) 和未标注输入视频集 U 开始。在每次迭代 i 时利用基于 (L_{i-1}) 训练的模型在输入视频 U 中标记新的边界框将其添加到标注集 (L L \cup L_i) 中并迭代重复这一过程。时间一致性检测我们首先利用检测结果运动的平滑先验移除时间上不一致的检测结果。在视频中目标的运动通常是连续且平滑的比如汽车不会突然从画面左侧瞬移到右侧那些运动规律不符合 “连续性、平滑性”的检测结果是不满足时间一致性的。某帧检测到汽车在画面左下角下一帧却突然出现在画面右上角不符合现实中汽车的运动逻辑这样的检测结果就是 “时间不一致” 的。去相关误差为移除高置信度假阳性图 3我们采用 “去相关误差” 原理类似多视角半监督学习 。其核心是检测器的错误与其特征表示相关不同的特征表示会导致不同的错误因此若不同特征空间中的错误是去相关的就可以对其进行修正并移除假阳性。通过这一步骤我们得到过滤后的检测结果集合。只用 “颜色 车型” 这个特征空间可能会把 “黑色的黄条纹” 误判成汽车因为颜色和车型很像但如果换用 “轮廓 运动轨迹” 这个特征空间黄条纹的轮廓和运动不动就会暴露它不是汽车。用“无约束最小二乘重要性拟合uLSIF” 的工具来实现 “跨特征空间过滤”P (train)训练集的分布 「视频正样本汽车的特征规律」 「Flickr 负样本风景 / 动物的特征规律」P (test)测试集的分布 「视频场景样本马路汽车 黄条纹背景的特征规律」。可靠跟踪我们对过滤后的检测结果进行跟踪以标记新样本。我们的最终目标不是对目标进行长时间跟踪而是可靠地跟踪并为目标检测器标记新的、且有望具有多样性的样本。视频里目标容易出问题比如汽车被树挡住、行人转身长时间跟踪很容易 “跟错”——树当成汽车会产生 “跟踪漂移”。为了获得这类可靠的跟踪片段我们设计了一种保守的短期跟踪算法来识别跟踪失败。跟踪时发现目标轮廓变了或者位置动得太奇怪算法就会判定 “跟踪失败”直接放弃这个跟踪片段不会硬着头皮继续标。传统的基于检测的跟踪方法严重依赖检测先验来识别跟踪失败而在我们的场景中跟踪的目标是改进性能较弱的检测器本身因此过度依赖检测器的输入会违背我们使用跟踪的初衷。我们用颜色 / 纹理一致性目标的颜色、纹理目标置信度判断一个区域 “像不像目标” 的概率汽车的轮廓、大小是否符合目标的概率光流目标运动的 “流动轨迹”来确保可靠跟踪我们重点解决两类跟踪失败模式1.虚假运动导致的漂移背景运动 / 遮挡引发的错误这种漂移发生在对非目标区域的特征点计算光流时例如运动背景或遮挡区域上的特征点。为修正这一问题我们先将每个跟踪框划分为四个象限计算每个象限内的平均光流**再根据每个象限内特征点与其他象限光流的一致性为其分配权重最终跟踪框的主导运动方向由所有特征点光流的加权平均值确定。**这一简单高效的方案能有效修正非目标特征点带来的异常运动信息。比如树影的运动和汽车不一致权重就低不会被当成目标运动2.外观变化导致的漂移在每帧中我们将各类边界框检测边界框、跟踪边界框、目标提议边界框作为图的节点并连接连续帧中的节点形成网格图边的权重由框的主导运动差异决定、空间邻近性和面积变化的线性组合构成。主导运动差异相邻帧节点的运动是否一致比如第 1 帧汽车向右开第 2 帧突然向左运动差异大空间邻近性相邻帧节点的位置是否接近比如第 1 帧框在画面左第 2 帧框在画面右空间远面积变化相邻帧节点的大小是否合理比如第 1 帧汽车框很大第 2 帧突然变小面积突变。用于更新检测器的多样正样本选择以往的工作会对视频中的边界框进行时间子采样并将每个框视为同等重要。但由于这些框来自视频其中大量框是冗余的对训练检测器的重要性并不相同此外第i次迭代添加的样本是否相关取决于之前的迭代是否添加过相似样本。理想情况下我们希望仅在新的、多样的样本上进行训练增量更新而非在数千个高度冗余的框上从头重训。我们通过样本选择策略解决这一问题提出了仅在多样新框上训练的方法。在基于多样本训练检测器后我们重复半监督学习过程以迭代标记更多样本。通过贪心策略选择一组既与当前检测器不相似、彼此之间也不相似的边界框。更正式地说设 (L_i {l_1, \dots, l_k}) 为迭代 i 时的标注框集合(E \bigcup_{j0}^{i-1} D_j) 为所有先前迭代0 至 (i-1)中与示例检测器相关联的边界框 (b_n) 的集合。我们计算一个 (|L_i| \times |E|) 维度的检测器响应矩阵 R矩阵元素 (R(m, n)) 表示与框 (b_n) 相关联的检测器对框 (l_m) 的响应值也称为检测特征向量 [24]。对矩阵 R 进行行归一化处理后框 (l_m) 的检测特征向量由其对应的行向量 (R(m)) 表示。我们初始化集合 (D_i \subset L_i)包含所有响应值较低的框 (l_j)—— 即先前迭代的检测器均无法自信地检测这些框ESVM 得分 -0.8 且交并比IOU 0.4。我们通过迭代方式扩展集合 (D_i)每次添加能最小化以下目标函数的检测器(t^* \arg\max_{l_t \in L_i \setminus D_i} \min_{l_p \in D_i} \text{JSD}(R(t) \parallel R§) \tag{1})(D_i D_i \cup {l_{t^*}})该目标函数通过计算检测特征向量的詹森 - 香农散度JSD优先选择与现有检测器具有多样性的边界框。每次迭代中我们将选中的边界框数量限制为 10 个。当该选择方法无法找到新的边界框时我们认为半监督学习已达到饱和点以此作为算法的停止准则。实验表 1我们的方法与 5.1 节所述基准方法的对比。我们在所有自动标注数据上训练一个 LSVM 模型 并在保留的全标注测试集上计算其检测性能交并比IOU为 0.5 时的平均精度AP。Boot.基准方法 1Bootstrap自举法Boot.Sel.基准方法 2Bootstrap 样本选择DetTrack基准方法 3检测 跟踪O w/o Sel本文方法变体去除样本选择O w/o Outlier本文方法变体去除异常值过滤Ours本文提出的完整方法。Pascal LSVM在 Pascal 数据集上训练的 LSVM 方法Pascal DPM在 Pascal 数据集上训练的 DPM可变形部件模型方法VIRAT LSVM在 VIRAT 数据集上训练的 LSVM 方法。我们观察了不同迭代中用于训练 ESVM 的边界框子集。每行对应一种消融方法。第一行展示了随机选择的初始正样本边界框所有方法的初始框相同。其他方法在迭代中快速偏离这表明约束条件对于保持纯度非常重要。 假阳性的消融Ours w/o Outlier本文方法变体去除异常值过滤Ours w/o Selection本文方法变体去除样本选择“我们在大规模实验中衡量标注框的检测性能。我们在保留的测试集上测试每次迭代训练的 ESVM 模型计算平均纯度Average Purity和召回率Recall。我们的方法显著优于基准方法在保持纯度的同时大幅提升召回率。”Average Purity平均纯度衡量标注框的 “准确性”—— 有多少标注框是真目标不是假阳性Recall召回率衡量检测的 “全面性”—— 有多少真实目标被检测到。“KITTI 数据集自动标注中的姿态变化。对于每种算法我们绘制其在 30 次迭代后标注的所有边界框的 3D 姿态分布。第一张和最后一张图分别展示初始标注框和真实标注Ground Truth的姿态分布。我们方法标注的边界框分布与真实分布接近。(a) Initial boxes初始标注框初始稀疏标注的框姿态非常有限仅覆盖少数几个角度说明初始标注的目标视角很单一。(b) Bootstrapping自举法标注框的姿态分布极其狭窄仅集中在极少数角度说明该方法标注的目标视角多样性差容易 “偏向性学习”。© Eigen Functions特征函数法姿态分布虽有扩展但仍远未覆盖真实场景的多样视角存在明显的分布偏差。(d) DetectTrack检测 跟踪姿态分布的多样性有所提升但与真实分布相比仍缺乏对部分关键视角的覆盖比如极端角度的目标。(e) Ours本文方法姿态分布广泛且均匀几乎覆盖了真实场景中目标的各类视角与最后一张 “Ground Truth” 的分布高度相似。我们观察了KITTI 和 VIRAT 两个数据集上各基准方法在不同迭代中选择的正样本。我们注意到随着迭代进行标注集的纯度显著下降。这表明需要针对视频的特定约束条件才能在迭代中实现有意义的学习。