李晉 劉家順 黃蘇軍 謝尚佐
摘要 三維激光掃描技術(shù)是一項(xiàng)新興而且前景非??捎^的技術(shù),在逆向工程、工程測繪、三維重建及虛擬現(xiàn)實(shí)等領(lǐng)域應(yīng)用日益廣泛,在三維激光掃描系統(tǒng)中各參數(shù)的標(biāo)定對于實(shí)驗(yàn)結(jié)果往往產(chǎn)生影響是決定性的,本文主要對三維激光掃描的系統(tǒng)參數(shù)進(jìn)行標(biāo)定以提高精度,并提出了一種新的標(biāo)定模板與算法,針對低成本三維激光掃描系統(tǒng)提出了降低誤差的方法,實(shí)驗(yàn)結(jié)果表明,該標(biāo)定方法較好的實(shí)現(xiàn)了三維激光掃描系統(tǒng)的參數(shù)標(biāo)定和精度提高,與國外同類型低成本三維激光掃描儀Ciclop相比,精度有顯著提升。
[關(guān)鍵詞]三維激光掃描 激光三角法 系統(tǒng)參數(shù)標(biāo)定精度
1 引言
三維激光掃描系統(tǒng)由于能夠快速恢復(fù)物體的三維模型,并且精度較高,近年來在工程測繪、模型分析和虛擬現(xiàn)實(shí)等領(lǐng)域廣泛應(yīng)用,國內(nèi)外許多實(shí)驗(yàn)室進(jìn)行大量研究,基于激光掃描技術(shù)的三維重建技術(shù)成為研究熱點(diǎn)。
本文主要介紹一種低成本三維激光掃描系統(tǒng)的參數(shù)標(biāo)定及成像,主要對基于線結(jié)構(gòu)光原理的三維激光掃描系統(tǒng)中的并針對校準(zhǔn)過程中的相機(jī)標(biāo)定與激光三角法掃描算法進(jìn)行改進(jìn)提出一種新的標(biāo)定模板,并在最后對于改進(jìn)后的掃描點(diǎn)云結(jié)果進(jìn)行簡要分析,與原標(biāo)定模板掃描結(jié)果進(jìn)行對比,可看出其在精度和誤差控制上有顯著提高。
2 本文三維激光掃描系統(tǒng)原理
本文中研究的低成本三維激光掃描系統(tǒng)正是基于此方法改進(jìn)的,主要采用兩顆一線型激光發(fā)射器和一顆羅技C270網(wǎng)絡(luò)攝像頭組成,其旋轉(zhuǎn)平臺采用42步進(jìn)電機(jī)驅(qū)動,其掃描原理使用兩顆激光發(fā)射器,使得被掃描物體在每次掃描時均可通過兩次線型掃描。我們研究了以下幾種可能:
2.1 只有一個激光發(fā)射器與攝像頭且處于同一水平面
情況如圖1所示。
圖中的Pl點(diǎn)是光束射到投影屏高度的中點(diǎn)。Pl點(diǎn)的投影Pl點(diǎn)到攝像頭光學(xué)中心的距離為攝像頭的距離。因此,Pl點(diǎn)的求解可以直接帶入上文單點(diǎn)激光三角測距的公式(2-4)中求解出真實(shí)距離。以下公式是對投影畫面中任意一點(diǎn)P2的求解:
公式中Q2'y是點(diǎn)Q2在光敏元件上的實(shí)際高度,同理Ql'y,它們的求解可根據(jù)像素坐標(biāo)乘以像素高度。
2.2 只有一個激光發(fā)射器與攝像頭且不處于同一水平面
情況如圖2所示。
對于這種情況可以假設(shè)處于同一水平面,其運(yùn)算的過程同上,pl點(diǎn)由上文公式求到并作為參考點(diǎn),pl到p2的實(shí)際距離通過算法可求出,在此不贅述。有圖可知變化量為a角,己知量(dl,B,O,)通過三角形轉(zhuǎn)換關(guān)系可得出a的值,其d2的表達(dá)式如下:
得到d2(C到P2的距離),求d(激光器Laser到P2的距離)須R(A到Laser)的長度,由公式可知tana=m/d2,則d=d2-d2。
以上的所用參數(shù)在實(shí)際的測量中,很難把握它的精度,且參數(shù)精度對實(shí)驗(yàn)結(jié)果有著直接的影響,比如安裝好激光器后對它的懸臂長的測量就會存在誤差。
2.3 兩個激光發(fā)射器與攝像頭且不處于同一水平面
本文三維激光掃描系統(tǒng)正是基于此種結(jié)構(gòu)設(shè)計(jì)的,在每次掃描周期內(nèi)均可通過至少兩次激光掃描,每一側(cè)激光發(fā)射器掃描原理同上文所示,此處不再贅述,本文兩激光器的位置關(guān)系如圖3所示。
3 系統(tǒng)參數(shù)標(biāo)定
3.1 相機(jī)參數(shù)標(biāo)定
三維激光掃描系統(tǒng)在掃描物體獲得一系列點(diǎn)云數(shù)據(jù)前最為關(guān)鍵的一步便是對攝像機(jī)的參數(shù)進(jìn)行標(biāo)定。相機(jī)參數(shù)的標(biāo)定就是將二維圖像坐標(biāo)中的點(diǎn)對應(yīng)到空間中物體的三維坐標(biāo),并找到二者的關(guān)系,通過二者的關(guān)系從而找到相機(jī)的參數(shù)并將其標(biāo)定提高系統(tǒng)的精準(zhǔn)度。
3.2 本文提出的標(biāo)定模板
在標(biāo)定過程中可以看到,此種標(biāo)定方法需要將標(biāo)定板在不同角度至少獲取三張圖片才能進(jìn)行校準(zhǔn),對于本三維激光掃描系統(tǒng)其標(biāo)定過程較為繁瑣,且對于用戶使用有一定難度,為了能夠迅速準(zhǔn)確的得到相機(jī)內(nèi)外參數(shù),我們改進(jìn)選擇了如圖4標(biāo)定模板。
該標(biāo)定板將77個標(biāo)準(zhǔn)的原白點(diǎn)印在標(biāo)準(zhǔn)黑色平面板上,呈陣列分布,且每相鄰的兩個白點(diǎn)的真實(shí)距離15mm。只需要將世界坐標(biāo)系建在標(biāo)定板上,即選取某一個圓定點(diǎn)為世界坐標(biāo)系的圓心與標(biāo)志點(diǎn)陣列的行列方向重合,Z軸垂直于標(biāo)定板,即可確定全部標(biāo)志點(diǎn)在世界坐標(biāo)系下的坐標(biāo)值。
在此,因?yàn)槭褂脗鹘y(tǒng)的曲線擬合定位圓心方法對背景環(huán)境要求較高,當(dāng)環(huán)境噪聲較大時,會導(dǎo)致精度下降,魯棒性較差,因此我們改進(jìn)引用基于CNN的激光圓形邊緣提取算法以確定標(biāo)定板各圓形圓心。
3.3 標(biāo)定結(jié)果分析
本文所采用的算法與張氏標(biāo)定算法所用的模板不同,使用改進(jìn)后的孟.胡方法基于曲線擬合,并且不需要任何匹配,而張氏標(biāo)定算法在攝像機(jī)的標(biāo)定過程中需要不斷移動標(biāo)定板拍攝各個角度的圖像,這一過程略加繁瑣,張氏標(biāo)定過程如圖5所示。
本標(biāo)定系統(tǒng)采用羅技C270攝像頭,像素為500萬。為確保本文改進(jìn)后的標(biāo)定板的精度對比原有標(biāo)定板有所提高,為此本文采用如下方法進(jìn)行了結(jié)果分析:
(1)在標(biāo)定過程中可得到標(biāo)定矩陣、相機(jī)的內(nèi)外參數(shù)矩陣,以及在當(dāng)前攝像機(jī)參數(shù)下標(biāo)定板上圓點(diǎn)圓心對應(yīng)的圖像坐標(biāo)值。
(2)將圓形標(biāo)定板上各個圓心的圖像坐標(biāo)理論值和實(shí)際對應(yīng)的坐標(biāo)值進(jìn)行比較。
(3)分析比較結(jié)果并計(jì)算標(biāo)定板上所有點(diǎn)的平均誤差以及最大誤差。
攝像機(jī)內(nèi)參數(shù)矩陣如下:
1363.624
0.000 485.236
0.000 1364.004 617.480
10.000
0.000
1.000
畸變系數(shù)[0.0774 -0.6408 -0.0035 0.00293.8867]
其旋轉(zhuǎn)平臺軌跡如圖6所示。
則其外部參數(shù)旋轉(zhuǎn)矩陣為:
1
0.000000 0.999792
0.020381 l
1
0.036147
0.020368
- 0.999139
- 0.999346
0.000737
- 0.036139
平移矢量:[1.3176 29.4939 273.5787]
通過標(biāo)定結(jié)果可以看到產(chǎn)生標(biāo)定誤差的主要是因?yàn)閿z像機(jī)的像素不高,掃描環(huán)境光照不理想以及鏡頭的噪聲水平很高,從前面的分析數(shù)據(jù)可知改進(jìn)后新的標(biāo)定板明顯提高了掃描的精度要求。
4 實(shí)驗(yàn)結(jié)果分析
4.1 結(jié)果分析
采用匹配算法將掃描得到的點(diǎn)云進(jìn)行匹配,在點(diǎn)云采集過程中出現(xiàn)孔洞時,可對針對特殊位置進(jìn)行重復(fù)掃描,然后進(jìn)行進(jìn)一步匹配,得到更加完整的三維模型。
在采用本文提出的標(biāo)定模板重新標(biāo)定后,得到物體的掃描圖像如圖7。
運(yùn)用前面提到的光條中心提取算法,即將光條中心提取算法應(yīng)用于三維激光掃描儀中,以及攝像頭的標(biāo)定算法。重新對模型掃描如圖8。
通過上面掃描的兩個完整模型可以看出,本文提出的應(yīng)用于低成本三維掃描儀的攝像機(jī)標(biāo)定模板算法與圖像中激光光條的中心提取算法取得了較好的效果,所需硬件均可3D打印,方便用戶自行搭建系統(tǒng),操作簡單。
4.2 誤差分析
可以造成三維激光掃描系統(tǒng)誤差的影響因素較多,主要可以分為以下三類:儀器的系統(tǒng)誤差、目標(biāo)物體的反射面材料與外界環(huán)境條件的影響。
本文中采用被掃描物體放置在旋轉(zhuǎn)平臺的方式進(jìn)行掃描,因?yàn)楫?dāng)電機(jī)步進(jìn)過快是,此時攝像頭拍攝的圖像會產(chǎn)生一定拖影現(xiàn)象,導(dǎo)致線型激光器在圖像中的光條過厚,降低了中心提取的精度,因此本文設(shè)定電機(jī)步進(jìn)不應(yīng)超過某一閾值,在一定程度上降低了誤差。
另一方面,由于涉及兩個線型激光器和攝像頭,因此三者與被掃描物體的相對關(guān)系也會給掃描精度帶來影響。研究顯示掃描時線型激光器應(yīng)與攝像頭保持盡可能大的傾角,以保證掃描范圍,此時30°-50°之間的夾角較為合適。
通過原理分析得出,本文改進(jìn)的標(biāo)定板和中心提取算法分別降低了其誤差,攝像頭的標(biāo)定參數(shù)精度進(jìn)一步提升,在掃描過程中,可通過修改攝像頭外部參數(shù)來保證拍攝質(zhì)量,降低背景環(huán)境帶來的噪聲影響,誤差可進(jìn)一步降低。
5 結(jié)論
本系統(tǒng)的硬件組成前面已有介紹,軟件平臺以Horus和Meshlab為工具。其配套的Horus軟件是由BQ技術(shù)公司發(fā)布的開源軟件,為Ciclop 3D掃描儀提供額外的功能。通過設(shè)置參數(shù)掃描自動生成通用的標(biāo)準(zhǔn)格式數(shù)據(jù)。生成后的點(diǎn)云數(shù)據(jù)導(dǎo)入到Meshlab軟件中優(yōu)化處理。
從圖9中對比可以明顯看出,本文中提出的標(biāo)定模板及算法結(jié)果更佳。通過以上的兩次的掃描模型可以看出,本文提出的針對基于低成本三維激光掃描系統(tǒng)的攝像頭標(biāo)定模板算法取得良好的效果,同時與原掃描系統(tǒng)Ciclop對比,其掃描結(jié)果不如本算法,在本文提到的標(biāo)定模板校準(zhǔn)后,模型誤差顯著降低。
參考文獻(xiàn)
[1]付培.低成本三維激光掃描儀系統(tǒng)關(guān)鍵技術(shù)研究[D].哈爾濱工業(yè)大學(xué)碩士論文,2 010: 14-15.
[2]陳西,攝像機(jī)標(biāo)定與三維重建研究[D].北京化工大學(xué)碩士論文,2007: 5-12,
[3]曲學(xué)軍.基于空間平行直線束的CCD攝像機(jī)內(nèi)外參數(shù)標(biāo)定[J],計(jì)算機(jī)工程與技術(shù),2010.
[4]林育斌,基于計(jì)算機(jī)視覺的三維重建技術(shù)的研究[D].天津大學(xué)碩士論文,2010: 19-22.
[5]劉枝梅.結(jié)構(gòu)光測量系統(tǒng)中光條中心的提取算法[J].北京機(jī)械工業(yè)學(xué)院學(xué)報,2009.