趙華卿, 方志軍, 高永彬
(上海工程技術大學 電子電氣工程學院,上海 201620)
目標檢測前期主要是基于區域提議的方法,如循環卷積神經網絡(recurrent convolutional neural network,RCNN)[1],SPP(spatial pyramid pooling)-Net[2],Fast-RCNN[3],Faster-RCNN[4]等,后期主要是基于單網絡的端到端方法,如YOLO[5,6],SSD(single shot multibox detector)[7]等。但傳統目標檢測方法的研究大多基于RGB相機獲取的二維光學圖像,而現實世界是一個三維世界,當涉及到機器人導航、機器人避障、自動駕駛等應用場景時,二維檢測由于缺少深度信息,無法提供目標在三維場景下的位置、大小、方向而受到限制。因此,結合深度信息進行三維目標檢測顯得十分重要。
現有的三維檢測分為基于2.5維信息[8~12]和3維信息[13~16]的兩類檢測方法,其中基于2.5維信息的方法是指將深度信息編碼為彩色信息的額外通道,并進行特征提取。Depth-RCNN[8]算法在RCNN[1]網絡的基礎上將深度信息編碼為視差、高度和角度三個通道。Kim B S等人[9]使用Depth-RCNN[8]算法對有深度信息的目標進行檢測和分割。Amodal3Det[10]算法根據標注信息對三維框進行中心點和長寬高的初始化,并通過從卷積神經網絡中提取的2.5維信息回歸初始化三維框。由于缺少對三維信息的利用,無法得到方向角的數據,因此均將方向角信息初始化為0°,而從實驗結果分析,在三維框的中心點和長寬高較為準確的情況下,誤差較大的方向角信息將影響檢測的準確率。利用3維信息進行三維目標檢測的方法是指直接根據深度信息進行點云重建。Song S等人[13]在傳統2維滑動窗的基礎上提出一種新的3維滑動窗。受到Faster-RCNN[4]的啟發,Song S等人[14]在原來算法的基礎上提出三維候選框網絡和目標識別網絡。基于3維信息的方法由于計算量較為復雜和深度信息的噪聲較大,受到限制。
針對上述問題,本文在Amodal3Det[10]的基礎上提出一種基于先驗方向角的三維目標檢測方法,在保證三維框的中心和長寬高準確率的同時提高了方向角估計的準確率。
本文的坐標計算涉及到3個坐標系,即圖像坐標系、相機坐標系和旋轉坐標系[10]。本文通過式(1)將圖像坐標系上的p(x,y)分別對應到相機坐標系上的P(Xc,Yc,Zc),其中,(Ox,Oy),f分別為相機內參的中心點和焦距
Xc=Zc·(x-Ox)/f,Yc=Zc·(y-OY)/f,Zc=Zc
(1)
本文中點云方向與重力方向對齊,定義一個不對Yc軸做任何旋轉計算且通過相機坐標系Oc-XcYcZc與旋轉矩陣R計算得到的坐標為旋轉坐標系[10]Ot-XtYtZt,這個過程中物體不發生形變
(2)
式中Rtilt為旋轉坐標系和相機坐標系之間的轉換矩陣,Rx和Rz分別為X軸和Z軸的旋轉矩陣。
本文用向量表示[Xc,Yc,Zc,l,w,h,θ]一個三維框,其中,[Xc,Yc,Zc]為相機坐標系下三維框的中心點,[l,w,h]和θ分別為旋轉坐標系[10]下三維框的長寬高和方向角。
由于重力的影響,室內環境中的目標均與接觸面(如地面、桌面等)垂直,即與重力方向(如圖1中的Y軸)平行,因此,三維環境中目標的方向角計算僅涉及到X-Z平面,如圖1所示,可以找到目標表面在接觸面上的3個關鍵點(如圖2中的1,2,3點),計算短邊與Z軸的角度θ作為三維框的初始化方向角。本文根據1點到2點、2點到3點在三維空間中的距離長短分別定義為長邊和短邊。

圖1 方向角計算示意
Depth-RCNN[8]算法研究表明,顏色信息和深度信息是相互補充的。因此,本文在該方法的基礎上得到目標的二維候選框的和實例分割。如圖2,本文對實例分割圖提取三個關鍵點(如圖2中點1,2,3),即:1)c最小中r最大的點;2)r最大中c最小的點;3)c最大中r最大的點。其中,r,c分別代表像素點的行、列值,對所提取的3個關鍵點進行點云計算和旋轉計算后,可對應到旋轉坐標系[10]中。在選取3個關鍵點的過程中,會出現干擾點(如圖2中的點4),根據這類干擾,本文對提取點的算法增加條件限制,在地球重力的影響下,目標的接觸面出現在r更大的地方,因此,本文對關鍵點的尋找設置條件閾值,即僅關注目標分割中行坐標大于閾值rthreshold的點
r0=rmax-rmin,rthreshold=rmax-α·r0
(3)
式中rmax,rmin分別為分割實例中最大的行值和最小的行值,r0為兩者的差值,α代表可調參數,rthreshold代表行閾值,即像素點中的行值小于該閾值的不做考慮。

