点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
以前写过一个“自动驾驶中的目标跟踪”介绍,这次重点放在深度学习和摄像头数据方面吧。
先提一下以前说的那篇综述:
Daimler公司研发组2017年写的一篇综述,主要总结当时深度学习如何在多目标跟踪应用的工作。
一个多目标跟踪系统的框架大同小异,如图所示,数据相关(data association),状态预测(state prediction),状态更新(state update)和跟踪管理(track management)几个部分。
下图是通用的多目标跟踪系统框架。
而应用深度学习在目标跟踪中的方法可总结为四种途径(如上图):
1) 特征学习(表观模型部分). 如经典的CNN
2) 数据相关部分. 比如Siamese 网络加 Hungarian算法/LSTM
3) 端到端学习法(比较具有挑战性). 如RNN/LSTM
4) 状态预测(运动/轨迹). 如Behavior-CNN,Social-LSTM,Occupancy Grid Map等等
下面对每个途径介绍一两个例子。
feature learning
L. Wang, W. Ouyang, X. Wang, and H. Lu, “Visual Tracking with Fully Convolutional Networks,” in ICCV, 2015
2. Data Association
L. Leal-Taixe, C. Canton-Ferrer, and K. Schindler, “Learning by Tracking: Siamese CNN for Robust target association,” in CVPRW, 2016
3. Prediction
A. Alahi, K. Goel, V. Ramanathan, A. Robicquet, L. Fei-Fei, and S. Savarese, “Social LSTM: Human Trajectory Prediction in Crowded Spaces,” in CVPR, 2016
S. Yi, H. Li, and X. Wang, “Pedestrian Behavior Understanding and Prediction with Deep Neural Networks” in ECCV, 2016
S. Hoermann, M. Bach, and K. Dietmayer, “Dynamic Occupancy Grid Prediction for Urban Autonomous Driving: A Deep Learning Approach with Fully Automatic Labeling ” in IV, 2017
4. E2E
I. Posner and P. Ondruska, “Deep Tracking: Seeing Beyond Seeing Using Recurrent Neural Networks” in AAAI, 2016
A. Milan, S. H. Rezatofighi, A. Dick, K. Schindler, and I. Reid, “Online Multi-target Tracking using Recurrent Neural Networks” in AAAI, 2017
这是最近的一篇MOT综述文章。重点是介绍2D单目摄像头数据方法。
MOT算法采用的标准方法是通过检测进行跟踪:通常从视频帧中提取出一组检测结果(即,标识图像中目标的边框),并用于引导跟踪过程,即将相同ID分配给包含相同目标的边界框。因此,许多MOT算法任务实际是分配问题。
现代的检测框架如SSD、YOLO和RCNN系列,确保了良好的检测质量,大多数MOT方法(除了某些例外)一直致力于改善关联性。实际上,许多MOT数据集提供了一组标准的检测方法,算法可以使用这些检测方法,以便专门比较在关联算法质量上的性能,因为检测器的性能会严重影响跟踪结果。如图是MOT算法的展示。
MOT算法也可以分为批处理和在线方法。在尝试确定特定帧的目标个体时,允许批处理跟踪算法使用将来的信息(即来自将来的帧)。它们经常利用全局信息提高跟踪质量。相反,在线跟踪算法只能使用当前和过去的信息来预测当前帧。某些情况下是必需的,例如自动驾驶和机器人导航。与批处理方法相比,在线方法往往表现较差,因为它们无法使用将来的信息来修复过去的错误。重要的是,虽然要求实时算法以在线方式运行,但并非每种在线方法都必须实时运行;实际上,除了极少数例外,很多时候在线算法仍然太慢而无法在实时环境中使用,特别是深度学习算法通常会占用大量计算资源。
尽管方法种类繁多,大多数MOT算法共享以下部分或全部的步骤(如图所示):
检测阶段:目标检测算法使用边框分析每个输入帧,识别属于某种类别的目标,在MOT称为“检测”;
特征提取/运动预测阶段:一种或多种特征提取算法分析检测和/或轨迹,提取外观、运动和/或交互特征。可选项是,运动预测器预测每个跟踪目标的下一个位置;
近似(Affinity )阶段:特征和运动预测用于计算成对的检测和/或小轨迹(tracklet)之间相似度/距离的得分;
关联(Association)阶段:通过相同ID分配给标识相同目标的检测阶段,相似度/距离度量将属于同一目标的检测和小轨迹关联起来。
国内一篇基于单摄像头的单目标跟踪的综述。
根据网络结构、网络特征和网络训练将现有的基于深度学习的跟踪器分为三类:
(1)卷积神经网络(CNN)模型可以显着提高跟踪性能。
(2)卷积神经网络(CNN)模型用于将被跟踪目标与其周围背景区分开来的跟踪器可以获得更准确的结果,而CNN模型的模板匹配通常会更快。
(3)有较深特征的跟踪器的性能要比有低级手工特征的跟踪器好得多。
(4)来自不同卷积层的深层特征有不同的性质,它们的有效组合通常会导致跟踪器更健壮。
(5)使用端到端网络的深度视觉跟踪器通常比仅使用特征提取网络的跟踪器性能更好。
(6)视觉跟踪最合适的网络训练方法是对每个带有视频信息的网络进行训练,并通过后续观测量对其进行在线微调。
“Deep learning for multiple object tracking: a survey“,8,2019
这也是国内最近的一篇MOT综述文章。
文章将基于DL的MOT方法大致分为三类:
使用深层网络特征的多目标跟踪增强,其中语义特征是相关任务设计的深层神经网络所提取,替换先前跟踪框架中的常规手工特征。在大多数情况下,从深度网络提取的这些功能可以有效地提高跟踪性能。
具有深度网络嵌入的多目标跟踪,其中跟踪框架的核心部分是使用深度神经网络设计的。例如,深度网络的输出被设计为对不同轨迹检测的多分类得分,而二值深度分类器检测是否属于同一目标。
通过端到端深度神经网络学习进行多目标跟踪,其中直接设计深度网络以获得跟踪结果。通常仅通过一个网络很难获得多目标跟踪结果,因为MOT跟踪存在一些相互交织的子模块。一些工作试图通过一些假设(例如马尔可夫性,固定分布等)来实现此目标。
如图是基于深度学习的MOT方法图:
下表是所列MOT方法的细节对比。
Wojke, N., Bewley, A., Paulus, D.: ‘Simple online and realtime tracking with a deep association metric’. Proc. Int. Conf. on Image Processing, Beijing, China, 2017
下图是深度SORT(Simple Online and Realtime Tracking)算法的示意图:从wide residual network (WRN) 中提取用于分类的深层特征用于增强检测和轨道之间的匹配(WRN的WRB – 残差块)。
Chu, Q., Ouyang, W., Li, H., et al.: ‘Online multi-object tracking using CNN- based single object tracker with spatial-temporal attention mechanism’. Proc. IEEE Int. Conf. Computer Vision, Venice, Italy, 2017
如图是STAM(spatial-temporal attention mechanism)-MOT的框架:(a)构造深度CNN学习空间注意力和特定目标的分类器,(b)使用基于采样的搜索方法来找到最佳候选者。
Milan, A., Rezatofighi, S.H., Dick, A.R., et al.: ‘Online multi-target tracking using recurrent neural networks’. Proc. AAAI, San Francisco, CA, USA, 2017
如图是RNN(recurrent neural networks)-LSTM跟踪框架:构建一个基于RNN的网络学习预测、更新状态和终止概率。基于LSTM的网络用于在检测和目标之间找到最佳关联。
总之,综述中作者基于现有方法分析了深度特征迁移、神经网络嵌入和端到端网络训练的机制。其次,讨论深度网络在跟踪框架中的作用,以及训练这些网络的问题。再者,根据常见的数据集和评估重新对这些多目标跟踪方法进行比较,并强调了各自方法的优点和局限性。一方面,远没有足够的标记数据集训练满意的模型在任何条件下进行跟踪。生成网络(条件,期望对跟踪的目标学习高阶或在线迁移的特征。
END
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~