劉 毅,魏東辰,李子豪,嚴(yán)小軍
(1.北京航天控制儀器研究所 工藝技術(shù)研究室,北京 100854;2.北京易航遠智科技有限公司 感知部,北京 100015;3.北京航天控制儀器研究所 測試技術(shù)研究室,北京 100854)
物體六自由度位姿估計技術(shù)主要提供物體在某個參考系中定位定姿的功能。單目相機下物體的六自由度位姿一般指的是物體在相機坐標(biāo)系中的平移(x,y,z)與物體相對于相機坐標(biāo)系的旋轉(zhuǎn)(roll,yaw,pitch)。隨著深度學(xué)習(xí)與機器視覺的融合交叉,傳統(tǒng)物體六自由度位姿估計方法有被基于深度學(xué)習(xí)的方法取代的趨勢[1]。深度學(xué)習(xí)算法作為以數(shù)據(jù)為驅(qū)動的方法,高質(zhì)量訓(xùn)練數(shù)據(jù)對于訓(xùn)練結(jié)果有著積極作用[2]。
目前業(yè)界比較常見的六自由度估計數(shù)據(jù)集[3]有LineMOD、Occlusion、T-LESS、YCB-Video等,其中以LineMOD數(shù)據(jù)集形式為主,包含15種物體,每一種物體有1200張圖像左右,數(shù)據(jù)形式分別為:原始圖像、物體三維模型及尺寸信息、物體位姿可視化圖像、物體掩碼mask圖像、物體相對于相機的旋轉(zhuǎn)矩陣文本信息和圖像對應(yīng)相機內(nèi)參。數(shù)據(jù)集的標(biāo)注并不是一件容易的事,由于二維圖像缺乏深度信息,造成6個自由度中深度、旋轉(zhuǎn)量的人工標(biāo)注差異性大,精度不高。LineMOD數(shù)據(jù)集制作借助RGB-D相機,使用基于三維模型模板的方法,在空間中離散選取視點,通過物體顏色梯度和表面法線特征進行匹配求解位姿,但深度信息中法線不穩(wěn)定,需要復(fù)雜的算法保證。物體六自由度位姿標(biāo)注方法常常基于深度相機或者雙目相機[4],在工業(yè)界或高校等硬件受限的場景中,這些帶有特殊傳感器或者需要精確安裝的成像方式并不容易實現(xiàn)。另外也有通過渲染,將三維模型按照特定的位姿渲染到任意圖像中制作合成數(shù)據(jù)集[3,5],這樣的方法忽略真實場景中的光影信息,缺乏真實感,而且無法生成具有遮擋現(xiàn)象的數(shù)據(jù)集。其次,三維模型往往顏色并不與真實相符,使得合成的數(shù)據(jù)集僅有幾何信息被正確保留。
本文中,指定采集數(shù)據(jù)集的工作場景為室內(nèi)小場景。數(shù)據(jù)集制作流程如圖1所示,位姿關(guān)系解算過程如圖2所示。首先根據(jù)CAD模型加工實物,同時采用均勻下采樣算法處理物體CAD模型表面,得到模型點云;使用單目RGB相機在實驗場景中獲取物體多視角圖像集;然后使用SfM[6]算法獲取拍攝場景恢復(fù)尺度的點云信息,并獲取每張圖像的相機參數(shù);將已獲得的模型點云并放置在SfM獲取的點云空間中,使用ICP(iterative closet point)算法獲得物體點云相對于世界坐標(biāo)系的位姿關(guān)系;最后,通過坐標(biāo)變換獲得每一張圖像中物體相對于相機的位姿,從而獲得物體六自由度位姿估計訓(xùn)練所需的數(shù)據(jù)集。

圖1 數(shù)據(jù)集制作流程

