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