張振凱,胡正發(fā),,張 偉,胡 敏,盧文豪,劉倩文
(1. 廣東工業(yè)大學(xué)物理與光電工程學(xué)院, 廣州 510000;2. 東源廣工大現(xiàn)代產(chǎn)業(yè)協(xié)同創(chuàng)新研究院,廣東 河源 517000)
三維重建技術(shù)是將二維圖像轉(zhuǎn)換到三維空間特征的過(guò)程,廣泛應(yīng)用于機(jī)器人環(huán)境感知、虛擬現(xiàn)實(shí)、逆向工程、測(cè)繪工程等領(lǐng)域。常見(jiàn)三維重建的方式大致可分為三種:一種是利用激光、結(jié)構(gòu)光、紅外掃描儀等設(shè)備獲取深度信息,生成激光點(diǎn)云,重建三維模型,這種方式使用的設(shè)備簡(jiǎn)單、精度相對(duì)較高[1-3]。第二種是基于多視幾何原理,利用單目相機(jī)、雙目相機(jī)等獲取多幅圖片或多視角圖像序列,在進(jìn)行特征配準(zhǔn)之后生成三維點(diǎn)云,然后進(jìn)行網(wǎng)格重建[4-6]。第三種是結(jié)合深度學(xué)習(xí)與多視幾何實(shí)現(xiàn)單幅圖像或多幅圖像的三維重建[7]。盡管基于圖像和多視幾何進(jìn)行三維重建速度快、對(duì)物體邊緣和紋理比較敏感,但在重建連續(xù)曲面時(shí)的質(zhì)量欠佳。而激光傳感器由于可快速獲取物體深度信息,測(cè)距精度高,不容易受環(huán)境光照影響,而受到國(guó)內(nèi)外學(xué)者的廣泛研究。文獻(xiàn)[8]提出了由相機(jī)和2D激光測(cè)距儀組成的傳感器平臺(tái),并利用平面校準(zhǔn)圖案的不同視圖之間的約束,減小重建投影誤差。文獻(xiàn)[9]提出了一種基于激光和視覺(jué)數(shù)據(jù)的場(chǎng)景結(jié)構(gòu)信息推斷方法,利用3D視覺(jué)數(shù)據(jù)和2D激光掃描數(shù)據(jù)的融合可實(shí)現(xiàn)重建。文獻(xiàn)[10]提出了一種利用激光掃描儀和數(shù)碼相機(jī)對(duì)古建筑物進(jìn)行快速三維重建的方案,獲取從不同角度掃描的激光點(diǎn)云和一定重疊度的序列圖像進(jìn)行點(diǎn)云拼接與重建。
近年來(lái),3D激光測(cè)距儀已被應(yīng)用于三維激光掃描與重建,且測(cè)距精度高,優(yōu)勢(shì)明顯,但價(jià)格昂貴。本文結(jié)合相機(jī)圖像采集速度快、顏色信息豐富、成本低的優(yōu)點(diǎn)和激光傳感器測(cè)距精確的優(yōu)點(diǎn),搭建起一種低成本、高精度的三維重建系統(tǒng)。結(jié)合激光三角測(cè)距原理與隨機(jī)抽樣一致(RANSAC)原理[11]提取激光點(diǎn)云特征,利用相機(jī)內(nèi)外參數(shù)與激光傳感器之間的幾何關(guān)系,將激光點(diǎn)云特征與圖像顏色信息進(jìn)行融合,生成彩色三維點(diǎn)云模型。
在實(shí)驗(yàn)的過(guò)程中,我們?cè)O(shè)計(jì)了一個(gè)包括單目相機(jī)、線狀激光器和旋轉(zhuǎn)平臺(tái)組成的一個(gè)系統(tǒng),可用于對(duì)小型機(jī)械零件、模型、工藝品、文物等實(shí)體的逆向建模,尤其是針對(duì)非標(biāo)零件可以快速、準(zhǔn)確的完成建模與加工。所使用的旋轉(zhuǎn)平臺(tái),最大轉(zhuǎn)速為600 r/s,最小轉(zhuǎn)動(dòng)角度為0.05°,所使用的激光器為10 mW線狀激光器,波長(zhǎng)635 nm,使用范圍小于3 m,所使用的相機(jī)分辨率為100萬(wàn)像素。其中,云臺(tái)用來(lái)放置待掃描的物體,利用線狀激光和相機(jī)獲取深度信息和物體顏色信息,并將深度信息與顏色信息進(jìn)行融合,整個(gè)實(shí)驗(yàn)系統(tǒng)示意圖如圖1所示,該系統(tǒng)的優(yōu)勢(shì)在于實(shí)驗(yàn)系統(tǒng)構(gòu)造簡(jiǎn)單、成本低、精度高,缺點(diǎn)是掃描時(shí)間較長(zhǎng)。