圖2 位姿解算過程
制作六自由度位姿估計數(shù)據(jù)集的輸入是二維圖像,但由于二維圖像缺失深度信息,通過人工標(biāo)注的方法并不可靠。SfM可以通過對輸入圖像集的處理,得到場景點云模型和圖像集中每一張圖像對應(yīng)的相機參數(shù),相機參數(shù)中包含了相機相對于點云空間坐標(biāo)系的位姿。SfM算法的性能對于位姿解算結(jié)果的精度具有重要影響。
SfM算法目前主要分為3種形式:增量式運動恢復(fù)結(jié)構(gòu)(incremental structure from motion,Incremental SfM)、全局式運動恢復(fù)結(jié)構(gòu)(global structure from motion,Global SfM)、分層式運動恢復(fù)結(jié)構(gòu)[7](hierarchical structure from motion,Hierarchical SfM)。在一般情況下,數(shù)據(jù)采集過程通過采用同一相機進行連續(xù)拍攝得到連續(xù)的圖像幀完成。另外,增量式運動恢復(fù)結(jié)構(gòu)在重建過程中不斷使用捆綁調(diào)整進行優(yōu)化場景結(jié)構(gòu),所以選擇精度更高的增量式運動恢復(fù)結(jié)構(gòu)更為合適。增量式運動恢復(fù)結(jié)構(gòu)算法在每輸入一定數(shù)量圖像后會進行一次捆綁調(diào)整(bundle adjustment,BA)優(yōu)化場景結(jié)構(gòu),該方法已經(jīng)在各主流三維重建平臺使用,例如VisualSfM、Bundle、Colmap等。
增量式運動恢復(fù)結(jié)構(gòu)流程如圖3所示,首先利用特征提取、特征匹配和幾何驗證的方法,確定輸入數(shù)據(jù)集中各圖片之間的匹配關(guān)系,并將多個視角具有相同描述子的特征點進行連接;按照幾何關(guān)系準(zhǔn)則選取初始相機對,以第一個相機坐標(biāo)系的原點為坐標(biāo)系原點,通過三角測量方法建立初始三維點云場景;然后輸入新的圖像,進行增量式重建,對于后續(xù)加入的圖像利用多點透視方法(perspective-n-point,PnP)求解圖像對應(yīng)相機的外參,利用三角測量確定點云信息,并根據(jù)已加入場景的視圖,決定是否將當(dāng)前場景不存在的新點云添加到場景信息中。在增量式重建中,相機位姿求解和三角測量是兩個單獨的過程,由于算法具有不確定性,將會帶來不同的誤差,甚至相互影響。為此引入捆綁調(diào)整,通過使重投影誤差最小實現(xiàn)優(yōu)化,從而提高點云信息和相機參數(shù)信息的精度。

