孫 亮,韓勇華,王劍濤,王軼驍,朱 漣,伏燕軍*
(1.南昌航空大學(xué),330063,南昌; 2.南昌航空大學(xué)無損檢測技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,330063,南昌)
隨著數(shù)字圖像處理、人工智能以及計(jì)算機(jī)科學(xué)的高速發(fā)展,基于條紋投影的三維測量[1-2]方法,由于其具有非接觸、高速、高精度和全場測量[3]等優(yōu)勢被廣泛應(yīng)用。目前基于條紋投影的三維測量方法在很多領(lǐng)域有著廣泛應(yīng)用,例如,安防監(jiān)控領(lǐng)域[4-5]、生物醫(yī)學(xué)領(lǐng)域[6-7]以及工業(yè)在線監(jiān)測領(lǐng)域。在條紋投影的三維測量基礎(chǔ)中,通過將預(yù)先設(shè)計(jì)好的正弦條紋由DLP投影儀投射到物體表面,被物體調(diào)制后的變形條紋由相機(jī)接收并送至計(jì)算機(jī),經(jīng)過求解包裹相位和相位展開得到帶有物體高度信息的相位值,再經(jīng)過系統(tǒng)標(biāo)定后就可以得到物體的三維形貌。
傅立葉變換法[8-9]和相移法[10-11]是常見的包裹相位獲取方法。傅立葉變換法求解包裹相位雖然只需一幅條紋圖,但其精度比相移法要低。而相移法對環(huán)境光和隨機(jī)噪聲不敏感,求解的包裹相位精度高,但是在測量系統(tǒng)中,采集條紋圖使用的DLP投影儀和CCD相機(jī)多為非線性設(shè)備,正弦條紋不具有較好的正弦性,從而導(dǎo)致求解的相位仍然存在一定誤差。這種非線性效應(yīng)是影響投影測量系統(tǒng)精度的主要因素。
Jia[12]提出了一種新型高速兩步相移法用于三維測量,該方法只需要投影2個(gè)相移180度的三角形條紋圖,通過計(jì)算2個(gè)捕獲的三角形條紋圖得到強(qiáng)度比就可以對物體進(jìn)行三維重建。Dai[13]等利用三步相移算法獲得包裹相位時(shí)發(fā)現(xiàn)測量精度會被存在的高次諧波影響,提出了利用具有周期性和對稱性的二元圖案來產(chǎn)生高質(zhì)量的條紋圖案。Xu[14]等人為了減輕高次諧波的影響,提出了一種被動(dòng)誤差補(bǔ)償?shù)姆椒?,但是如果條紋寬度過大,這個(gè)方法會受到限制。Flores[15]提出了一種合成三角波條紋的方法,可有效解決投影儀非線性伽馬引起的問題。Huang[16]提出了一種可以明顯地減小該相位誤差的雙三步相移算法,需要2組初始相位差設(shè)計(jì)為60°的正弦光柵條紋投影圖(每組3幅圖),相位誤差可以得到明顯的改善,實(shí)驗(yàn)證明,該方法能有效地削弱非線性誤差對條紋投影測量系統(tǒng)的影響。在實(shí)際測量中,雙四步相移算法由于相位誤差的正弦周期與相移算法的相移步數(shù)有關(guān),且初始相位的差值設(shè)計(jì)為45°,更能夠有效地減小測量誤差。實(shí)際上,系統(tǒng)中存在的噪聲、環(huán)境光以及離焦程度等因素都會造成不同程度的相位誤差[17-20]。而基于相位而不是強(qiáng)度的相位編碼方法[21]對環(huán)境光、相機(jī)噪聲和測量物體表面的對比度等因素不敏感,具有良好的抗干擾能力和較強(qiáng)的魯棒性。由于雙四步相移算法[22]仍然具有四步相移算法抗噪性的優(yōu)點(diǎn),從中得到的融合相位[22]需進(jìn)行相位展開,提出了一種雙四步相移結(jié)合相位編碼的三維測量方法,較于傳統(tǒng)的相移結(jié)合相位編碼的方法,該方法可以進(jìn)一步抑制非線性誤差對測量帶來的影響,提高測量的精度。實(shí)驗(yàn)結(jié)果表明了該方法的可行性和有效性。
本文其余部分結(jié)構(gòu)如下。第1部分介紹了雙四步結(jié)合相位編碼的原理。第2部分通過實(shí)驗(yàn)證實(shí)方法的可行性。第3部分總結(jié)本文。
如圖1所示為基于結(jié)構(gòu)光的三維測量系統(tǒng),該系統(tǒng)由投影儀、工業(yè)CCD相機(jī)、計(jì)算機(jī)、參考平面組成。相機(jī)光軸與參考平面垂直,然后投影儀光軸和相機(jī)光軸相交于參考平面上的O點(diǎn),P為投影儀光心點(diǎn),C為相機(jī)光心點(diǎn),兩點(diǎn)在同一高度,d為兩點(diǎn)之間的距離,兩點(diǎn)到參考平面的距離為l。其中參考平面上正弦條紋頻率為f,物體表面圖像和參考平面圖像對應(yīng)點(diǎn)的連續(xù)相位差為△φ。則下列計(jì)算公式(1)是被測物體某點(diǎn)M的高度:
(1)
圖1 三維測量系統(tǒng)原理圖
針對N步相移算法[23]的第i個(gè)正弦條紋圖案可以表示為:
Ii(x,y)=Ia(x,y)+Ib(x,y)cos[φ(x,y)+δi]
(2)
對待求相位φ(x,y)進(jìn)行傅立葉級數(shù)展開獲得實(shí)際相位φ′(x,y),則△φ(x,y)=φ′(x,y)-φ(x,y),根據(jù)三角函數(shù)獲得:
(3)
則相位誤差相位函數(shù)△φ(x,y)為:
(4)
傳統(tǒng)的四步相移算法所對應(yīng)的相位誤差函數(shù)可以近似表示為:
△φ(x,y)≈c1sin[4φ(x,y)]
(5)
式中c1為一個(gè)常數(shù)。
在投影N幅正弦條紋圖中,外加一個(gè)初始相位?,設(shè)計(jì)好的正弦條紋圖則可以描述為:
Ii(x,y)=Ia(x,y)+Ib(x,y)cos[(φ(x,y)+?)+δi]
(6)
式中:[φ(x,y)+?]為上述正弦條紋圖的初始相位。則此時(shí)的四步相移算法中,可以近似表示相位誤差為:
△φ′(x,y)≈-c2sin{4[φ(x,y)+?]}=-c2sin[4φ(x,y)+4?]
(7)
當(dāng)條紋圖未引入額外的初始相位,即?=0時(shí),實(shí)際相位分布對應(yīng)的相位誤差為△φ(x,y),此時(shí)的實(shí)際相位可表示為:
(8)
而當(dāng)?=π/4時(shí),相位誤差為:
△φ′(x,y)≈-c2sin[4φ(x,y)+4×π/4]=c2sin[4φ(x,y)]=-△φ(x,y)
(9)
則可以由2種形式表示此時(shí)實(shí)際主值相位分布:
(10)
(11)
(12)
Wang在2012年首次提出相位編碼[24]的方法,利用一組正弦條紋和一組相位編碼條紋即可實(shí)現(xiàn)相位解包裹,使用相位代替強(qiáng)度來確定碼字,增強(qiáng)了其魯棒性。相位編碼方法中的編碼相位需預(yù)先設(shè)計(jì)好并嵌入到相位編碼條紋中去,通過一系列計(jì)算可確定條紋級次,求得條紋級次與包裹相位的周期一一對應(yīng)。傳統(tǒng)相位編碼原理流程如圖2所示。
圖2 相位編碼原理流程圖
1)設(shè)計(jì)階梯編碼相位,初始相位由式(13)生成:
(13)
2)根據(jù)式(14)生成相位編碼條紋:
Ak(x,y)=a(x,y)+b(x,y)cos[φs(x,y)+2π(k-1)/4]
(14)
式中:a(x,y)是平均強(qiáng)度,b(x,y)是調(diào)制強(qiáng)度,這里,k=1、2、3、4。
正弦條紋圖案和相位編碼條紋圖案如圖3所示。
(a)四步相移條紋 (b)相位編碼條紋圖
3)從相位編碼條紋圖中獲得被編碼在-π到+π的范圍內(nèi)的階梯相位φs(x,y)。階梯相位可利用式(15)計(jì)算獲?。?/p>
(15)
4)根據(jù)獲取的階梯相位確定條紋級次k(x,y):
k(x,y)=Round[N(φs(x,y)+π)/2π]
(16)
式中Round[·]為確定最接近的整數(shù)。
5)條紋級次k(x,y)確定后,就可以進(jìn)行相位展開。根據(jù)式(17)將包裹相位φ(x,y)轉(zhuǎn)換為絕對相位Φ(x,y)。
Φ(x,y)=Φ(x,y)+2π×k(x,y)
(17)
為了驗(yàn)證該方法的性能,搭建了一個(gè)測量系統(tǒng),包括一個(gè)投影儀(DLP Light Crafter 4500)、一個(gè)CMOS攝像機(jī)(Basler acA1600-20gm GigE)和一臺計(jì)算機(jī),如圖4所示。投影儀分辨率為1 140×912,攝像機(jī)分辨率為1 280×1 024。在接下來的實(shí)驗(yàn)中,正弦條紋圖和相位編碼圖選擇周期為32個(gè)像素。系統(tǒng)采用參考文獻(xiàn)[25]中的方法進(jìn)行標(biāo)定。
圖4 三維測量系統(tǒng)圖
為了驗(yàn)證本方法的可行性,測量了一個(gè)烏龜玩具模型。在實(shí)驗(yàn)過程中,相移步數(shù)N取4,由計(jì)算機(jī)得到的四步相移正弦條紋圖案和四步相位編碼圖案被依次投影到待測的烏龜玩具模型的表面上,并且烏龜玩具模型調(diào)制的條紋圖像用相機(jī)順序地采集。其中,圖5(a)是模型的四步相移正弦條紋圖案的其中1幅,圖5(b)為4幅相位編碼條紋圖的其中1幅,從中可以計(jì)算出整數(shù)型編碼相位。如圖5(c)所示是通過雙四步相移可以獲得融合相位。條紋級次k(x,y)從被調(diào)制后的相位編碼圖案中計(jì)算出,圖5(d)為融合相位和條紋級次圖的某一行。最終,通過高度公式,如圖5(e)和(f)所示可以獲得烏龜玩具模型的三維重建結(jié)果。從圖5中可以看出,在烏龜玩具的模型眼睛部位和背部有一些凹凸不平區(qū)域,也同樣可以被很好地復(fù)原出來。
(a)四步相移條紋圖的其中1幅 (b) 4幅相位編碼條紋圖的其中1幅
基于傳統(tǒng)的相移結(jié)合相位編碼的方法,由于系統(tǒng)中非線性響應(yīng)的影響,所測得的相位信息存在誤差,降低了測量精度。提出的一種雙四步相移結(jié)合相位編碼的三維測量方法,只需投影傳統(tǒng)相移算法2倍相移光柵的雙四步相移算法具有四步相移算法良好的抗噪性優(yōu)點(diǎn),2幅包裹相位圖通過2次四步相移算法計(jì)算獲得,經(jīng)過相位融合得到融合相位。而相位編碼的方法對環(huán)境光以及系統(tǒng)的噪聲等因素具有較好的魯棒性,對條紋級次的準(zhǔn)確判斷有利,可以獲得比較理想的測量精度。相對于傳統(tǒng)的相移結(jié)合相位編碼的方法,該方法可以進(jìn)一步抑制條紋投影輪廓術(shù)非線性測量誤差對測量帶來的影響。綜上所述,該方法能對孤立復(fù)雜物體進(jìn)行測量,且容易實(shí)現(xiàn),更加有效,實(shí)驗(yàn)表明了該方法的可行性。