圖2 初始化方向角信息
圖片中的目標有顯示不全、形狀不一等特點,如果僅依靠上節提取的3個關鍵點進行方向角計算,將存在局限性。因此,本節對上節所提取的關鍵點進行優化。
1.3.1 排除不確定點
若目標在圖片中顯示不全,找到的3個關鍵點如圖3所示,針對這種情況,本文設置條件對3個點的行列值進行判斷,即若找到的3個點中存在2個點的行值為427,或列值為561(圖片尺寸為427像素×561像素),則將方向角初始化為0°,即不進行方向角估計,避免誤差較大的方向角估計影響檢測精度。

圖3 圖片中目標顯示不全的情況
1.3.2 提高關鍵點信息的利用率

(4)


圖4 通過長短邊進行方向角信息計算
1.3.3 修正誤判的關鍵點
查看上述算法得到的關鍵點提取結果,如圖5,算法計算得到的關鍵點如點1,2,3,且點1與點2間的線段為短邊,點2與點3間的線段為長邊。三個點并沒有在目標表面和接觸面上,不符合1.2中對關鍵點的定義。因此,針對誤判的關鍵點,本文增加限制條件對其進行判斷和優化。對理想情況而言,如圖4所示,以短邊和長邊為分界,在線段向行值更大的方向中不存在目標物體的像素點,而圖5中,在式(5)Cthreshold的范圍下,線段向行值更大的方向中存在目標物體的像素點,算法選取其中行值最大的像素點,如點4,并分別對點2和點4、點2和點3做正切計算得到θ5和θ6,若θ5小于θ6,則說明點4在線段向行值更大的方向中,將點3移向點4
C2 (5) 式中C2和C3分別代表圖5中點2和點3的列值。 圖5 修正誤判點 本文遵循Amodal3Det[10]算法的2.5維網絡結構,網絡結構以Fast-RCNN[3]為基礎,將彩色圖和深度圖分別通過卷積網絡計算特征圖,再通過二維候選框和上下文信息候選框從ROI pooling層中提取特征并進行通道融合,最后,根據融合后的特征對初始化的三維框進行回歸。本文的算法在初始化三維框中心點和長寬高的基礎上,增加方向角的先驗信息,其中,方向角范圍為[-π/2,π/2]。 網絡的目的是聯合訓練分類和回歸三維框,損失函數定義 (6) 實驗基于Ubuntu16.04,64位操作系統,訓練平臺為MATLAB 2014a和caffe,硬件配置為Nvidia Titan X。數據來源于優化標簽后的NYUV2數據集[10],數據集中有1 449個RGB-D圖像對,其中,包括795張訓練圖片對和654張測試圖片對,實驗過程中輸入圖像的尺寸為427像素×561像素。訓練過程中,損失函數中的λ設為1,梯度下降的β設為0.9,權值衰減系數為0.000 5,學習率為0.005。 本文使用三維目標檢測通用的三維體積交集(Inter-section over Union,IOU)[13]方法對檢測性能進行評估,與Song等人[14]提出的DSS[14]方法和Deng Z等人[10]提出的Amodal3Det[10]方法類似,本文訓練模型對NYUV2數據集中19個類別的目標進行檢測,并計算平均測量精度(mean average precision score,mAP)以進行性能比較,如表1所示。 表1 NYUV2數據集檢測結果對比 % 本文方法在Amodal3Det[10]方法的基礎上提高了1.3 %mAP,且對盒子、桌子、梳妝臺、沙發等類別有明顯的提高,這是因為在現實世界中,以上幾類物體具有較為方正和立體的外觀,相比臺燈和電視而言,表面幾乎不存在曲面且長短邊信息比較明顯,因此本文方法針對該類目標進行三點提取的過程中所受干擾較小,能找到較為準確的三個關鍵點進行角度計算;門和鏡子等類別在二維圖片中較為扁平,目標的長短邊信息不明顯,因此算法性能不明顯。基于3維信息的三維目標檢測方法DSS[14]主要依賴于深度信息的完整性和準確性,在深度信息噪聲較大和點云空間較為稀疏的情況下效果較差,本文提出的方法是基于2.5維信息的三維目標檢測,僅在初始化信息中利用了點云空間,且對提取的方向角信息進行優化處理,具有一定的魯棒性。 本文方法的最終結果表明,在目標三點信息較為明確的情況下,在Amodal3Det[10]的基礎上,本文方法在保證中心點和長寬高精度的同時對三維框的角度信息進行優化,得到更好的檢測效果。 實驗表明:本文的算法能增加信息的利用率,即解決利用2.5維信息進行三維檢測的過程中方向角信息未得到充分利用的問題,在具有挑戰的室內三維數據集NYUV2中獲得42.2 %mAP。為了使其能應用于現實世界的交互領域,本文提出的方法在計算速度上有待后續提高。
1.4 基于先驗方向角信息的三維目標檢測

2 實驗與討論
2.1 實驗環境與參數設置
2.2 結果與分析

3 結 論