圖3 SfM流程
增量式運動恢復(fù)結(jié)構(gòu)最后的輸出是場景點云模型和圖像對應(yīng)的相機參數(shù),點云模型通過多張圖像中匹配的特征點三角測量得到,相機參數(shù)通過相機標(biāo)定與攝影幾何求得,在這個過程中由于錯誤匹配、優(yōu)化算法的不穩(wěn)定性等使得輸出結(jié)果并不理想。為了提高求解的穩(wěn)定性,可以通過兩方面解決:約束的正確性和約束的充分性。約束的正確性表現(xiàn)在特征提取與匹配的高效正確性,SfM算法的假設(shè)條件是物體表面為純漫反射,而在實際數(shù)據(jù)集采集過程中,無法確保物體表面的材質(zhì),當(dāng)物體表面為鏡面反射時,光線照射在鏡面反射區(qū)域會直接反射到相機中,導(dǎo)致出現(xiàn)高光區(qū)域,丟失了物體原本的表面紋理信息,造成特征提取不準(zhǔn)確;對于約束的充分性,可以通過先驗約束、多傳感器融合等方法提高求解的穩(wěn)定性,本文將通過具有先驗信息的標(biāo)定板來提高約束的充分性,實現(xiàn)尺度的恢復(fù)以及更加準(zhǔn)確的位姿估計。
SfM算法首先利用SIFT算法獲取圖像集每一張圖像的特征點和對應(yīng)的描述子,對圖像集中不同圖片的描述子使用L2范數(shù)進行特征匹配,構(gòu)建匹配圖像對,同時設(shè)置圖像對中第一幀圖像的相機坐標(biāo)系原點作為原點建立點云坐標(biāo)系和初始化點云空間。通過增量輸入圖像的匹配以及使用PnP算法解算,獲得不同圖像在該點云坐標(biāo)系下的相機外參。對于新的特征點,使用三角測量進一步擴充點云空間,此時,便可獲得拍攝數(shù)據(jù)集的點云場景模型以及每張圖像對相應(yīng)的相機內(nèi)外參數(shù)。由于三維點云由不具備深度信息的二維圖像恢復(fù)而成,在不采用任何額外處理時,SfM生成的三維點云存在尺度不準(zhǔn)確的問題。此外,相機外參僅能反應(yīng)三維點云所在坐標(biāo)系相對于相機的位姿變換,而不是目標(biāo)物體相對于相機的位姿變換,因此需要在點云中對目標(biāo)物體的位姿信息進行提取,得到目標(biāo)物體相對于點云坐標(biāo)系的坐標(biāo)變換。為了提高數(shù)據(jù)集的標(biāo)注精度,并與LineMOD、YCBVideo的數(shù)據(jù)標(biāo)注格式保持一致,需要對SfM算法進行改進,并對結(jié)果做進一步處理。
在三維重建過程中,由于場景中存在高光現(xiàn)象、動態(tài)物體等,使得圖像特征提取不準(zhǔn)確,并產(chǎn)生錯誤的特征匹配,不利于后續(xù)三角測量、BA優(yōu)化等過程,所以需要額外的措施來增加算法的魯棒性。對于工業(yè)室內(nèi)可控場景,可以避免動態(tài)物體的存在,但由于光照影響,高光邊緣處會產(chǎn)生錯誤的特征匹配和錯誤的顏色信息,使得重建結(jié)果周圍存在白色噪點。
為了獲得計算復(fù)雜度低、泛化能力強、魯棒性好的高光檢測閾值算法,采用無高光(Specular-free,SF)模型[8]對朗伯體金屬表面建立表面反射模型進行高光區(qū)域檢測。
假設(shè)RGB相機像素值與光強成正比,物體表面光反射由漫反射與鏡面反射線性組合而成,將物體表面在RGB圖像中的色彩分解成漫反射和鏡面反射兩部分,對于每一個獨立反射部分,都可分解為光譜分量與幾何分量,利用圖像RGB三通道值信息,建立SF模型
Vi(p)=α(p)Vb,i+β(p)Vs,i
(1)
VSF,i(p)=Vi(p)-Vmin(p)=α(p)(Vb,i-Vb,min)
(2)
其中,Vi(p) 表示像素p的i通道響應(yīng)值;α(p)、β(p) 分別是漫反射因子、鏡面反射因子;Vb,i(p)、Vs,i(p) 分別是材料本身顏色與光源顏色;這里假設(shè)光源為白色光板,即響應(yīng)值為255常量,那么得到VSF,i(p) 不再包含鏡像反射因子。此時在SF圖像與原始圖像漫反射分量SF圖像的p像素處,獲得的相差一個偏差值τ(p)=Vmin(p)-β(p)Vs,i。 為了使閾值在圖像中具有泛化能力,設(shè)定閾值為
(3)
其中,μv和σv是所有像素Vmin(p)的均值和方差,η與背景圖像對比度、圖像的反射程度相關(guān)。
SFM算法中經(jīng)常采用尺度不變特征(scale-invariant feature transform,SIFT),該特征提取方法是目前最復(fù)雜的特征檢測和描述方法之一,具有很強的探索性,例如colmap采用的DSP-SIFT。采用SIFT特征點檢測的圖像輸入是單張圖像灰度圖,然后進行下采樣得到尺度縮放后的若干灰度圖構(gòu)成尺度空間。由于在圖像尺度縮放過程中,高光區(qū)域的像素值發(fā)生變化,所以對不同尺度空間的圖像進行高光區(qū)域檢測。
采樣后的灰度圖通過不同標(biāo)準(zhǔn)差的高斯核函數(shù)對其進行采樣獲得圖像金字塔,并在每個尺度空間的相鄰圖像層做差得到高斯差圖像,最后利用相鄰高斯差圖像進行極值求解獲得初始關(guān)鍵點。對于單張獲得的初始關(guān)鍵點,將特征點中高斯函數(shù)差值具有低對比度特征點進行篩除。由于高亮處像素處對比度較高,所以很容易被識別為特征點并保留。
對于圖像中的高光區(qū)域,a鏡面反射使得物體表面的顏色信息、紋理信息丟失,甚至改變物體表面信息。對于圖像信息丟失處,Criminisi算法可以利用周圍近似像素進行近似補償,但這樣產(chǎn)生的特征信息并不具有參考意義,甚至導(dǎo)致錯誤匹配,所以對于高光區(qū)域檢測到的特征采取直接過濾處理。
通過對圖像進行特征提取,獲得SIFT特征點進行圖像匹配,將具有相同描述子的特征點歸納到統(tǒng)一的集合中。為了獲得場景的點云模型,與每一張圖像對應(yīng)相機的參數(shù),需要對前端獲得的特征信息進行后端處理。
在六自由度位姿估計數(shù)據(jù)集中,為了使用物體位姿信息將三維標(biāo)定框正確錨住物體,則必須知道物體的原尺度以及在圖像中的尺度信息,對三維重建點云空間恢復(fù)尺度[9]。對于小場景的尺度恢復(fù),采用在場景中布置先驗尺度信息標(biāo)定板的方法,首先對圖像中出現(xiàn)的特定標(biāo)志點提取像點信息,利用三角測量得到像點對應(yīng)的物點信息,然后使用先驗的尺度信息來標(biāo)定物點之間的距離
xi×TiX=0i=1,2,…,n
(4)
(5)
(6)
式中:T為相機外參組成的旋轉(zhuǎn)矩陣;i為參與三角測量的圖像編號;j為標(biāo)定板上標(biāo)志點對應(yīng)的三維點;c為標(biāo)志點之間的先驗尺度信息。
在增量重建過程中,添加的圖像會進行PnP和隨機抽樣一致性處理,將得到的新特征信息進行匹配與重建。為了使得位姿數(shù)據(jù)精度提高,則在BA過程加入先驗物點與像點對應(yīng)關(guān)系的約束,如式(7)所示

