PointPillars: Fast Encoders for Object Detection from Point Clouds论文阅读

PointPillars: Fast Encoders for Object Detection from Point Clouds

用于激光雷达点云目标检测的快速编码器

一、摘要

点云编码可分为两种类型:固定编码器往往速度快,但牺牲了精度;而从数据中学习的编码器更准确,但速度较慢。

本文提出的PointPillars,利用PointNets来学习以体柱组织的点云特征;检测速度非常快,可以达到60Hz。

二、引言

激光雷达点云在三维空间中通常是稀疏分布的,而相机图像在二维空间中具有丰富的色彩、亮度等信息。因此,一般的图像卷积框架不适用于3D点云目标的检测,需要重新设计。PointPillars使用一种新型编码器,它学习点云体柱上的特征来预测对象的3D方框。

传统方法

  • VoxelNet:点网络被应用于体素,然后由一组3D卷积层处理,随后是2D bckbone和检测头 detect head,但是耗时太长。
  • Frustum PointNet:使用PointNets来分割和分类视锥中的点云,视锥空间是将二维图像上的检测投影到3D中生成的,但是网络较复杂。
三、PointPillars Network

image-20230808225602827

由三部分组成:

  • Encoder network,将点云转换为稀疏伪图像的特征编码器网络;
  • backbone,提取伪图像特征的2D卷积backbone网络;
  • Detection Head,检测头,目标3D检测框的生成
3.1、Encoder network

每个点云使用一个九维向量表示D=(x,y,z,r,xc,yc,zc,xp,yp)D=(x,y,z,r,x_c,y_c,z_c,x_p,y_p)D=(x,y,z,r,xc,yc,zc,xp,yp),x,y,z,rx,y,z,rx,y,z,r为该点云的三维坐标和反射强度,xc,yc,zcx_c,y_c,z_cxc,yc,zc为该点云所处Pillar中所有点的几何中心 xp,ypx_p,y_pxp,ypx−xc,y−ycx-x_c,y-y_cxxc,yyc ,反映了点与几何中心的相对位置

假设每个样本中有 PPP个非空的pillars,每个pillar中有 N个点云数据,那么这个样本就可以用一个 (D,P,N)(D,P,N)(D,P,N) 张量表示,实现了点云数据的张量化。

image-20230808174155746

接着需要对张量化的点云数据进行处理和特征提取,卷积得到(C,P,N)(C,P,N)(C,P,N)的张量,接着池化得到(C,P)(C,P)(C,P)维度的特征图,再将PPP转为(H,W)(H,W)(H,W),生成了形如(C,H,W)(C,H,W)(C,H,W)的伪图片,上图展示了这个过程。

3.2、backbone

image-20230808215212510

两个子网络:

  • 第一个子网络对特征图降采样得到不同尺度的特征,通道特征维度上升
  • 第二个子网络将不同尺度的特征图上采样为一致的尺寸,便于后续的融合

优点:不同分辨率的特征图负责不同大小物体的检测,增强检测效果。比如分辨率大的特征图往往感受野较小,适合捕捉小物体。

3.3、Detection Head

使用SSD来进行3D物体检测,同时计算先验框和真值的2D IoU

四、相关细节
4.1、损失函数

检测损失:对于Detection Head得到的三维检测框(x,y,z,w,h,l,θ)(x,y,z,w,h,l,\theta)(x,y,z,w,h,l,θ),设检测框和真值的偏差为:
Δx=xgt−xada,Δy=ygt−yada,Δz=zgt−zahaΔw=log⁡wgtwa,Δl=log⁡lgtla,Δh=log⁡hgthaΔθ=sin⁡(θgt−θa), \begin{aligned} &\Delta x =\frac{x^{gt}-x^{a}}{d^{a}},\Delta y=\frac{y^{gt}-y^{a}}{d^{a}},\Delta z=\frac{z^{gt}-z^{a}}{h^{a}} \\ &\Delta w =\log\frac{w^{gt}}{w^{a}},\Delta l=\log\frac{l^{gt}}{l^{a}},\Delta h=\log\frac{h^{gt}}{h^{a}} \\ &\Delta\theta =\sin\left(\theta^{gt}-\theta^{a}\right), \end{aligned} Δx=daxgtxa,Δy=daygtya,Δz=hazgtzaΔw=logwawgt,Δl=loglalgt,Δh=loghahgtΔθ=sin(θgtθa),
其中有
da=(wa)2+(la)2. \begin{aligned}d^a=\sqrt{(w^a)^2+(l^a)^2}.\end{aligned} da=(wa)2+(la)2.
则检测损失为
Lloc=∑b∈(x,y,z,w,l,h,θ)SmoothL1 (Δb) \mathcal{L}_{loc}=\sum_{b\in(x,y,z,w,l,h,\theta)}\text{SmoothL1 }(\Delta b) Lloc=b(x,y,z,w,l,h,θ)SmoothL1 (Δb)
分类损失:
Lcls=−αa(1−pa)γlog⁡pa, \mathcal{L}_{cls}=-\alpha_a\left(1-p^a\right)^\gamma\log p^a, Lcls=αa(1pa)γlogpa,
其中PaP^aPa是锚定框的类别概率,αa=0.25\alpha_a=0.25αa=0.25γ=2\gamma=2γ=2

物体方向损失:
Ldir=Softmax \mathcal{L}_{dir}=Softmax Ldir=Softmax
因此,总损失为
L=1Npos(βlocLloc+βclsLcls+βdirLdir) {\mathcal{L}}\quad=\frac{1}{N_{pos}}\left(\beta_{loc}\mathcal{L}_{loc}+\beta_{cls}\mathcal{L}_{cls}+\beta_{dir}\mathcal{L}_{dir}\right) L=Npos1(βlocLloc+βclsLcls+βdirLdir)

4.2、数据增强
  • 为所有落在3D框内的关联点云创建一个GT真实框的查找表,从样本中随机挑选15个汽车、0个行人、8个自行车samples。放入当前点云中。
  • 对GT真实框进行旋转和平移
  • 模拟激光雷达的定位噪声,对点云进行镜像翻转,全局缩放、旋转和平移。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值