李明勛,楊華民,張超,陳展東,韓成
(1.平壤建設(shè)建材大學(xué) 信息工程系,朝鮮平壤;2.長春理工大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長春 130022)
光學(xué)三維重建技術(shù)指的是用光學(xué)的手段測量物體的形貌,從而獲取物體形面的三維坐標(biāo)數(shù)據(jù),并以此數(shù)據(jù)對物體的三維形貌進(jìn)行重建。而且由于彩色圖像提供了比灰度圖像更為豐富的信息,且基于彩色結(jié)構(gòu)光編碼[1,2]測量速度快,可以實(shí)時(shí)的對物體進(jìn)行重構(gòu)。所以目前各種類型的彩色結(jié)構(gòu)光編碼方法已被結(jié)構(gòu)光三維重構(gòu)技術(shù)廣泛的采用。但由于彩色圖像的信息豐富,因此對采集到的圖像進(jìn)行顏色的準(zhǔn)確識別與歸類則成為彩色結(jié)構(gòu)光編碼研究的重點(diǎn)與難點(diǎn)[3-6]。
本文利用彩色編碼調(diào)制后的圖像研究了彩色結(jié)構(gòu)光的解碼原理,并對圖像顏色信息的準(zhǔn)確識別進(jìn)行了深入的研究,提出了一種簡易的、方便的、準(zhǔn)確性高的彩色條紋的顏色聚類化方法。
彩色結(jié)構(gòu)光編碼技術(shù)是三維重建的基礎(chǔ)與關(guān)鍵,好的編碼技術(shù)將會(huì)提高圖像解碼的精度與準(zhǔn)確度。目前各大高校都在積極地研究彩色結(jié)構(gòu)光編碼方案,并且已經(jīng)有了一些研究成果。
結(jié)構(gòu)光三維測量方法主要分為兩個(gè)部分,第一部分是投影結(jié)構(gòu)光并拍攝獲得結(jié)構(gòu)光圖像,然后進(jìn)行結(jié)構(gòu)光解碼得到結(jié)構(gòu)光的圖像二維信息;第二部分是根據(jù)投影儀、攝像機(jī)和目標(biāo)物體的相對位置把結(jié)構(gòu)光的圖像二維信息轉(zhuǎn)化為目標(biāo)物體的三維信息。其實(shí)驗(yàn)結(jié)構(gòu)如圖1所示。
圖1 實(shí)驗(yàn)結(jié)構(gòu)圖Fig.1 Experimental structure image
其中結(jié)構(gòu)光解碼與解碼技術(shù)是進(jìn)行三維重建的關(guān)鍵性環(huán)節(jié)。
對于結(jié)構(gòu)光編碼方面,合肥工業(yè)大學(xué)張勇斌等人提出了一種偽隨機(jī)編碼方案,該方案根據(jù)偽隨機(jī)彩色編碼原理,代數(shù)攝影幾何中的交比不變性質(zhì),將一副偽隨機(jī)編碼圖案與投影系統(tǒng)相結(jié)合,構(gòu)造了一種新的視覺投影系統(tǒng)。浙江大學(xué)黃紅強(qiáng)等人提出了一種顏色編碼方案,用膠片拍攝調(diào)值分布具有一定規(guī)律的條紋狀圖案,然后利用該膠片投影得到彩色結(jié)構(gòu)光。由于在圖像攝取時(shí)黑色對彩色條紋的影響不大,又考慮到邊緣提取的需要,選取黑色作為底色。同時(shí)基于迪布魯英(De Bruijn)序列的彩色結(jié)構(gòu)光也較為常用,此種結(jié)構(gòu)光具有預(yù)先的可確定性和可重復(fù)性,所以由迪布魯英偽隨機(jī)序列生成的彩色結(jié)構(gòu)光編碼方法已成為了彩色結(jié)構(gòu)光三維重構(gòu)最廣泛應(yīng)用的方法之一,其效果如圖2所示。
圖2 迪布魯英(De Bruijn)序列編碼Fig.2 Color-coded structured light of De Bruijn
對于解碼方法來說,于曉洋等人采用一種基于邊緣導(dǎo)向的亞像素定位技術(shù)提取格雷碼條紋邊緣;PhilippFechteler等人提出了自適應(yīng)彩色分類方法和捕獲3D模型的方法,解決了環(huán)境光、顏色、人臉特征對重構(gòu)質(zhì)量的影響,提高了系統(tǒng)的魯棒性。WillieBrink等人根據(jù)圖中已記錄條紋的潛在關(guān)聯(lián)性和鄰接性,提出了最大生成樹算法,使用該算法可以得到比以往方法更精確、更可靠的重構(gòu)結(jié)果??琢罡坏热死眯蛄械拇翱谔匦院涂臻g鄰域編碼思想對各條紋邊界進(jìn)行標(biāo)識,采用全局優(yōu)化思想對條紋邊界進(jìn)行最優(yōu)鄰域匹配,不需要假定物體全表面單調(diào),對其連續(xù)性也不做嚴(yán)格要求。Li Zhang等人引入了多通道動(dòng)態(tài)規(guī)劃思想,來克服圖像中的條紋遮擋問題,但常會(huì)出現(xiàn)對局部單調(diào)區(qū)域之間的邊界集的解碼誤差。
采集到經(jīng)物體面形調(diào)制過的畸變條紋圖像后,必須對條紋進(jìn)行解碼,確定條紋在模式中的相對位置,才能進(jìn)一步計(jì)算出條紋點(diǎn)的空間三維坐標(biāo)。解碼過程,即是解決攝像機(jī)觀測條紋與投影儀投射模式條紋之間的匹配問題的過程。而對于彩色條紋編碼,由于采集到的圖像信息豐富,因此在解碼之前必須對圖像的顏色信息進(jìn)行識別與歸類。而對顏色識別與歸類的準(zhǔn)確度,將直接影響到對圖像解碼的精度。本文提出了一種迭代式的顏色聚類化方法,能夠精確的對采集到的圖像進(jìn)行顏色的識別與歸類。
迭代式顏色娶類算法采用彩色結(jié)構(gòu)光編碼技術(shù)的原理,生成一幅彩色結(jié)構(gòu)光編碼圖像。通過投影機(jī)將彩色結(jié)構(gòu)光編碼圖像投影到被測物體上,并攝取一幅畸變的條紋圖像,對此圖像進(jìn)行顏色的聚類化,對圖像的顏色信息進(jìn)行精確的識別與歸類。
其顏色聚類化算法為:
(1)對采集到的圖像進(jìn)行像素點(diǎn)的掃描,設(shè)共有m行、n列個(gè)像素點(diǎn);在m行上依次排列每條彩色條紋的n個(gè)像素點(diǎn)的RGB值,得到由這些像素點(diǎn)的RGB值構(gòu)成的m×n階矩陣Z;Z(i,j)=(R(i,j),G(i,j),B(i,j))為矩陣Z的第i行第j列元素,其中 Z(i,j)=(R(i,j),G(i,j),B(i,j)),R(i,j)、G(i,j)、B(i,j)為第i行第j列位置的像素點(diǎn)的RGB值,記 Z(i,j,k)表示 Z(i,j)的第 k 個(gè)元素,k=1,2,3。
(2)根據(jù)公式Z(i,j)=Z(I,j)/255,對矩陣Z中的每個(gè)元素進(jìn)行歸一化,i=1,2,…,m,j=1,2,…,n;設(shè)表示屬于第q種顏色的像素點(diǎn)的個(gè)數(shù),=0,q=1,2,…,8。
(3)假設(shè)在RGB顏色空間中的8種顏色用a1,a2,a3,a4,a5,a6,a7,a8來進(jìn)行表示,其中 ax的RGB 值用 rx,gx,bx來表示,其中 x=1,2,…,8。a1的RGB顏色值為(0,0,1),a2的 RGB顏色值為(0,1,0),a3的 RGB 顏色值為(0,1,1),a4的 RGB顏色值為(1,0,0),a5的 RGB顏色值為(1,0,1),a6的 RGB 顏色值為(1,1,0),a7的RGB顏色值為(1,1,1),顏色a8的RGB顏色值為(0,0,0)。
圖3 彩色結(jié)構(gòu)光編碼圖像Fig.3 Color-coded structured light image
圖4 調(diào)制后的彩色編碼圖像Fig.4 Color-coded image after projection
圖5 根據(jù)顏色聚類化方法的結(jié)果圖Fig.5 Result image in color classification
其中 i=1,2,…,m;j=1,2,…,n;s=1,2,…,8。
(6) 對固定 i,j的 Z(i,j),設(shè) D(i,j,q)是{(D(i,j,1),D(i,j,2),D(i,j,3),D(i,j,4),D(i,j,5),D(i,j,6),D(i,j,7),D(i,j,8)}中的最小值且 q值最小,;如果 D(i,j,q)=0,那么D(i,j,q)=0.001;構(gòu)造矩陣,其中為矩陣的第i行第j列元素,;構(gòu)造向量 min,其中表示向量 的第 i個(gè)元素,。
(7)對 i=1,2,…,m,j=1,2,…,n,重復(fù)步驟5中的上述過程;設(shè)共構(gòu)造了t個(gè)向量;如果對于每一個(gè) q=1,2,…,8都有,那么對圖像的顏色聚類化方法結(jié)束,否則繼續(xù)執(zhí)行步驟8。
通過以上顏色聚類分析的步驟可以將采集到彩色結(jié)構(gòu)光調(diào)制后的圖片中每一個(gè)像素點(diǎn)的顏色進(jìn)行精確聚類化,為計(jì)算待測物體上特征點(diǎn)的三維信息作好了準(zhǔn)備。
對遞歸式的顏色聚類化算法進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)采用的彩色結(jié)構(gòu)光編碼的圖像為1024*768像素的圖像。其彩色圖像如圖3所示。
將彩色條紋編碼圖像用投影儀投射到被測物體上,用攝像機(jī)采集調(diào)制后的編碼圖像如圖4所示。
對采集到的編碼圖像進(jìn)行顏色聚類化算法分析,進(jìn)行6次迭代計(jì)算就完成了顏色的歸類,顏色標(biāo)定誤差不超過1%,顏色標(biāo)定誤差幾乎都出現(xiàn)在遮擋區(qū)域的邊沿或陰影區(qū)域的邊沿,如圖5所示。而根據(jù)顏色的聚類化方法所得到的顏色分類劃分模式如圖6所示。
實(shí)驗(yàn)結(jié)果表明了本文提出的遞歸式的顏色聚類化算法對顏色的識別與歸類存在著精確度高、準(zhǔn)確性好等優(yōu)點(diǎn)。
(1)采用彩色結(jié)構(gòu)光編碼技術(shù)對目標(biāo)物體進(jìn)行彩色編碼,既充分顏色空間信息豐富的優(yōu)點(diǎn),又滿足了重建三維模型實(shí)時(shí)性的要求,利用較少的圖像來獲得被測物體三維點(diǎn)云數(shù)據(jù)。并且結(jié)合彩色條紋的編碼原理對像素點(diǎn)的識別帶來了更高的精確性,也提高了重建精度。
圖6 顏色分類Fig.6 Color classification
(2)采用遞歸的顏色聚類化方法對采集到的圖像進(jìn)行顏色信息的識別與歸類,提高了圖像信息識別的準(zhǔn)確度,進(jìn)而提高了采集圖像的解碼精度,從而為被測物體的三維重建打下了堅(jiān)實(shí)的基礎(chǔ)。
(3)在顏色聚類化算法中,采用在圖像中每個(gè)像素點(diǎn)與顏色空間(近似為正方形)中原點(diǎn)到其另外8個(gè)頂點(diǎn)所構(gòu)成線段的距離的最小值來進(jìn)行計(jì)算。因此,在顏色聚類化中,可以對 RGB為(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)的 8 種顏色進(jìn)行歸類。
(4)在顏色聚類化算法中,由于我們采用的是迭代的方法,因此在采集到的圖像較大時(shí),用顏色聚類化方法進(jìn)行歸類時(shí),運(yùn)行時(shí)間較長,實(shí)時(shí)性較低。
[1]吳成東,耿飛.基于彩色條紋結(jié)構(gòu)光的物體三維重建方法[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2009,30(7):928-931.
[2]韋爭亮,鐘約先,袁朝龍.基于彩色柵線的結(jié)構(gòu)光動(dòng)態(tài)三維測量技術(shù)研究[J].光學(xué)技術(shù),2009,35(4):569-574.
[3]孔令富,陳淑平,郭福田.一種基于編碼結(jié)構(gòu)光的三維重建匹配算法[J].計(jì)算機(jī)技術(shù)與應(yīng)用進(jìn)展,2007:91-95.
[4]Philipp F,Peter E,Jurgen R.Fast and High Resolution 3D Face Scanning[J].In Proc of the International Conference on Image Processing ICIP,SanAntonio,Texas,USA,2007:81-84.
[5]Willie B,Alan R,Marcos R.Indexing Uncoded Stripe Patterns in Structured Light Systems by Maximum Spanning Trees[C].British Machine Vision Conference,2008.
[6]Philipp F,Peter E.AdaptiveColorClassification forStructured Light Systems[J].IET Computer Vision,2008:1-15.