李聰亮 孫士杰 張朝陽 劉澤東 雷 琪 宋煥生
(長安大學信息工程學院 西安 710064)
(congliangli@chd.edu.cn)
目標位姿估計就是估計目標基于相機坐標系的位置及姿態,通常情況下我們分別使用3 個參數來表示其位置及姿態,因此該類問題也被稱為6DoF(six degree of freedom)估計的問題,它是計算機視覺[1]與計算機圖形[2]研究領域中的重要問題和熱點問題之一[3].精確的3 維位姿估計方法對于實現人機交互[4]、移動機器人[5]等應用具有十分重要的意義.移動機器人,尤其是無人車,為了更好地感知復雜環境并完成特征任務,周圍目標的位姿獲取[6]不可或缺.
根據設備的不同,位姿標注方法可被劃分為3 類:基于RGB-D 相機[7]、基于雷達[8]和基于RGB 相機[9]的目標位姿標注方法.基于RGB-D 相機的位姿標注方法大多依賴散斑或ToF(time of flight)方式獲取深度,導致其感知距離受限(≤10 m)且會受到自然光照條件的影響,不適合在室外使用[10];基于雷達的位姿標注方法通常需要結合相機,才能獲取場景的顏色信息,設備造價較高;基于RGB 相機的位姿標注方法不僅適用范圍靈活(有些長焦相機的拍攝范圍通常在100~300 m,甚至更遠1 km[11]左右),而且采用的設備成本低廉,但是該類方法較難消除透視投影造成的信息損失.當前6DoF 估計問題的研究多采用RGB-D 相機所采集的數據,為獲取準確的位姿,大多依賴于場景空間較小的數據集,如LineMod[12],YCB Video[13]等.
為克服相機的透視投影所帶來的信息損失,本文結合真實3 維模型庫,提出了一種基于孿生空間的單目圖像目標位姿一體化標注方法.該方法僅需借助于單幅RGB 圖像與3 維模型,便可估計出RGB 圖像中每個目標的位姿.相比于使用雷達、RGB-D 相機,本文方法僅使用成本低廉、廣泛布設的單目RGB 相機,數據獲取更容易,可以進一步提升6DoF估計研究成果的實用性.
基于RGB-D 相機、基于雷達和基于RGB 相機的位姿標注這3 種方法因可觀測距離、觀測精度等因素的差異,各有不同應用.
通過RGB-D 相機來捕獲目標深度信息,進而融合深度信息與圖像紋理信息,對目標6DoF 進行還原,從而獲取目標的6DoF.該種方法在BOP(benchmark for 6D object pose estimation)挑戰賽中應用廣泛,如:在LM(LineMod)[12],YCB-Video[13],LM-O(Linemod-Occluded)[14],RU-APC(Rutgers APC)[15],T-LESS[16],YCB-V HB(HomebrewedDB)[17]等數據集中的應用.同時,由于目前主流的位姿估計數據集大多是通過RGB-D 相機構建而來的,也導致當前該領域的方法大多數基于RGB-D 相機.然而由于RGB-D 相機所存在的固有劣勢,其拍攝范圍在10 m 以內,雖然可以滿足流水線機械臂抓取[13]等空間范圍較小的應用,但是無法應用于無人駕駛、航天在軌機械臂、增強現實等場景空間范圍較大的領域.
基于雷達的6DoF 標注的研究起步較晚,目前多使用無人駕駛數據集KITTI[18]中的3 維目標檢測衍生出來的數據集.Slinko 等人[19]利用KITTI 數據集獲取深度信息,對交通目標的6DoF 進行估計,相比于其他方法,該方法的應用場景進一步擴大,但是其精度相比于基于RGB-D 相機的方法略差.此外,由于雷達的價位較高[20],一定程度上限制了其大規模的應用.
基于單目RGB 相機的目標位姿標注方法主要分為基于單目RGB 視頻或連續幀和基于單目RGB 圖像的目標位姿標注方法.
基于單目RGB 視頻或連續幀的目標位姿標注方法是通過視場中目標整體運動過程來克服相機透視投影的信息損失,并通過時間維度信息來彌補空間信息.其中趙麗科等人[21]通過單目序列圖像得到運動目標輪廓集合,并構建不同位姿運動目標的模擬圖像,通過模型圖像輪廓與真實圖像輪廓構建距離代價函數,進而解算運動目標位姿.袁媛等人[22]通過對目標運動過程中的編碼特征點進行正交迭代解算算法完成目標物體位姿測量.An 等人[23]通過SFM(structure from motion)的方法對目標進行3 維建模,進而獲取目標的形態.該方法應用較為簡單,然而需要連續的相機拍攝過程,并且運算過程較為復雜,較難大規模適用于目標位姿標注過程.
基于單目RGB 圖像的目標位姿標注方法是當前位姿標注研究的難點之一.目前僅存在基于RGB 圖像的目標姿態標注方法[22]和目標深度估計方法.Zhao 等人[24]通過深度學習的方式對單目圖像中目標深度進行估計,得到目標深度.Xiang 等人[25]利用目標檢測網絡和圖像投影的逆過程,實現了目標姿態標注,并提出了Objectnet3D 的目標姿態數據集.然而文獻[22-25]所提的方法雖然分別實現了目標真實空間深度和姿態的獲取,但其獲取過程復雜,且無法一體化獲取目標位姿,因此當前急需一種目標位姿一體化標注方法.
為滿足當前6DoF 估計領域的拍攝范圍需求和大規模應用的可能性,本文設計了一種通過單目RGB圖像和目標真實3 維模型估計位姿的方法,以一體化獲取單目RGB 圖像中目標的真實位姿.
本文利用單目相機拍攝的RGB 圖像與目標的3維模型,在已知相機焦距f的條件下使用相機的小孔成像原理,通過改變目標模型在3 維空間中的位置,使其與RGB 圖像中對應目標重疊,以求解目標6DoF,這種求解目標的6DoF 的方法,本文稱為基于孿生空間的單目圖像目標位姿一體化標注方法.
圖1 為本文方法的原理示意圖,一次投影圖為真實世界中相機拍攝過程,二次投影圖為本文孿生空間中虛擬相機拍攝過程.為方便后續分析,設相機焦距為f,相機拍攝圖像的寬和高分別為width和height,可得水平視場角和垂直視場角分別為

