基于数据融合的目标测距方法研究

2019-02-06 10:55胡远志刘俊生肖佐仁耿庄程
重庆理工大学学报(自然科学) 2019年12期
关键词:框内测距距离

胡远志,刘俊生,肖佐仁,耿庄程

(重庆理工大学 a.汽车噪声振动和安全技术国家重点实验室;b.汽车零部件先进制造技术教育部重点实验室,重庆 400054)

环境感知是无人驾驶技术实现的前提,也是如今各研究机构、高校、企业的研究热门,而目标检测是环境感知最重要、基本的任务之一。深度学习技术在目标检测方面取得了卓越成效,使得基于图像的目标识别分类技术深受青睐[1]。

基于单目视觉的测距研究一直以来都备受关注。如张亚男等[2-3]提出了基于小孔成像测距方法,即利用标定得到相机焦距及预先知晓前车宽度,可测出前车距离。显然,该方法并不适用实时检测场景。王士明[4]提出基于静态图像的测距方法,首先建立相机成像模型,标定相机内参得到焦距及光学中心坐标,求出前车位置。但其测量精度易受相机姿态变化的影响。鉴于此,关闯等[5-6]提出基于道路消失点实时估计相机姿态的方法进行改善。然而该方法以精确检测车道线为前提,因此无法适用于复杂工况。

目标检测包括了目标识别分类和目标定位,其精确性对于无人车能否安全行驶有着重大的影响。深度学习技术使得基于图像的目标检测达到非常高的精度,但其高精度定位只局限于图像平面,转换为空间位置往往并不准确。相比相机,激光雷达有着厘米级别的空间定位精度,因此本文提出一种基于激光雷达和相机融合的联合测距方案。一方面,利用深度学习在识别目标上的优势与激光点云测距精度高的优势取得较好的检测效果;另一方面,所采用的传感器成本相对较低,利于商业化应用。

1 数据集的建立

为了促进无人驾驶感知技术的发展,越来越多的数据集发布共享于网上。从早期的KITTI[7]、Cityscapes[8]到百度公司开源的ApolloScape[9]以及最近发布的规模最大、最多样化的开发驾驶视频数据集——BDD100K[10]。这些优质的数据集极大地方便了相关人员的研究开发工作。尽管如此,却几乎没有数据集同时包含图像、点云或毫米波雷达数据;KITTI数据集包含有64线激光点云数据,但仍无法满足本文的需求——4线激光点云与图像数据。因此,为了适应本文融合方案的开发,数据来源为自主搭载的数据采集车,如图1所示。为了充分验证算法的适用性,进行数据采集时考虑了不同的道路场景,如高速路、城区道路、乡村土路,以及不同的光照条件,如早晨、傍晚、夜间场景等。

图1 数据采集车示意图

2 融合算法介绍

为了更有效地利用2种传感器的数据,达到提高检测精度的目的,本文提出了一种融合框架,如图2所示。

检测流程分为3个部分,分别为数据前处理、数据融合测距及联合测距。在数据前处理阶段,建立数据匹配模型并标定出两传感器坐标的转换矩阵,将三维点云投射到二维平面;而图像则采用Mask R-CNN网络模型进行目标检测,并输出相应的检测框。在数据融合阶段,使用R-Tree空间索引算法,快速、稳定地匹配检测框与对应的点云数据,进而利用点云的深度信息获知目标的真实位置。对于点云分布存在弊端的目标,采用联合测距方法提高测距精度。

3 数据前处理

3.1 数据匹配

图1展示了数据采集车的摄像头坐标系与激光雷达坐标系。数据融合的第一步便是将2种传感器坐标系统一到同一个坐标系下。利用Matlab标定工具箱可算出相机内外参及相机姿态,根据安装图纸测算出两传感器的相对位置。如此便可算出内、外参矩阵,将每帧的点云数据映射到对应帧的图像上[11]。空间变换矩阵公式如下:

其中,fx、fy分别为相机横、纵焦距,(u0,v0)为光学中心,这4个参数属于相机内参,构成内参矩阵;[R|T]为旋转平移矩阵,构成外参矩阵。Xw,Yw,Zw表示世界坐标系,本文只关心两坐标系的相对位置关系,因此将世界坐标系定义为雷达坐标系。激光点云数据与图像数据的空间匹配已有诸多相关的论文介绍[12-14]。

