无人驾驶传感器融合系列(七)——基于相机的目标追踪与碰撞检测

无人驾驶传感器融合系列(七)——基于相机的目标追踪与碰撞检测

本章摘要:本章主要讲解基于相机实现目标追踪的整体思路,以及根据追踪的结果实现一个简单的应用TTC(time to collision),好对基于相机的目标追踪有一个大概的了解,在此了解的基础上,后续文章会对相关细节进行进一步的分析。

一、TTC 介绍

TTC也就是啥时候碰撞的意思,下面简化介绍一下。如下场景,我们根据 t0, t1时刻的距离,来求得TTC,主要有常速的模型CVM,和常加速度模型CAM,为了简化计算我们这里采用常速度模型。
无人驾驶传感器融合系列(七)——基于相机的目标追踪与碰撞检测_第1张图片
根据针孔相机模型,目标投影到像平面上具有下面的比例关系,根据此比例关系(h1/h0)、常速度模型就可以求得TTC,发现其只和时间间隔和投影比例有关,这样我们就可以完全根据时间间隔、图片信息来求得TTC。
无人驾驶传感器融合系列(七)——基于相机的目标追踪与碰撞检测_第2张图片
无人驾驶传感器融合系列(七)——基于相机的目标追踪与碰撞检测_第3张图片

二、基于深度学习网络的目标检测(YOLOv3)

采用深度学习神经网络,可以实现多目标检测,比如SSD, YOLO。检测结果会在检测目标上画出检测框图,我们可不可以利用框图的边长来求得相邻frame之间的目标车辆的比例关系(h1/h0),然后得到TTC了。但是观察可以发现,框图并不是严格表示物体的大小的,并且不同frame之间变化并不连续,所以直接用框图的边长来计算比例关系不可行。虽然直接利用框图边长来计算TTC不可行,但是框图告诉了我们不同的物体所在的大概位置,我们可以利用这个大概的位置信息,将目标锁定在框图内。
关于如何具体使用,这里就不做具体讲解了,在github中给了具体的说明。地址:YOLOv3-Object-Detection-with-OpenCV

三、采用关键点keypoints

针对框图内的目标物体,是不是可以提取代表目标物体的关键点了,这些关键点在不同frame上“比较唯一”。比如下面图中所示,在汽车图像上提取了七个关键点,而这七个关键点在下一frame上依然会出现,并且相对关系不变,这样的话就可以通过追踪关键点实现相邻frame之间目标物体追踪。然后计算当前frame中关键点之间的距离,下一frame中这些关键点之间的距离,然后计算这些距离的比例,就可以求得TTC了。比如图b中所示,可以求得一些列比例 b12/b’12, b14/b’14, b13/b’13等,当然实际中数量远比这多得多,然后求得这些比例的平均值、或者中值作为相邻frame之间目标物体的比例(h1/h0)。由于一些错误匹配、或者非目标物体上的点的干扰,会造成平均值误差较大,所以往往选取中值。
这里提及到的keypoints提取、匹配设计的内容较多,将在后续单独用一章节进行介绍。

文章说明:

Udacity 传感器融合课程笔记

你可能感兴趣的:(传感器融合)