车辆和行人检测技术是高级驾驶辅助系统(ADAS)和自动驾驶的最重要组成部分。毫米波雷达与摄像机的融合是提高环境感知性能的重要趋势。本文提出了一种基于毫米波雷达和摄像机的车辆和行人检测方法。此外,该方法基于雷达数据和滑动窗口算法生成的动态区域,完成了对车辆和行人的检测。首先,借助坐标变换将雷达目标信息映射到图像;然后通过分析场景,获得滑动窗口;再通过粗略检测通过HOG特征和SVM分类器检测滑动窗口;然后使用匹配功能确认目标;最终在精确检测中检测窗口并合并检测窗口。目标检测过程分为以下三个步骤:第一步是读取雷达信号并同时捕获摄像机数据,第二步是对数据进行构架和融合,第三步是检测目标并显示结果。通过实验证明,本文提出的融合算法能够更好地检测车辆和行人,为后续的目标跟踪研究提供依据。
SFITIC
简 介
在交通事故中,很大一部分事故是由追尾事故引起的,其中91%的追尾事故由驾驶员分心所致。因此,车辆和行人检测技术是高级驾驶辅助系统(ADAS)的重要组成部分,它可以用于准确识别前方的车辆和行人,在发生碰撞危险之前及时提醒驾驶员,避免交通事故的发生。
在车辆和行人检测中,使用单个传感器经常面临误检和漏检率高的问题。然而,对雷达和摄像机进行信息采集,实现数据融合,可以提高车辆和行人检测的速度和准确性。
在基于毫米波雷达和摄像机的车辆检测融合中,Shigeki Sugimoto等人完成了从雷达到摄像机坐标的转换,并在图像上标注了信息,但未做进一步的工作。Giancarlo Alessandretti等人,Trung-Dung Vu等人和li-sheng jin等人,JIN Lisheng 完成了融合算法并对车辆进行了测试,但对于雷达生成的区域没有进一步的研究。在基于毫米波雷达和摄像机融合的行人检测中,由于早期毫米波雷达检测行人的能力有限,因此很少进行研究。目前毫米波雷达可以满足行人检测的要求,并且可以与摄像机集成在一起进行行人检测。
为了弥补单传感器检测的不足,并详细研究雷达与摄像机融合检测,提出了一种雷达与摄像机融合的新方法。该算法使用雷达目标信息来确定由雷达数据在图像中生成的动态区域。然后通过分析场景来获得动态的滑动窗口。接下来,可以在粗略检测中通过HOG功能和SVM分类器测试滑动窗口。然后使用匹配功能确认目标。最终在精确检测中检测窗口并合并检测窗口。
SFITIC
坐标融合
坐标转换
雷达和摄像头是处于不同坐标系中的传感器。因此,为了实现传感器的空间融合,需要统一两个传感器的坐标。因此,有必要在雷达坐标系和图像像素坐标系之间建立过渡关系。
图1显示了毫米波雷达坐标系 OrRrθr ,相机坐标系 Oc-XcYcZc 和3D世界坐标系 Ow-XwYwZw 的相对位置。在本文中,我们设定世界坐标系与相机坐标系重合。
如图所示,毫米波雷达和摄像机的安装位置是固定的。因此,平面 OrRrθr 垂直于平面XcOc Zc 。因此,相机坐标系 P(Xc,Yc,Zc) 和雷达系统 P(Rr,θr) 的转换关系如下所示:
其中Lx,Ly,Lz是相机坐标系和雷达坐标系在三个方向上的距离。
图1. 三个坐标系的相对位置。
从摄像机坐标系 P(Xc,Yc,Zc) 到图像像素坐标系 (u,v) 的转换公式为:
在上式中,dx 和 dy 表示图像像素坐标系中X轴和Y轴上每个像素的物理长度,像素坐标(u0,v0)是光轴 Zc 与光轴 Zc 的交点。图像平面,f是相机的焦距。
雷达坐标系与图像像素坐标系之间的转换关系可以通过公式(1)和公式(2)得到:
在上式中:
其中,M1是摄像机的内部参数矩阵,M2是从世界坐标系到摄像机坐标系的变换矩阵,M3是从雷达坐标系到世界坐标系的变换矩阵。
SFITIC
雷达数据生成的区域
雷达生成的区域用于与摄像机检测到的目标进行匹配。由于在雷达目标中,漏检率远低于虚警率,并且摄像机检测在目标检测方面具有更高的准确性,因此雷达生成区域内的摄像机目标检测在数据融合之后具有更好的可信度。
雷达信号预处理
如图2所示,原始距离、速度和角度的图表可以通过绘制雷达输出目标距离随时间的原始数据来获得。同时,可以将雷达目标信号转换为图像并获得转换后的原始数据图。雷达目标信息可以连续输出目标的轨迹。同时,所有障碍物都将被输出,包括路边的护栏,电线杆,树木等。此外,还将输出一些虚假目标。
a. 雷达输出的原始距离数据。
图2 雷达输出的原始数据。
b. 雷达输出的原始速度数据。
c. 雷达输出的原始角度数据。
图2(续). 雷达输出的原始数据。
可以通过过滤和跟踪雷达数据来过滤掉错误目标。对于其他障碍,我们可以使用图像检测的方法进行判断。在对雷达数据进行跟踪滤波之后,可以获得目标信息的图形。图3显示了滤波后雷达的输出数据(包括范围、速度和角度)。将一个雷达周期的雷达信号转换为图像,将得到图4的融合图,图中的白色区域为变换后的区域。
a. 滤波后雷达输出的距离数据。
b. 滤波后用于雷达输出的速度数据。
c. 滤波后雷达输出的角度数据。
图3. 滤波后雷达输出的数据。
图4. 雷达与摄像机的融合图。
计算雷达数据生成的区域
雷达生成的区域的计算包括位置和区域大小。本文提出了一种通过认证来确定区域并考虑多种因素的新方法。
通过上一部分中的坐标变换将预处理雷达目标(Rr,θr) 映射到图像。然后可以在图像中获得相应的点O1。从理论上讲,该点位于图像中目标轮廓的中心,因此该点将用作雷达在车辆检测中生成的区域的中心。
考虑到实际安装,摄像机的水平角与车辆的侧倾角一致。将雷达在世界坐标系中生成的区域确定为矩形区域,以雷达目标为中心,并且该矩形区域垂直于垂直轴。
根据GB 159-2016,车辆轮廓的界限在宽Wm为2.55 m,在高Hm为4 m。此大小可以满足大多数汽车,卡车或其他车辆的检测要求。
因此选择测试区域时应考虑雷达的角分辨率α,雷达测距分辨率L,雷达与世界坐标系之间的距离以及角度测量误差。
所选的测试区域如下:
其中βx,βy 表示相机坐标系和雷达系统之间 YcZc 和 ZcXc 平面中顺时针旋转角度的测量误差。 Px, Py, Pz 是3个方向上的测量误差。[X1 Y1 Z1],[Xr Yr Zr] 分别是相机坐标系中感兴趣区域的左下角坐标和右下角坐标。当考虑到由于雷达产生的区域中的左上角和中心之间的距离最远而导致的测量误差时,M4 是矩阵。当考虑到由于雷达产生的区域中的右上角和中心之间的最远距离而引起的测量误差时,M5 是矩阵。
根据公式(2),雷达坐标系与图像像素坐标系之间的转换关系为:
其中 [ul νl],[ur νr] 是雷达在图像像素坐标系中生成的区域中的左上角和右下角的坐标。
获取由雷达数据生成的用于行人检测的动态区域的方法与确定由雷达生成的用于车辆检测的区域的方法相同。宽 Wp 中行人轮廓的上限大小为0.5m,高度 Hp 为2m。以相同的方式,通过坐标变换,可以在图像像素坐标系中得到行人检测雷达产生的区域。
SFITIC
基于视觉的车辆和行人检测
在车辆和行人检测中,基于机器学习的算法是最常用的方法。基于机器学习的车辆和行人检测算法的核心技术是特征提取和分类。特征提取方法包括类Haar特征、LBP特征、edgelet特征、SIFT特征、HOG特征等。分类算法包括决策树、神经网络、贝叶斯分类、支持向量机(SVM)、k最近邻分类算法等。在选择检测算法时,梯度方向直方图(HOG)特征可以很好地表达图像的边缘,满足行人和车辆检测的要求。同时,支持向量机(SVM)算法也是一种很好的分类算法,可以通过训练超平面对数据进行分类。因此,我们采用了基于HOG特征和SVM分类器的车辆和行人检测算法。在车辆和行人检测方面,本文重点介绍了在获得车辆和行人雷达产生的区域后,如何使用雷达生成的区域来检测车辆和行人。
特征提取
梯度方向直方图(HOG)特征通过计算图像局部区域的梯度信息来表示对象的边缘特征。它在局部几何形状和光学变化方面具有良好的不变性。车辆和行人的信息主要是边缘部分的梯度信息,因此已被广泛应用于行人和车辆的检测中。
为了提取HOG特征,本文使用了Dali等人提出的方法。
1.将图像转换为灰度,如图5和图6所示。
2.使用gamma校正方法对输入图像的色彩空间进行标准化,调整图像对比度,减少局部阴影和照明变化的影响。gamma压缩公式:
推荐的gamma = 0.5。
3.计算每个像素的梯度和方向,获取图像轮廓信息。图像中像素(x,y)的梯度为:
在公式中,Gx(x, y),Gy(x, y),H(x, y) 分别表示输入图像中像素(x, y) 的水平渐变、垂直渐变和像素值。像素(x, y) 的梯度幅度和梯度方向为:
4.将图像分成小块,称为单元。
5.获取每个单元格的直方图统计信息,形成每个单元格的描述符。
6.每个块由几个单元组成,包括所有单元特征描述符。
7.图像的所有HOG特征描述符构成图像的特征向量。
在车辆检测方面,滑动窗口被缩放为64 x 64像素,每个小块包括8 x 8像素。在梯度方向上,它分为九个块,一个块包含2 x 2个相邻单元。相邻的块重叠,步长与小块一样大。最后,将变换后的HOG字符描述为长度为1764的向量,车辆灰度及其HOG特征图如下所示:
a. 灰阶 b. HOG特征图
图5. 车辆的灰度及其HOG特征图
在行人检测方面,滑动窗口被缩放为128 x 64像素。其他设置类似于车辆设置。最后,HOG字符被描述为长度为3780的向量。行人的灰度及其HOG特征图如下所示:
a. 灰阶 b. HOG特征图
图6. 行人的灰度及其HOG特征图。
训练支持向量机
在支持向量机(SVM)的训练中,样本的选择对训练结果有很大的影响。有效样本数量越多,结果越接近真实。车辆检测样本来自KITTI 和GTI 车辆图像数据库,以及我们自己制作的样本。阳性样本包括通过汽车摄像头收集道路上的背面和侧面的车辆。阴性样本包括道路,车道线,护栏等。
行人检测样本来自CVC行人数据库和我们自己制作的一些样本。样本库用于高级驾驶辅助系统研究中的行人检测。阳性样本包括道路区域所有方向的行人。负样本包括非行人区域的道路区域。这些样本能够满足道路行人检测的需要。
图像的HOG特征向量被用作SVM的输入数据以训练分类器。同时,车辆和行人检测需要使用线性SVM分类方法在高精度和速度之间取得平衡。因此,通过交叉验证的方法将样本划分为测试集,并分别训练车辆和行人检测分类器。
最后,训练后的线性SVM判别函数为:
x* 是支持向量,α* 是支持系数,b* 是偏移量。
滑动窗口检测
滑动窗口检测表示从单个输入图像源生成的一组窗口。窗口具有不同的大小,可以在不同的距离检测目标。窗口应覆盖目标大小的最大范围。检测窗口如下所示,不同颜色的窗口使用不同距离的检测目标。
图7. 检测窗口
SFITIC
目标融合
由于环境背景噪声,雷达在速度和距离测量中具有很高的精度,并且检测静态目标的能力有限。但是,摄像机可以检测特定场景中的静态或动态行人或车辆。因此,目标融合算法需要同时利用两者。
图8显示了融合算法图。雷达和摄像机的数据进行了高水平的融合。在视觉过程中,检测车辆和行人都在滑动窗口中进行,再根据雷达生成的区域对目标进行匹配。最后,由数据融合系统输出融合结果。
图8. 融合算法流程图
匹配
雷达在图像像素坐标系中生成的区域的左上角和右下角的坐标为[ul νl] [ur νr]。滑动窗口的左上角和右下角的坐标为[usl νsl],[usr νsr]。
实际上,由于车辆间距和非平坦道路,雷达数据生成的区域不等同于目标的滑动,由于雷达数据中存在较大的横向误差,[ul νl] , [ur νr] 不等于 [usl νsl],[usr νsr]。
不同距离的目标可以得到不同大小的雷达数据区域。然后通过匹配函数选择最合适的框架。
一个简单的匹配函数考虑了紧密接近的情况,此时的区域定义为:
其中C1和C2,C3是可调整的重量值。在视觉过程中,对粗略检测后雷达与视觉目标之间的所有匹配测量值进行计算并分类。然后对这些结果进行排序,并确定其是否大于阈值。
检测
训练了两种不同规模的分类,用于粗略检测和精确检测。粗略的检测分类可以快速过滤掉不合理的目标,而精密的检测分类可以正确检测车辆和行人。粗略检测和精确检测的区别在于训练和检测图像的规模。另外,使用具有较低阈值的精度检测分类来检测匹配的目标,并且使用具有较高阈值的精度检测分类来检测未匹配的目标。最后,通过合并和提取滑动窗口,可以检测到目标。
SFITIC
结 果
如图8和图9所示,可以获得车辆和行人的检测数据。此外,可以从雷达数据中获取匹配目标的距离和速度。
a. 车辆检测图 b. 行人检测图
图9. 车辆和行人检测图
a. 车辆在实验中的检测结果。
b. 实验中行人的检测结果
图10.实验中的检测结果
SFITIC
总 结
本文提出了一种基于雷达和摄像机数据融合的车辆与行人检测方法,并基于动态区域和目标融合算法完成了对车辆和行人的识别。测试表明,该算法能够准确地检测出车辆和行人。车辆和行人检测是高级驾驶辅助系统中最重要的部分之一。本文仅将雷达和摄像机的数据融合在一起,仅检测车辆和行人。因此,接下来将对基于融合算法的视觉检测与跟踪开展进一步研究。
本文译自:《A New Method of Target Detection Based on Autonomous Radar and Camera Data Fusion》
会议名称:Intelligent and Connected Vehicles Symposium
作者:Xin Bi, Bin Tan, etc.
已完成
数据加载中