(7)

在SfM算法中,除特殊規(guī)定外,世界坐標(biāo)系的原點與選定初始化點云的第一幀圖像相機光心重合,得到的世界坐標(biāo)系位置過于隨機。為了方便后面對點云進行旋轉(zhuǎn)、移動,利用sim(3)變換將在初始化點云過程中將世界坐標(biāo)系轉(zhuǎn)化到標(biāo)定板特定位置處,并在之后添加圖像進行增量重建過程中,基于此坐標(biāo)系進行三角測量與BA優(yōu)化。
經(jīng)過三維重建之后,可以得到數(shù)據(jù)集采集場景的點云信息和每一張圖像對應(yīng)的相機參數(shù)。然而SfM得到求解信息為每個圖像的相機內(nèi)外參數(shù)和點云空間模型,無法直接獲得目標(biāo)物體點云在點云空間中的位姿信息。為了獲得該信息,需要將物體點云與三維模型下采樣得到的模型點云進行配準(zhǔn)。
目前已經(jīng)獲得固定坐標(biāo)系的點云空間,根據(jù)目標(biāo)物體CAD模型的尺寸信息,可以很容易地設(shè)定PCL的PassThrough濾波器數(shù)值,將xyz軸固定距離范圍之外的點直接過濾,為了降低噪點,根據(jù)點云歐式距離計算將鄰近點數(shù)目較少的點過濾,從而將目標(biāo)物體在點云空間中分割出來。將預(yù)先準(zhǔn)備的三維模型均勻下采樣得到模型點云,導(dǎo)入到處理后的點云空間坐標(biāo)系中,使得模型點云的中心與點云空間坐標(biāo)系原點重合,其標(biāo)定姿態(tài)的xyz軸與點云空間坐標(biāo)系xyz軸平行。利用ICP點云配準(zhǔn)算法將三維重建的場景模型配準(zhǔn)到三維點云模型中,獲得三維重建模型與世界坐標(biāo)系之間的旋轉(zhuǎn)矩陣。
小場景下點云數(shù)量較少,使用ICP點云配準(zhǔn)算法[10]進行三維重建點云與三維模型點云之間的配準(zhǔn)。其算法思想與SfM類似,首先對點云進行特征點提取與特征描述,然后找到相似特征確定數(shù)據(jù)的重疊部分。得到一組配準(zhǔn)后的3D點后,利用以下等式估算變換矩陣
X={x1,x2,…,xn},X′={x′1,x′2,…,x′n}
(8)
?i∈[1,n],xi=Tx′i
(9)
(10)
對于點云提取特征,ICP算法解決的是一個高維的非線性優(yōu)化問題,容易陷入局部最優(yōu)解,所以需要讓配準(zhǔn)的兩個點云盡可能過濾噪點,并具有良好初始位置關(guān)系。
對于物體位姿,一般使用SE(3)來表示,對于目標(biāo)物體在相機坐標(biāo)系中的位置使用 {x,y,z} 表示,而對于目標(biāo)物體的旋轉(zhuǎn)表達有兩種形式,第一種是物體相對于自身坐標(biāo)系的旋轉(zhuǎn),第二種是物體相對于相機坐標(biāo)系的旋轉(zhuǎn)。前者經(jīng)常使用在自動駕駛3D目標(biāo)檢測,后者用在機械臂抓取、增強現(xiàn)實等領(lǐng)域。另外,深度學(xué)習(xí)參數(shù)量龐大,為減小不必要的運算,會采用感興趣區(qū)域處理機制。在對物體位姿估計之前采用平面檢測,提取物體二維標(biāo)定框區(qū)域,這就導(dǎo)致物體以相同輪廓出現(xiàn)在圖像不同位置時,對應(yīng)的旋轉(zhuǎn)量不同,這對于數(shù)據(jù)驅(qū)動的深度學(xué)習(xí)算法是不能接受的,所以使用目標(biāo)物體相對于物體自身坐標(biāo)系的表達方式更適合基于檢測后的深度學(xué)習(xí)算法[11];而基于全圖信息的深度學(xué)習(xí)算法,可以直接采用物體相對于相機坐標(biāo)系的旋轉(zhuǎn)表達。在六自由度位姿估計中,最后獲得的數(shù)據(jù)應(yīng)是目標(biāo)物體相對于相機的位姿,所以第一種表達方式需要在神經(jīng)網(wǎng)絡(luò)解算之后,添加攝影幾何進行求解最終位姿[12]。
為了獲得物體的三維標(biāo)定框,需要計算物體相對于相機的位姿。目前,通過點云配準(zhǔn)獲得物體相對于世界坐標(biāo)系的旋轉(zhuǎn)矩陣、通過SfM獲得每一張圖像相機相對于世界坐標(biāo)系的旋轉(zhuǎn)矩陣,那么通過坐標(biāo)變換就很容易得到物體相對于每一張圖像相機的旋轉(zhuǎn)矩陣,即物體相對于相機的位姿
(11)
對于物體的三維標(biāo)定框,可以在模型點云初始位置處,確定點云匹配前模型三維標(biāo)定框的8個頂點;然后利用Rco和tco將頂點在圖像中的位置求出,按順序連接便得到可視化三維標(biāo)定框。
在正常光照的室內(nèi)場景中對奶盒進行拍攝,采用Realsense D455相機單目模式,采集圖像大小為1280*800像素,相機參數(shù)為自動,選擇實驗數(shù)據(jù)集對象為奶盒;采用大小為5×4、棋盤格邊長為50 mm的ChArUco圖案作為棋盤格標(biāo)定板,以在恢復(fù)三維點云尺度信息時作為先驗信息;數(shù)據(jù)采集過程中相機與物體距離保持在0.5 m左右,進行環(huán)繞拍攝,分別制作無遮擋、有遮擋的數(shù)據(jù)集。在有遮擋的數(shù)據(jù)集中的實例級語義圖,需使用Label Studio等工具手工標(biāo)注,位姿數(shù)據(jù)仍可以快速自動獲得。
算法改進基于colmap框架,設(shè)置相機模型為已知相機內(nèi)參模型,輸入拍攝的圖像集進行三維重建;利用本文提出改進方法前后對比如圖4所示,經(jīng)過改進后所得到的點云噪點減少,同時點云空間坐標(biāo)系固定在標(biāo)定板上;將物體三維模型下采樣為點云模型,由于點云空間坐標(biāo)系與物體點云具有較好的初始位置關(guān)系,則可以通過手動調(diào)節(jié)為ICP算法提供一個優(yōu)秀的初始值;使用ICP算法,便獲得物體點云在點云空間中的精確位姿。已知每一張圖像在點云空間的相機外參和物體相對于空間的位姿,利用坐標(biāo)變換就得到物體相對于相機的位姿關(guān)系。

