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

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

背景

点云体素化做3D卷积计算量大,而且由于点云具有稀疏性,很多计算是不必要的。而将点云投影到一个平面上做2D卷积,点云会在离散化和投影的过程中产生信息丢失。因此作者提出一种输入是3D体素,但是做的是2D卷积的网络架构。

网络架构

在这里插入图片描述

1.输入点云转化

采用鸟瞰图来表示场景,从而将输入的点云数据转化成二维形式表示,由于在自动驾驶中,物体一般都是处于同一地面的,因此对应的参照投影是相同的。所以可以在颜色通道处保留高度信息,来达到降维的效果。并且由于是利用鸟瞰图来进行目标检测,因此不会产生物体相互遮挡的情况。
体素化LIDAR表示常用的特征是占有率、反射率、密度和高度特征。而在论文中,作者主要采用了两种特征:占有率和反射率。假设3D场景的物理尺寸为 L × W × H L×W×H L×W×H,然后以每单元 d L × d W × d H d_L\times d_W\times d_H dL×dW×dH进行3D矩阵空间点的离散。每个单元格的值均被编码为占有率(加入单元格存在点,则为1,否则为0)。离散化后占有率特征为 L d L × W d W × H d H \frac L{d_L}\times\frac W{d_W}\times\frac H{d_H} dLL×dWW×dHH。同样对反射率也进行编码,不过设置 d H d_H dH H H H,因此得到的强度特征为 L d L × W d W × 1 \frac L{d_L}\times\frac W{d_W}\times1 dLL×dWW×1,因此最终形状为 L d L × W d W × ( H d H + 1 ) \frac L{d_L}\times\frac W{d_W}\times\left(\frac H{d_H}+1\right) dLL×dWW×(dHH+1)

2.网络结构

该网络采用了全卷积神经网络,并采用无proposal方案,这样便可以直接返回每个像素的预测。整个体系结构可以分为两个子网:主干网络和检测头。主干网络用于特征提取,而检测头用于不同任务的预测。

2.1主干网络

在这里插入图片描述
在特征提取阶段,经常使用pooling layer对特征图进行下采样。下采样因子通常是16,并且通常在低分辨率有较多的层,高分辨率有较多的层,因为对于图像来说,目标的尺寸较大,但是对于3D点云来说,检测目标一般是较小的,在进行下采样之后,所剩余的信息是极少的。因此第一种方法是减少使用池化层,但是会限制特征图的感受野的大小;第二种方法是使用卷积膨胀,但是会导致在高级特征图中出现棋盘效应
因此本文第一增加了更多小通道数的卷积层,第二点采用特征金字塔,将低分辨率和高分辨率的特征图融合,增强对尺寸不同的目标的检测能力。

2.2头网络

在这里插入图片描述
检测头为一个多任务网络,同时处理目标识别和定位,被设计成小二高效,并且两个任务共享一定层数的权重。根据相关实验分析,最后证明fully-shared效果相对于其余两种是要更好的。

接着是gt box的设计,表示为 { θ , x c , y c , w , l } \left\{\theta,x_c,y_c,w,l\right\} {θ,xc,yc,w,l},其中 θ \theta θ是航向角,范围为[-pi,pi]。回归分支的回归量有6个量 { cos ⁡ ( θ ) , sin ⁡ ( θ ) , d x , d y , w , l } \left\{\cos\left(\theta\right),\sin\left(\theta\right),dx,dy,w,l\right\} {cos(θ),sin(θ),dx,dy,w,l},前两个用于确定 θ \theta θ,dx和dy用于确定box的中心点的偏移,w和l为box的大小。学习目标定义为 { cos ⁡ ( θ ) , sin ⁡ ( θ ) , log ⁡ ( d x ) , log ⁡ ( d y ) , log ⁡ ( w ) , log ⁡ ( l ) } \left\{\cos\left(\theta\right),\sin\left(\theta\right),\log\left(dx\right),\log\left(dy\right),\log\left(w\right),\log\left(l\right)\right\} {cos(θ),sin(θ),log(dx),log(dy),log(w),log(l)},在训练集之前被标准化为零均值和单位方差。
在这里插入图片描述

2.3 损失函数设置

作者采用多任务loss对网络进行训练。对分类输出采用交叉熵损失,对回归输出采用 s m o o t h l 1 smooth l_1 smoothl1损失。分类过程中正负样本全部参与,而回归时只采用负样本。
在这里插入图片描述
由于正负样本不平衡原因,作者另外采用focal loss降低负样本的影响。
在这里插入图片描述

总结

PIXOR为一个one-stage的目标检测器,并且运用于无人驾驶领域,采用BEV为输入,以来提高计算速率。并且采用权重共享方法和特征金字塔的方法,巧妙解决小物体检测问题。在常见的数据集中表现都是相当不错的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值