郭 凌 史金龍 茅凌波
(江蘇科技大學計算機學院 鎮江 212000)
物體6D 位姿估計技術具有很高的研究價值,其中6D是指沿X、Y、Z三個直角坐標軸方向的旋轉與平移,位姿決定了物體在攝像機中心坐標系下的三維位置與姿態。近年來,該技術在越來越多的領域中發揮著至關重要的作用,如:虛擬現實[1]、無人機[2]、智能機器人[3]等。
由于6D 位姿估計任務的復雜性,目前主流的方法主要致力于實例級物體的位姿估計[4~6]。“實例級位姿估計”是指系統需預先獲得目標的CAD 模型才能對目標進行位姿估計,與之對應的是“類別級位姿估計”,是指系統可以對已知類別中未知CAD模型的實例估計位姿。
目前,已有的不需要CAD 模型的類別級位姿估計技術通常應用于室外場景,文獻[7~8]利用雷達、激光獲取深度信息,做到在室外環境下檢測行人類與車輛類。然而由于室外場景的天然屬性,系統可忽略對于目標在Z 軸上的平移與旋轉信息,實際上得到的是物體的4D 位姿,而對于機器人抓取所面對的桌面級別的目標對象,該類方法并不適用。
目前現有的方法中,文獻[9]利用同類物體3D骨架結構不變性,對給定類別的實例提取的局部特征進行學習,通過圖匹配算法提高算法泛化能力,實現類別級物體的位姿估計。NOCS[10]、CASS[11]均將同一類別的所有實例規定到統一的形狀空間中,從而獲得同一類別的模板表示方法,再通過網絡訓練將實例與類模板匹配,最終回歸位姿。然而這幾種類別級6D位姿估計算法均要使用深度或點云信息,而這些信息并不總是易于獲得的,比如:在增強現實的應用中,普通的平板電腦或手機等硬件設備不具備獲取深度信息的能力。
對目前的問題總結如下:1)目前位姿估計技術通常針對實例級物體;2)針對類別級物體,主要實現的是室外4D 位姿估計;3)在某些場景下深度信息不易獲得。鑒于此,本文設計了一種基于單目視覺的類別級6D 位姿估計算法,僅利用二維圖像對目標進行類別級的識別與檢測,并得到類別模型,再融合單目深度估計技術,結合點云配準最終實現對類別級物體估計6D位姿。
通過對公共類別級數據集的評估,表明本文提出的方法能在單目情況下具有精準的對物體的檢測識別定位能力,且能較好地完成對類級別物體6D位姿估計。
圖1 展示了本文方法的網絡結構,該網絡結構僅通過輸入單張RGB 圖像,就能實現針對類別級物體的檢測識別、實例分割、尺寸估計和6D位姿估計。為更清晰地介紹網絡結構,將網絡分為三個模塊,分別是:圖1(a)標準化模型點云生成模塊、圖1(b)單目深度估計模塊、圖1(c)位姿估計模塊。
2.1.1 標準化模型點云生成模塊
該模塊結構如圖1(a)所示,輸入為二維圖像,輸出為圖像中多目標的類別標簽、實例分割掩膜和標準化預測模型點云P。“標準化”是指將同一個類別下的所有實例的三維坐標歸一化到[1,1,1]的空間中,且將每個實例的方向統一為與ShapeNetCore[12]數據集中模型相同的方向。標準化模型點云生成模塊框架具體描述如下。
第一步,輸入一張RGB圖像,經過一個VGG卷積模塊得到特征圖;
第二步,根據候選區域生成算法(Region Proposal Network,RPN)[13]得到多個感興趣區域(Region of Interest,ROI),最終回歸ROI候選框,并映射得到ROI特征圖。
第三步,利用ROI 對齊(ROI Align)操作,將多個大小不一的ROI 特征圖轉化為固定尺寸的特征圖。
第四步,該模塊經過三個網絡分支最終輸出三部分信息:類別與邊框、實例掩膜、標準化模型點云P。在三個網絡分支中,除全連接層外,卷積核均為3×3,反卷積核均為2×2,步長均為2。在預測類別與邊框分支中,將7×7×256 的特征圖輸入全連接層,分別對每一個ROI圖像回歸類別與邊框。在預測實例掩膜分支中,ROI圖像對齊后,經過8個連續的卷積,得到14×14×256 的特征圖,再通過反卷積得到最終的掩膜。在預測標準化模型點云分支中,經ROI 圖像對齊后,分別預測各對象的X、Y、Z 坐標,輸出為28×28×N 的張量,其中N 為對象個數。最終通過后處理,得到預測的標準化模型點云P。
2.1.2 單目深度估計模塊
本文提出的網絡結構融合了單目深度估計模型,如圖1(b)所示。該模型基于ResNet[14]架構,首先,將圖像進行四次下采樣,得到尺寸為原圖像1/32 的圖像;接著,對前四層進行跳躍連接,利用多尺度特征融合(Feature Pyramid Network,FPN)以獲得更多層次的語義信息,同時對其進行上采樣,直到將其放大到原圖像尺寸;最后,利用一個自適應模塊得到最終的深度圖,該模塊由兩個通道數分別為128和1的卷積層以及一個雙線性插值層組成。
2.1.3 位姿估計模塊
該模塊結構如圖1(c)所示,將2.1.2 節中得到的深度圖與2.1.1 節中得到的實例掩膜對齊,重建后得到目標實例的局部點云Q。具體的深度圖轉化點云過程如式(1)。
其中,[μ,ν]是圖像中的像素坐標,Z是深度值,fx、fy分別是相機在x 軸與y 軸的焦距,[σx,σy]是圖像的中心坐標,[X,Y,Z] 是對應點的三維坐標。
根據標準化模型點云P 與實例的局部點云Q,利用Umeyama 算法[15]進行點云配準,具體算法如式(2)。計算一組旋轉與平移矩陣[R|T]使目標函數F達到最優。其中R為3×3 的矩陣,T為3×1 的向量。Pm為標準化模型點云上的第m 個點,Qm為局部點云Q 上的第m 個點。c 為縮放比例,M 為點對總數(m=1,2,…,M)。
2.2.1 標準化模型點云生成模塊
在該模塊中損失函數L1如式(3)~(7)所示,其中Lcls表示對目標進行標簽識別時造成的損失,Lreg表示邊框回歸時造成的損失,Lmask表示掩膜預測部分造成的損失,Lpre表示預測目標對象在三維空間中的標準化點云時造成的損失。
其中pi是預測的目標概率,當預測值為正樣本時,=?1,當預測值為負樣本時=0。
其中ti={tx,ty,tu,tv} 是一個向量,(tx,ty)表示包圍框的中心點坐標,tu,tv分別表示包圍框的寬和高,為對應的基準值。
在預測分割掩膜時,若像素包含目標,則qi=1,否則為0,q*i為對應的基準值。
其中oi為目標模型的逐像素的三維坐標預測值,為對應的基準值,oi?R3,?R3。上述公式中i為像素點的索引。
2.2.2 單目深度估計模塊
在該模塊中對于一張輸入圖像I,在圖像中隨機采樣K 個點對(dk,ek),損失函數L2用來衡量點對之間的相對距離如式(8),其中K?{1,2,…k}。(dk,ek)表示第k 個點對,?k代表第k 個點對的前后順序關系,?k?{+1,-1,0},分別用來表示ek距離dk“更遠”、“更近”、“相同”。z為估計的相對深度。
本文實驗在Pytorch 中實現了文中所述方法,并使用ADAM優化器在Nvidia GPU上訓練,型號為GTX-2080Ti。在網絡訓練階段,由在COCO數據集上進行2D實例分割任務所得的訓練權重對本文模型進行初始化,設置初始學習率為0.001,批大小設置為2。
實驗在NOCS 數據集上完成,該數據集是目前在研究類級別位姿估計領域運用最廣泛且數據量最大的數據集,其由兩部分組成:1)結合真實世界渲染后的合成數據集;2)拍攝于真實場景的數據集。
本文使用兩種維度的評價指標:1)聯合交集3D IoU(Intersection over Union)為50%時的平均精度。3D IoU 表示真實包圍框與網絡預測包圍框之間的三維重疊部分在二者總區域的占比;2)在規定的旋轉、平移誤差下的平均精度,旋轉誤差ER與平移誤差ET分別可用式(9)~(10)表示,其中Tr表示模型繞中心軸的軌跡,R*為旋轉的基準值,R為預測值,T*為平移的基準值,T為與預測值。
為更模擬實際工業生產環境,選擇在真實場景的數據集測試。各類物體在不同閾值的3DIoU 下的平均精度如圖2(a)所示,3DIoU 指標反映了三維檢測效果和目標尺寸估計效果。本文算法在3DIoU 等于50%時,平均精度達到85.6%。在3DIoU 小于50%時,數據集中的筆記本、相機等類別表現出色,由此說明本文方法對于系統未知CAD 模型的實例有較好的三維檢測效果與目標尺寸估計效果。
各類物體在不同閾值的旋轉誤差、平移誤差下的平均精度如圖2(b)、(c)所示,該圖反映了6D 位姿估計效果。當平移誤差小于5cm 時,平均精度達到89.2%,旋轉誤差小于10°時,平均精度達到21.4%。6D 位姿估計算法普遍對于平移誤差容忍度高,而旋轉誤差對最終位姿估計結果影響較大。對于瓶子、碗和罐頭這類對稱的物體類別,算法允許預測的3D 包圍框圍繞對象Z 軸自由旋轉,而不受懲罰。
首先定義一種基準算法,選取Mask R-CNN[13]來預測目標對象的實例掩模圖,再通過與深度圖的映射關系得到目標對象的3D 點云,最終利用ICP算法[15]對目標對象的點云進行校準,實現實例級6D 姿態估計。將本文算法與基準算法、NOCS算法對比,見表1。本文提出的網絡取得的結果比基準算法更好,且能實現對于網絡未知CAD 模型的實例進行判別的任務。平均精度與NOCS 相比,后者效果更好,但是NOCS 需要利用深度傳感器獲取深度信息,而本文提出的算法在滿足工業實際抓取的精度要求的同時,只需單張二維圖像即可得到位姿,降低了生產成本,可用性更強。

