APP下载

基于图像与点云的三维障碍物检测

2020-04-24张耀威卞春江陈红珍

计算机工程与设计 2020年4期
关键词:网络结构障碍物雷达

张耀威,卞春江,周 海+,陈红珍

(1.中国科学院国家空间科学中心 复杂航天系统综合电子与信息技术重点实验室,北京 100190;2.中国科学院大学 计算机科学与技术学院,北京 100049)

0 引 言

近几年来,伴随着人工智能技术的不断发展,智能机器人具备了更多的功能,包括:环境监测、巡逻安检、导航、自主灌溉等等,越来越多的机器人应用于室外场景。因此室外机器人的感知能力对于其应用起着至关重要的作用。本文立足于室外轮式机器人的应用,改进了一种三维障碍物检测的方法,提升了其检测精度。

在传统的检测方法中,谢德胜等[1]使用了模板匹配的方法进行障碍物检测,王海等[2]使用了聚类的方法进行障碍物检测。近几年来,基于图像的检测技术已经非常的成熟了,有经典的Faster Rcnn[3,4]系列,Yolo[5-7]系列和SSD[8]系列等,其在图像检测领域已经达到了非常高的水平,如陆峰等[9,10]是用了Faster Rcnn在雷达数据的俯视图进行障碍物的检测。

一般地,带有三维信息的数据输入有深度图像和雷达点云两种。通过双目视觉获取的深度图像有着距离短、夜晚效果差的缺点,所以大部分室外场景的实验和应用都使用雷达点云作为输入。近两年来,有许多针对点云数据处理的方法,如使用体素的VoxelNet[11],使用多角度的Multi-view 3D[12],针对点云整体处理的Pointnet[13]等。其中Frustum PointNets[14](平截头点云网络)利用二维检测锁定目标,再提取点云并使用Pointnet进行三维点云检测,提高了Pointnet的检测效率。本文基于平截头点云网络的架构,提出了一种扩张平截头点云的三维障碍物检测方法。该方法对其二维网络和三维网络之间结合的部分进行改进,加入了扩张包围框,提高了三维检测的精度。

1 正 文

本文基于平截头点云网络,加入了二维包围框扩张,提出了一种扩张平截头点云检测的方法。该方法使用了图像和雷达点云数据,完成了室外街道场景中障碍物的三维检测和识别,提高了障碍物检测的精度。

该方法首先使用了Yolov3在图像中进行了障碍物的检测与识别;然后对得到的二维包围框进行扩张,利用扩张后的二维包围框提取雷达数据中对应的点云;最后利用改进的Pointnet对该点云进行计算,得到对应点云的三维坐标。对于障碍物识别,使用图像分类的类别作为识别结果。本文使用的方法构架如图1所示。

图1 扩张平截头点云检测方法架构

1.1 二维目标检测

本文借鉴平截头点云网络的结构,实现室外街道场景中障碍物的检测和识别,整个架构的开始依赖于二维目标检测的结果,因此首先使用二维目标检测网络对障碍物进行检测。

目前主流的目标检测网络有两个阶段类型的Faster Rcnn系列和一个阶段类型的Yolo、SSD系列。其中Yolov3使用多个尺度融合进行了检测,对小目标的检测结果提升,网络结构简单,检测速度也比较快。

二维包围框的好坏会影响后续检测的效果。与其它的二维目标检测网络相比较,Yolov3在COCO(common objects in context)数据集中的检测效果更好,与其它方法对比的结果见表1[7]。

表1 二维检测网络性能对比

由表1可以看出Yolov3的性能从检测精度和检测时间来说,相对更好,因此本文使用Yolov3进行障碍物检测,提取障碍物二维包围框和分类置信度。

1.2 点云提取

图像数据和雷达数据是不同维度的数据,在利用图像数据提取雷达数据的时候,需要对图像数据和雷达数据进行关联。利用数据集提供的投影矩阵,可以完成图像二维数据与雷达三维数据之间的相互转换。

在KITTI[15]数据集的标定文件中包含了转换的矩阵P,通过矩阵P可以将雷达数据投影到对应的图像平面当中。

空间三维点的坐标可以表示为

X=(x,y,z,1)T

(1)

投影矩阵可以表示为

(2)

其中,i为第i个相机编号;

图像与雷达数据的转换为

(3)

其中,输出的Y为投影到了二维相机坐标系中的坐标。

根据检测得到的二维包围框提取投影后对应的点云数据,因此二维包围框的好坏直接影响到了后续点云检测网络的性能。二维包围框过小造成提取出的点云不足,会影响三维检测网络的检测边界范围;二维包围框过大造成提取杂点过多,会导致三维检测位置大小信息不准。根据目前目标检测理论方法的成果,二维检测框检测的结果已经达到了比较好的水平,再进一步大幅度提高难度比较大,因此,可以在二维目标检测框和三维点云提取的衔接部分进行改进。通过扩张二维检测框,可以有效提高点云提取的召回率,避免障碍物点云信息丢失,增加了三维检测数据输入的完整性,进而提升三维检测效果。本文加入对二维包围框的扩张,利用扩张后的二维包围框对点云数据进行提取。检测包围框的扩张如图2所示。

图2 二维包围框的扩张

