当前位置:   article > 正文

基于激光雷达点云(lidar)的目标检测方法之BEV_激光雷达bev检测算法

激光雷达bev检测算法

基于激光雷达点云(lidar)的目标检测方法之BEV

image

附赠自动驾驶学习资料和量产经验:链接

基于lidar的目标检测方法可以分成3个部分:lidar representation,network backbone,detection head,如下图所示。

image

根据lidar不同的特征表达方式[1],可以将目标检测方法分成以下4种:基于BEV(bird’s eye view)的目标检测方法,基于camera view的目标检测方法,基于point-wise feature的目标检测方法,基于融合特征的目标检测方法。如下图所示。

image

基于bev的目标检测方法顾名思义是使用bev作为点云特征的表达,其检测流程如下图所示,包括3个部分:bev generator,network backbone, detection head。下面详细介绍一下这3个部分如何在基于bev的目标检测方法中发挥作用。

image

一、bev generator

BEV图由激光雷达点云在XY坐标平面离散化后投影得到,其中需要人为规定离散化时的分辨率,即点云空间多大的长方体范围(Δl*Δw*Δh)对应离散化后的图像的一个像素点(或一组特征向量),如点云20cm*20cm*Δh的长方体空间,对应离散化后的图像的一个像素点。具体关于bev投影生成策略可以关注文章:自动驾驶中,激光雷达点云如何做特征表达[1]。

在bev generator中,需要根据Δl*Δw*Δh来生成最后L*W*H大小的bev特征图,该特征图是network backbone特征提取网络的输入,因此该特征图的大小对整个网络的效率影响很大,如pointpillar[2]通过对voxelnet[3]中bev generator的优化,整个网络效率提高了7ms。

二、network backbone

网络结构的设计需要兼顾性能和效果,一般都是在现有比较大且性能比较好的网络结构基础上进行修改,可以参照文章:轻量(高效)目标检测网络结构设计[4]。以voxelnet[3]和pointpillar[2]为例,pointpillar[2]以voxelnet[3]为原型,不改变原流程的基础上,对voxelnet[3]设计做了以下一些修改,使网络效率提高了10多倍,具体如下:

1,简化bev中的网络结构

voxelnet[3]使用stacked vfe layer,在代码中使用了2个vfe layer,如下图所示。

image

pointpillar[2]简化了voxel表达形式,变成pillar,提高了数据生成效率,并且只使用了一个vfe layer,减少了2ms,如下图所示。

image

2,简化主网络结构

  • 不使用3D卷积

  • 输入特征图的channel数从128减少为64,网络耗时减少2.5ms

  • 网络主结构所有层channel数减半,网络耗时减少4.5ms

  • Upsampling的channel数从256减少到128,减轻detection head,网络耗时减少3.9ms

  • Tensorrt加速,提速45.5%

Pointpillar[2]在保证网络性能提升的前提下,逐步提高网络效率,从不同角度优化网络流程,最后使网络效率提高10倍有余。

三、detection head

detection head包括两个任务,即:目标分类与目标定位,由于bev将点云用图像的形式呈现,同时保留了障碍物在三维世界的空间关系,因此基于bev的目标检测方法可以和图像目标检测方法类比:目标分类任务与图像目标检测方法中目标分类任务没有差别;而目标定位任务可以直接回归目标的真实信息,但与图像目标检测方法中目标定位任务不同,该任务需要给出旋转框。与图像目标检测方法相同,基于bev的目标检测方法的detection head也分成anchor base的方法和anchor free的方法。

1,anchor base方法

以voxelnet[3]为例,需要人为设定anchor的大小,由于bev可以直接回归真实的目标大小,因此anchor也可以根据真实目标大小设定,如:以下单位为米,l、w、h分别表示anchor的长、宽、高,对于车来说anchor大小可以设定为la = 3.9,wa = 1.6,ha = 1.56,对于人la = 0.8,wa = 0.6,ha = 1.73,对于骑行者la =1.76,wa = 0.6,ha = 1.73,且对于每种anchor,设置了θa=0°和90°两种角度。由于目标有各种角度,因此为了得到更准确的角度回归,anchor的角度设置可以在[0°,180°)进行等间隔采样,获得更多不同角度的anchor,提高回归精度。回归误差的计算如下图所示。

image

2,anchor free方法

典型代表是pixor[5],对于bbox的回归,如下图所示,对于正样本的红点p(x,y),需要回归如下信息:{cos(θ), sin(θ), dx, dy, w, l},其中θ为障碍物偏角,dx、dy分别为p点相对障碍物中心点的偏移,w、l是障碍物大小的表达。没有anchor,对目标的回归是不是简单了很多。

image

以上为基于bev的目标检测方法的简单介绍,该方法在目前的自动驾驶的3D目标检测方案中应用较广。

四、参考文献

  1. 自动驾驶中,激光雷达点云如何做特征表达

  2. PointPillars: Fast Encoders for Object Detection from PointClouds

  3. VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

  4. 轻量(高效)目标检测网络结构设计

  5. PIXOR: Real-time 3D Object Detection from Point Clouds

  6. 其他:
    Multi-View 3D Object Detection Network for Autonomous Driving
    YOLO3D: End-to-end real-time 3D Oriented Object Bounding Box Detection from LiDAR Point Cloud

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/698180
推荐阅读
相关标签
  

闽ICP备14008679号