3D点云目标检测:CT3D解读(未完)

CT3D

  • 一、RPN for 3D Proposal Generation
  • 二、Proposal-to-point Encoding Module
    • 2.1、Proposal-to-point Embedding
    • 2.2、Self-attention Encoding
  • 三、Channel-wise Decoding Module
    • 3.1、Standard Decoding
    • 3.2、Channel-wise Re-weighting
    • 3.3、Channel-wise Decoding Module
  • 四、Detect head and Training Targets
  • 五、训练losses

3D点云目标检测:CT3D解读(未完)_第1张图片

一、RPN for 3D Proposal Generation

就是基于单阶段的网络获取box作为Proposal,文章中使用的是Second网络,其他的如pointpillar、centerpoint都可以作为
CT3D的RPN网络。

二、Proposal-to-point Encoding Module

通过以下两个模块精修RPN输出的proposal:
1、将proposal特征映射到点的特征上(下图左)。
2、通过自注意力编码对proposal内点之间的相对关系进行建模来细化点的特征(下图右)。
3D点云目标检测:CT3D解读(未完)_第2张图片

2.1、Proposal-to-point Embedding

对于给定的一个proposal,选择ROI区域内的点,ROI区域是一个没有高度限制的圆柱体,然后随机选取ROI范围内的256个点。

  • 首先计算采样点和Proposal中心点的相对坐标, Δ p i c = p i − p c , ∀ p i ∈ N \Delta \boldsymbol{p}_{i}^{c}=\boldsymbol{p}_{i}-\boldsymbol{p}^{c}, \forall \boldsymbol{p}_{i} \in \mathcal{N} Δpic=pipc,piN
  • 然后一个直接的做法是将Proposal的长、宽、高、和旋转角度信息直接拼接到每个点的特征上,即 [ Δ p i c , l c , w c , h c , θ c , f i r ] \left[\Delta \boldsymbol{p}_{i}^{c}, l^{c}, w^{c}, h^{c}, \theta^{c}, f_{i}^{r}\right] [Δpic,lc,wc,hc,θc,fir]。由于Transformer 编码器根据这种几何信息重新定向的效果可能较差,所以这种直接基于尺寸和方向的特征表示对于Proposal的优化帮助可能是有限的。
  • 通过计算采样点和Proposal八个顶点的相对位置, Δ p i j = p i − p j , j = 1 , … , 8 \Delta \boldsymbol{p}_{i}^{j}=\boldsymbol{p}_{i}-\boldsymbol{p}^{j}, j=1, \ldots, 8 Δpij=pipj,j=1,,8 p j {p}^{j} pj是第 j j j个顶点的坐标,这样长、宽、高和角度信息就被重新编码为不同纬度的距离信息。
  • 最后将上述信息合并,并经多一个MLP网络上提升特征纬度。
    f i = A ( [ Δ p i c , Δ p i 1 , … , Δ p i 8 , f i r ] ) ∈ R D \boldsymbol{f}_{i}=\mathcal{A}\left(\left[\Delta \boldsymbol{p}_{i}^{c}, \Delta \boldsymbol{p}_{i}^{1}, \ldots, \Delta \boldsymbol{p}_{i}^{8}, f_{i}^{r}\right]\right) \in \mathbb{R}^{D} fi=A([Δpic,Δpi1,,Δpi8,fir])RD

2.2、Self-attention Encoding

随后将重新编码后的采样点送入多头自注意力层,然后接一个带有残差结构的FFN网络。除了没有位置编码外(在第一步中已经包含了位置信息),这种自注意力编码机制和NLP中的Transofrmer结构几乎一模一样。encoding具体细节略过。

三、Channel-wise Decoding Module

3.1、Standard Decoding

3.2、Channel-wise Re-weighting

3.3、Channel-wise Decoding Module

四、Detect head and Training Targets

将经过编码-解码模块的输出送入两个FFN网络中,预测得到confidence和相对于输入的Proposal的box残差值。
训练过程中confidence的真值被设置为Proposals和对应的gt的3D IoU值。confidence真值计算公式如下:
c t = min ⁡ ( 1 , max ⁡ ( 0 , I o U − α B α F − α B ) ) c^{t}=\min \left(1, \max \left(0, \frac{\mathrm{IoU}-\alpha_{B}}{\alpha_{F}-\alpha_{B}}\right)\right) ct=min(1,max(0,αFαBIoUαB))

box回归值的真值计算如下:
x t = x g − x c d , y t = y g − y c d , z t = z g − z c h c , l t = log ⁡ ( l g l c ) , w t = log ⁡ ( w g w c ) , h t = log ⁡ ( h g h c ) , θ t = θ g − θ c , \begin{aligned} x^{t} & =\frac{x^{g}-x^{c}}{d}, y^{t}=\frac{y^{g}-y^{c}}{d}, z^{t}=\frac{z^{g}-z^{c}}{h^{c}}, \\ l^{t} & =\log \left(\frac{l^{g}}{l^{c}}\right), w^{t}=\log \left(\frac{w^{g}}{w^{c}}\right), h^{t}=\log \left(\frac{h^{g}}{h^{c}}\right), \\ \theta^{t} & =\theta^{g}-\theta^{c}, \end{aligned} xtltθt=dxgxc,yt=dygyc,zt=hczgzc,=log(lclg),wt=log(wcwg),ht=log(hchg),=θgθc,

五、训练losses

CT3D是端到端的训练策略,包括三个损失,分别是RPN损失、confidence损失、box回归损失。
在这里插入图片描述
confidence损失用的是二元交叉墒计算。
在这里插入图片描述
回归损失使用的是Smooth-L1计算,只有 I o U ≥ α R IoU ≥ α_R IoUαR 的Proposal才会用来计算回归损失。
在这里插入图片描述

你可能感兴趣的:(3D点云目标检测,深度学习,3d,目标检测,人工智能)