圖4 改進前后的點云模型
Blender是一款開源的三維圖形圖像軟件,提供建模、渲染等功能,支持python控制臺輸入與腳本運行,結(jié)合后臺終端可以激活python虛擬環(huán)境,從而使用更多的擴展包。為了檢驗位姿的正確性和獲得mask數(shù)據(jù),使用Blen-der[13]軟件的python控制端口,利用Blender中的bpy庫Opencv仿射變換將模型渲染到圖像上。將圖像集和圖像對應(yīng)的相機參數(shù)導(dǎo)入Blender中,設(shè)定內(nèi)置相機參數(shù),可以獲得圖像拍攝虛擬場景。由于不同的數(shù)據(jù)集或者計算機視覺算法庫對坐標(biāo)系的定義不同,所以需要注意blender空間坐標(biāo)系以及位姿參數(shù)設(shè)置與SfM得到結(jié)果之間的轉(zhuǎn)換關(guān)系。三維模型導(dǎo)入放置在世界坐標(biāo)系原點處,將先前ICP得到的旋轉(zhuǎn)矩陣轉(zhuǎn)化成Blender參數(shù)的表示方式并輸入,使三維模型在點云空間中與物體點云重合如圖5所示。使用之前求得的相機模型將模型點云渲染到空白圖片中,通過設(shè)定像素閾值獲得mask文件,利用python控制臺擴展獲得其它文件。