圖1 系統(tǒng)結(jié)構(gòu)示意圖
為確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對(duì)應(yīng)點(diǎn)之間的相互關(guān)系,必須建立相機(jī)成像的幾何模型,相機(jī)標(biāo)定就是求解幾何模型參數(shù)的過(guò)程,標(biāo)定結(jié)果的精度將直接影響重建精度,相機(jī)標(biāo)定過(guò)程涉及圖像坐標(biāo)、相機(jī)坐標(biāo)和世界坐標(biāo)的轉(zhuǎn)換[12]。


圖2 相機(jī)標(biāo)定樣本集
通過(guò)對(duì)相機(jī)參數(shù)求解運(yùn)算,得到相機(jī)焦距fx、fy與主點(diǎn)cx、cy的值和相機(jī)畸變參數(shù),其中k1,k2和k3為徑向畸變,p1和p2為切向畸變。由圖3的結(jié)果曲線可以看出隨著標(biāo)定次數(shù)的增加,相機(jī)焦距fx,fy和主點(diǎn)cx,cy趨近于真實(shí)值,相機(jī)標(biāo)定誤差小于0.075 mm,在求得畸變參數(shù)之后對(duì)相機(jī)進(jìn)行校正。

圖3 相機(jī)參數(shù)與畸變系數(shù)曲線
激光掃描與相機(jī)像素測(cè)量相比要稀疏很多,并且對(duì)近距離目標(biāo)噪聲比較大。因此,同時(shí)使用激光和相機(jī)兩種傳感器的互補(bǔ)性使得我們能夠在室內(nèi)環(huán)境中獲得目標(biāo)的視覺(jué)特征和紋理結(jié)構(gòu)。
系統(tǒng)流程主要由兩個(gè)階段組成,如圖4所示。在第一階段中,對(duì)相機(jī)采集到的圖像進(jìn)行降噪、預(yù)處理,結(jié)合激光三角測(cè)距原理,估計(jì)目標(biāo)物體的深度信息。第二階段,先初始化深度圖,利用RANSAC原理對(duì)激光點(diǎn)云匹配和優(yōu)化,并與RGB圖像融合獲取三維彩色點(diǎn)云模型。

圖4 單目相機(jī)與激光傳感器三維重建流程圖
激光分割和圖像預(yù)處理主要借助于開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)OpenCv。首先,將相機(jī)采集的激光掃射時(shí)的圖像與無(wú)激光掃射時(shí)的圖像進(jìn)行減法運(yùn)算,即將兩幅圖像對(duì)應(yīng)像素的灰度值或彩色分量進(jìn)行相減,分割得到激光條紋,如圖5所示。

(a) 激光掃射時(shí)的RGB圖像 (b) 無(wú)激光時(shí)的 RGB圖像(c) 分割出的激光線 圖5 激光分割
圖像預(yù)處理主要是對(duì)分割得到的激光條紋進(jìn)行降噪、濾波、閾值化處理,過(guò)濾掉近線噪聲以及背景噪聲,如圖6a所示為閾值化后的灰度圖。OpenCv中提供了閾值化函數(shù)threshold,如公式(1)所示,其中src表示原圖像,dst表示輸出圖像,thresh表示閾值大小。

(1)
設(shè)置一個(gè)寬度為1個(gè)像素的掩模(mask),利用質(zhì)心法如公式(2)所示,計(jì)算條紋每行強(qiáng)度的質(zhì)心。其中(x,y)為質(zhì)心強(qiáng)度值,Iij為圖像上每個(gè)像素點(diǎn)的光強(qiáng),圖6b圖所示的結(jié)果為增強(qiáng)后的條紋。

(2)

(a) 閾值化激光條紋圖 (b) 增強(qiáng)后的激光條紋圖圖6 圖像處理
掃描不同角度拍攝的物體圖像,利用世界坐標(biāo)系與圖像像素坐標(biāo)系之間的轉(zhuǎn)換關(guān)系,獲取圖像深度信息,生成激光點(diǎn)云。即以攝像機(jī)作為世界坐標(biāo)系,則深度值即為世界坐標(biāo)系中的值,與之對(duì)應(yīng)的圖像坐標(biāo)就是圖像平面的點(diǎn)。

圖7 最小二乘法 與隨機(jī)抽樣一致算法 的擬合點(diǎn)云
生成點(diǎn)云之后需要對(duì)點(diǎn)云進(jìn)行匹配,點(diǎn)云匹配會(huì)制約三維重建的速度,也會(huì)影響到最終模型的精細(xì)程度和全局效果,因此需要提升點(diǎn)云配準(zhǔn)算法的性能。文中采用隨機(jī)抽樣一致 (RANSAC)原理對(duì)激光點(diǎn)云篩選與匹配。RANSAC[16]是一種重采樣技術(shù),使用估計(jì)基本模型參數(shù)所需的最小數(shù)量的觀測(cè)值(數(shù)據(jù)點(diǎn))來(lái)生成候選解然后進(jìn)行異常值修剪,并以一致的方式擴(kuò)大該集合的數(shù)據(jù)點(diǎn)。為了直觀描述RANSAC算法,這里以單條激光線點(diǎn)云擬合為例,對(duì)比最小二乘法[17]和RANSAC算法擬合效果,如圖7所示。
從圖7的結(jié)果可以看出,相比之下最小二乘法對(duì)噪聲比較敏感,而RANSAC能去除一些噪聲的干擾,如果假定模型與實(shí)際的情形一致,那么由數(shù)據(jù)計(jì)算出的RANSAC模型,更接近實(shí)際情況。
經(jīng)過(guò)配準(zhǔn)后的深度信息仍為空間中散亂無(wú)序的點(diǎn)云數(shù)據(jù),僅能展現(xiàn)物體的部分信息。因此必須對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行融合處理,以獲得更加精細(xì)的重建模型,具體流程如圖8所示。