图2 基于数据融合的目标检测流程

3.2 M ask R-CNN

随着计算资源的增加和大数据的出现,基于深度学习的目标检测开始崭露头角。该技术里程碑式的进展出现在2012年,Krizhevsky[15]提出了基于卷积神经网络的图像分类。此后大量关于图像分类、目标检测的网络模型都是基于该基础模型的扩充、完善,不断演化而来的。如双阶段的物体检测模型R-CNN[16]、Fast R-CNN[17]、Faster RCNN[18]等,以及兼具精度与实时性的单阶段模型SSD[19]、YOLO[20]等。

本文采用的Mask R-CNN模型是基于Faster R-CNN模型,扩展了一个与现有目标检测和回归并行的分支——目标掩码分支[21]。网络架构可分成用于提取图像特征的下层卷积网络和用于检测框识别、掩码预测的上层网络。其中下层网络采用101层的残差网络和特征金字塔网络FPN[22]作为网络骨架进行特征提取,表示为ResNet-101-FPN。而上层网络则添加了一个全卷积的掩码预测分支,作用于下层网络提取的候选框,并预测目标的像素级的分割掩码。

Mask R-CNN模型由Facebook研究团队开发并开源共享给全世界的研究人员[23]。本文不具体研究模型的网络结构,根据其开源项目的计算机环境配置方式进行操作,可方便调用模型。

4 数据融合测距

经过数据前处理阶段,得到2种数据对于同一目标的一致性表达。实际上,点云尽管带有三维空间位置信息和二维平面信息,但是缺少独立的身份信息。因此,点云在图像上呈现出无序的特点,并不知晓每个点云对应哪个目标。为了利用点云的深度信息计算目标位置,需要将点云与对应目标(检测框)进一步匹配。本文采用R-Tree空间索引算法解决这一问题。

4.1 R-Tree算法

4.1.1 算法介绍

R-Tree[24-25]是一种按照对象的空间位置关系来组织数据的动态平衡树,具有很强的灵活性和可调节性。如图3(a)所示,从叶子结点开始,每一个结点的父亲结点在空间上完全包含其所有的子结点。逐层上溯,形成一个完整的、描述了不同层次的结点之间的空间包含关系的数据结构。

图3 R-Tree结构示意图

本文应用R-Tree算法建立一种数据结构来描述物体检测框与点云间的位置关系。针对检测框与数据点关联的具体问题,设计了2层R-Tree数据结构,如图3(b)所示。其中,R-Tree的第一层保存物体检测框,第二层保存雷达数据点。Python编程语言集成该算法包,其函数的输入为数据前处理阶段得到的目标检测框和转换到二维平面的点云数据。

4.1.2 匹配效率测试

为验证R-Tree算法的匹配效率,随机挑选70帧图像与对应的点云数据进行测试。其中图像中的目标(检测框)数量不定,点云的数量也不定,测试结果如图4所示。图4中,图4(a)为70帧图像数据的检测框数量变化与点云数量变化情况,青色折线表示检测框,橘色折线表示点云;图4(b)为算法匹配2种数据的时间。蓝色折线、红色直线为均值;贯穿两图的黑色虚线反映了检测框数量与点云数量对于匹配效率的影响。

图4 匹配效率测试结果

基于R-Tree的算法平均耗时约为0.5 ms;随着检测框和点云数量的变化,匹配时间波动在1 ms内,说明了匹配效率较为稳定,算法具有较好的鲁棒性。

4.2 基于点云的目标位置测量

物体检测框与点云匹配完成后,检测框便存储有投射其内的点云,再提取框中全部点云的距离信息并求平均值,以得到每个检测框的距离,即目标的空间位置。点云测距热图如图5所示。

图5 点云测距热图

目标的空间位置信息用红色字体标注于检测框的左下角。该距离信息以车载激光雷达坐标系为参考系,即表示目标与车载激光雷达的直线距离,根据需求可算出目标距本车的纵向距离和横向距离。图中不包含点云的检测框设置为OUT,表示目标超出了激光雷达的探测范围。

