本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》,笔者不是自动驾驶领域的专家,只是一个在探索自动驾驶路上的小白,此系列丛书尚未阅读完,也是边阅读边总结边思考,欢迎各位小伙伴,各位大牛们在评论区给出建议,帮笔者这个小白挑出错误,谢谢!
此专栏是关于《自动驾驶汽车环境感知》书籍的笔记
2.动态场景理解之多目标跟踪
- 动态场景理解即图像序列分析,指感知系统在给定的图像序列中检测运动物体,并对其进行识别、跟踪等;
- 感知系统不仅仅从单张图像获取信息,而是结合图像序列中的连续帧图片信息来完成固定任务;
- 在自动驾驶场景中,较为复杂的三种动态场景分析方法:多目标跟踪、路径实时预测、行人手势识别;
2.1 多目标跟踪
- 多目标跟踪技术的几大重要模块:外观建模、目标检测、目标运动估计及预测、数据关联;
- 对一般单目标跟踪算法来说,目的是在一段视频中逐帧对目标进行检测定位,并将这些目标位置连接起来得到视频中目标的动态轨迹;如果能够逐帧实现对目标有效、准确检测,那么将这些检测结果连接起来即完成目标跟踪的任务;
- 对多目标跟踪来说,得到轨迹的过程不再是简单的逐帧无选择连接,而是一个数据关联问题;
- 对一个多目标跟踪算法而言,任务是在视频中逐帧得到多个目标的位置(空间维),并正确地将属于同一个目标的位置连续得到其相应的轨迹(时间维);多目标跟踪问题是一个横跨时间和空间两个维度的复杂问题;
- 一个多目标跟踪算法需要解决的两个问题:目标定位(localization)和目标识别(identification);根据解决这两个问题的方式不同,可分为:基于检测的跟踪方法和基于预测的跟踪方法;
- 数据关联,局部关联的方法:逐帧地或基于视频段进行关联以延长目标轨迹;全局关联的方法:采用先得到整段或大段视频逐帧的目标位置信息之后,进行关联而获得延迟轨迹;
- 根据算法是否限制目标的种类分为:类别相关的跟踪方法和类别无关的跟踪方法;
- 目标定位和目标识别:
- 多目标跟踪算法组成部分:目标外观模型、目标运动估计、目标检测、数据关联;
- 目标外观模型:采用合适的特征对目标外观进行描述建模,从而可以根据得到的模型对目标进行识别;
- 目标运动估计:采用不同的运动模型描述目标的运动规律,并依据次规律对目标可能出现的位置进行预测;
- 目标检测:采用不同的检测器,在单帧图像中实现对目标的检测定位;
- 数据关联:负责将检测结果跨帧连接形成轨迹;
2.1.1 目标外观模型
目标外观模型是对目标的定量描述,是后续目标运动估计、相似性计算、数据关联等操作的依据;
目标外观模型包括:目标形状模型和目标特征描述;目标形状模型:依据目标不同的特点,及不同的跟踪目的而选定某一种合适的方式进行来表征;目标特征描述:选择一种符合应用要求的特征来量化目标区域内的图像信息;
- 目标形状模型
- 质点模型:目标由一个核心质点,或一组质点表征;这种模型适合用于对尺寸较小的目标的跟踪;
- 简单几何形状模型:目标外观有矩形或椭圆形等简单几何形状表示;这类模型常被用于表征刚性目标,且目标的运动可以通过仿射或投影变换来建模;
- 链接形状模型:该模型由通过关节链接的身体各部分组成;各部分间的位置关系由特定的运动模型约束;
- 骨架模型:目标的骨架模型可以通过对齐剪影进行中轴变换得到;这类模型常用于目标识别;
- 目标剪影和轮廓模型:轮廓模型刻画目标的边界;边界内的区域则是目标的剪影;这类模型常被用于表征非刚性的目标;
- 目标特征描述
特征:指将图像原始携带的灰度、亮度、RGB各通道强度等基础信息进行加工转换,得到描述性更强、健壮性更强的信息;- 颜色特征:目标的颜色主要受发光体的光谱和目标表面的反射特性;基于颜色的特征通常表现为直方图特征;
- 梯度信息:通过梯度的统计信息得到对光照变换和平面变换不敏感的特征,主要有SIFT(Scale-Invariant Feature Transform,尺度不变特征变换)、SURF(Speed Up Robust Feature,加速的健壮性特征)和HOG(Histogram of Gradient,梯度直方图)等;
- 纹理特征:通过描述物体表面颜色强度变化以反映物体光滑度和规则程度;纹理特征较颜色特征对光照的变化有更强的健壮性;Gabor小波变换是常见的纹理特征,LBP(Local Binary Patterns)特征常被应用于目标跟踪;
- 光流特征(Optial Flow,OF):本质上是位移向量的密度场,用于表征一个区域内各个像素的转移和运动;光流特征常被用于跟踪算法中;
- 边缘特征:物体的边缘常常会产生局部较明显的亮度、强度变化,可以作为物体检测的有效信息;
- 多特征融合:不同特征各有优势,将多种特征融合使用可以得到较好的效果;
2.1.2 目标运动估计
对目标运动的描述是通过不同的目标运动模型实现的;运动模型又称为动态模型,其以不同的方式描述、约束目标在视野中的运动;
常见的运动模型:约束型模型、描述型模型;
- 约束型模型
约束型模型通过建立一系列约束条件来限制目标可能展现出来的运动模式;约束型模型常用在基于优化的跟踪算法中,其通过约束条件建立目标能量模型,以此来惩罚违反运动模型的可能目标;
常见的运动约束:- 临近性约束:认为目标位置不会在一帧中发生显著变化;
- 最大速度约束:限制目标在一帧中可能出现的最大位移;
- 速度稳定约束:速度的大小和方向不会发生剧变;
- 相似运动约束:处在相邻区域内的目标速度相似;
- 刚性约束:处于同一个刚性物体上的两个质点相对位置不变;
- 描述型模型
- 显式将目标的运动模型通过目标状态转移方程表示出来,该方程则可被用作对目标位置进行预测的依据和指导;
- 描述型模型分为:线性运动模型和非线性运动模型;线性模型只能用于描述简单的直线运动,非线性模型可以用于目标的非线性、变速运动;
2.1.3 目标检测
依据检测器是否需要预先训练,检测算法分为:线上检测器、线下检测器;
- 线上检测器
- 线上检测器不是基于学习方法,不需要线下收集样本,无须事先训练;
- 线上检测器可以实现无类别检测(category-free detection);
- 角点检测器:专门用于检测图像中的兴趣点;
- 运动区域检测器:专门用于检测图像连续帧中出现位移的区域或目标;
- 运动检测器检测算法:
- 帧差法:利用连续帧图像做差,通过设置合理阈值得到运动区域;常见的是两帧差法和三帧差法等;
- 背景消除法:通过对图像中的背景建模,从目标帧中减掉背景,得到前景运动目标;常见的背景建模方法:基于高斯模型的背景建模、基于混合高斯模型、连续图像求平均建模等;
- 光流法:基于光流场发现目标;
- 线下检测器
- 线下检测器是基于学习的检测器;需要预先收集正负样本集,较难实现无类别的检测;
- 基于颜色直方图、边缘、角点及小波特征建立级联分类检测器;
- 采用HOG特征加Latent SVM分类器的方法实现车辆检测;
- 使用Haar特征加Adaboost分类器提高行人检测的效率;
- SIFT特征与边缘直方图的结合使用;