編者按:
3D物體檢測(目標檢測)是智慧汽車感知系統的重要任務。在眾多應用於智慧汽車的感測器中,相機這一視覺感測器具有解析度高、成本較低、部署方便等優點。基於相機RGB影象的低成本3D物體檢測是當下學界和工業界的研究熱點。其中,相比多目視覺3D物體檢測,單目視覺3D物體檢測是更為基礎的問題,其難點在於估計物體的距離。
本文將6DoF位姿估計領域常用的稠密關聯方法應用到了交通場景的單目3D物體檢測,並引入了不確定性傳播,可以描述物體位置的不確定性。針對深度迴歸問題中偶然不確定性的估計,本文提出了魯棒KL損失,顯著提升了檢測精度,對於一般的不確定性估計網路有借鑑價值。
本文譯自:
《MonoRUn: Monocular 3D Object Detection by Reconstruction and Uncertainty Propagation》
文章來源:IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2021。
作者:Hansheng Chen, Yuyao Huang, Wei Tian, Zhong Gao, Lu Xiong
原文連結:https://arxiv。org/abs/2103。12605
摘要
單目視覺3D物體檢測的主要難點在於物體在3D空間中的定位。近年關於6DoF位姿估計的研究表明,預測影象與物體3D模型之間的2D-3D稠密關聯(Dense Correspondence)並使用PnP演算法求解物體位姿,可以取得很高的定位精度。然而,在這些研究中,模型的訓練均依賴物體的3D模型真值,這一條件在真實的室外場景中難以滿足。
為解決這一問題,本文提出了MonoRUn檢測演算法,以自監督的形式學習稠密關聯和物體幾何,這一過程中僅需用到物體的3D框標註。本文使用基於不確定性的區域重建網路迴歸與2D畫素相關聯的3D座標。自監督訓練是指將3D座標重投影以重構影象的2D座標。為最佳化重投影誤差並考慮其不確定性,本文提出了魯棒KL損失。在測試階段,網路預測的不確定性將傳播至所有下游模組。具體而言,模型使用不確定性PnP演算法估計物體的位姿及其協方差。在KITTI資料集上的實驗表明,本文所提出方法的檢測精度超過了目前的前沿方法。
關鍵詞:3D目標檢測,自監督學習,不確定性PnP演算法
1 引言
單目視覺3D物體檢測是計算機視覺的重要研究領域之一。儘管深度學習在2D物體檢測上取得了突破[3, 30],3D物體檢測仍面臨諸多挑戰,其最大的困難就是單張影象無法提供顯式的深度資訊。為解決這一問題,大量現有研究利用物體的幾何先驗資訊,透過2D-3D約束求解物體的位姿(即物體在相機座標系中的位置和角度)。這些約束需要額外的關鍵點標註[4, 13],或利用物體真值框的角點、中心點、邊界作為約束[21, 27]。檢測的精度取決於約束的數量和質量。因此,當物體被部分遮擋或截斷(位於影象邊界以外)時,檢測精度會下降。6DoF位姿估計[15]的相關研究表明,使用2D-3D稠密關聯——將物體的每一個畫素點對映到物體區域性座標系中的3D點,可以使定位更加魯棒。
目前的前沿稠密關聯方法[22, 28, 40]需要的標註資訊包括物體的真實位姿和3D模型,藉此可以在影象中渲染並得到目標3D座標圖及其掩膜,作為網路訓練的監督訊號。這一要求使得訓練資料的來源受限,只能使用合成數據或可控的實驗室資料,因其可以獲取精確的物體3D模型。然而,真實場景中的3D物體檢測需要面對類別級物體,獲取某類物體所有例項的3D模型並不實際。一種直觀的解決方法是使用鐳射雷達的點雲生成稀疏的區域性座標圖作為監督訊號,但遠距離或高反光物體沒有足夠的點能用於監督。
在缺少真值時,自監督是訓練模型的重要方法。例如,Wang等人[35]在有物體幾何真值而缺少物體位姿真值時,使用了自監督網路來直接學習物體的位姿。本文則採用了相反的思路:在訓練時利用位姿真值自監督地學習3D幾何,在測試時用網路學到的2D-3D稠密關聯求解物體位姿。
本文提出了MonoRUn方法——基於重建和不確定性傳播的單目視覺3D物體檢測(Monocular 3D Object Detection by Reconstruction and Uncertainty Propagation)。MonoRUn可在現有的2D檢測器上增加區域(RoI)3D分支,用於迴歸2D檢測框內的稠密3D座標,這一過程便實現了幾何重建和2D-3D稠密關聯。
為減少冗餘,避免對有監督前景分割的依賴,本文估計了座標預測結果的不確定性並使用不確定性PnP演算法,使其關注不確定性較低的前景點。此外,將不確定性透過PnP進行傳播還可以獲得位姿的協方差矩陣,並用於評價檢測置信度。
自監督是指將預測的3D座標重投影為影象座標,這一過程需要用到物體的真實位姿和相機內參。為最佳化重投影誤差並估計其不確定性,本文提出了魯棒KL損失,用於最小化預測座標的高斯分佈和真值座標的狄拉克分佈之間的KL散度。這一損失函式是本文檢測效能提升的關鍵。
總之,本文的主要貢獻如下:
本文提出了一種基於不確定性的新3D物體檢測網路,該網路的訓練過程可以無需額外標註(例如關鍵點、3D模型、分割掩膜)。本文首次將稠密關聯方法用於真實交通場景的3D物體檢測。
本文提出的魯棒KL損失適用於一般的基於深度學習的不確定性估計問題,並透過實驗驗證了其相對於普通KL損失的優勢。
在KITTI資料集上的實驗表明,本文的檢測精度相對於現有的前沿方法具有顯著的提升。
圖1 檢測演算法的總體思路
2 相關研究
A. 單目3D物體檢測
根據深度資訊的來源,現有的主流方法可以被粗略分為兩類。
1)藉助現有的單目深度估計方法。
Pseudo-LiDAR方法[39]將深度圖轉換為3D偽點雲表徵,將其輸入至鐳射點雲3D物體檢測方法。D4LCN[8]使用深度圖作為導向生成動態濾波器,用於高效提取影象中的3D資訊。這些方法的優勢來源於預訓練的深度估計網路,例如DORN[9],但單目深度估計網路可能存在泛化問題。
2)使用2D-3D幾何約束。
Deep MANTA方法[4]用含有36個關鍵點的車輛模板標註了訓練資料,然後訓練網路找到最佳匹配的模板,同時迴歸2D關鍵點的座標,最後使用EPnP演算法[20]計算車輛位姿。RTM3D方法[21]使用類似CenterNet[41]的網路檢測虛擬關鍵點(3D框的角點和中心點)。此外,Mousavian等人[27]還提出了3D框內接2D框的約束。上述方法在遮擋和截斷情況下約束不充分。
B. 稠密關聯和3D重建
現有研究大多使用幾何真值來訓練稠密關聯網路,也有部分研究嘗試了在沒有幾何真值的情況下使用可導PnP演算法訓練端到端網路。
1)有幾何監督。
Pix2Pose方法[28]直接回歸物體畫素點的歸一化物體座標(Normalized Object Coordinate,NOC)。DPOD方法[40]預測兩通道UV座標將物體表面對映至3D座標。關於類別級物體,Wang等人[36]展示了具有尺度不變性的NOC可以處理同類別中未出現過的例項。這些方法只在合成或簡單室內資料上進行了測試。
2)無幾何監督。
Brachmann和Rother[1]提出了一種近似的PnP反向傳播演算法端到端地訓練網路以解決SfM問題。Chen等人[5]提出了具有解析求導形式的BPnP方法。這些方法在訓練時都使用重投影損失作為正則化,也就自監督,而沒有充分研究僅依賴自監督本身的訓練。
C. 不確定性估計
深度學習中的不確定性可以分為偶然不確定性和認知不確定性[18]。前者與觀測噪聲有關,後者反映模型引數的不確定性。Kendall和Gal[18]將異方差迴歸引入深度學習,透過KL損失[14, 18]訓練網路直接輸出與資料相關的偶然不確定性。然而,普通KL損失對離群值敏感,且不易與其他損失函式平衡,存在改進空間。
3 本文所提出的方法
圖2 MonoRUn網路架構
3.1. 問題描述與方法概述
給定一張RGB影象,3D物體檢測需要對其中所有受關注的物體進行定位和分類,以獲得每個物體的3D包圍框和類別標籤。3D框的引數包括尺寸
和位姿
;其中β是物體橫擺角,
是3D框底面中心點在相機座標系下的角度。
基於現有的2D檢測器,本文需要提取2D檢測框中的RoI特徵,用於預測3D座標圖。對於自監督訓練,需要用物體真實位姿
和相機模型將3D座標重投影為2D座標
,其目標是恢復影象本身的2D座標
。如果直接最小化重投影誤差而不考慮物體前景和背景,網路會受無關背景處的較大誤差干擾。因此,本文設計了不確定性重建模組,對重投影座標
的不確定性進行估計,並使用魯棒KL損失最佳化由不確定性加權的重投影誤差。在測試階段,本文采用不確定性PnP模組將上述不確定性傳播至物體位姿,並用多元高斯分佈表示位姿。這一分佈被進一步用於評判檢測的置信度。
3.2. 自監督重建網路
為處理不同尺寸的類別級物體,採用兩個網路分支分別預測3D尺寸和具有尺度不變性的歸一化物體座標(NOC)[36]。最終的物體座標向量
則是NOC向量
和尺寸向量d的元素乘積:
第一個分支稱為全域性提取器,負責對物體的全域性認知並預測物體的3D尺寸。第二個分支稱為NOC解碼器,使用卷積層預測稠密NOC圖。由於卷積層的全域性感知能力有限,令全域性提取器額外輸出一個全域性隱向量以增強NOC解碼器。隱向量可能編碼了物體的遮擋、截斷、形狀等資訊,後文的實驗表明其有利於偶然不確定性的估計。網路細節如下。
圖3 全域性提取器和MLP評分分支
全域性提取器
如圖2所示,7×7的RoI特徵是由特徵金字塔中更高一級的特徵提取而來。這一特徵被展平後輸入到全域性提取分支,輸出16通道的全域性隱向量並預測3D尺寸。尺寸可由標註的3D框尺寸直接監督。如圖3所示,這一網路由兩層1024通道的全連線層構成。
圖4 NOC解碼器網路,其中上取樣部分採用CARAFE層[37]
NOC解碼器
這一網路需要聚合全域性隱向量和區域性卷積特徵,用於預測NOC。具體的實現方法借鑑了Squeeze-Excitation網路中的Excitation操作。如圖4所示,首先將隱向量的通道數擴充套件為256,然後在上取樣層前將其和卷積特徵之間按通道求和。除了預測三通道的NOC圖,NOC解碼器還需要估計兩通道的偶然不確定性,具體在下面一段描述。
基於偶然不確定性的自監督訓練
給定物體真實位姿,可將預測的物體座標重投影到影象中。畫素點
的重投影誤差為:
其中
為相機投影函式,
為物體旋轉矩陣,
為物體位移向量。為使得網路能在沒有例項分割的情況下專注於前景誤差,本文引入了偶然不確定性。具體而言,本文使用一元高斯分佈表示重投影的2D座標,令網路預測其均值和標準差,並由魯棒KL損失進行訓練。從嚴格意義上說,可以按照圖2中的不確定性傳播路徑,先估計中間變數的不確定性再將其傳播。從實用角度出發,可以選擇更靈活的捷徑,直接令NOC解碼器估計重投影2D座標的標準差,如圖4所示。
附加認知不確定性
認知不確定性對於自動駕駛這種強調安全的應用場景十分重要。參考[18]中的方法,本文在測試中使用蒙特卡洛dropout計算
的均值和方差,在RoI Align後插入通道dropout層,在每個全連線層後插入1D dropout層。由於PnP演算法處理2D投影方差效率更高,本文先將物體座標的3D方差近似轉換為2D重投影座標的方差,並將其與偶然不確定性合併。
3.3. 魯棒KL損失
根據定義,KL損失是由預測分佈和目標分佈的KL散度推導而來。假定分佈均為高斯,則KL散度為:
對於固定的目標分佈,
是定值,在最小化過程中可以省略。假設目標分佈狹窄(類似狄拉克分佈),
遠大於
。記
,可以得到簡化的目標函式:
本文將式(4)稱為高斯KL損失。後文將省略下標
。為估計迴歸問題中的異方差,Kendall和Gal[18]提出用深度網路直接預測依賴資料的均值
和對數方差
,並用式(4)進行最佳化。顯然,式(4)的第一項是加權的L2損失,使不確定性較大的誤差項懲罰更小。
高斯KL損失雖然是由機率理論推導而來,在應用於深度迴歸模型中仍面臨兩個問題:
作為L2損失的推廣,高斯KL損失對離群值的魯棒性差;
訓練過程中,隨著分母
減小,損失關於
的梯度會越來越大,而常規的L2或L1損失的梯度一般是減小或不變的,這導致不同的損失函式之間難以平衡。
針對第一個問題,[7, 18]由拉普拉斯分佈推導了另一種KL損失:
類似於L1損失,該函式在
時不可導。為解決這一問題,本文設計了一種混合KL損失,並將其記作加權誤差
和標準差
的函式:
可以驗證該函式對
和
均可導。混合KL損失即為Huber損失(smooth L1)的推廣,具有對離群值魯棒且易於最佳化的特點。
對於第二個問題,隨著訓練時間增加,
逐漸減小,使得權重係數
不斷增大。這一問題可以透過權重歸一化解決。受Batch Normalization[17]啟發,本文透過指數移動平均線上估計平均權重:
其中
是動量項,
是batch中的樣本數量。最終的魯棒KL損失即為權重歸一化後的混合KL損失:
實際操作中,直接最佳化
會導致梯度爆炸,需要令網路輸出其對數值
。
3.4. 不確定性PnP
極大似然估計
求解PnP問題即為求解位姿
的極大似然估計(MLE),其負對數似然(NLL)函式為重投影誤差
的馬氏距離平方和:
其中
,
表示預測的重投影座標標準差。這一最佳化問題可由Levenberg-Marquardt演算法高效求解。
協方差估計
位姿P*的協方差矩陣近似為NLL在P*點的Hessian矩陣之逆[29]:
為避免在測試時求二階導數,本文用高斯-牛頓矩陣
作為Hessian矩陣的近似,其定義為
,其中
(加權重投影誤差展平後的向量)。
線上協方差校正
實際應用中,式(10)估計的協方差矩陣數值偏小,其主要原因是式(9)假定了重投影誤差是相互獨立的,而實際網路輸出的結果是具有相關性的。因此,本文引入了一個4×1的可學習校正向量
,用於協方差的線上校正:
校正向量可以透過施加多元高斯KL損失進行最佳化:
其中P*不參與最佳化,只有k被最佳化。儘管本文3。3節指出了普通高斯KL損失的不足,這一損失函式足以用於處理這一簡單最佳化任務。
3.5. 評分分支
如圖3所示,本文采用多層感知機(MLP),將帶有不確定性的位姿估計結果與全域性提取器的特徵融合,輸出檢測的置信度。對於評分分支的訓練,使用與[31, 32]中相同的二分類交叉熵損失函式:
其中
是MLP輸出的3D定位置信度,目標置信度
是預測與真值之間3D IoU的函式:
最終的檢測置信度是2D檢測置信度與
的乘積。
3.6. 網路訓練
本文在實驗中設定了三種訓練方法。
自監督重建(無附加監督)
該模式中,訓練沒有用到鐳射點雲和可導PnP,除了尺寸有直接監督以外,3D重建完全由自監督的方式進行訓練。總損失函式為:
其中
是2D檢測損失,
是關於重投影誤差的魯棒KL損失,
是關於尺寸誤差的smooth L1損失,
是協方差校正損失的權重,設為0。01。
加鐳射監督
前景鐳射點雲可以轉化為NOC的稀疏真值,用以施加直接NOC損失。因為只有前景點,無需採用偶然不確定性。因此,本文采用加權的smooth L1損失:
其中
表示NOC張量的第i個元素,
在有真值處為1,其餘為0。總損失函式為:
除非有特殊說明,本文預設採用該方法訓練網路。
端到端訓練
引入[5]中的PnP反向傳播方法,可以對位姿估計誤差施加smooth L1損失。由於端到端訓練PnP在初始階段不穩定,本文采用與[1]中類似的訓練策略,即先自監督訓練、再用端到端進行微調。該方法只在實驗中作為對照。
4 實驗
4.1. 資料集
本文在KITTI-Object資料集上評價模型的效能。KITTI資料集中共有7481張訓練影象,7518張測試影象,以及相應的點雲,總共有8個物體類別、80256個標註的物體例項。每個物體根據其遮擋、截斷和2D框高度分為了簡單、中等、困難三個級別。訓練集又被進一步分為3712張訓練影象和3769張驗證影象[6]。官方排行榜需要對Car,Pedestrian,Cyclist三類物體進行評價。評價指標是基於特定IoU閾值(0。7或0。5)的準確率-召回率曲線計算的的。本文采用官方評價方法,計算40點插值平均精度(AP)[33]。
4.2. 實現細節
2D檢測器
使用預訓練的Faster R-CNN[30]作為2D檢測器,其骨幹網路使用ResNet-101[12]。本文采用6層FPN[23],比常規FPN多一層上取樣層。
重建模組
對於dropout比率,設定1D dropout層為0。5,通道dropout層為0。2。網路輸出(尺寸,NOC)使用訓練資料的均值和方差進行了歸一化。當訓練多類物體時,對每個類別預測一組特定的隱向量、尺寸、NOC。
資料增強
在訓練過程中,採用隨機翻轉和調色增強。對於NOC解碼器,設定兩個輸出分支,分別對應原始和翻轉物體。
訓練策略
網路使用AdamW[24]最佳化器,權重衰減設為0。01。本文使用兩張Nvidia RTX 2080 Ti GPU,總batch size為6張影象。初始學習率設為0。0002,使用餘弦衰減。在完整訓練集上訓練32個週期,在訓練子集上訓練50個週期。對於端到端訓練,附加一個15週期的第二輪訓練,初始學習率降為0。00003。
測試方法
對於認知不確定性,蒙特卡洛dropout採用數設為50[18],預設只對全域性提取器進行取樣。在後處理階段,使用3D NMS,IoU閾值設為0。01。
4.3. 與現有前沿方法的比較
表1 KITTI測試集合驗證集上類別Car的3D檢測效能。*表示使用了預訓練深度估計網路DORN[9]。Wang等人[38]指出DORN的訓練資料與KITTI-Object的驗證資料有重疊,因此造成3D檢測效能過擬合,表中灰色數字表示受過擬合影響的結果。
表1列出了本文方法和其它前沿方法在KITTI的驗證集(Val)和官方測試集(Test)上的檢測結果。可以得到以下結論:(1)當使用鐳射點雲監督時,本文方法在測試集上的精度顯著高於現有前沿方法。其餘標有*的前三名也用到了額外的深度監督。(2)當不使用額外監督時,本文提出的方法仍超過了其它不使用深度估計的方法。(3)本文方法的單幀測試時間為0。07 s(包括蒙特卡洛和PnP),速度尚可,而其餘前三名的單幀時間超過0。2 s(不包括DORN[9]的0。5 s深度估計時間)。
表2 KITTI測試集上Pedestrian和Cyclist的3D檢測效能
表2列出了本文方法和其它前沿方法在Pedestrian和Cyclist類上的檢測效能。本文的Pedestrian檢測精度目前為排行榜最高,但Cyclist精度較差。鑑於KITTI資料集中Pedestrian和Cyclist例項輸入太少,存在較大偶然性,該結果僅供參考。
4.4. 消融實驗
本節所有實驗都在訓練子集和驗證子集上進行,評價指標採用驗證集上類別Car的6個AP指標的平均,即mAP。所有結果在表2中給出。
表2 關於重投影損失函式、鐳射點雲監督、端到端訓練、認知不確定性和隱向量的消融實驗
自監督與鐳射監督
僅使用自監督重建時,就可達到較好的檢測效能(28。57),僅使用鐳射監督則效果很差(18。84),二者都使用時可以達到最好的效果(31。21)。圖6顯示,自監督重建的幾何並不是物體的精確表面,易於過擬合,增加鐳射點雲監督具有提供形狀正則化,減少過擬合的作用。
魯棒KL損失
透過比較smooth L1損失(26。35),拉普拉斯KL損失(29。47),混合KL損失(30。05),魯棒KL損失(31。21),可以觀察到效能在不斷提升。其中最大的提升在smooth L1和拉普拉斯KL損失之間,這顯示了偶然不確定性的重要作用。
端到端訓練
本文中端到端PnP只作微調,因此與微調前效能強相關。對於拉普拉斯KL損失訓練的結果(29。47),端到端訓練略微提升了精度(29。73)。對於魯棒KL損失訓練的結果(31。21),端到端反而略微降低精度(31。09)。這說明魯棒KL損失比端到端PnP更易於最佳化網路。
隱向量
有隱向量相比沒有隱向量顯著提升了檢測效能(31。21 vs 29。78)。
圖5 檢測結果在影象和鳥瞰圖中的視覺化。紅色表示預測結果(及其位置的95%置信區間),綠色、青色、藍色分別表示完全可見、部分可見、嚴重遮擋的真值。
圖6 不確定性和3D重建結果的視覺化。
5 結論
本文提出了一種新穎的高效能實用3D物體檢測器——MonoRUn。為將稠密關聯方法用於真實交通場景中的3D物體檢測,本文使用自監督重構和不確定性克服了資料集缺少幾何監督的難題。同時,本文提出了魯棒KL損失函式,使不確定性深度迴歸網路更容易最佳化。最後,本文探索了基於PnP不確定性傳播的機率3D物體定位,為魯棒跟蹤和預測等下游任務開拓了新的可能。