5 基于联合测距的优化

本文发现并不是所有的点云都能代表目标的距离,不加处理地利用框内所有点云测距是不合理的。如前方目标,应该关注分布在车尾的点云,而滤除车侧的点云,这样得到的距离才能保证无人车行车安全。

5.1 基于点云的测距弊端分析

仅靠点云数据获取目标的空间位置信息,会出现4个弊端:检测框内无点云;检测框内的点云并不都能代表目标的空间位置;检测框内夹杂异常点云;点云被重复框中。

1)无论远近的目标,都存在被卷积模型成功检测识别后,检测框内无相应点云的情况,如图6(a)所示。

图6 弊端分析个例

对于远距离目标,受4线激光雷达的探测距离及安装姿态的影响,图像深处的点云比较稀疏;对于近处目标,受到其他目标或障碍物的遮挡,点云被拦截。这2种情况都可能导致框内无点云。

2)无论是静止或运动中的目标,其姿态会影响框内点云的分布,如图6(b)案例所示。显然,并非同一框内的所有点云都能表示目标的空间位置,出于安全考虑,应更关注那些距离本车更近的点云,车侧的点云应滤除。

3)由于点云与图像匹配精度的影响及卷积神经网络检测精度的影响等因素,检测框内难免会存在混入异常点云的情况,如图6(c)所示。部分点云明显不属于所指向的目标,但受点云与图像匹配精度的影响,被目标框中;此外,匹配合理及检测精确的情况下,仍会框中异常点云。为了得到更精确的目标空间位置信息,应滤除检测框内的异常点。

4)由于目标重叠,常出现点云被重复框中的情况。如图6(d)所示,目标重叠使得对应的检测框也重叠,部分点云被2个框同时框中,最终导致目标的位置信息失真。

5.2 单目视觉测距方法

尽管静态图像测距方法的测量精度容易受相机姿态变化的影响,且距离越远的目标其影响越大,但对于近处目标,该方法的测量误差在可接受范围内,故本文采用该方法。如图7所示,建立测距模型,其中XOM Y为世界坐标;u和v分别表示像素坐标系中的横纵坐标,单位为像素;XO′Y为图像坐标系,原点O′为光轴与成像平面的交点,其在像素坐标系中的坐标为(u0,v0);相机焦距f的值为O′-O距离。

图7 静态图像测距模型

图7中,Y为纵向距离,H为相机安装高度,α为光轴与水平面的夹角,即相机俯仰角,P为目标点,其与光心的连线与光轴的夹角为γ,与Y轴夹角为β,并投影于成像平面P′。由图7可得几何关系式为

式中:y表示检测框底边到光心的距离。为了检测该方法的适用范围,本文挑选了一批数据集,选取距离在3~60 m范围内的目标,且这些目标上的点云不存在弊端,作为测试集的真值,测试效果如图8所示。

图8 基于图像的前方目标测距误差分析图

当目标的距离在5~20 m区间时,误差普遍控制在0.5 m以下。同时,锯齿状较多说明测量不稳定。这是因为汽车行驶过程中,相机的姿态时刻在变化着,尤其是俯仰角,无论直道或者弯道,俯仰角都会变化并且对于基于图像的测距影响很大。对于近距离目标,相机姿态变化所引起的测量误差较小,但随着距离变大,误差也越大。在区间5~20 m内求得平均测距误差为0.44 m,误差中位数为0.38 m;而区间以外,误差值超过1 m,已不具有参考性。因此,所提的图像测距方法适用距离小于20 m的目标。

5.3 联合测距方法

5 3.1 方法介绍

仅依靠点云信息,无法保证测距足够准确。本文提出一种基于图像、点云联合测距方法来避免这4个弊端。统计发现,投射在远处目标的点云,相较出现上述弊端的概率低。综合分析可知,对于近处目标,可采用基于单目视觉的测距方法初步计算其位置,根据所得值来筛选检测框内的点云,并算出距离均值作为最终测算结果。对于没有点云的近处目标,则依赖基于图像测距所算得的值;而远处目标,当单目测距方法的误差太大,不具备参考意义时,则依赖高精度点云。联合测距方法如图9所示。

