葉 勤, 劉 行, 姚亞會, 桂坡坡
(同濟大學 測繪與地理信息學院, 上海 200092)
便攜式RGB-D(彩色-深度)傳感器因廉價、便攜等特點被廣泛應用于計算機視覺、同時定位與建圖(simultaneous localization and mapping, SLAM)及室內小場景建模等領域,目前針對便攜式RGB-D深度傳感器的研究,側重于點云配準、建模算法研究與改進;對其自身的深度測量精度以及重建場景模型精度的定量評價分析很少,一般只基于視覺的逼真程度進行定性分析.與高精度三維激光掃描儀(light detection and ranging, LiDAR)等專業(yè)量測設備不同,便攜式RGB-D傳感器研發(fā)是為了游戲并未考慮精確量測的應用.現LiDAR儀器獲取的點云精度都有具體的精度指標,但針對RGB-D傳感器深度測量質量的定量分析較少,且已有的針對Kinect相機的相關研究多集中在1.0的結構光深度獲取方式[1-2].文獻[2]通過實驗分析了物體不同表面狀況(光滑、毛糙)下飛行時間測距法(time of flight, ToF)深度測量的精度,而對采用ToF法的Kinect 2.0[3]在不同的顏色、材質情況下其深度測量精度的變化情況未有研究.這對將便攜式RGB-D傳感器應用于測繪近景領域的場景測量與三維重建很不利,為此有必要從理論與實驗兩方面對其實際深度量測精度和最終模型重建精度進行深入與定量的研究.
本文以常用的Kinect 2.0為研究對象從兩方面對RGB-D相機的測量建模精度進行研究:(1)深度測量精度的定量分析,側重于深度測量精度與目標距離、顏色、材質間的關系研究;(2)場景及模型三維重建結果的精度定量分析與評估.在此基礎上得出Kinect場景重建精度在不同環(huán)境下的適用性、確定其最佳應用范圍.
Kinect 2.0進行三維重建時,深度值為該物點到深度相機像平面的垂直距離d(點云Z坐標值),根據相機標定參數由深度圖轉換得到目標的三維點云;參數的準確性會影響生成點云的精度且會產生系統(tǒng)性偏差,需通過相機的精確標定來消除該影響[4].而最根本的誤差來源是深度d的測量誤差,直接影響點云的精度及最終重建場景模型的精度.
Kinect 2.0深度測量采用ToF中的調制連續(xù)波法(continuous wave modulation,CWM)[2, 5],其發(fā)射紅外光波長為830~950 nm,原理如圖1所示.其中f是調制頻率,Δφ為相位偏移.
圖1 ToF深度測量原理(CWM)[2]
式(1)為圖1中發(fā)射的電磁波信號s(t)(藍),a為振幅,f為調制頻率;式(2)為經過時延Δt后接收到的反射波r(t)(紅),m為接受到的衰減后的振幅,n為接收的反射波信號中的偏置,其是環(huán)境光和系統(tǒng)內部偏移的函數;相位偏移Δφ與時延Δt間存在Δφ=2πf·Δt的關系.
s(t)=a·(1+sin(2πft))
(1)
r(t)=m·(1+sin(2πf(t-Δt)))+n=
m·(1+sin(2πft-Δφ))+n
(2)
CWM通過測定相位偏移Δφ來確定時延Δt,物體與深度相機的距離d由式(3) 確定,其中c為光速.
d=c·Δt/2=c·Δφ/(4πf)
(3)
理論上深度測量的方差可用式(4)近似表示:
(4)
式(4)中cd為調制常量,描述ToF傳感器分離和收集光電信號的好壞能力.當m,f較大時σd偏小精度高,n偏大時則會導致精度降低;但因f增大時調制對比度會衰減,所以其增大有上限;而m與距離d存在m∝1/d2的關系[6],即目標距相機越遠m越小,對應的距離測量精度也隨之降低.
根據本節(jié)上述原理,ToF深度測量誤差的主要來源有:(1) 傳感器自身的誤差. 包括cd、f的影響以及深度相機標定誤差造成物方坐標的系統(tǒng)性偏差.(2) 幾何因素產生的誤差. 一般由傳感器與待測物之間的相對距離和位置等因素引起的;文獻[2]指出,Kinect2.0在量測范圍內(0.8~4.0 m)目標距相機越遠精度越差;當目標與傳感器像平面距離相等、在同一平面內時,精度與目標在深度圖像上的成像位置到光軸中心的距離成反比呈輻射狀.(3) 測量環(huán)境造成的誤差. 包括兩種情況:環(huán)境中存在電磁波干擾源,以及物體表面不同性狀(顏色、材料、表面狀況)影響反射率造成精度下降.環(huán)境中有干擾源時(對Kinect2.0 是強紅外波段輻射源或吸收源),會干擾反射紅外光r(t)的正常接受,對Δφ、Δt測量產生很大影響,由式(3) Δφ、Δt的誤差會直接造成深度值d的精度與可靠性降低.就物體具體的反射特性而言,具有較高漫反射率的表面可反射更多調制信號到傳感器完成深度獲取的卷積運算,這會提高信噪比對d的測量精度有利[7];而對易出現鏡面反射或透明的目標則可能出現反射波幾乎完全偏離相機或無反射波,導致深度圖上出現孔洞.
在第1.1節(jié)誤差來源中,(1)對給定的相機其cd與f已定,只能通過相機嚴格標定來減少殘留的標定誤差引起的系統(tǒng)偏差.(2)則是在數據獲取時選擇合適的成像范圍與位置,重要物體應盡量位于深度圖的中心位置,來減少影響.(3)中的環(huán)境影響,有關紅外輻射源干擾,通過盡量避免來消除;其他方面研究,現在主要有針對不同距離以及不同表面狀況下進行ToF深度測量的精度變化實驗研究,指出當物體表面較為光亮時(如瓷磚和玻璃等)極易鏡面反射紅外光,無法測量對應區(qū)域的深度[2,8-11].但對于不同顏色材質(木頭、塑料等)狀況下深度測量的精度不清楚,特別是對在不同距離下各種材質目標精度變化的定量變化規(guī)律未研究.真實的應用中建模物體與場景的材質、顏色都是多種多樣的,本文為此展開研究.
利用多幀深度圖通過配準重建場景點云模型,重建參數與深度圖精度共同影響了模型精度.目前對點云模型數據進行精度評價的方法主要有:① 利用點云模型上檢查點的已知理論值,計算點位中誤差進行評估[12];② 提取模型場景中目標的邊長、面積、體積等屬性值與參考理論值比較,用均方根誤差、相對誤差等參數進行評價[12-13];③ 在給定搜索距離閾值的前提下,確定重建模型與參考點云間的豪斯多夫距離,利用該值進行評估[14].
方法①需要已知檢查點的準確的理論位置,不易獲取且極易受點位判斷誤差影響,故較少使用.本文以精度更高的點云模型作為參考標準點云;利用方法②,比較兩套模型屬性值的絕對誤差和相對誤差;利用方法③,將Kinect點云模型和標準點云配準,并對豪斯多夫距離計算方法加以改進,比較兩者間的相似程度;實現對建模精度的評估.
1.2.1基于模型表面參數指標的絕對和相對誤差
一般采用目標的長、寬等可以明確判斷的特征作為模型的表面屬性參數,計算其絕對誤差、相對誤差.但對光滑曲面物體(如圓形物體等)難以選擇這些參數時,可采用切面的一些屬性參數,如圓切面曲線擬合的直徑等.
(1) 絕對誤差(absolute error)ε*是以同一量綱反映測量值偏離真值的實際大小:
(5)
(2) 相對誤差(relative error)ε指測量的絕對誤差與真值的比值,更能反映測量的精度:
(6)
1.2.2基于改進的豪斯多夫距離(H-D)方法
第1.2.1節(jié)所述方法在模型場景中難以進行特征的判斷和選擇表面特征參數時無法采用(如無規(guī)則曲面),此時用豪斯多夫距離進行精度分析.
H-D是描述兩組點集之間相似程度的一種度量,它不需建立兩個點集間屬性特征精確的對應關系,只需計算兩者間的相似程度(最大距離); H-D越小相似程度越高.該方法更適于不易提取特征的點云精度評定,本文采用單向H-D法并對其進行改進,方法如下:
(1) 假設空間存在兩個點集Ra={a1,a2,…,am}、Rb={b1,b2,…,bn},它們之間的單向H-D定義為
(7)
式中:‖·‖為距離范數,文中采用點集Ra,Rb之間的歐式距離.對Ra中的每個點ai求出它到Rb的最小距離,h(Ra,Rb)為Ra中所有點到Rb的最小距離的最大值,一般用該值描述兩集合間的相似程度.
(2) 考慮到實際點云模型會存在粗差,造成個別點到參考點云的最小距離很大,出現野值,對H-D計算產生極大影響,直接用式(7)的結果進行精度評定并不合理.為此對H-D方法進行如下改進:
對Ra中所有點到點集Rb的最小距離,從0到最大距離,以一定距離間隔Δ進行劃分(δ根據Ra的精度情況確定),統(tǒng)計不同間隔內的點數占總點數的比例,生成直方圖;并從0到某一距離累計點數i比例P,生成累計直方圖,如式(8):
(8)
式中:pδi為最小距離落在Δi到Δi+1的點數占Ra總點數的比例.認為累計比例P達到某一百分比時,對應的距離D=Iδ才較合理地反映精度狀況,該值稱為改進的H-D.該值越大,表征兩個模型之間的差異性越大,模型重建的質量越低.
采用改進的H-D方法,對重建的模型與參考點云的相似性程度進行定量評估,流程如圖2所示.
圖2 基于改進Hausdorff距離的精度評估流程圖
采用不同顏色、不同材質的自制平面靶標進行實驗,獲取距相機不同距離處靶標的深度數據并轉化成點云.和深度測量精度相比,可視靶標平面為理想平面.對靶標處深度數據進行平面最佳擬合,得到靶標點云到擬合平面的中誤差,分析不同顏色、材質、距離下該誤差的變化,研究這些因素對深度測量的影響[1,15].
實驗所用平面靶標為A3大小,將其垂直設立并使其成像位于深度圖的中心位置(以光軸中心為對稱中心)且位置固定.架設相機獲取數據時成像面應與靶標面平行,獲取的一組數據包括彩色、紅外與深度影像(圖3).為分析距離的影響,在Kinect深度量測范圍內,距靶標1.0~4.0 m間每隔約0.5 m設置相機測站采集數據.為研究顏色的影響,在每一測站選擇同一材質(紙)紅、綠、藍、白、黑5種典型顏色的靶標進行數據采集;為研究材質的影響,選擇6種常見的材質(紙、玻璃、瓷磚、木頭、布、塑料)的靶標進行實驗,除木頭為啞光漆漆成紫紅色,玻璃透明外,其他接近白色.最終得到不同距離處的實驗數據.
文中共采集了10種靶標(5種顏色的紙質以及5種其他材質),在7種測程下共獲得70組數據.
利用文獻[15]的方法標定出相機的精確參數,對獲得的深度圖進行轉換得到3D點云.然后對原始點云進行除噪、裁剪等預處理,保留平面靶標處的目標信息用于精度分析.
aXi+bYi+cZi+e
(9)
εd值反映了量測的靶標點云數據的誤差.對所有誤差進行分段統(tǒng)計分析,分別得到不同材質顏色在1~4 m中7種距離處的統(tǒng)計結果,分析表明εd都近似服從正態(tài)分布,即點云誤差滿足偶然誤差的特性(透明玻璃無有效數據除外).
用標準差δd來表示靶標點深度值的誤差.因實驗中靶標面與Kinect相機成像面接近平行,擬合平面的a,b≈0,c≈1,可認為εd主要由Z(深度值)的量測誤差δZ引起.由誤差傳播定律,δZ與δd之間的精度存在式(10)所示的關系:
δd=cδZ
(10)
因此可認為δZ≈δd.
利用2.2節(jié)方法計算不同顏色、材質標靶在距傳感器不同距離d處深度值測量的δZ.以δZ為因變量,d為自變量,得到δZ與d的變化關系曲線,圖4為同材質不同顏色時的變化關曲線;圖5為不同材質時的情況.
圖4 不同顏色的誤差隨距離的變化關系
圖5 不同材質的誤差隨距離的變化關系
圖4、5中δZ與d的變化曲線類似式(11)的二次函數,故對其利用式(11)進行擬合.
δZ=k1·d2+k2
(11)
得到k1、k2值及擬合的確定性系數R2.取深度量測值的誤差在兩倍中誤差的置信區(qū)間內,偶然誤差的極限值Δmax=2δZ,得到不同距離,不同顏色、材質平面靶標的深度量測值Z的精度變化范圍(單位:mm),最終得到表1.表1中確定系數R2最差為0.879,大多數都在0.9以上,說明式(11)很好地反映了精度與距離的關系.綜合表1和圖4、5,首先有深度測量時δZ∝d2,誤差值與深度距離平方成線性正比關系,這與1.1節(jié)理論分析中反射輻射m與距離d存在m∝1/d2關系一致,此外顏色和材質對深度量測值精度有很大影響.顏色影響:黑色精度最差,k1、k2都比其他顏色大,隨距離增大誤差增速遠大于其他顏色,精度下降最劇烈,4 m時已達27 mm,遠大于標稱精度,這是因為黑色物體對工作波段反射率很低,反射信號弱且隨距離增加衰減極快;②實驗中其他顏色深度量測的精度差別較小,都優(yōu)于黑色,基本在標稱精度內.材質的影響:① 木頭、布與紙(白)的k1、k2值接近,誤差范圍為3~12 mm,木頭的精度稍好;② 塑料(半透明)與瓷磚的精度差,其k1值是①中材質的2倍,隨距離增加精度下降速率也很快,此外塑料的k2值最大,即近距離時其深度測量精度也不高.玻璃材質因其透光性太強傳感器無法接收到有效的反射信息.
表1 深度量測值的精度變化范圍
綜上,目標為漫反射時深度測量精度取決于其對工作波段的反射情況,反射率越低精度越差且誤差隨距離增加也增大越快;目標為鏡面或材質具有透明性時精度會下降;即顏色材質對深度測量精度有很大影響.為保證精度達到標稱要求,深度測量范圍應小于2.5 m;對黑色、瓷磚及半透明材料場景時,距離應小于2 m.
Kinect建模精度除受深度數據精度影響還和模型重建算法有關,所以還應對最終重建的點云模型進行精度實驗分析.這里選擇了兩種形狀材質等有較大差異、較具代表性的實驗對象:某會議室的一部分(約4 m×5 m),為亞光表面接近朗伯面的材質環(huán)境;常見的瓷質花瓶(約1 m×0.3 m),為易出現高光鏡面反射的材質模型.
3.1.1標準參考模型數據獲取
采用FARO Focus3d 120激光掃描儀進行場景模型掃描,獲取高精度模型點云數據作為精度分析的參考標準,其測距誤差在25 m內為±2 mm.
對實驗模型場景進行先粗后精掃描,得到三維點云數據,利用配備的球形靶標作為測站間點云配準的依據,通過點云配準、拼接得到統(tǒng)一坐標下的結果.經統(tǒng)計配準點位精度達到2 mm,與標稱精度一致.對拼接的結果進行去噪優(yōu)化和興趣區(qū)提取,刪除不相關的點云信息,生成標準參考點云數據.
3.1.2基于Kinect的模型點云數據獲取
利用標定得到的相機參數[15]對獲得的深度圖像進行轉換得到3D點云.在預處理階段,分別采用雙邊濾波對深度數據降噪平滑以及快速特征點與二進制特征描述子(oriented fast and rotated brief, ORB)特征檢測算法提取彩色影像上的特征點.因為微軟自帶Kinect Fusion中的模型重建方法精度較差,為此在模型重建階段,采用文獻[16]的改進迭代最近鄰法 (iterative closest point, ICP)算法,引入多種約束減少點云配準誤差的累積影響,進行多幀深度數據配準重建模型.實驗中的花瓶及會議室場景進行Kinect建模的結果如圖6所示.
3.2.1會議室場景
分別在Kinect和標準參考模型表面判斷量取17段距離特征,比較兩模型上對應的距離值差異,結果見表2(注意:表中Absolute_Error未取絕對值,后表同).
特征距離差異值中包含有因判斷及濾波造成的深度圖像邊緣變平滑模糊而引入的手工量測誤差,但總體這些誤差較小.在特征點量測上,判斷誤差一般為0.5像素,考慮是利用多幀點云數據的配準結果進行建模,模型中點到相機的距離多在2 m左右,此時0.5像素的判斷誤差對應點云上為2 mm,與參考點云精度相當,可認為對后面精度分析不影響.
a 會議室場景 b 花瓶
由表2:① 特征參數的比較,Kinect所建模型的絕對誤差在10 mm的范圍內,相對誤差基本在2%的范圍內.② 編號1、2、3、4的絕對誤差和相對誤差都比較大;因這些特征與背景處同一平面,重建及測量判斷的過程中都只利用了獲得的光學信息,未利用深度信息,故精度較低;此外因其特征長度較小,同等誤差下相對誤差更大.③ 排除②中所列特征,距離特征長度大于1 m時,相對誤差在0.5%左右;而長度小于1 m時,相對誤差在1%~1.5%左右;短距離特征的相對精度更低.
表2 兩種傳感器重建模型表面的長度參數對比
3.2.2花瓶模型
(1) 基于模型表面參數指標
花瓶為光滑表面,無明顯點特征用于判斷距離特征.分別對花瓶的Kinect模型和標準參考模型切取對應位置的切片(這里取了17片).利用最小二乘法分別對兩組離散的切片點云數據進行圓擬合,得到每一切片的直徑,求Kinect數據與標準數據擬合直徑的絕對、相對誤差,結果見表3.
表3 Kinect和參考花瓶模型切片擬合直徑的對比
Tab.3The diameter comparison of vase slice obtained by the Kinect and reference models
編號測量距離/m參考距離/m絕對誤差/mm相對誤差/%N10.2020.193-8.334.31N20.1660.17610.265.83N30.1790.169-9.505.62N40.1570.17013.347.85N50.1820.17111.326.63N60.1640.17410.135.81N70.2000.193-6.853.55N80.3030.3107.602.45N90.3530.3606.521.81N100.3770.366-10.562.88N110.3720.363-9.422.60N120.3390.3499.942.85N130.3240.3317.242.19N140.3080.3168.292.62N150.2860.2926.342.17N160.2590.2656.762.55N170.2400.2455.642.30
比較Kinect點云和參考點云擬合的結果發(fā)現: 絕對誤差最大有13 mm,且直徑整體稍偏小(17組中有12組絕對偏差為正值).與會議室場景比花瓶模型的重建精度要低.
(2) 基于改進豪斯多夫距離的精度分析
因為花瓶點云上獲取目標特征屬性較困難,為此還利用1.2.2節(jié)中改進的豪斯多夫距離來進行精度分析.這兩套點云模型分屬不同的坐標系統(tǒng),需將兩者配準到同一坐標系統(tǒng).以精度高的參考點云模型坐標系為參考坐標系,選少量對應點(5組)并結合算法[17]將Kinect點云模型轉換到參考坐標系中.精確配準后結果如圖7所示,可見,除了花瓶頂部,Kinect重建的模型整體要稍小于參考點云模型.
a 側視圖
b 切片圖
Fig.7 The fine registration result between Kinect point cloud (red) with the reference point cloud (green)
利用配準結果,根據1.2.2節(jié)方法,首先計算Kinect點云上每一點到參考點云的最小歐式距離;然后取間隔δ=0.05 cm(Kinect的最高標稱精度為1 mm,故δ取其一半),將點對之間的距離分為140段,統(tǒng)計最小距離在對應距離段內的點數,得到圖8,圖中箭頭標注為最小距離小于該距離的點數占總點數的比例.根據已有Kinect建模經驗,點云模型上大多數點(超過80%)是可靠的,實驗中計算累計比例達80%時其對應的距離D作為改進的H-D值.重建模型上80%的點到參考點云的最小距離小于21.9 mm,峰值在5~9 mm,與本節(jié)(1)中評定結果基本一致.
圖8 點對間的歐式距離分段統(tǒng)計
Kinect對花瓶建模精度較差的原因除文中分析的瓷質材質深度測量精度不高外,還有實驗中背景復雜,生成點云中含大量背景干擾信息,濾波時邊緣過平滑,背景信息被錯當成場景內容使得點云建模受影響.而這些更多似乎會造成重建模型比例偏小.
綜合這兩種模型場景實驗,并結合文中深度測量的精度分析有:① 對一般材質的室內環(huán)境,模型重建的相對誤差總體在2%之內.② 瓷磚及透明材質環(huán)境下,建模精度會明顯下降,對表面瓷質的目標建模會出現系統(tǒng)性偏差(實驗是整體稍偏小);所以Kinect 2.0不適用于瓷磚材質目標場景的數據獲取與建模.③ 利用Kinect進行近景測量建模時,目標到相機距離不應超過2.5 m.
本文通過理論分析與實驗對ToF成像的RGB-D相機(Kinect 2.0)深度測量與建模精度進行了定量研究;得出在不同環(huán)境(顏色、材質、表面狀況)下,深度測量精度與相機到目標距離變化之間的定量關系,以及三維建模精度狀況的量化分析結果;給出其測量與建模的適用環(huán)境、條件;指出對黑色、微透明或瓷磚材質目標,要慎用其進行數據獲取與建模.
本文雖然是針對kinect 2.0進行的研究,但所用方法也適用于其他光學與深度鏡頭相結合的雙鏡頭傳感器系統(tǒng)(如Creative、Senz3D等)數據獲取與建模精度的分析研究.