圖5 blender渲染
利用本文提出方法獲得的無遮擋可視化數(shù)據(jù)集如圖6所示、有遮擋可視化數(shù)據(jù)集如圖7所示。

圖6 數(shù)據(jù)集可視化,從上往下分別為原圖、三維標(biāo)定框、mask

圖7 遮擋數(shù)據(jù)集可視化,從上往下分別為原圖、三維標(biāo)定框、mask
本文采用EfficientPose[14]作為檢測算法,EfficientPose屬于直接回歸六自由度位姿估計算法,使用平面圖像為輸入,通過神經(jīng)網(wǎng)絡(luò)直接回歸得到物體六維姿態(tài)。EfficientPose位姿估計算法是在EfficientDet[15]二維檢測算法基礎(chǔ)上添加平移頭回歸網(wǎng)絡(luò)和旋轉(zhuǎn)頭回歸網(wǎng)絡(luò),在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中可以基于EfficientDet已訓(xùn)練好的二維檢測模型進行訓(xùn)練,其網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。選擇phi=0的EfficientNet[16]神經(jīng)網(wǎng)絡(luò)框架,訓(xùn)練過程中采用tensorflow的Adam優(yōu)化器,學(xué)習(xí)率設(shè)置為1e-4,訓(xùn)練500個迭代周期。為加速訓(xùn)練,模型訓(xùn)練使用兩塊NVIDIA RTX2080Ti GPU。

圖8 神經(jīng)網(wǎng)絡(luò)框架

