高維東,林 琳,劉賢梅,趙 婭
(東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318)
基于視覺的物體6D姿態估計從圖像中檢測目標物體,并估計其相對相機的位置姿態和旋轉姿態,是視覺三維感知的核心問題之一,主要應用于增強現實、自動駕駛和智能機器人抓取等領域。真實場景的復雜背景、目標物體的弱紋理和小體積特性、物體間的相互遮擋,均給物體6D姿態估計帶來巨大挑戰。
基于深度學習的物體6D姿態估計根據輸入的不同分為基于RGB圖像的物體6D姿態估計和基于RGBD圖像的物體6D姿態估計,后者利用深度信息的幾何特征消除物體比例歧義和區分相似物體,在精度上有顯著優勢。由于RGB圖像和D圖像屬于不同模態,因此如何充分利用兩種不同模態數據進行物體6D姿態估計是一個值得研究的問題。
根據RGB圖像和D圖像使用方式的不同,基于RGBD圖像的物體6D姿態估計分為級聯的方法和融合的方法。早期工作多采用級聯設計發揮RGB圖像與D圖像的優勢。PoseCNN[1]和SSD-6D[2]先使用CNN從RGB圖像提取姿態語義特征,預測物體初始姿態,再對D圖像使用迭代最近點算法(Iterative Closest Point,ICP)完成姿態優化。然而,ICP優化姿態比較耗時,無法滿足對實時性有需求的應用,同時,D圖像中的幾何特征未得到充分使用。融合的方法將具有互補特性的RGB圖像和D圖像融合,姿態特征的語義信息表達能力更強,物體6D姿態估計精度更高、遮擋魯棒性更強。根據融合階段的不同,分為輸入融合、輸出融合和過程融合。
輸入融合將RGB圖像與D圖像進行簡單地拼接操作,組成四通道圖像后送入到CNN中同時提取外觀特征和幾何特征,具有充分利用數據的原始信息和計算量要求低的優點。iPose(instance-aware pose estimation)[3]使用RGBD圖像編解碼網絡將物體像素映射到三維物體表面,計算物體6D姿態。然而由于兩種數據的異構性,因此僅使用一個主干網絡很難同時有效提取目標物體的外觀特征和幾何特征,并且,基于D圖像的CNN特征提取存在“投影分解”問題。在D圖像中,物理世界投影的三維結構通過一維的深度值及圖像的二維像素坐標保持,CNN中調整大小、翻轉和池化等操作會破壞深度值和二維像素坐標的聯系,影響物體幾何特征的提取。
點云的幾何特征較D圖像更加豐富,所以輸出融合和過程融合中均先將D圖像轉換為點云,再使用兩個獨立的主干網絡分別提取RGB圖像的外觀特征和點云的幾何特征。
輸出融合將兩個主干網絡的決策輸出融合,再預測物體姿態,是一種模塊化、靈活性高的方法。DenseFusion[4]、基于特征融合的6D目標位姿估計算法[5]和PVN3D[6]等先分別提取密集的外觀特征和幾何特征,然后將兩種特征拼接融合,最后進行姿態估計。由于卷積運算的感受野有限,上述輸出融合的算法難以編碼目標物體區域的長程依賴關系,導致姿態語義特征缺乏目標物體的全局特征信息。基于位置依賴的密集融合的6D位姿估計方法[7]通過編碼像素間的位置關系構建目標物體的長程依賴關系,增強算法辨識遮擋物的能力。但是輸出融合忽略了中間層不同特征的互補作用,如相似外觀的不同物體可以通過幾何特征分辨,因物體表面反射引起的深度缺失可以通過外觀特征補充。
過程融合在整個特征提取過程中進行融合,姿態特征的語義信息表達能力強。FFB6D(Full Flow Bidirectional Fusion Network for 6D Pose Estimation)[8]在RGB圖像和點云特征提取網絡之間構建雙向融合模塊作為兩個網絡的通信橋梁,實現外觀特征與幾何特征的過程融合。然而FFB6D仍存在以下問題:(1)RGB圖像特征提取網絡的首個卷積塊僅負責通道調整,未抑制復雜背景;(2)FFB6D的RGB圖像特征提取網絡分支為編解碼結構,輸出的姿態語義特征缺乏目標物體的細節外觀特征;(3)上下文信息存儲了目標物體可見區域與遮擋區域的聯系,FFB6D使用池化金字塔模塊(Pyramid Pooling Module,PPM)[9]同等程度地增添全局上下文信息和區域上下文信息,然而由于目標物體的大小不同、遮擋情況不同,因此這些上下文信息的重要程度也應是不同的;(4)解碼器將編碼器學到的低分辨率的姿態語義特征上采樣至像素空間,FFB6D易將表面相似的物體誤判為目標物體。這都導致了復雜背景下弱紋理小物體6D姿態估計精度較低和遮擋場景下算法魯棒性差。
針對上述問題,該文在FFB6D基礎上,提出了一種基于特征融合和注意力機制的物體6D姿態估計算法,主要工作如下:(1)在RGB圖像特征提取網絡的首個卷積塊中添加卷積注意力模塊(Convolutional Block Attention Module,CBAM)[10],抑制復雜背景,增強目標物體區域的顯著度;(2)使用跳躍連接將編碼階段的細節外觀特征拼接融合到解碼階段的姿態語義特征,考慮到淺層特征中存在一定的干擾特征,在跳躍連接中使用CBAM過濾干擾特征,增強顏色、紋理等細節外觀特征;(3)在PPM的末端拼接通道注意力模塊(Channel Attention Module,CAM)[10],自適應地學習不同區域和不同尺度上下文信息的重要程度,提升遮擋魯棒性;(4)在RGB圖像特征提取網絡的末端添加CBAM,從通道域和空間域分別增強相似表面特征的區分度,從而降低相似物體對物體6D姿態估計的干擾。
基于特征融合和注意力機制的物體6D姿態估計架構圖如圖1所示,分別輸入RGB圖像和D圖像,主干網絡由RGB圖像特征提取網絡和點云特征提取網絡并聯而成,雙向融合模塊實現外觀特征與幾何特征的交互融合,將提取的密集姿態特征輸入到3D關鍵點檢測模塊和語義分割模塊,回歸每一個點到3D關鍵點的偏移,并為3D關鍵點投票,確定3D關鍵點,最后使用最小二乘擬合算法計算物體6D姿態。