Fig.1 Schematic diagram of our method principle圖1 本文方法的原理示意圖
圖1 中涉及到4 個坐標系,分別為相機坐標系(XcYcZc坐標)、圖像像素坐標系(UV坐標)、世界坐標系(XwYwZw坐標)和目標物體坐標系(XoYoZo坐標).為便于分析,設定世界坐標系坐標軸Xw,Yw與相機坐標系坐標軸Xc,Yc平行且方向相同,Zw,Zc位于同一直線且方向相反,其中Zc軸為相機光軸;設世界坐標系原點Ow與相機坐標系原點Oc距離為d;目標物體坐標系原點位于目標中心點,Zo軸垂直向上,且與Xo軸和Yo軸成右手坐標系.需要注意的是,二次投影過程中的平面I1即為一次投影過程中的圖像平面I1.為方便計算,設定相機水平視場角投射到世界坐標系XwOwYw平面時,其距離為dwidth=1 m,則垂直視場角投射到世界坐標系XwOwYw平面時,其距離為dheight=則此時世界坐標系原點Ow與相機坐標系原點Oc的距離為
將式(1)和dwidth=1 m帶入式(3)得到
假設圖像坐標系上目標位置存在某點p=(u,v,1),該點在相機坐標系、世界坐標系、目標物體坐標系的對應點分別為pc=(xc,yc,zc,1),pw=(xw,yw,zw,1),po=(xo,yo,zo,1).
由相機焦距為f,不考慮相機畸變,則相機坐標系到圖像像素坐標系的轉化關系為
其中cx和cy為圖像中心點坐標,α 為尺度因子.
考慮到相機和目標的基準坐標系均為世界坐標系,因此目標物體坐標系到圖像坐標系的變換則轉換為物體坐標系經由世界坐標系、相機坐標系,最終轉換到圖像坐標系.由于世界坐標系僅是為方便表述而引入的中間變量,其位置對整體轉換過程沒有影響,因此可固定世界坐標系的位置.
為方便討論,在坐標系轉換過程中,先考慮位移,后考慮旋轉.假定目標在世界坐標系中的位置為則由目標物體坐標系到相機坐標系的位移向量為
假定目標物體坐標系分別繞世界坐標系X,Y,Z軸的旋轉角度分別為rX,rY,rZ,則目標物體坐標系到世界坐標系的旋轉矩陣為
可得
由式(5)(6)(8)可得,目標物體坐標系到圖像像素坐標系的轉化關系為
由式(6)(8)可知,矩陣R含有9 個未知量,矩陣T含有3 個未知量,同時式(9)中自身包含1 個未知量α,因此式(9)中共有13 個未知數.假定已知2 維圖像和3 維空間某個點的對應關系,代入式(9)可得到3個方程組,即: 一個3 維空間中的點與2 維圖像中的對應點可提供3 個方程,因此若想求得唯一轉換關系,則至少需要5 個不共面的對應點.考慮到固定大小的3 維物體目標與圖像中已知的投影有無數個對應點,因此通過固定大小的非對稱3 維物體目標在固定焦距和視場角的相機視角下,若圖像中投影固定,則有唯一位姿.
由2.1 節可知,若固定大小的非對稱3 維目標在固定焦距和視場角相機中的投影圖像與空間目標存在至少5 個不共面的對應特征點,則可依據式(9)求得13 個未知數,且解唯一,本文稱該投影過程唯一.對于對稱目標,需特殊處理策略,本文不作討論.
考慮到在真實空間中較難在同場景、同位姿情況下重構出目標一次投影,因此,本文通過重構同焦距、同視場的孿生相機及目標來構建孿生空間.通過在孿生空間中放置虛擬相機和一次投影圖,并將與目標一致的3 維模型也放置其中.其中,3 維模型的投影過程稱為“二次投影”,虛擬相機成像圖為二次投影圖,通過平移旋轉,使得3 維模型在虛擬相機成像的目標與圖像目標吻合,則此時3 維模型的位姿便可等價于該目標的位姿.具體有3 個步驟.
步驟1.孿生空間生成.本文選擇使用VTK[26]工具進行初始孿生空間生成,同時在世界坐標系(0,0,d)的位置放置相機,相機焦距為f,水平視場角和垂直視場角分別為 αwidth和 αheight,相機方向即為相機光軸方向,與世界坐標系Z軸反向.
步驟2.視場范圍內放置一次投影圖像.考慮到場景信息不足,無法在空間中孿生目標周圍環境,同時為方便比較一次投影圖像中的目標與二次投影圖像中的目標,以孿生空間世界坐標系的Ow點為圖像中心,U軸與Xw軸平行,V軸與Yw軸平行,在XwOwYw平面內放置一次投影圖,如圖1 所示.
步驟3.模型二次投影.在孿生空間相機的視場范圍內添加目標模型,并將模型在孿生空間中進行平移和旋轉.此時,觀察孿生空間相機拍攝結果,當目標模型二次投影結果與圖像中真實空間目標一次投影結果完全相同時,通過VTK 工具得到目標3 維位姿.
考慮到6DoF 標注領域目前暫無基于單目RGB圖像的目標位姿標注方法,無法進行同領域對比實驗,因此為證明本文方法的有效性,本文與基于RGBD 和基于雷達的方法標注的精度進行對比,以證明本文方法的正確性和有效性.
為驗證本文孿生3 維空間的目標二次投影方法在6DoF 獲取的有效性,基于本文方法,使用Python3.8,VTK9.0 和PyQt5.15 制作標注軟件——LabelImg3D①https://github.com/CongliangLi/LabelImg3D,并在Windows 系統上進行精度測試.
在測試時,需要已知當前場景相機的焦距或單個視場角以及真實物體的3 維模型,同時考慮VTK加載問題,模型為obj 文件.
P-LM 是一個由LineMod 數據集整理后得到的數據集,共包含15 個類別,每個類別均包含深度圖、掩碼圖和RGB 圖像,每幅圖像的內參矩陣已知,且每個類別均給出ply 模型及模型大小.KITTI 數據集是一個包含市區、鄉村和高速公路等場景采集的真實圖像數據,本文選擇與其3 維目標檢測數據進行精度對比,其訓練集共包含7 481 張圖像,其標簽由car,van,truck,pedestrian,pedestrian(sitting),cyclist,tram,misc組成.
使用LabelImg3D 對P-LM 和 KITTI 這2 個數據集的圖像進行標注,標注結果如圖2 和圖3 所示.為方便進行精度測試,本文分別從P-LM 和KITTI 數據集中選擇每個類別中的200 張進行標注并測試.同時考慮到KITTI 數據集中并沒有給出真實物體的3 維模型,因此根據KITTI 給出的目標長、寬、高及類別制作5 個類別的平均模型進行標注.