重投影誤差指將目標(biāo)物體的三維模型點云作為輸入,利用物體相對于相機的位姿信息將模型頂點投影到圖像平面上,真值與估計值之間誤差利用下式確定
(12)
式中:M為點云的集合,K為相機參數(shù)。由于尺寸縮放,齊次坐標(biāo)在計算L2范數(shù)之前先歸一化處理。
平均距離[17](3D average distance,ADD)是指目標(biāo)物體的三維模型點云作為輸入,通過位姿變換預(yù)測值與位姿變換真值分別求得變換后的點云坐標(biāo),計算所有點的平均距離,如下所示
(13)
式中:R′為估計得到的旋轉(zhuǎn)量,t′為估計得到的平移量。當(dāng)ΔADD小于模型直徑的10%時,判定估計的姿態(tài)是正確的。對于對稱性物體,如果表面紋理相同,則在特定角度下會有對稱解存在,而平均距離考慮的是唯一解。為了能夠處理對稱解的情況,引入ADD(-s)準(zhǔn)則[18],其計算式為
(14)
基于Colmap框架對特征提取與后端處理進行改進,改進前后得到點云的均方誤差見表1。

表1 改進前后點云重投影誤差
通過實驗結(jié)果可知,對高光處錯誤特征點處理,可以提高約束的正確性;通過添加充分的先驗約束,提高約束的精度。

與經(jīng)典機器視覺基于特征點幾何關(guān)系算法有較大區(qū)別,EfficientPose網(wǎng)絡(luò)采用基于神經(jīng)網(wǎng)絡(luò)的直接回歸算法,從圖像像素中學(xué)習(xí)到位姿估計的規(guī)律,這就造成位姿估計過度依賴于圖像像素信息,造成泛化能力低,當(dāng)場景發(fā)生較大變化時,算法失效。本實驗背景為小場景中物體的位姿估計,場景變化不明顯。分別在有標(biāo)定板、無標(biāo)定板的圖像中測試?yán)帽疚挠?xùn)練得到EfficientPose網(wǎng)絡(luò),其結(jié)果如圖9所示。

圖9 有無標(biāo)定板位姿估計對比
在相同的參數(shù)設(shè)置下,通過實驗發(fā)現(xiàn),與LineMOD標(biāo)準(zhǔn)數(shù)據(jù)集相比,我們通過單目RGB相機獲得的數(shù)據(jù)集,同樣可以訓(xùn)練神經(jīng)網(wǎng)絡(luò),并獲得較好的位姿估計效果,結(jié)果見表2;另外,數(shù)據(jù)集的大小與數(shù)據(jù)集采集時間相關(guān),后續(xù)處理工作量與數(shù)據(jù)集采集時間無關(guān),所以可以以更簡單的方法獲取大量數(shù)據(jù)集。

表2 神經(jīng)網(wǎng)絡(luò)訓(xùn)練在相同環(huán)境下的結(jié)果
本數(shù)據(jù)集是用于六自由度位姿估計的訓(xùn)練的數(shù)據(jù)集,如表3所示與現(xiàn)在的數(shù)據(jù)集制作方法相比有以下區(qū)別:首先,在真實場景中采集數(shù)據(jù),僅通過單目RGB相機,利用SfM、ICP等算法,以更簡單的方法實現(xiàn)對大數(shù)量的圖像集進行六自由度位姿快速標(biāo)注;獲取到的數(shù)據(jù)集反映了目標(biāo)在場景中真實的位姿、光影效果、表面顏色紋理、物體遮擋等信息;其次,使用具有先驗信息、特征信息魯棒性強的標(biāo)定板輔助定位,在有遮擋場景、弱紋理物體、對稱物體,也可以建立數(shù)據(jù)集。

表3 真實場景中物體位姿估計數(shù)據(jù)集對比
本文詳細(xì)敘述了基于SfM的單目RGB六自由姿態(tài)估計數(shù)據(jù)集的創(chuàng)建過程、SfM的前端針對高光區(qū)域特征點的設(shè)計、后端增加先驗約束處理和數(shù)據(jù)集數(shù)據(jù)的獲得方式,最后使用數(shù)據(jù)集訓(xùn)練EfficientPose來驗證方法的有效性和可行性。實驗結(jié)果表明,與現(xiàn)有制作方法相比,本文方法在相同有效性下,降低對設(shè)備和場景布置的要求,且針對有遮擋的情況具有很強的魯棒性。
由于場景中布置標(biāo)定板,使得神經(jīng)網(wǎng)絡(luò)學(xué)到的特征中包含標(biāo)定板顯著特征,從而降低模型的泛化能力,因此未來需對不存在顯著特征的先驗信息進行研究。