圖1 基于特征融合和注意力機制的物體6D姿態估計網絡架構
相較FFB6D網絡,文中算法在負責通道調整的的卷積塊后添加CBAM,實現復雜背景過濾和目標物體區域顯著度增強;在RGB圖像特征提取網絡上構建基于CBAM的跳躍連接,充分利用姿態語義特征的同時最大限度地保留目標物體的顏色、紋理等細節外觀特征;在PPM后添加CAM,通過對每個通道的特征進行權重分配來學習不同通道間特征的相關性,加強重要特征上下文信息的權重;在RGB圖像特征提取網絡的末端添加CBAM,進一步增大相似表面特征的區分度。
CBAM是一種輕量級的混合注意力模塊,由CAM和空間注意力模塊(Spatial Attention Module,SAM)串聯而成,在通道域和空間域專注于物體6D姿態估計任務相關特征,如圖2“Convolutional Block Attention Module”部分所示。對于輸入特征圖(F∈RC×H×W),其中C,H,W分別為特征圖的通道數、高和寬,首先對特征圖進行空間域的全局最大池化和全局均值池化,將池化后的結果送入到共享權重的MLP(Multi-Layer Perception),相加MLP得到的兩個結果后再經過Sigmoid激活函數得到通道注意力權重(Mc),最后將F與Mc相乘,獲得通道注意力調整后的特征圖(F');對F'進行通道域的全局最大池化和全局均值池化,拼接池化生成的兩個特征圖,再經過卷積和Sigmoid,獲得空間注意力權重(Ms),最后將F'與Ms相乘,獲得空間注意力調整后的特征圖(F'')。通道注意力和空間注意力計算過程如公式(1)和(2)。

圖2 基于CBAM的復雜背景過濾模塊
Mc=σ(MLP(AvgPool(F))+
MLP(MaxPool(F)))
(1)
Ms=σ(f7×7[AvgPool(F);MaxPool(F)])
(2)
其中,MLP為共享權重的多層感知機,σ為Sigmoid激活函數,f為卷積操作,“;”表示串行聯結。
考慮到FFB6D的點云特征提取網絡的預處理層為全連接層,無法使用CBAM抑制復雜背景,因此該文僅在RGB圖像特征提取網絡添加基于CBAM的復雜背景過濾模塊,其具體流程如圖2所示。首先使用Conv調整輸入圖像的尺寸和通道數,使其可傳入到基于ResNet34的編碼器,再使用CBAM抑制干擾特征,增強目標物體區域的顯著度。
跳躍連接是一種常用于彌補編解碼結構細節特征缺失的技術,如點云分割網絡(RandLA-Net[11])。該網絡通過跳躍連接將線、角、面等細節幾何特征拼接到深層語義特征,使其具備高判別性。FFB6D的點云特征提取網絡分支由RandLA-Net主干部分構成。然而,FFB6D的RGB圖像特征提取網絡分支并未采用跳躍連接,因此其輸出的特征缺乏目標物體的細節外觀特征。
該文使用類激活映射可視化FFB6D特征層,如圖3所示。圖3(a)框內為目標物體driller,分析圖3(b)至圖3(d)可知,除目標物體所在區域,其他區域仍存在高亮。這表明RGB圖像編碼器輸出的特征仍存在干擾特征,因此若直接在FFB6D的RGB圖像特征提取網絡分支上構建跳躍連接,引入目標物體細節外觀特征的同時,干擾特征也被引入。

圖3 FFB6D的RGB圖像特征提取網絡分支的特征映射圖
受啟發于上述觀察分析,該文提出了基于CBAM的跳躍連接,首先將編碼階段輸出的特征傳入到CBAM,在CBAM抑制干擾特征后,跳躍連接再將處理后的特征傳入到解碼階段,與解碼階段輸出的特征進行拼接融合,實現空間信息補充、細節外觀特征與姿態語義特征的融合。
上下文信息存儲了目標物體可見區域與遮擋區域的聯系,針對性地增添上下文信息可更好地保留目標物體姿態特征。
基于CAM的PPM具體流程如圖4所示。左側模塊為PPM,該結構先將特征圖劃分為1×1,2×2,3×3,6×6的子區域,然后分別在子區域內全局平均池化,從而獲得不同尺度和不同區域的上下文信息,再使用1×1卷積對四個池化后的特征圖進行降維,然后將四個結果分別上采樣至原始特征圖的尺寸,最后與原始特征圖進行拼接。然而由于目標物體的大小不同、遮擋情況不同,PPM這種同等程度地增添不同尺度和不同區域上下文信息的方式難以針對性地應對遮擋問題。圖4右側模塊為CAM,CAM是CBAM的通道注意力模塊,通過全局最大池化和全局平均池化獲取PPM輸出特征圖的判別性特征和全局上下文特征,以此選取并增強含有重要區域上下文信息的特征通道,從而針對性地解決遮擋問題,使得算法更好地摒棄遮擋區域的干擾特征,保留目標物體姿態語義特征,提升遮擋魯棒性。

圖4 基于CAM的PPM
基于CBAM的跳躍連接將編碼器每一階段的細節外觀特征傳送到解碼器,實現外觀細節特征與姿態語義特征的融合。然而當復雜背景或遮擋物和目標物體表面相似時,由于CBAM的特征分辨能力有限,基于CBAM的跳躍連接易將外觀相似的背景或遮擋物的細節外觀特征誤判為目標物體特征,將其傳送至解碼器特征層,從而導致背景或遮擋物誤判為目標物體。
該文在RGB圖像特征提取網絡的末端添加CBAM,在深層姿態語義特征充分融合細節外觀特征后,CBAM結合深層語義特征的判別性,辨別外觀相似的干擾特征,實現相似表面干擾特征的抑制,從而提升物體姿態估計精度。
文中算法的目標是訓練一個3D關鍵點檢測模塊,用于預測點到3D關鍵點的偏移,以及一個語義分割模塊和中心點投票模塊,用于實例級的語義分割。因此,該文使用一個多任務損失函數實現網絡的學習,第一部分是關鍵點損失(Lkeypoint),第二部分是語義分割損失(Lsemantic),第三部分是中心點損失(Lcenter),整體的損失函數為L。
(3)

(4)
其中,γ是注意力參數,用于控制容易分類和難分類樣本的權重,ci是預測的第i個點屬于目標物體類別的置信度,l是真實類別的one-hot表達。
(5)

(6)
其中,λ1,λ2,λ3為平衡參數。
LINEMOD數據集[12]由13類大小不同的家居用品組成,包括ape,duck和benchvise等,每個家居用品圖像集包含約1 400張實拍圖像。每張實拍圖像均包含物體特性、環境等方面的影響因素,如弱紋理的目標物體、復雜背景等,但不包含遮擋。大多數工作中,LINEMOD數據集中15%的圖像作為訓練集,其余85%作為測試集。
Occlusion LINEMOD數據集[13]以LINEMOD數據集的benchvise圖像集為基礎,補充標注了含遮擋的ape,can,cat,driller,duck,eggbox,glue,holepuncher等8類目標物體的6D姿態,共1 214張,用于彌補LINEMOD數據集缺乏目標物體被遮擋情況圖像的問題。Occlusion LINEMOD數據集用于測試在LINEMOD數據集上訓練的模型,檢驗模型面對遮擋時的性能。
由于僅使用LINEMOD數據集15%的實拍圖像難以訓練一個精度高、遮擋魯棒性強的模型。因此,該文使用PVN3D的圖像合成策略擴容LINEMOD數據集,分別合成70 000張無遮擋單目標物體圖像和10 000張含遮擋單目標物體圖像,兩部分合成圖像及LINEMOD數據集15%的實拍圖像共同構成訓練集。為檢驗模型性能,該文使用LINEMOD數據集的85%實拍圖像檢驗模型在復雜背景中的性能和Occlusion LINEMOD數據集的全部實拍圖像檢驗模型在遮擋場景中的性能。
該文分別使用ADD(-S)(average distance to the 3D(symmetric)model)[1]和FPS(Frames Per Second)對文中算法的精度和速度進行評價。
ADD(-S)是一種三維空間度量標準,其中ADD針對非旋轉對稱的物體,ADD -S針對旋轉對稱物體,計算通過預測姿態和真值姿態轉換的模型頂點之間的平均距離,當距離小于閾值時,姿態估計正確。最常用的閾值為模型直徑的10%,記作ADD(-S)-0.1d。平均距離計算公式如式(7)和式(8)。
(7)

(8)
其中,x1和x2表示最接近點對。
ADD(-S)精度計算公式如式(9)。
(9)
其中,Numpre表示正確姿態估計的數量,NumGT表示測試集圖像的數量。
FPS是一種算法推理速度度量標準,指物體6D姿態估計算法每秒處理圖像的幀數。
實驗使用基于NVIDIA GTX 2080Ti GPU的服務器,深度學習框架為PyTorch 1.6,編程語言為python 3.6。
關鍵點方面,使用SIFT算法檢測物體的2D關鍵點,然后將其提升至3D空間,最后使用最遠點采樣算法選擇3D關鍵點的前8個為物體關鍵點[7]。
在模型訓練過程中,初始學習率設置為0.000 01,batchsize設置為2,epoch設置為25,γ設置為2,λ1,λ3設置為1,λ2設置為2,使用Adam優化器,采用循環學習率更新策略(Cyclical Learning Rates,CyclicLR)。
2.4.1 復雜背景中弱紋理物體6D姿態估計
為驗證算法在復雜背景下的優越性,以ADD(-S)-0.1d為指標,將文中算法與物體6D姿態估計領域中的不同算法進行對比,包括DeepIM(Deep Iterative Matching for 6D Pose Estimation)[14],PVNet(Pixel-wise Voting Network)[15],CDPN(Coordinates-based Disentangled Pose Network)[16],DPOD(6D Pose Object Detector and Refiner)[17],DenseFusion[4],文獻[18],G2L-Net(Global to Local Network)[19],PVN3D[6]和FFB6D[8]。表1為對比結果。

表1 在LINEMOD數據集上各算法對比 %
分析表1發現,文中算法平均ADD(-S)為99.8%,相較FFB6D,平均精度提高了0.1百分點,其中弱紋理小物體ape和duck的ADD -0.1d分別提高了0.5百分點和0.1百分點,驗證該算法可提升弱紋理小物體在復雜背景中的6D姿態估計精度。
2.4.2 推理速度分析
由表1可知,文中算法的推理速度為12 FPS,其中數據前向傳播65 ms,姿態計算18 ms,滿足智能機械人抓取和增強現實等應用實時性的基本需求。
對比表1中基于不同輸入的算法推理速度,除DeepIM算法外,其余基于RGB圖像的物體6D姿態估計算法的推理速度普遍快于基于RGBD圖像的算法,這是由于基于RGB圖像的算法僅需從RGB圖像提取姿態特征,因此推理速度較快。DeepIM推理速度較慢的原因是,在預測目標物體初始6D姿態后,算法再迭代優化目標物體6D姿態,這極大增加了算法每幀圖像的處理時間。
分析基于RGBD圖像的物體6D姿態估計算法的推理速度。(1)DenseFusion和文獻[18]的網絡結構相似,均先借助一個語義分割網絡分割出目標物體區域,然后分別從RGB圖像和點云的目標物體區域中提取外觀特征和幾何特征,最后融合兩種模態的特征,因此二者推理速度一致;(2)G2L-Net放棄使用推理速度較慢的語義分割網絡,使用推理速度快的目標檢測網絡YOLO v3標注目標物體區域,在定位目標物體點云時,使用3D球形范圍搜索替代較慢的矩形范圍搜索,因此其推理速度得到提升;(3)上述三種算法的點云特征提取網絡分支的輸入為目標物體區域的點云,而PVN3D輸入的點云為整個場景的點云,因此推理速度較慢;(4)FFB6D將PVN3D的點云提取網絡替換為更加輕量級的RandLA-Net,推理速度得到提升;(5)文中算法基于FFB6D,添加注意力機制和特征融合模塊,速度略有下降。
2.4.3 遮擋場景中弱紋理物體6D姿態估計
為驗證算法在遮擋場景中的優越性,以ADD(-S)-0.1d為指標,將文中算法與物體6D姿態估計領域中的不同算法進行對比,包括文獻[20],HybridPose[21],文獻[22],PVN3D[6]和FFB6D[8]。表2為對比結果。

表2 在Occlusion LINEMOD數據集上各算法對比 %
分析表2發現,文中算法平均ADD(-S)為73.4%,相較FFB6D,平均精度提高了7.8百分點,達到了最高精度,且多種弱紋理物體精度均有提升,其中ape,cat,duck等弱紋理小物體的ADD -0.1d分別提升8百分點、9百分點和11.5百分點,驗證該算法較好地緩解了遮擋對弱紋理小物體精度的損害。
在Occlusion LINEMOD數據集上,分析了遮擋與精度的關系,如圖5所示。相較FFB6D,在不同遮擋情況,文中算法的物體6D姿態估計精度均有提升,尤其在20%到30%遮擋區間,文中算法展現了良好的遮擋魯棒性,圖5也直觀地反映了文中算法遮擋魯棒性的提升。

圖5 遮擋與精度關系
為驗證基于CBAM的復雜背景過濾模塊、基于CBAM的跳躍連接、基于CAM的PPM及基于CBAM的特征增強模塊對實驗結果的影響,設計了消融實驗,逐步消除四個模塊與FFB6D進行對比,根據模塊添加數量由多到少分別命名為模型1~模型4。實驗在LINEMOD數據集和Occlusion LINEMOD數據集上進行驗證。消融結果見表3。

表3 消融實驗結果 %
從表3可以發現,在Occlusion LINEMOD數據集上,模型1(文中模型)的平均精度為73.34%,相較FFB6D提升了7.71百分點,表現出較優的遮擋魯棒性,驗證了該文對算法遮擋魯棒性差的原因分析,也證明了所提出措施的可行性。值得注意的是,基于CBAM的跳躍連接、基于CAM的PPM和基于CBAM的特征增強模塊效果顯著,具體分析如下。
(1)基于CBAM的跳躍連接對復雜背景中弱紋理物體6D姿態估計精度提升貢獻較大,在LINEMOD數據集上,模型4相較FFB6D提升了0.03百分點。究其原因,FFB6D網絡采用編解碼結構,編碼階段使用卷積網絡進行連續多次下采樣,使得模型丟失大量顏色、紋理等細節特征,而解碼階段僅對深層姿態語義特征進行上采樣,導致解碼階段的特征幾乎不含細節特征。然而,目標物體處于不同的6D姿態時,其所呈現外觀也有所不同,因此在姿態語義特征中引入顏色、紋理等細節特征可指導算法更好地估計目標物體6D姿態。
(2)基于CAM的PPM對算法的遮擋魯棒性貢獻最大,在Occlusion LINEMOD數據集上,模型2相較模型3提升了3.78百分點。基于CAM的PPM根據目標物體的大小和遮擋情況,自動獲取每個特征通道的重要程度,加強含有重要區域上下文信息的特征通道的權重,使算法更好地應對多變的遮擋情況。
(3)基于CBAM的特征增強模塊對復雜背景中弱紋理物體6D姿態估計精度提升貢獻最大,在LINEMOD數據集上,模型1(文中模型)相較模型2提升了0.04百分點;對遮擋場景中物體6D姿態估計貢獻較大,在Occlusion LINEMOD數據集上,模型1(文中模型)相較模型2提升了3.02百分點。受限于CBAM的特征分辨能力,基于CBAM的跳躍連接將表面外觀相似的干擾特征誤判為目標物體特征并將其與深層語義特征融合,因此,進一步抑制復雜背景和遮擋物的干擾特征是有必要的。基于CBAM的特征增強模塊添加在RGB圖像特征提取網絡末端,結合深層姿態語義特征,從通道域和空間域分辨并抑制相似外觀的干擾特征,從而提升物體6D姿態估計精度。
實驗使用類激活映射分別在FFB6D、基于特征融合和注意力機制的物體6D姿態估計網絡的第一層、第五層和第九層進行特征可視化,如圖6、圖7和圖8所示。

圖6 第一層特征映射圖

圖7 第五層特征映射圖

圖8 第九層特征映射圖
結合圖6發現,圖6(b)相較圖6(a)特征圖更清晰,混影減少,這說明基于CBAM的復雜背景過濾模塊可實現復雜背景的過濾與目標物體區域的增強。結合圖7發現,圖7(a)特征圖雖保留了較多特征,但噪音較多,圖7(b)特征圖的噪音幾乎都被去除,這說明基于CAM的PPM有助于保留姿態語義特征。結合圖8發現,圖8(a)特征圖在目標物體區域和遮擋區域均存在高亮凸起,圖8(b)特征圖僅在目標物體區域存在高亮凸起,這說明基于CBAM的特征增強模塊可抑制外觀相似物體的干擾。
該文選取FFB6D姿態預測失敗的Occlusion LINEMOD數據集的部分圖像,圖9(a)白框內為目標物體,其類別分別是ape,cat,driller,glue,holepuncher等。首先,使用文中算法計算物體6D姿態,再結合物體的三維模型,將其重投影至原圖像,其投影結果用白色表示,如圖9(b)所示。由圖9可知,遮擋場景中,無論是小物體cat,duck還是大物體driller,glue和holepuncher,算法仍可準確地預測姿態,也驗證該算法有較好的遮擋魯棒性。

圖9 部分實驗結果可視化
針對物體6D姿態估計易受真實場景的復雜背景、目標物體的弱紋理和小體積特性、物體間相互的遮擋影響,使用基于CBAM的復雜背景過濾模塊提升目標物體在復雜背景中的顯著度;使用基于CBAM的跳躍連接對深層姿態語義特征進行顏色、紋理等細節外觀特征補充;使用基于CAM的PPM和基于CBAM的特征增強模塊突出目標物體未被遮擋區域,提升遮擋魯棒性。實驗結果表明,該算法在幾乎不增加網絡負擔的情況下,在LINEMOD數據集上,平均ADD(-S)-0.1d提高了0.1百分點,在Occlusion LINEMOD數據集上,平均ADD(-S)-0.1d提高了7.8百分點,提升了算法的遮擋魯棒性。由于增強現實和智能機器人抓取等領域的應用多部署在存儲空間小和算力低的設備,因此,優化模型體積和提升推理速度是下一步的研究重點。