杜哲琪,王國(guó)琿
(西安工業(yè)大學(xué) 光電工程學(xué)院, 西安 710021)
光柵投影技術(shù)是光學(xué)三維測(cè)量技術(shù)中典型的技術(shù)方法,具有速度快、非接觸、適用范圍廣、測(cè)量靈活性高等優(yōu)點(diǎn)。其原理是利用光柵所攜帶的信息來直接或間接的建立相位與三維坐標(biāo)之間的關(guān)系,從而進(jìn)行三維測(cè)量。在進(jìn)行三維測(cè)量前,首先要需要建立合適的系統(tǒng)模型進(jìn)行系統(tǒng)標(biāo)定。
傳統(tǒng)的光柵投影測(cè)量方法采用相位高度映射模型,測(cè)量過程中將光柵投影到被測(cè)物,物體的高度信息會(huì)使投影的光柵發(fā)生變形,通過解調(diào)變形光柵圖中包含的相位信息可獲得物體的高度信息,由此對(duì)被測(cè)物體表面進(jìn)行三維重建。該方法約束性過強(qiáng)、測(cè)量空間受限、標(biāo)定精度不高,影響了該技術(shù)的實(shí)用化。
為了解決上述問題,將投影儀作為逆向攝像機(jī)的雙目立體視覺模型被提出。Falcao等將棋盤格投影在打印棋盤格的標(biāo)定板上,用已標(biāo)定的攝像機(jī)求出投影棋盤格的三維空間坐標(biāo),從而使用攝像機(jī)的校準(zhǔn)程序來校準(zhǔn)投影儀。這種方法原理簡(jiǎn)單、易于實(shí)現(xiàn),但引入了攝像機(jī)的標(biāo)定誤差。為消除攝像機(jī)標(biāo)定引入的誤差,Zhang和Huang提出了投影儀“拍攝”圖像的概念,通過投影水平與垂直兩組相移光柵圖到棋盤格標(biāo)定板,利用三步相移法獲得相位主值,使用一條中心線作為參照獲取解包裹相位從而獲取標(biāo)定投影儀所需的圖像信息,但相位展開的精度較低影響后續(xù)的標(biāo)定精度。文獻(xiàn)[10]中對(duì)相位展開進(jìn)一步改進(jìn),通過投射偽隨機(jī)序列編碼結(jié)合相移法獲取解包裹相位,但同時(shí)又引入復(fù)雜的編解碼算法。華中科技大學(xué)應(yīng)用雙頻光柵投影到棋盤格來計(jì)算解包裹相位并進(jìn)一步提高了標(biāo)定精度。文獻(xiàn)[12]中采用投影負(fù)指數(shù)序列的多頻外差相位光柵來獲取解包裹相位值,輔助獲取高精度三維點(diǎn)云數(shù)據(jù)。文獻(xiàn)[13]建立了投影儀平面和攝像機(jī)平面的射影關(guān)系,通過投影格雷碼利用局部單應(yīng)性來估計(jì)攝像機(jī)平面標(biāo)定板上棋盤格角點(diǎn)在投影儀圖像平面的位置,但其精度有待提高。
但大多數(shù)文獻(xiàn)中均使用棋盤格作為標(biāo)定板,對(duì)圖像噪聲和模糊比較敏感。而圓心標(biāo)志點(diǎn)檢測(cè)不要求較高的圖像質(zhì)量,且圓心易于檢測(cè)、定位精度高,文獻(xiàn)[10]中采用圓陣列標(biāo)定板表現(xiàn)出較好的標(biāo)定結(jié)果。但目前多采用手動(dòng)方式進(jìn)行像素坐標(biāo)與其三維坐標(biāo)的匹配,耗時(shí)耗力?,F(xiàn)有文獻(xiàn)中圓心匹配時(shí)像素坐標(biāo)的獲取均是基于拍攝的原始圓陣列標(biāo)定板圖像,根據(jù)攝像機(jī)的透視成像原理,圖像中的圓已變換成橢圓,將橢圓中心作為圓心會(huì)產(chǎn)生檢測(cè)誤差,且當(dāng)標(biāo)定板相對(duì)于成像平面角度越大誤差越大。因此本文將使用圓心代替棋盤格角點(diǎn)作為標(biāo)定時(shí)使用的標(biāo)志點(diǎn),并提出了圓心自動(dòng)匹配算法,利用攝像機(jī)成像模型實(shí)現(xiàn)攝像機(jī)的標(biāo)定;將投影儀視為一個(gè)逆向的攝像機(jī),采用雙目立體視覺技術(shù)進(jìn)行系統(tǒng)標(biāo)定,該方法系統(tǒng)搭建方便、標(biāo)定算法簡(jiǎn)單、精度較高。為進(jìn)一步提高標(biāo)定精度,將適當(dāng)增加相移步數(shù),使用九步相移法進(jìn)行相位主值的計(jì)算,根據(jù)外差原理通過投影3種頻率的光柵圖進(jìn)行相位解包裹獲取標(biāo)定投影儀所需的圖像信息,并通過實(shí)驗(yàn)對(duì)提出的方法進(jìn)行了驗(yàn)證。
理想的線性攝像機(jī)模型如圖1所示,空間任一點(diǎn)與攝像機(jī)光心的連線與成像平面相交于點(diǎn),對(duì)應(yīng)計(jì)算機(jī)屏幕圖像的點(diǎn)為。
其中包含的坐標(biāo)系有:世界坐標(biāo)系、攝像機(jī)坐標(biāo)系、攝像機(jī)圖像物理坐標(biāo)系、攝像機(jī)圖像像素坐標(biāo)系。
圖1 攝像機(jī)成像模型示意圖
其中,為空間中任意一點(diǎn),點(diǎn)為攝像機(jī)坐標(biāo)系的光心,為點(diǎn)在線性模型下圖像物理坐標(biāo)系的坐標(biāo),為在非線性模型下的位置。
根據(jù)射影幾何知識(shí)中坐標(biāo)系的轉(zhuǎn)換關(guān)系及攝像機(jī)的線性成像模型,空間點(diǎn)在世界坐標(biāo)系下的坐標(biāo)為(,,,1),二維像素坐標(biāo)為(,,1),兩者的轉(zhuǎn)化關(guān)系為:
(1)
式中:為攝像機(jī)內(nèi)參數(shù)矩陣;=為圖像像素坐標(biāo)系軸上的尺度系數(shù);=sin為圖像像素坐標(biāo)系軸上的尺度系數(shù);=-cot為圖像像素坐標(biāo)軸傾斜因子。[]為攝像機(jī)的外參數(shù)矩陣,(,)為圖像主點(diǎn)。
然而,攝像機(jī)成像并不滿足線性模型,據(jù)文獻(xiàn)[21]中所述,由于鏡頭畸變的存在攝像機(jī)的成像過程是非線性的,主要為徑向和切向2種畸變,徑向畸變是由于透鏡的曲面誤差所致,切向畸變是由于在裝配過程中透鏡與成像平面不完全平行造成。
徑向畸變的數(shù)學(xué)表達(dá)式如下:
(2)
切向畸變的數(shù)學(xué)表達(dá)式為:
(3)
式中:(,)代表實(shí)際畸變的圖像物理坐標(biāo);、、、是切向畸變系數(shù)。
本文中使用如圖2所示的黑底白色的大小不一的圓陣列標(biāo)定板,坐標(biāo)系設(shè)定如圖所示,共有9行11列白色圓,行列間距均為20 mm,5個(gè)大圓和標(biāo)記圓用于對(duì)圓心排序。
圖2 圓陣列標(biāo)定板示意圖
本文提出的圓心標(biāo)志點(diǎn)與其三維坐標(biāo)的自動(dòng)匹配算法相較于其他方法,該算法首先對(duì)拍攝的原始圓陣列標(biāo)定板圖像進(jìn)行透視變換,再對(duì)圓心進(jìn)行排序,最后將排序的圓心坐標(biāo)映射回原始圖像中?;驹砣缦拢?/p>
1) 檢測(cè)拍攝的標(biāo)定板圖像中標(biāo)定板的4個(gè)頂點(diǎn)坐標(biāo)、、、;
2) 定義透視變換的固定點(diǎn)坐標(biāo)、、、,縮放因子為=min(,),攝像機(jī)拍攝圖像像素的長(zhǎng)寬為×,標(biāo)定板實(shí)際物理尺寸長(zhǎng)寬為×,(0,0),(×,0),(×,×),(0,×);
3) 根據(jù)式1)和式2)計(jì)算透視變換矩陣,應(yīng)用對(duì)拍攝原圖像進(jìn)行透視變換得到圖像′,對(duì)圖像′進(jìn)行二值化、邊緣提取、橢圓邊界擬合獲取圓心坐標(biāo);
4) 在圖像′中識(shí)別標(biāo)記圓并計(jì)算軸方向相鄰圓心間歐式距離,使用KNN鄰近搜索算法并根據(jù)確定第一、二列圓心坐標(biāo)(1,1)、(2,2),計(jì)算標(biāo)定板每行相鄰圓心的反正切值以及圓心坐標(biāo)(,)與(1,1)之間的反正切值, ,其中=1,…,9,=1,2,…,99;
5) 根據(jù), -<確定行圓心坐標(biāo)(,),為閾值,使用KNN鄰近搜索算法計(jì)算第行圓心坐標(biāo)與(1,1)之間歐式距離并升序排列,完成圓心坐標(biāo)排序;
6) 對(duì)排序的圓心坐標(biāo)應(yīng)用進(jìn)行透視逆變換得到原始圖像下的圓心坐標(biāo),根據(jù)標(biāo)定板物理尺寸生成其對(duì)應(yīng)的三維坐標(biāo)(,,0),完成自動(dòng)匹配。具體流程如圖3所示。
圖3 圓心匹配算法流程框圖
通過以上圓心自動(dòng)匹配算法,避免了人工進(jìn)行圓心標(biāo)志點(diǎn)的匹配過程,節(jié)省了人力,同時(shí)減小了圓心像素坐標(biāo)檢測(cè)誤差。
采用張正友標(biāo)定方法對(duì)攝像機(jī)進(jìn)行標(biāo)定,通過圓心的像素坐標(biāo)及其三維坐標(biāo),求解攝像機(jī)的內(nèi)外參數(shù)及畸變系數(shù),最后通過LM(Levenbery Marquardt)優(yōu)化算法(梯度下降法和高斯牛頓法的結(jié)合)進(jìn)行極大似然估計(jì),得到最優(yōu)標(biāo)定結(jié)果。
投影儀成像光學(xué)模型同攝像機(jī),但光路相反。因此攝像機(jī)的標(biāo)定方法同樣適用于投影儀。本方法的投影儀標(biāo)定基于文獻(xiàn)[9]中提出的方法進(jìn)行改進(jìn),即將投影儀作為逆向攝像機(jī),通過分別投射水平和垂直兩組光柵圖像,獲取標(biāo)定板上的圓心的三維坐標(biāo)在投影儀平面的像素坐標(biāo)。由水平與垂直光柵圖像進(jìn)行相位解算,定位出圓心標(biāo)志點(diǎn)在投影平面的水平與垂直坐標(biāo)。相位解算包括求解相位主值和相位解包裹兩個(gè)階段,求解相位主值即提取光柵圖像中每一點(diǎn)的相位值,相位主值的求解采用相移法,該方法能夠有效排除周圍環(huán)境光及物體表面反射特性的影響,可靠性和精度高,且精度隨相移步數(shù)的增加而提高,投影儀投射的光柵圖像的數(shù)學(xué)表達(dá)為:
=(,)+(,)cos((,)+)
(4)
式中:(,)為背景光強(qiáng)分布;(,)為光強(qiáng)調(diào)制度;(,)為待求的相位主值;為的相移量,=1,2,3,…,,為相移步數(shù)。式中顯然有3個(gè)未知數(shù),因此最少需要3幅光柵圖像才解出(,),從而需要≥3。常用的方法為三步、四步相移法??紤]到精度與速度的權(quán)衡,本文采用九步相移法,相對(duì)于三步、四步相移法,進(jìn)一步提高了求解相位主值的精度,其求解公式為:
(5)
相位主值的求取由于采用了反正切函數(shù),提取出來的相位被壓縮在了[-π,π]之間,因此需要相位解包裹。相位解包裹采用三頻外差方法,通過投影頻率為、、的相移光柵,由反正切函數(shù)獲得每個(gè)頻率的相位主值、、,將和、和進(jìn)行外差操作得到外差相位、,然后將和進(jìn)行外差得到。因?yàn)榈念l率不超過1,所以是連續(xù)相位。
由外差原理可知,的頻率為:
(6)
類似可得到、的頻率。相位展開過程為:
(7)
=+2π
(8)
式中:為的條紋級(jí)次,其中,代表四舍五入取整,為頻率為的光柵圖像的相位主值,為頻率為的光柵圖像的解包裹相位。
(9)
=2π×+
(10)
式中:為的條紋級(jí)次,其中,代表四舍五入取整,為頻率為的光柵圖像的相位主值,為頻率為的光柵圖像的解包裹相位。至此可完成相位解算,利用解包裹相位可獲取投影儀平面的圓心像素坐標(biāo)。
投影儀圖像對(duì)應(yīng)點(diǎn)在方向的坐標(biāo)值:
(11)
投影儀圖像對(duì)應(yīng)點(diǎn)在方向的坐標(biāo)值:
(12)
投影儀圖像信息獲取的步驟如下:
1) 拍攝不同方位下的標(biāo)定板圖像及投影水平與垂直相移光柵圖像后的標(biāo)定板圖像;
2) 對(duì)標(biāo)定板圖像進(jìn)行圖像處理,提取圓陣列標(biāo)定板的99個(gè)圓心亞像素坐標(biāo);
3) 由九步相移法和三頻外差算法分別計(jì)算出水平和垂直光柵圖像的解包裹相位值;
在上文分別求出攝像機(jī)的內(nèi)外參數(shù)和投影儀的內(nèi)外參數(shù)之后,還需要對(duì)攝像機(jī)、投影儀組成的光柵投影系統(tǒng)標(biāo)定其外參數(shù),即確定攝像機(jī)和投影儀之間的位置關(guān)系。設(shè)攝像機(jī)的外參數(shù)為、,投影儀的外參數(shù)為、,設(shè)空間中某一點(diǎn)對(duì)應(yīng)的攝像機(jī)和投影儀的投影點(diǎn)分別是和,并以攝像機(jī)光心作為世界坐標(biāo)系的原點(diǎn),則該點(diǎn)在攝像機(jī)和投影儀圖像中的有如下的對(duì)應(yīng)關(guān)系:
=+
=+
(13)
從而可以推算出投影儀與攝像機(jī)之間的關(guān)系:
(14)
本文中使用的光柵投影系統(tǒng)如圖4所示,該系統(tǒng)由一個(gè)DLP投影儀和CCD攝像機(jī)組成。由上文可知,需標(biāo)定的參數(shù)有攝像機(jī)內(nèi)參數(shù),外參數(shù)[],投影儀內(nèi)參以及系統(tǒng)外參數(shù)、。實(shí)驗(yàn)結(jié)果及分析如下。
圖4 光柵投影系統(tǒng)實(shí)物圖
根據(jù)本文提出的圓心自動(dòng)匹配算法,得到的透視變換、圓心檢測(cè)、排序結(jié)果如圖5所示。
圖5 透視變換、圓心檢測(cè)及排序結(jié)果示意圖
采用本文中提出的方法進(jìn)行攝像機(jī)標(biāo)定,表1、表2分別為攝像機(jī)內(nèi)參數(shù)與外參數(shù)標(biāo)定結(jié)果。
表1 攝像機(jī)內(nèi)參數(shù)的標(biāo)定結(jié)果(圓陣列標(biāo)定板)
表2 攝像機(jī)外參數(shù)的標(biāo)定結(jié)果(圓陣列標(biāo)定板)
對(duì)棋盤格標(biāo)定板同樣采用該方法進(jìn)行標(biāo)定,得到的角點(diǎn)檢測(cè)效果如圖6(b),攝像機(jī)的內(nèi)外參數(shù)結(jié)果如表3、表4所示。
圖6 棋盤格標(biāo)定板圖像及角點(diǎn)檢測(cè)結(jié)果示意圖
采用棋盤格標(biāo)定板得到的攝像機(jī)內(nèi)外參數(shù)標(biāo)定結(jié)果如表3、表4所示。
表3 攝像機(jī)內(nèi)參數(shù)的標(biāo)定結(jié)果(棋盤格標(biāo)定板)
表4 攝像機(jī)外參數(shù)的標(biāo)定結(jié)果(棋盤格標(biāo)定板)
使用上述系統(tǒng)對(duì)拍攝的標(biāo)定板圖像進(jìn)行解相位,以水平光柵圖像為例,其相位解算過程如圖7所示,其中圖7(a)為標(biāo)定板圖像,圖7(b)為頻率圖像,圖7(c)為頻率圖像的第500列相位主值曲線,圖7(d)為頻率圖像的第500列解包裹相位曲線,圖7(e)為頻率圖像相位主值圖,圖7(f)為頻率圖像解包裹相位圖。
圖7 標(biāo)定板圖像解相位過程
由圖7可知,本文中解相位的結(jié)果較好,可為后續(xù)標(biāo)定提供良好的數(shù)據(jù)。
根據(jù)本文中提出的方法得到的投影儀的內(nèi)參數(shù)結(jié)果與外參數(shù)結(jié)果如表5和表6所示。
采集的部分帶有光柵的棋盤格標(biāo)定板圖像如圖8所示,對(duì)其進(jìn)行相位解包裹后,得到的投影儀內(nèi)外參數(shù)如表7、表8所示。
表5 投影儀內(nèi)參數(shù)的標(biāo)定結(jié)果(圓陣列標(biāo)定板)
表6 投影儀(系統(tǒng))外參數(shù)的標(biāo)定結(jié)果(圓陣列標(biāo)定板)
圖8 光柵棋盤格圖像
表7 投影儀內(nèi)參數(shù)的標(biāo)定結(jié)果(棋盤格標(biāo)定板)
表8 投影儀(系統(tǒng))外參數(shù)的標(biāo)定結(jié)果(棋盤格標(biāo)定板)
為了定量地比較標(biāo)定結(jié)果,通過計(jì)算重投影誤差進(jìn)行比較分析,重投影誤差的表達(dá)式為:
(15)
(16)
式中:′為通過圖像處理檢測(cè)的圓心標(biāo)志點(diǎn)在圖像像素平面的像素坐標(biāo);為標(biāo)定板上圓心標(biāo)志點(diǎn)的三維坐標(biāo)通過攝像機(jī)成像模型投影到圖像像素平面的像素坐標(biāo),=1,2,3,…,為標(biāo)志點(diǎn)的總數(shù)。為證明本文提出的方法的有效性,將對(duì)比使用棋盤格標(biāo)定板、本文所提出的標(biāo)定方法以及未進(jìn)行透視變換的圓陣列標(biāo)定板3種方法的重投影誤差。表9是標(biāo)定重投影誤差結(jié)果。
表9 標(biāo)定重投影誤差
由表1~表9可以得出,3種方法均可獲得較好的標(biāo)定精度,與其他2種方法相比,本文方法可獲得更高的標(biāo)定精度,與棋盤格標(biāo)定板相比,攝像機(jī)標(biāo)定的重投影誤差降低大約(0.100 5-0.060 0)/0.100 5≈40.3%,投影儀標(biāo)定的重投影誤差降低大約(0.538 4-0.379 0)/0.538 4≈29.6%,系統(tǒng)標(biāo)定的重投影誤差降低大約(0.387 2-0.271 3)/0.387 2≈29.9%。與未進(jìn)行透視變換的方法相比,攝像機(jī)標(biāo)定的重投影誤差降低大約(0.127 7-0.060 0)/0.127 7≈53.0%,投影儀標(biāo)定的重投影誤差降低大約(0.389 7-0.379 0)/0.389 7≈2.7%,系統(tǒng)的標(biāo)定誤差降低大約(0.290 0-0.271 3)/0.290 0≈6.4%。
1) 提出了一種基于圓陣列標(biāo)定板的光柵投影系統(tǒng)標(biāo)定方法,通過對(duì)標(biāo)定板圖像進(jìn)行透視變換及圓心排序,實(shí)現(xiàn)了圖像與三維空間中圓心標(biāo)志點(diǎn)的自動(dòng)匹配,結(jié)合圓心匹配算法及三頻九步相位解算方法,完成了對(duì)光柵投影系統(tǒng)的標(biāo)定。
2) 提出的圓心自動(dòng)匹配算法減小了圓心檢測(cè)誤差,提供了一種圓陣列排序的新方法,可避免人工匹配造成的誤差,并使用九步相移法提取相位主值,減小相位誤差;
3) 該標(biāo)定方法在精度上較棋盤格標(biāo)定板,攝像機(jī)、投影儀、系統(tǒng)標(biāo)定的重投影誤差分別降低約40.3%、29.6%、29.9%;
4) 該標(biāo)定方法較未進(jìn)行透視變換的圓陣列標(biāo)定板,攝像機(jī)、投影儀、系統(tǒng)標(biāo)定的重投影誤差分別降低約53.0%、2.7%、6.4%。