表1 與兩種方法的比較結果
為了更直接地觀察到本文方法的6D 位姿估計效果,實驗中在真實場景數據集與合成數據上分別做測試,實驗結果如圖3(a)、(b)所示,圖中第一列為基準值,第二列為預測值,第三列為深度估計結果。

圖3 定性結果展示
本文方法在僅輸入RGB 圖像的情況下,可以在雜亂的背景中排除干擾物體對目標進行識別檢測,由圖3 可以觀察到目標物體均在回歸得到的三維目標包圍框中,且包圍框的位置朝向及向量軸均可確定目標物體的姿態。尤其在非對稱物體的位姿估計中,如圖中的馬克杯這一類物體,紅色向量大致朝向馬克杯的把手,這便于機器人抓取等任務的實現。對于相機這一類別包含多種實例的情況,圖中長鏡頭相機和微單相機都正確地被三維目標檢測框包圍,反映本類級別物體位姿估計算法魯棒性好的特點。
針對實際工業場景下可能出現的兩種問題:1)無法預先獲取目標準確的CAD 模型;2)無法獲取深度圖。設計了新的類別級位姿估計方法,并將深度估計與其融合,實現僅輸入單張二維圖像,就能對網絡訓練中未見過的實例進行目標識別分類及6D 位姿估計的任務。通過在真實場景數據集的測試并與最新的類別級位姿估計技術的比較,結果表明本文所提算法效果比較理想,且魯棒性強。