圖8 激光點(diǎn)云與RGB圖像融合過(guò)程
借助OpenCV的庫(kù)函數(shù)對(duì)相機(jī)采集到的圖片進(jìn)行顏色、紋理特征提取,然后利用共線方程得到激光點(diǎn)在圖像上的像素坐標(biāo),然后將對(duì)應(yīng)像素的RGB顏色屬性值賦值給點(diǎn)云數(shù)據(jù),得到的就是具有真實(shí)顏色屬性的彩色點(diǎn)云模型[18],圖9為一組真實(shí)的三維重建實(shí)驗(yàn)結(jié)果,融合結(jié)果表現(xiàn)了客觀真實(shí)的色彩和紋理特征。

(a) 真實(shí)的3D打印模型 (b) 該模型的激光點(diǎn)云(c) 融合后的彩色模型圖9 三維重建實(shí)驗(yàn)結(jié)果
為了驗(yàn)證系統(tǒng)的有效性和重建算法的準(zhǔn)確性,我們選取了一些實(shí)物進(jìn)行重建實(shí)驗(yàn),將掃描角度ω(即平臺(tái)每次旋轉(zhuǎn)的角度)分別設(shè)置為1°、0.5°和0.2°,重建效果如圖10~圖13所示。
對(duì)比不同掃描角度下的重建效果可以發(fā)現(xiàn)ω的大小是影響三維重建的一個(gè)重要因素,當(dāng)ω比較大時(shí),點(diǎn)云比較稀疏,當(dāng)ω比較小時(shí)紋理比較清晰。對(duì)比同一角度下的不同物體重建效果可以看出,形狀規(guī)則的物體重建效果較好,對(duì)一些不規(guī)則、凹凸的位置重建時(shí)有缺陷,比如杯子的握柄,玩具的頭部等位置。隨著掃描角度ω不斷變小,點(diǎn)云數(shù)目不斷增加,重建效果更加優(yōu)異,反之點(diǎn)云數(shù)目不斷減少,如圖14所示。

圖10 咖啡杯在ω=1°、ω=0.5°和ω=0.2°時(shí)的點(diǎn)云模型

圖11 筆筒在ω=1°、ω=0.5°和ω=0.2°時(shí)的點(diǎn)云模型

圖12 獼猴桃在ω=1°、ω=0.5°和ω=0.2°時(shí)的點(diǎn)云模型

圖13 玩具在ω=1°、ω=0.5°和ω=0.2°時(shí)的點(diǎn)云模型

圖14 點(diǎn)云數(shù)量與分辨率ω的關(guān)系圖
為了進(jìn)一步驗(yàn)證上述算法的重建精度,在實(shí)驗(yàn)過(guò)程中我們對(duì)標(biāo)定板進(jìn)行三維重建,所用標(biāo)定板規(guī)格為11×6,每個(gè)正方形邊長(zhǎng)為13 mm。選取棋盤格上8個(gè)角點(diǎn),如圖15所示。

(a)真實(shí)標(biāo)定板 (b)三維重建后的標(biāo)定板局部圖15 三維重建
標(biāo)定板重建之后,利用開(kāi)源的Meshlab[19]系統(tǒng)測(cè)量角點(diǎn)之間的點(diǎn)云距離。由表1和圖16的點(diǎn)云尺寸和實(shí)際尺寸數(shù)據(jù)對(duì)比可知,系統(tǒng)重建誤差在0.02~0.2 mm之間,重建精度在0.05%~0.35%之間。

表1 角點(diǎn)間點(diǎn)云距離與實(shí)際距離的數(shù)據(jù)表

(a) 重建誤差曲線圖 (b) 重建精度曲線圖圖16 誤差和精度曲線圖
綜上所述,本文提出的基于單目視覺(jué)與激光掃描的三維重建算法能夠滿足目標(biāo)重建任務(wù),并且系統(tǒng)成本低。但還存在一些不足,比如目前精度尚不能滿足高精密行業(yè)的需求,一些不規(guī)則物體在重建過(guò)程中有遮擋現(xiàn)象。在下一步工作中,將重點(diǎn)研究通過(guò)提高相機(jī)分辨率、旋轉(zhuǎn)平臺(tái)精度和減小系統(tǒng)標(biāo)定誤差的方式提高三維重建精度。