利用投影矩阵将点云数据投影到平面,通过图像大小对雷达数据进行第一次裁剪,再通过二维包围框对点云进行第二次裁剪,将裁剪后剩余的点云的数据提取出来,完成了点云数据的提取。

1.3 三维目标检测

对于三维目标检测,本文借助点云网络的结构,对其

进行改进,因此使用基本网络结构为Pointnet。Pointnet的两个基本结构是转换网络与最大池化,使用转换网络可以使点云进行旋转,使用最大池化可以对升维之后点进行特征筛选,解决了点云输入无序性的问题。

针对Pointnet的网络结构进行改进,使其可以输出点云的三维位置,使用一个7维度的向量来表示点云的位置和大小,即 [x,y,z,l,w,h,θ], 分别表示点云的中心坐标、长宽高以及在俯视图平面相对于正方向的转角θ。 其中在网络训练的过程当中需要对检测点云进行旋转平移的归一化处理,因此需要使用到转换网络的结构。

改进网络结构的输入是提取获得的点云数据,输出是检测的三维结果。其中转换网络生成的是一个同点云维度相同的变换矩阵。

改进的Pointnet网络结构如图3上部分所示。输入为 [n×3] 的点云,每个点云的使用三维度的 [x,y,z] 空间点表示,经过一个转换网络,对点进行变换处理;通过多层感知机将每个点的维度提升到64;再经过相同的操作将点的维度信息提升到1024;经过最大池化,提取出显著特征,最后经过多层感知机将输出维度改变为7维度。

其中转换操作的具体过程如图3的下半部分所示,原始数据经过多层感知机将维度提升到1024,在经过极大池化,最后通过多层感知机将维度改变到256维度;将得到的输出与 [256×9] 维度的参数进行矩阵相乘,得到9维度的向量,即 [3×3] 的转换矩阵。

图3 改进的Pointnet网络结构

使用二维图像分类的结果作为最终的分类结果,使用点云检测的结果作为障碍物检测位置和大小的结果。

2 实验分析

实验使用KITTI数据集,数据集包括了8个类别,分别是:car,van,truck,pedestrian,person sitting,cyclist,tram,others。室外街道场景中最常见的运动障碍物为人、车和自行车,为了简化数据集,对数据集进行预处理,将类别重新划分成3类:car(包括了car、van、truck、tram),pedestrian(包括了pedestrian、person sitting),cyclist。因为测试数据没有标签,无法进行测评,因此重新划分数据集。训练数据集中一共有7480份图片和雷达数据,将1/3划分为测试集,其余的为训练集和验证集。划分后训练数据有4488份图像和雷达数据,验证数据有498份图像和雷达数据,测试数据有2494份图像和雷达数据。

使用的二维障碍物检测网络为Yolov3检测网络,检测的类别分别有car,pedestrian和cyclist这3个类别。

实验主要探究了二维检测与三维检测之间的关系以及三维检测的效果。本文通过扩张二维检测网络输出包围框的大小,探究二维包围框扩张比例对检测结果的影响,分别设置扩张比例为5%,10%,15%,20%,30%,40%,50%,60%,70%,80%,90%,100%进行实验,通过对比不同二维包围框下三维包围框检测效果,进行分析。

图4为使用Yolov3检测的二维结果和使用提取点云检测的三维结果。从3类检测的总体结果来看,通过扩张二维包围框在Pointnet网络中进行检测,检测的精度会得到一定的提升。car,pedestrian和cyclist类型的三维检测结果在扩张比例分别在10%,5%,50%的时候效果最好,提升约为2%,1%,15%。总体趋势都有提升,说明适当的增加提取点的数量,可以增加三维检测的结果,但是随着扩张的提升,三维的检测结果都会下降,说明提取的杂点过多,会导致三维检测结果下降。最终car,pedestrian,cyclist三维检测的最高AP值分别为64.34,42.61,15.5,mAP为40.82。

图4 扩张二维框的二维和三维检测结果左上:car类型的AP;右上:pedestrian类型的AP左下:cyclist类型的AP;右下:检测的mAP

检测可视化结果如图5所示,第一、二排为街道车辆的检测结果,第三、四排为行人的检测结果,第五、六排为人骑车的检测结果。第一、三、五排为使用Yolov3检测的结果,第二、四、六排为使用本文方法检测的三维结果。从检测结果来看,在车辆和人流比较密集的地方可以达到良好的检测效果,较远位置的人和车也可以达到良好的检测效果。

图5 检测结果可视化

3 结束语

本文基于平截头点云网络,针对二维和三维连接的部分,提出了扩张平截头点云检测的方法。该方法在二维检测包围框之后增加了比例扩张方法,增加了点云提取的完整性,通过平截头点云网络结构完成了障碍物的三维检测。通过KITTI数据集的实验对比,该方法通过比例扩张二维包围框,可以有效地提高道路障碍物检测的精度。但是,该方法比较依赖二维检测网络效果,召回率低的网络会影响该方法的效果,今后可以从此处进行提高和改进。

猜你喜欢

网络结构障碍物雷达
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
DLD-100C型雷达测试方法和应用
雷达
基于广义混合图的弱节点对等覆盖网络结构
体系作战信息流转超网络结构优化
基于互信息的贝叶斯网络结构学习
基于空时二维随机辐射场的弹载雷达前视成像
复杂网络结构比对算法研究进展