陳 浪,王代強(qiáng),周 驊,趙 麒
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴陽 550025)
結(jié)構(gòu)光三維重建技術(shù)因其精度高、速度快、適用性強(qiáng)等特點(diǎn),已成為許多高校和企業(yè)研究的熱門課題[1]。傳統(tǒng)的結(jié)構(gòu)光投影設(shè)備大多都是通過投影儀的散焦技術(shù)來獲得黑白相間的正弦條紋[2],工作效率與靈活度比較低,較于MEMS微振鏡投影設(shè)備劣勢明顯。結(jié)構(gòu)光非接觸式光學(xué)三維測量技術(shù)應(yīng)用范圍較于接觸式三維測量更廣闊[3],該技術(shù)的測量精度很大程度上依賴于相位解卷算法,目前很經(jīng)典相位解卷方法有多頻外差[4]、菱形算法[5]、切支法、最小不連續(xù)算法等。相位解卷算法旨在使被攝物特征點(diǎn)匹配精度更高,但在實(shí)際測量中環(huán)境光線的影響和硬件缺陷,會嚴(yán)重影響結(jié)構(gòu)光測量精度,導(dǎo)致三維重建細(xì)節(jié)模糊,分辨能力低[6]。因此,為提高光柵投影的抗干擾性、投影圖像抓取速度和三維重建精度,在此采用MATLAB軟件控制MEMS編碼結(jié)構(gòu)光投射模組和CCD相機(jī)搭載紅外濾光片的方法,搭建單目三維測量系統(tǒng)[7],以有效提高光柵圖抓取效率并降低環(huán)境光對三維重建系統(tǒng)的影響。同時(shí),對硬件設(shè)備缺陷造成的光噪聲在光柵圖中產(chǎn)生噪點(diǎn)的問題,加入高斯濾波算法,極大程度降低光柵相位調(diào)制圖的噪點(diǎn)。最終采用四步相移的方法,結(jié)合三角測量原理,實(shí)現(xiàn)高效率、高精度三維重建。
單目三維測量系統(tǒng)構(gòu)架較于雙目系統(tǒng)更簡單,只需要一臺PC機(jī)、投影儀和相機(jī)即可實(shí)現(xiàn)。硬件的選型在三維重建中也是至關(guān)重要。目前大多數(shù)三維重建結(jié)構(gòu)光測量法中都是采用可見光投射??梢姽馔渡涔鈻艌D對環(huán)境會造成光污染的問題,使三維重建應(yīng)用場景受到限制,特別是在人臉識別、機(jī)器人視覺等快速三維重建的場合。使用紅外光投射方法在三維重建中應(yīng)用會更廣闊。
基于此,本設(shè)計(jì)投影設(shè)備采用微視傳感公司的MEMS結(jié)構(gòu)光投影模組,該模組有體積小、功耗低、紅外光投射等特點(diǎn)。MEMS結(jié)構(gòu)光投影模組由共振腔生成紅外激光束,微鏡反射發(fā)出紅外結(jié)構(gòu)光束投射至待測物表面,再通過一臺500萬像素、鏡頭直徑為8 mm、濾光片為850 nm的工業(yè)相機(jī)進(jìn)行光柵圖抓取。相機(jī)與投影儀分別通過USB口連接至PC機(jī),再經(jīng)由MATLAB軟件控制相機(jī)和投影模組的同步和延遲。
本設(shè)計(jì)系統(tǒng)框圖如圖1所示。首先給MEMS結(jié)構(gòu)光投射器燒錄四步相移法設(shè)計(jì)所需要的編碼光柵條紋圖案,計(jì)算機(jī)通過串口通信方式控制投射模組和CCD相機(jī)同步抓取投射至被測物表面的光柵調(diào)制圖;然后,將抓取的調(diào)制圖交由計(jì)算機(jī)實(shí)現(xiàn)圖像灰度處理和高斯去噪、中值濾波處理,再計(jì)算被攝物卷繞相位;最后通過相位解卷(相位展開)得到被調(diào)制后的光柵絕對相位。被調(diào)制光柵絕對相位中包含了被攝物表面的三維坐標(biāo)信息,可通過三角幾何測量原理獲得被測物實(shí)際的高度坐標(biāo)信息,完成對物體形貌的三維重建。整個系統(tǒng)通過MATLAB軟件在PC端進(jìn)行控制。
圖1 系統(tǒng)框圖
搭建相移法測量系統(tǒng)幾何模型的目的是由獲取的相位差信息,計(jì)算被測物的高度信息。模型如圖2所示,其由CCD相機(jī)、投影模組、被攝物、參考平面組成。CCD相機(jī)和投影模組置于同一水平面上,相隔距離為d,投影模組水平面與參考平面距離為L。
圖2 三維測量系統(tǒng)幾何模型
選取被測物表面一點(diǎn)C為研究對象,計(jì)算其深度信息h(x,y)。投影模組發(fā)射特定編碼光柵圖光束至參考表面上A點(diǎn),放入待測物體后光束經(jīng)待測物表面C點(diǎn)反射后被CCD相機(jī)捕獲,相機(jī)捕獲的條紋由于受到了被測物體高度調(diào)制的影響而發(fā)生變形,變形條紋實(shí)際上是打在背景上的光柵條紋在被測物高度調(diào)制的作用下附加了相位。A點(diǎn)到C點(diǎn)距離的形成實(shí)際就是待測物高度調(diào)制的結(jié)果。由三角相似原理可得:
公式(3)很直觀反映出了高度-相位間的映射關(guān)系,式中L與d是在系統(tǒng)搭建中所確定的系統(tǒng)參數(shù),參數(shù)T為所投射的正弦條紋周期。參數(shù)ΔΦ為參考平面上點(diǎn)A和點(diǎn)B的相位差值。在已知投影模組與CCD相機(jī)之間的距離d和投影模組與參考平面的距離L的條件下,就可以通過光柵相位ΔΦ計(jì)算出物體表面每個點(diǎn)的高度信息。
相移算法因其效率高、效果好,在結(jié)構(gòu)光三維重建中應(yīng)用較多。其中四步相移具有能夠消除檢測器的偶次諧波影響的優(yōu)點(diǎn),是目前應(yīng)用最廣泛的一種相移方法[8]。四步相移法是通過反正切函數(shù)解出結(jié)構(gòu)光條紋光強(qiáng)函數(shù)中被測點(diǎn)的卷繞相位值,經(jīng)相位解卷得到絕對相位后求出對應(yīng)點(diǎn)深度信息。投影模組所生成的調(diào)制條紋的光強(qiáng)函數(shù)可表示如下:
式中參數(shù)意義如下:
A(x,y):背景光強(qiáng);
B(x,y):光柵條紋調(diào)制幅值;
φ(x,y):點(diǎn)(x,y)處對應(yīng)相位;
θ:移動相位值。
四步相移以2π為周期,每次移動相移量為π/2。式(4)中θ又可以表示為:
式中,N代表N步相移,當(dāng)N取4時(shí),θ的值具體表現(xiàn)為:0、π/2、π、2π,即對應(yīng)4幅光柵圖的相移量,其對應(yīng)的光強(qiáng)分布分別為:
由于反正切函數(shù)周期特性的緣故,式(10)中所求卷繞相位值Φ(x,y)被截?cái)嘣?-π,π)區(qū)間中,并不是真實(shí)相位分布值,需要對其進(jìn)行相位解卷繞得到在(0,2π)區(qū)間上的真實(shí)相位。
二維空間相位卷繞和解卷是一對互逆的過程,其仿真結(jié)果圖線如圖3所示。解卷是對卷繞的恢復(fù),其結(jié)果直接影響著三維測量的成功與否。由反正切函數(shù)形成的卷繞相位如圖3(a)所示,主值相位在0到-3時(shí)(一個周期)呈連續(xù)分布,在-3處出現(xiàn)跳變,說明相位發(fā)生卷繞。而整個相位譜[0,1]之間的主值相位發(fā)生了明顯的多次跳變,因此需要對整個場相位分布解卷求出絕對相位值。
圖3 相位卷繞/解卷模擬結(jié)果
相位解卷繞實(shí)際是選取被卷繞相位的某一行(列)方向,比較被測點(diǎn)相鄰兩個像素點(diǎn)間的相位值差是否大于或小于-π,若大于,則后一像素點(diǎn)相位值減去2π;若小于,則后一像素點(diǎn)相位值加上2π。再對列(行)重復(fù)上述操作,直至全場相位解卷完成。圖3(b)為相位解卷繞圖,從圖中可以明顯觀察到解卷后主值相位在整個場上呈直線分布。
使立體視覺技術(shù)實(shí)用化的關(guān)鍵是找到最合適的算法來快速匹配相應(yīng)的點(diǎn),從而實(shí)現(xiàn)三維重建。在上述引言中提及到的幾種相位解卷算法中,文獻(xiàn)[9]已經(jīng)驗(yàn)證了最小不連續(xù)相位解卷法抗噪能力最好,因此本設(shè)計(jì)使用最小不連續(xù)法進(jìn)行相位解卷,得到絕對相位后再通過三角幾何測量原理實(shí)現(xiàn)三維重建。
實(shí)驗(yàn)采用結(jié)構(gòu)光投射模組觸發(fā)CCD相機(jī)的方式采集光柵圖,再通過USB串口通信將圖像數(shù)據(jù)傳入計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,實(shí)驗(yàn)環(huán)境如圖4所示。
圖4 實(shí)驗(yàn)環(huán)境
使用MATLAB軟件實(shí)現(xiàn)硬件控制以及光柵四步相移三維重建算法驗(yàn)證。為驗(yàn)證本設(shè)計(jì)的準(zhǔn)確性,實(shí)驗(yàn)分別對手持風(fēng)扇,手,羽毛球進(jìn)行了重建分析,選取圖像分辨率為1600×1200像素。具體實(shí)驗(yàn)步驟如下:
1)將4幅編碼結(jié)構(gòu)光圖案燒錄至投影模組中。使用MATLAB軟件控制投影模組依次向待測物放置區(qū)域投射4幅編碼光柵圖,保存為背景參考圖。
2)將被測物放置于待測物放置區(qū),重復(fù)前一步驟,獲得調(diào)制光柵圖。
3)對背景參考圖和調(diào)制光柵圖進(jìn)行中值濾波和高斯濾波處理,并計(jì)算每個像素點(diǎn)的卷繞相位,再對其相位解卷繞得到相位展開圖。
4)對背景參考圖和調(diào)制光柵圖作差以剔除背景,得到最終相位解卷圖。
5)結(jié)合三角測量原理實(shí)現(xiàn)三維重建。
MEMS結(jié)構(gòu)光投影模組單次存儲圖像60幅,單幅圖案投射時(shí)間間隔可低至30 ms。但是由于串口需要反應(yīng)時(shí)間以及本實(shí)驗(yàn)相機(jī)圖像顯示幀率在30 f/s左右,所以設(shè)定每幅圖投射時(shí)間間隔為0.1 s,4幅條紋圖采集時(shí)間共需要0.4 s。在背景條紋圖提前已經(jīng)采集完成的條件下,本次實(shí)驗(yàn)只需要0.4 s就可以完成對光柵圖的采集,在很大程度上提高了三維重建效率。
四步相移法所需光柵圖較少,在圖像處理速度上比較快,因此重建效率也比較高。但是傳統(tǒng)四步相移相位解卷后,由于物體背影與光柵條紋交織和投影模組投射的條紋間過渡不均勻的情況存在,導(dǎo)致相位解卷后噪點(diǎn)較多,對三維重建精度影響很大。針對此類問題,本設(shè)計(jì)在傳統(tǒng)四步相移算法的相位解卷前,對相位卷繞圖加入高斯去噪和中值濾波的方法,實(shí)現(xiàn)相位卷繞圖噪點(diǎn)去除。
投射模組和CCD相機(jī)抓取的手持風(fēng)扇條紋調(diào)制圖如圖5所示。
圖5 手持風(fēng)扇光柵圖
從圖5(b)中可以看出,調(diào)制條紋中黑白條紋過渡并不均勻,再加上被測物存在背影的緣故,會導(dǎo)致相位解卷后有噪點(diǎn)產(chǎn)生。
在傳統(tǒng)的相位解卷過程中,被攝物體光柵調(diào)制圖解卷后一些地方會有明顯噪點(diǎn)產(chǎn)生,在此使用高斯去噪和中值濾波算法對其進(jìn)行處理。處理效果如圖6所示??梢?,經(jīng)過濾波后噪點(diǎn)得到了有效剔除。
圖6 去噪前后相位解卷對比圖
相位解卷后再通過三角原理即可實(shí)現(xiàn)三維重建。手持風(fēng)扇三維重建模型如圖7所示。手持風(fēng)扇圓形邊框?yàn)槠渥罡唿c(diǎn),實(shí)際高度為4.5 cm。
圖7 手持風(fēng)扇三維重建模型
選取三維重建模型風(fēng)扇圓形邊框兩個點(diǎn)為參考點(diǎn),測量高度分別為4.5097 cm和4.5672 cm。如圖8為手持風(fēng)扇點(diǎn)云圖。
圖8 手持風(fēng)扇點(diǎn)云圖
對右手進(jìn)行三維重建,結(jié)果如圖9所示。圖中手腕處實(shí)際高度為4.5cm,三維測量高度為4.5078 cm。
圖9 手三維重建
同樣,對羽毛球進(jìn)行三維重建,結(jié)果如圖10所示。圖中羽毛球泡沫頭實(shí)際高度為2.7 cm,三維測量高度為2.7421 cm。
圖10 羽毛球三維重建
將三組實(shí)驗(yàn)數(shù)據(jù)匯總對比,結(jié)果如表1所示。
表1 三次實(shí)驗(yàn)數(shù)據(jù)對比
通過以上三組實(shí)驗(yàn)效果圖可以看出,本方法能較好地還原出被測物三維形貌,對傳統(tǒng)四步相移解卷后產(chǎn)生的噪點(diǎn)剔除效果理想,但是對于被攝物背影與光柵條紋重疊處形成的條紋誤差仍會產(chǎn)生少許噪點(diǎn)。由三組重建高度數(shù)據(jù)對比也可看出,物體實(shí)際高度與重建高度誤差不大,重建精度較好。
實(shí)驗(yàn)使用的MEMS結(jié)構(gòu)光投影模組工作距離在40 cm~60 cm之間,對大型物體進(jìn)行三維重建并效果并不好,但是對中小型物件三維恢復(fù)效果較好,因此使用范圍有所限制。模組在使用過程中由于工藝局限性也會導(dǎo)致測量噪點(diǎn)。使用MATLAB軟件通過串口通信方式控制投影模組和CCD相機(jī)同步抓取被攝物光柵調(diào)制圖,可實(shí)現(xiàn)光柵四步相移法三維重建,進(jìn)而對于環(huán)境光強(qiáng)和硬件原因?qū)ο辔唤饩硇纬傻脑朦c(diǎn)加入高斯去噪和中值濾波算法,有效彌補(bǔ)了實(shí)驗(yàn)環(huán)境和硬件上的缺陷,大大提高了三維重建精度和效率。