習(xí)紹杰,張宗華,高 楠,孟召宗
(河北工業(yè)大學(xué) 機(jī)械工程學(xué)院,天津 300130)
三維(three-dimensional,3D)描儀在場景三維重建、智能制造、自動駕駛、虛擬現(xiàn)實(shí)等領(lǐng)域得到了廣泛的應(yīng)用[1-4]。近幾年對3D 掃描儀的精度、速度、穩(wěn)定性等方面的研究已經(jīng)逐漸成熟。但是掃描過程中設(shè)備擺放傾斜問題還沒有得到很好的解決,會導(dǎo)致掃描儀的轉(zhuǎn)軸與重力方向產(chǎn)生夾角,造成所得到的三維數(shù)據(jù)傾斜,影響三維重建效果。針對此問題,已有的解決方法是安裝水平儀[5]來檢測設(shè)備是否傾斜。水平儀分為氣泡水平儀和電子水平儀。氣泡水平儀成本低,依靠人眼定性觀察,因此存在測量精度低,無法對傾斜的角度進(jìn)行量化分析等缺點(diǎn)。劉玲設(shè)計了一種基于圖像檢測的電子水平儀,以圖像處理代替人工讀數(shù)提高精度,以電機(jī)驅(qū)動平臺回轉(zhuǎn)實(shí)現(xiàn)校準(zhǔn)的自動化,并利用移動終端顯示檢測數(shù)據(jù)[6]。但由于電子水平儀體積大,無法固定在3D 掃描儀上與其配合使用。吳量等人提出了一種帶溫度補(bǔ)償?shù)臄?shù)字傾角測量系統(tǒng)[7],該系統(tǒng)可以達(dá)到較高的測量準(zhǔn)確度,但是該系統(tǒng)組成較為復(fù)雜,不適合與3D 掃描儀配合使用。慣性測量單元(inertial measurement unit,IMU)集成了3 個單軸的加速度計和3 個單軸的陀螺儀,可自動獲取角度和姿態(tài)信息,自動確定掃描儀的傾角。加速度計檢測物體在載體坐標(biāo)體系的加速度信號,而陀螺儀檢測載體相對于導(dǎo)航坐標(biāo)系的角速度信號,測量物體在三維空間中的角速度和加速度,并以此解算出物體的姿勢。對IMU 的精度影響最大的是系統(tǒng)誤差[8-12]。根據(jù)IMU 的誤差模型[13],使用多位置法[14-16]校正IMU 傳感器。經(jīng)過標(biāo)定后,得到IMU 的各項(xiàng)誤差參數(shù),IMU 的輸出經(jīng)過補(bǔ)償以后才可以用作后續(xù)使用。
針對已有方法無法定量化3D 掃描儀位姿或者使掃描儀系統(tǒng)更加復(fù)雜的問題,本文提出借助IMU 標(biāo)定3D 掃描儀傾角的方法。由于無法直接標(biāo)定IMU 和3D 掃描儀之間的位置關(guān)系,該方法通過一個面陣相機(jī)建立二者之間的聯(lián)系。首先利用kalibr 工具箱標(biāo)定IMU 和相機(jī)之間的位置關(guān)系。然后標(biāo)定相機(jī)和掃描儀轉(zhuǎn)軸的位置關(guān)系,從而得到IMU 和掃描儀之間的位置關(guān)系。根據(jù)IMU 的輸出計算掃描儀的轉(zhuǎn)軸與重力方向的夾角。接著設(shè)計了測量掃描儀轉(zhuǎn)軸與重力方向真實(shí)夾角的實(shí)驗(yàn),并將系統(tǒng)標(biāo)定前后計算出的角度與真實(shí)值進(jìn)行比較。最后拍攝了模型進(jìn)行驗(yàn)證,證明了本方法的實(shí)用性和準(zhǔn)確性。
3D 掃描儀是具有深度感知的精密掃描設(shè)備,可以基于結(jié)構(gòu)光技術(shù)完成空間信息和圖像信息的全方位采集。3D 掃描儀設(shè)備多是安裝在三腳架上,其在進(jìn)行旋轉(zhuǎn)拍攝過程中,容易因?yàn)榈孛娌黄交蛘呷_架擺放不規(guī)范導(dǎo)致旋轉(zhuǎn)軸與重力方向產(chǎn)生夾角,如圖1所示。
由于IMU 無法與旋轉(zhuǎn)軸建立直接的聯(lián)系,本文借助IMU 標(biāo)定旋轉(zhuǎn)軸與重力之間的夾角,采用一個面陣相機(jī)建立二者之間的聯(lián)系。標(biāo)定后的IMU 輸出的加速度信息通過旋轉(zhuǎn)矩陣轉(zhuǎn)移到旋轉(zhuǎn)軸上,即可以計算出與重力方向的夾角。
IMU-相機(jī)位置關(guān)系的校準(zhǔn)使用開源的kalibr工具箱。kalibr 主要用來對視覺慣性傳感器進(jìn)行IMU 和相機(jī)的時空標(biāo)定,得到IMU 和相機(jī)之間的旋轉(zhuǎn)矩陣。
用內(nèi)嵌有IMU 的掃描儀對標(biāo)定板進(jìn)行拍攝。根據(jù)相機(jī)的內(nèi)參,可以得到每一幀圖像和相機(jī)之間的外參矩陣R和平移向量T。將這些離散的矩陣參數(shù)化為六維列向量,并使用3 次樣條插值構(gòu)造成連續(xù)的曲線。將R轉(zhuǎn)化為軸角并對時間求導(dǎo),可以得到任何時刻的軸角變化率,即相機(jī)在任何時刻相對標(biāo)定板的角速度。而IMU 的陀螺儀測量的就是相對標(biāo)定板的角速度。相機(jī)和IMU 由于在同一個剛體上,所以它們的角速度的模長相等,相差一個旋轉(zhuǎn)矩陣,可以表示為
式中:ωit表示IMU 相對標(biāo)定板的角速度;Φct表示相機(jī)的角速度;Rci表示IMU 和相機(jī)之間的旋轉(zhuǎn)矩陣,以此來構(gòu)造最小化目標(biāo)函數(shù)。
式中:ωm為陀螺儀測量值,從而獲得IMU 和相機(jī)之間的旋轉(zhuǎn)矩陣。由于旋轉(zhuǎn)矩陣無法進(jìn)行比較,將旋轉(zhuǎn)矩陣轉(zhuǎn)換為比較直觀的軸角
將標(biāo)定板固定,用相機(jī)對標(biāo)定板進(jìn)行旋轉(zhuǎn)拍攝,得到一系列拍攝了部分的標(biāo)定板照片。根據(jù)相機(jī)內(nèi)參,可以得到相機(jī)坐標(biāo)系和標(biāo)定板坐標(biāo)系之間的旋轉(zhuǎn)矩陣Rcw和平移向量Tcw。相機(jī)光心在相機(jī)坐標(biāo)系下的坐標(biāo)為(0,0,0)。設(shè)在標(biāo)定板坐標(biāo)系下的坐標(biāo)為(a,b,c),則二者的關(guān)系可以表示為
則相機(jī)光心在標(biāo)定板坐標(biāo)系下的坐標(biāo)為
對光心坐標(biāo)進(jìn)行平面擬合和圓擬合,得到光心坐標(biāo)的擬合圓,則可以求得在世界坐標(biāo)系下的圓心坐標(biāo)。世界坐標(biāo)系、相機(jī)坐標(biāo)系和轉(zhuǎn)軸坐標(biāo)系之間的關(guān)系如圖2所示。
世界坐標(biāo)系為標(biāo)定板坐標(biāo)系,z軸垂直標(biāo)定板向外。相機(jī)坐標(biāo)系光軸垂直旋轉(zhuǎn)軸向外,設(shè)為z軸,x軸為沿切線方向,y軸由右手螺旋定理決定。假設(shè)光心坐標(biāo)的擬合平面為
求得擬合平面的單位法向量。設(shè)法向量方向?yàn)檗D(zhuǎn)軸坐標(biāo)系的z軸,x軸平行于相機(jī)坐標(biāo)系的z軸,y軸由右手螺旋定理決定。
世界坐標(biāo)系下的轉(zhuǎn)軸坐標(biāo)系的基向量已知,則可根據(jù)旋轉(zhuǎn)矩陣定理得到世界坐標(biāo)系和轉(zhuǎn)軸坐標(biāo)系之間的旋轉(zhuǎn)矩陣Rwa。由Rcw與Raw得到相機(jī)坐標(biāo)系和轉(zhuǎn)軸坐標(biāo)系之間的旋轉(zhuǎn)矩陣Rca。
借助IMU 計算掃描儀傾角的框圖如圖3所示。
為了驗(yàn)證本文的標(biāo)定方法,對各個步驟搭建了實(shí)驗(yàn)平臺。按上述各步的方法分別對每一步進(jìn)行了實(shí)驗(yàn),并對結(jié)果進(jìn)行了分析。
在進(jìn)行外參標(biāo)定實(shí)驗(yàn)時,選用精度高并且可以提供序號信息的aprilgird 標(biāo)定板[17]。該標(biāo)定板在部分遮擋情況下仍能夠進(jìn)行校準(zhǔn),并且能夠防止姿態(tài)計算時出現(xiàn)跳躍。
將經(jīng)過校正的IMU 輸出,以及拍攝的標(biāo)定板照片作為輸入,傳入kalibr 工具箱中進(jìn)行標(biāo)定。標(biāo)定結(jié)果為IMU-掃描儀的相機(jī)之間的旋轉(zhuǎn)矩陣。根據(jù)公式(3)將旋轉(zhuǎn)矩陣轉(zhuǎn)換為軸角。經(jīng)過30 次標(biāo)定實(shí)驗(yàn),結(jié)果穩(wěn)定在一個理想的范圍之內(nèi),如圖4所示。
由圖4 可知,經(jīng)過30 次實(shí)驗(yàn)后,旋轉(zhuǎn)軸的3 個分量基本趨于穩(wěn)定,繞軸旋轉(zhuǎn)的角度穩(wěn)定在2 度左右。對30 次結(jié)果求平均,得到相機(jī)和IMU 之間的旋轉(zhuǎn)矩陣。
旋轉(zhuǎn)軸標(biāo)定實(shí)驗(yàn)平臺如圖5所示。為了驗(yàn)證此方法與拍攝角度和拍攝距離無關(guān),進(jìn)行了3 組實(shí)驗(yàn)。
對標(biāo)定板進(jìn)行掃描拍攝,相機(jī)每旋轉(zhuǎn)3°拍攝一張照片,得到60 張圖片。相機(jī)的光心坐標(biāo)擬合圓如圖6所示。
由圖6 可看出相機(jī)光心都在圓上,證明了R、T的準(zhǔn)確性。
再通過旋轉(zhuǎn)矩陣定理計算相機(jī)到轉(zhuǎn)軸的旋轉(zhuǎn)矩陣,得到3 組實(shí)驗(yàn)結(jié)果如表1所示。
從表1 中可以看出,旋轉(zhuǎn)矩陣轉(zhuǎn)為軸角之后,3 次實(shí)驗(yàn)的誤差范圍均控制在1°左右,和掃描儀結(jié)構(gòu)值一致。對3 次實(shí)驗(yàn)的結(jié)果求平均值作為相機(jī)與旋轉(zhuǎn)軸之間的旋轉(zhuǎn)矩陣。
表1 旋轉(zhuǎn)矩陣與軸角Table 1 Rotation matrix and axial angle
為了驗(yàn)證標(biāo)定結(jié)果的準(zhǔn)確性,設(shè)計了如圖7所示的實(shí)驗(yàn)。將標(biāo)定板懸掛于固定平臺之上,并旋轉(zhuǎn)不同的角度。用傾斜一定角度的掃描儀對標(biāo)定板進(jìn)行拍攝。2 個標(biāo)定板平面的交線即為相機(jī)坐標(biāo)系下的重力線。根據(jù)重力線建立重力坐標(biāo)系,即可求出相機(jī)坐標(biāo)系和重力坐標(biāo)系之間的旋轉(zhuǎn)矩陣R2。而相機(jī)坐標(biāo)系和轉(zhuǎn)軸坐標(biāo)系之間的旋轉(zhuǎn)矩陣R1已知,即可求出轉(zhuǎn)軸坐標(biāo)系和重力坐標(biāo)系之間的旋轉(zhuǎn)矩陣R。
將此實(shí)驗(yàn)求得的旋轉(zhuǎn)矩陣轉(zhuǎn)化的歐拉角當(dāng)作真值,與IMU 計算的轉(zhuǎn)軸的傾斜角度比較。經(jīng)過5 次實(shí)驗(yàn),結(jié)果如表2所示。
由表2 可知,IMU 原始數(shù)據(jù)計算得到的傾斜角度誤差很大。而IMU 經(jīng)過標(biāo)定后,再將IMU 信息轉(zhuǎn)移到旋轉(zhuǎn)軸上。計算得到的角度與標(biāo)定前相比,精度至少提升20%,并且計算出的角度與測量角度之間的誤差不超過0.5°。
表2 校正前后角度對比Table 2 Angle comparison before and after calibration
將掃描儀傾斜一定的角度進(jìn)行模型拍攝,如圖8所示,得到傾斜模型。并利用本文方法將掃描儀輸出的IMU 信息進(jìn)行整理計算得到此傾角為8.56°。
將IMU 計算出的傾角補(bǔ)償?shù)絻A斜的模型,得到校準(zhǔn)后的模型,補(bǔ)償前后的點(diǎn)云和全景圖對比如圖9 和圖10所示。圖9 中顏色較淺的(a)是補(bǔ)償前的點(diǎn)云;顏色較深的(b)是補(bǔ)償后的點(diǎn)云。
在圖9 中可利用Meshlab 工具測得補(bǔ)償后的模型與補(bǔ)償前的夾角為8.03°,則誤差為0.53°,小于1°。補(bǔ)償前部分?jǐn)?shù)據(jù)較水平方向有一定的傾斜,而補(bǔ)償后該部分?jǐn)?shù)據(jù)較水平方向傾斜程度明顯減小,經(jīng)過補(bǔ)償?shù)狞c(diǎn)云得到了很好的校正。具體的校正角度對比如表3所示。
表3 點(diǎn)云校正前后傾角對比Table 3 Tilt angle comparison before and after point cloud correction
由表3 可知,本文方法可以將傾斜一定角度的掃描儀拍攝出的傾斜模型校正,并且校正誤差不超過1°。
由圖10 可知,補(bǔ)償后地面相比補(bǔ)償前更加水平,經(jīng)過補(bǔ)償?shù)娜皥D得到了很好的校正。
綜上,本文提出的方法對掃描儀傾斜問題進(jìn)行了有效的補(bǔ)償。
本文提出在3D 掃描儀中加入IMU 精確確定掃描儀傾角的方法。首先根據(jù)IMU 的誤差模型對IMU 進(jìn)行誤差的校正和補(bǔ)償。標(biāo)定IMU-相機(jī)的位置關(guān)系后,提出了相機(jī)與掃描儀轉(zhuǎn)軸之間位置關(guān)系的標(biāo)定方法,該方法的角度誤差在1°左右,與掃描儀結(jié)構(gòu)值一致。然后設(shè)計實(shí)驗(yàn)對掃描儀轉(zhuǎn)軸與重力方向的真實(shí)夾角進(jìn)行測量,與IMU 計算的傾角進(jìn)行對比,實(shí)驗(yàn)結(jié)果表明該方法的測量精度可以達(dá)到0.5°,驗(yàn)證了所提出方法的準(zhǔn)確性。最后進(jìn)行了全景驗(yàn)證。實(shí)驗(yàn)結(jié)果證明當(dāng)?shù)孛娌黄?、三腳架傾斜等因素使掃描儀傾斜時,可以實(shí)現(xiàn)自動校正并得到準(zhǔn)確的三維模型。
隨著大場景三維重建技術(shù)的飛速發(fā)展,3D 掃描儀的應(yīng)用場景越來越廣泛。本文提出的3D 掃描儀傾角標(biāo)定方法可以自動實(shí)現(xiàn)傾角校正并得到準(zhǔn)確的三維模型,具有廣泛的應(yīng)用價值。