Fig.2 Schematic diagram of the labeling results of the indoor dataset圖2 室內數據集標注結果示意圖
6DoF 估計主要有6 個參數,即x,y,z,rX,rY,rZ.考慮到,若位移誤差僅使用一階范數,則未充分體現出與相機的距離對誤差產生的影響,因此本文提出6 個自由度的精度進行指標評價,參考高斯距離,使用 ?X,?Y,?Z來描述基于X,Y,Z方向上的精度,并使用來描述在RX,RY,RZ方向上的精度.其定義為:其中xg和為X方向上的位移和旋轉的真值,xl和為X方向上的位移和旋轉的標注結果.
為了進一步說明本文方法的有效性和精確性,將其與P-LM 數據集和KITTI 數據集進行對比實驗.
3.4.1 基于P-LM 數據集的實驗
將從P-LM 數據集中按照類別隨機抽取的圖片進行標注,結果如圖4 所示,并將其與其原始標簽對比,結果如表1 所示.由表1 可知,使用本文方法標注的結果,雖然因物體類型的不同精度有所變化,但是其位移精度均在0.95 以上,旋轉精度均在0.90 以上,其精度基本滿足實際獲取需求.

Table 1 Comparative Experiment of P-LM Dataset表1 P-LM 數據集的對比實驗