图9 联合测距流程

当被测目标的距离小于20 m时,执行基于图像的测距算法,用得到的初步距离值来筛选检测框中的点云,如此便能在一定程度上避免5.1节列举的弊端。由于激光雷达测距精度高,最终测距结果由筛选出的合理的点云来计算;另外,如果不满足,则进一步判断检测框内是否有点云,如有则直接依据点云的信息,如无则表示无法测得该目标的距离。

5.3.2 测试验证与分析

为了测试验证联合测距算法的有效性,从自建数据库随机挑选并制作一批新的测试集。该测试集区别于5.2节所筛选的测试集。该测试集存在弊端点云,并且重新标定距离不合理的目标。据统计,共抽取404个目标作为真值,其中距离小于20m的真值为141个。测试结果如图10所示。

图10 联合测距方法测试验证结果

对于距离小于20 m的目标,本文采用联合测距方法,其与仅靠点云的测距方法的对比如图10中红色虚线框所在的区域。显然,联合测距方法优化了两个方面:

1)测距误差减小。如图10红色虚线框的放大图,其中红色虚线表示联合测距的平均误差,黑色虚线表示点云测距的平均误差,平均误差从原来的2.36 m减小到0.37 m;

2)测量值更稳定。黑线呈现出多而尖锐的锯齿状,红线尽管也存在锯齿状,但明显在数量上更少、程度上更轻,整体趋势更为平缓。

这两方面的优化说明了本节提出的联合测距算法能有效降低点云出现弊端时产生的测量误差。并且观察到图中黑线,在距离小于20 m的区间内,测量值极不稳定;而大于20 m的区间内,测量值逐渐趋于平缓稳定。这说明对于近距离目标,点云分布更容易出现弊端,其所测的值不可靠;而远距离目标,点云弊端较少出现,大概率上可更信任点云的测量值。此外,图中绿色实线框区域表示测量较为精确。20 m内的目标由联合测距算法来测距,而大于20 m的目标则选择信任点云测距,从而使整个测距区域的测量精确性与稳定性都得以改善,进一步说明了所提方法的有效性,如图11列举了部分实例。

图11 联合测距方法测试验证实例

图11中,目标的纵向距离值标于检测框的左下角。其中红色代表真值,蓝色代表点云测距结果,绿色代表联合测距结果。

当目标小于5 m时,联合测距并不理想,如图中奥迪Q5的纵向距离标定为2.21m,然而联合测距结果为4.57 m,原因可能是图像畸变所产生的测距误差。随着目标距离的增加,联合测距的结果越来越接近真值,如图中由近及远的各目标。显然,实例所展示的测试结果的趋势与图10的趋势一致。

该算法依然存在不足,并由线段的走势来分析,不足主要来自两个方面。一方面,对范围5 m内的目标,联合测距方法虽能在一定程度上改善测距效果,但考虑到行车安全性,其仍不适用于该区域;另一方面,对远距离目标,该算法无法解决出现异常点云的情况,即前文所述的弊端3,在目标距离为36.8m和46.74m处出现2个较严重的尖点。考虑到远距离目标对于精度的要求并不那么迫切,因此该算法当务之急是解决车跟前区域的测量性能。

6 结束语

本文提出一种基于4线激光雷达及摄像头融合的目标测距方案,既利用了点云高精度特点,又利用了深度学习在图像检测方面的优势,同时兼顾了设备总成本。测试验证表明,所提方法能有效改善单目视觉测距所造成的不精确、不稳定的缺点。

该方法存在的不足在于:首先,对于距离小于5 m的近处目标,测距效果依然没有太大改善,原因可能是图像畸变影响了测距精度;其次,对于没有点云信息覆盖的远处目标,无法实现测距;另外,对于覆盖有异常点云的远处目标,无法精确测距。所述不足可尝试从加强图像测距精度及适用范围的角度作进一步改善,这也是本文下一步继续完善融合方案的方向。

猜你喜欢
框内测距距离
类星体的精准测距
数学能力月月赛(1)
算距离
浅谈超声波测距
感知10以内的数量
每次失败都会距离成功更近一步
记数字
基于PSOC超声测距系统设计
爱的距离
相对差分单项测距△DOR