详解3D物体检测模型 SPG: Unsupervised Domain Adaptation for 3D Object Detection via Semantic Point Generation
本文對基于激光雷達的無監督域自適應3D物體檢測進行了研究,論文已收錄于 ICCV2021。
在Waymo Domain Adaptation dataset上,作者發現點云質量的下降是3D物件檢測器性能下降的主要原因。因此論文提出了Semantic Point Generation (SPG)方法,首先在預測的前景點區域生成語義點云,復原前景點物體缺失的部分。然后,將原始點云與生成的語義點云進行融合得到增強后的點云數據,再使用通用的3D物體檢測器進行檢測。在Waymo 和 KITTI 數據集上,無論是在target domain 還是 source domain上,本文提出的SPG方法都大幅提高了3D物檢檢測器的性能。
論文鏈接為:https://arxiv.org/pdf/2108.06709v1.pdf
1. Introduction
首先是引出本文要解決的問題:Waymo Open Dataset (OD)數據集是在California和Arizona收集的,而Waymo Kirkland Dataset (Kirk)是在Kirk收集的,這里將OD數據當作source domain,Kirk數據當作target domain。
作者使用PointpPllars模型在OD訓練集上訓練,然后在OD和Kirk驗證集上進行驗證。從表1可以看出,雨天下收集到的點云質量下降很厲害,平均每幀缺失點數幾乎是干燥天氣下的兩倍,檢測性能也下降了27%左右;同時從Range Image上也可以看出雨天下物體點云缺失的區域也更不規則。
2. Semantic Point Generation
本文提出的SPG輔助檢測方法如下圖所示,SPG首先在預測的前景點區域生成語義點集,然后語義點集與原始點云相結合得到增強點云 PCaugPC_{aug}PCaug?,最后再使用一個點云檢測器得到檢測結果。
2.1 Training Targets
設原始輸入點云為 PCraw={p1,p2,...,pN}∈R3+FPC_{raw}=\{p_1,p_2,...,p_N\} \in \mathbb{R}^{3+F}PCraw?={p1?,p2?,...,pN?}∈R3+F,333 表示點云坐標,FFF 表示點云屬性。
- SPG首先將原始點云劃分為一個個Voxel,對于每一個Voxel,模型首先預測其為前景Voxel的概率 P~f\tilde{P}^{f}P~f,然后在每一個前景Voxel生成語義點集 sp~\tilde {sp}sp~?,其特征為 ψ~=[χ~,f~]\tilde{\psi}=[\tilde{\chi}, \tilde{f}]ψ~?=[χ~?,f~?],分別表示語義點集的坐標和屬性。
- 在與原始點云融合時只保留置信度超過 PthreshP_{thresh}Pthresh? 的 KKK 個點,得到增強后的點云PCaug={p^1,p^2,…,p^N,sp~1,sp~2,…,sp~K}∈R3+F+1PC_{aug}=\left\{\hat{p}_{1}, \hat{p}_{2}, \ldots, \hat{p}_{N}, \tilde{s p}_{1}, \tilde{s p}_{2}, \ldots, \tilde{s p}_{K}\right\} \in \mathbb{R}^{3+F+1}PCaug?={p^?1?,p^?2?,…,p^?N?,sp~?1?,sp~?2?,…,sp~?K?}∈R3+F+1,最后一個通道表示點為前景點的置信度,原始點云則置信度為 1.01.01.0,語義點集則置信度為 P~f\tilde{P}^fP~f。
在訓練時,如果劃分的Voxel為前景voxel VfV^fVf,則其對應類別 yif=1y_i^f=1yif?=1,否則為 yif=0y_i^f=0yif?=0。如果劃分的Voxel非空的話, 令 ψi=[χˉi,fˉi]\psi_{i}=\left[\bar{\chi}_{i}, \bar{f}_{i}\right]ψi?=[χˉ?i?,fˉ?i?] 為回歸目標,其中 χiˉ\bar{\chi_i}χi?ˉ? 為Voxel中所有前景點的平均坐標,fˉi\bar{f}_ifˉ?i? 為前景點的屬性平均值。
2.2 Model Structure
SPG模型結構由三部分組成:
- 首先是Voxle特征編碼模塊,對每一個Voxel進行特征學習,編碼成pillars投影到鳥瞰圖;
- 然后是信息傳播模塊,將非空pillars語義信息傳播到附近非空pillars;
- 最后是語義點集生成模塊,在每一個前景Voxel生成語義點集 sp~i=[χ~i,f~i,P~if]\tilde{sp}_i=\left[\tilde{\chi}_{i}, \tilde{f}_{i}, \tilde{P}_{i}^{f}\right]sp~?i?=[χ~?i?,f~?i?,P~if?]。
2.3 Foreground Region Recovery
為了在 empty areas 生成語義點集,作者設計了兩個策略Hide and Predict和Semantic Area Expansion。
- Hide and Predict。原始點云 PCrawPC_{raw}PCraw? 劃分為Voxel集合 V={v1,v2,...,vM}V=\{v_1,v_2,...,v_M\}V={v1?,v2?,...,vM?},在訓練時,丟棄 γ%\gamma\%γ%的非空Voxel VhideV_{hide}Vhide?,SPG需要預測出這些隱藏的Voxel標簽 yfy^fyf和對應點特征 ψ~\tilde{\psi}ψ~?。
- Semantic Area Expansion。作者設計了一個擴展語義區域策略(圖5所示),用以在empty space生成語義點集。具體地,非空和空的背景Voxel為 Vob,VebV_o^b,V_e^bVob?,Veb?,其對應標簽為 yf=0y^f=0yf=0;非空前景Voxel VofV_o^fVof? 類別標簽 yf=1y^f=1yf=1;bounding box中空的前景Voxel VefV_e^fVef? 類別標簽為 yf=1y^f=1yf=1,同時增加一個權重系數 α<1\alpha < 1α<1;監督學習非空前景Voxel VofV_o^fVof? 點集特征 ψ\psiψ。圖6為是否使用Expansion生成語義點集的效果。
2.4 Objectives
損失函數有兩個,一個是類別損失函數,其中 VoV_oVo? 為非空Voxel,VebV_e^bVeb? 為空的背景Voxel,VefV_e^fVef? 為空的前景Voxel,VhideV_{hide}Vhide? 為隱藏的Voxel。
Lcls=1∣Vo∪Veb∣∑Vo∪VebLfocal?+α∣Vef∣∑VefLfocal?+β∣Vhide?∣∑Vhide?Lfocal?\begin{aligned} L_{c l s} &=\frac{1}{\left|V_{o} \cup V_{e}^{b}\right|} \sum_{V_{o} \cup V_{e}^{b}} L_{\text {focal }} +\frac{\alpha}{\left|V_{e}^{f}\right|} \sum_{V_{e}^{f}} L_{\text {focal }}+\frac{\beta}{\left|V_{\text {hide }}\right|} \sum_{V_{\text {hide }}} L_{\text {focal }} \end{aligned} Lcls??=∣Vo?∪Veb?∣1?Vo?∪Veb?∑?Lfocal??+∣∣∣?Vef?∣∣∣?α?Vef?∑?Lfocal??+∣Vhide??∣β?Vhide??∑?Lfocal???
另一個是點集回歸損失函數:
Lreg?=1∣Vof∣∑VofLsmooth-?L1(ψ~,ψ)+β∣Vhide?f∑Vhide?fLsmooth-L1?(ψ~,ψ)\begin{aligned} L_{\text {reg }} &=\frac{1}{\left|V_{o}^{f}\right|} \sum_{V_{o}^{f}} L_{\text {smooth- } L 1}(\tilde{\psi}, \psi) +\frac{\beta}{\mid V_{\text {hide }}^{f}} \sum_{V_{\text {hide }}^{f}} L_{\text {smooth-L1 }}(\tilde{\psi}, \psi) \end{aligned} Lreg???=∣∣∣?Vof?∣∣∣?1?Vof?∑?Lsmooth-?L1?(ψ~?,ψ)+∣Vhide?f?β?Vhide?f?∑?Lsmooth-L1??(ψ~?,ψ)?
3. Experiments
首先是在Waymo數據集上的檢測結果:
然后是在KITTI數據集上的檢測結果。
總結
以上是生活随笔為你收集整理的详解3D物体检测模型 SPG: Unsupervised Domain Adaptation for 3D Object Detection via Semantic Point Generation的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被非法集资骗了钱能要回来吗?非法集资最常
- 下一篇: Apollo自动驾驶入门课程第①讲—无人