Fig.4 Example diagram of LabelImg3D labeling P-LM圖4 LabelImg3D 標注P-LM 的實例圖
3.4.2 基于KITTI 數據集的實驗
將從KITTI 數據集中抽取的圖片按照類別進行標注,結果如圖5 和圖6 所示,并與其原始標簽進行對比,結果如表2 所示.由表2 可知,位移精度對比中Tram 類型位移精度較差,旋轉精度對比中Pedestrian類型精度較差,其余位移精度均可達0.95 以上,旋轉精度可達0.85 以上.

Table 2 Comparative Experiment of KITTI Dataset表2 KITTI 數據集的對比實驗

Fig.5 Example diagram of LabelImg3D labeling KITTI圖5 LabelImg3D 標注KITTI 的實例圖
對Tram 類型進行對比分析,對比過程如圖7 所示.由圖7 可知,由于標注過程中使用的模型為平均模型,而對于Tram 而言其長度相差較大,這就導致在使用平均模型時無法使用模型本身的特征點對原圖中Tram 的特征點進行準確表述,尤其是當存在一些極端長度時,會出現標注誤差較大的問題.

Fig.7 Comparative results of Tram圖7 Tram 對比結果圖
對Pedestrian 類型進行對比分析,對比過程如圖8所示.由圖8 可知,由于人體在運動過程中的動態特性無法使用一個固定狀態的模型去描述,這導致旋轉標注結果與真值相差較大,因此在使用時僅可用于剛體3 維姿態的描述.

Fig.8 Comparative results of Pedestrian圖8 Pedestrian 對比結果圖
本文提出了基于孿生空間的單目圖像目標位姿一體化標注方法,此方法僅利用單目RGB 圖像,結合與剛體目標一致的3 維模型,重構出與圖像一致的孿生空間,并對3 維模型進行二次投影,最終得到目標的3 維位姿.實驗表明,本文方法可在已知相機焦距的基礎上利用圖像和3 維模型,即可一體化獲取精度接近RGB-D 相機和雷達采集的結果.
需要注意的是,本文方法存在一定的局限性:一方面該方法受限于3 維模型與真實物體的一致性,若存在較大的尺寸差異,需構建出多個不同尺寸的3 維模型;另一方面,該方法無法處理非剛體目標.未來,我們的主要工作將側重于在非剛體約束下的目標位姿及形態高參估計.
作者貢獻聲明:李聰亮負責論文選題、論文實驗、代碼驗證與測試、論文撰寫;孫士杰負責論文選題、方法構思與設計、論文修改;張朝陽負責理論支撐、方法理論完善、文稿修改及論文定稿;劉澤東負責資料查詢、代碼實驗測試及數據標注;雷琪負責資料解釋、論文實驗、代碼實現與測試;宋煥生負責資料解釋、文稿修改及論文定稿.李聰亮和孫士杰為共同第一作者.