專利名稱:結構光三維視覺系統的光模板匹配方法
技術領域:
本發明涉及計算機視覺、數據處理、圖像處理,尤其是一種結構光三維視覺 系統的光模板匹配方法。
背景技術:
人眼對于顏色的觀察和處理是一種生理和心理現象,為了能用計算機來處理 圖像中的顏色信息,必須能夠用定量的方法來描述它,即建立相應彩色模型。自 然界中的所有顏色都可以由紅、綠、藍(R、 G、 B)三種顏色合成。 針對紅(綠/藍)分量的多少,人為地劃分為0 255共256個等級,O表示不含紅 色(綠/藍)成分,255表示含有100%紅色(綠/藍)成分。根據紅、綠、藍各種 不同的組合就能表示256x256x256種顏色,例如一個像素,當它的紅、綠、藍成 分分別為O、 255、 255時顯示為青色。而對于灰度圖像的像素,該像素的紅、綠、 藍成分是相等的,只不過隨著這三個分量數值的增大,像素顏色從黑色變成白色。 現有大多數的彩色成像設備和彩色顯示設備都采用RGB (Red/Green/Bhie,紅綠 藍)三基色來表示和存儲,基于上述的設計,可采用常用的RGB模型來建立彩 色模型,彩色數字圖像可以由RGB彩色空間表示,RGB空間如圖1所示,為方 便起見,把所有顏色值都歸一化,即圖示的立方體是一個單位立方體。
在彩色投射系統中,光條坐標需要從一副圖像中檢測出來,本文提出一種新 的編碼策略,對投射光模板的每一行進行編碼。為了減少彩色識別的繁雜性和提 高可靠性,保證顏色空間區分度足夠大,要求在RGB空間中至少有兩個顏色通 道不同,因此選擇紅、綠、藍三基色和白作為編碼顏色,由如3-2可以看出,除 黑白外,紅、綠、藍和白之間的空間距離達到最大,這可以保證對任何高飽和度 的場景都保持足夠的距離,編碼顏色集可以選取為 PK255,0,0),(0,255,0),(0,0,255),(255,255,255"的4元素集,白色作為間隔各條顏 色,滿足了白色光條出現的次數最多,以得到較高的圖像亮度,對應的顏色集字 母映射為
P = {P,|z' = 1,2,3,4}P,分別指示紅、綠、藍和白四顏色。
基于傳統的DeBruijn空間編碼方法,引進等寬白色光條來間隔彩色光條,使 相鄰光條使用同一種顏色色調值,有效編碼率達到100%。光模板由2tT條光條組 成,其中顏色數目為n,窗口大小為m,而現有DeBruijn編碼技術采用同樣參數 只能生成n(n-l)m條光條,產生的編碼序列為
3, 4, 3, 4, 3, 4, 2, 4, 3, 4, 3, 4, 1, 4, 3, 4, 2, 4, 2, 4, 3, 4, 2, 4, 1, 4, 3, 4, 1, 4,2, 4, 3,4,1, 4,1, 4,2,4,2,4, 2,4,1,4, 2,4, 1, 4,1,4, 1 實際場景中,物體表面的不連續性使得部分光條不可見,導致3D數據錯誤增加, 這樣的光條稱為陰影光條。引進白色光條的優點可以增加可解碼光條比率,因為 相應的陰影光條被不參與解碼的白色光條替代。定義Q={l,2,...,2nm},對應每條 光條的坐標序號值。由此生成的光模板如圖2所示,每個條紋邊界劃分一個平面 空間。
同時,為了增加現有編碼模板的分辨率,提出一個有效的時空編碼,投射的 每一幀圖像由相同的光模板組成,后一幀由前一幀下移光條1/4寬度組成,四幀 光模板如圖2所示。鑒于先前已有大量的文獻在數理組和方面對De Bruijn序列進 行了研究,釆用文獻的方法產生序列。系統利用每幀光條邊界空間編碼唯一性以 及多幀的時間特性來增加重建模型的精度和分辨率。
現有技術中,并沒有針對上述光模板的匹配方法,導致結構光視覺成像系統
的成像精度低、無法有效實現三維重建。
發明內容
為了克服已有的結構光視覺成像系統的無法進行光模板的匹配、成像精度低、 無法有效實現三維重建的不足,本發明提供一種實現光模板的良好匹配、成像精 度高、能實現結構光視覺成像系統三維重建的結構光視覺成像系統的光模板匹配 方法。
本發明解決其技術問題所采用的技術方案是
一種結構光視覺成像系統的光模板匹配方法,包括以下步驟 1)、光條邊界的定位
待檢測的光模板為一維條紋編碼,沿著圖像的每個列掃描,對每個像素點的
5各個通道用一維列算子進行預處理,確定灰度變化強烈的像素點為候選邊緣點, 在圖像每一列上以候選邊緣點為中心,選取一定大小的區域,其最大值不超過光 條寬度的1/2,搜索局部領域的步驟如下
(1.1) .初始化候選邊緣點作為一區域中心Zij;
(1.2) .沿列方向搜索,將Zi-kj, Zj+kj像素顏色空間轉成色調、亮度和飽和度 (HIS)空間;
(1.3) .增加新的點到這個區域,只要滿足與相鄰像素點的色調值差不超過設 定的閾值H
& =|z,±a",a 一A土a土ij,; l (1) /7是兩個像素色調的差值,Z,^-表示第i土k行j列像素的色調值;經算子處理后, 像素點的三通道灰度值為Gy,局部區域三通道灰度值之和的最大值的像素點定義
為邊界點;
m, = |x(C = 3) (2)
戶i
E為算子處理后像素點灰度值之和的最大值;
2)、光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對圖像顏色和投射 顏色進行比較,定義色彩特征向量與聚類中心的歐式距離來分配候選光條紅綠藍 白顏色;
不同的顏色群集聚在特定的RGB空間區域,通過樣本點訓練顏色群的聚類
中心,然后用點到點的距離來匹配光條顏色;
Z^"V,,CJ = 1,2,3,4) (3) A^是兩點距離的平方,A是光條中心像素的RGB特征向量,Q是顏色聚類中心, df3c,力是;c, y兩點之間距離;設i^min(A》,那么光條顏色的分配按照(4)式進行
& (6 = 1,2,3, 4) (4)
Sc表示光條顏色;
分配好顏色后,每三條相鄰的光條顏色組成一個碼字Si,找出每個碼字在整 個序列的位置就是解碼;光條坐標值JC,定義為
^D蘊")+》'-D (5) D^BS(^表/天直接解碼第/幀光模板子序列&的坐標位置。
6進一步,在所述步驟2)中,聚類中心的搜索方法為
(2.1) .初始化K二4,紅、綠、藍、白色彩類,初始化K個群的中心;
(2.2) .把每個樣本點分配給離群中心距離最小的群;
(2.3) .K群中的質心點成為新的聚類中心;
(2.4) .重復步驟2和3直到所有點都趨向穩定地聚集。
本發明的有益效果主要表現在實現光模板的良好匹配、成像精度高、能實
現結構光視覺成像系統三維重建。
圖1是RGB空間的示意圖。
圖2是白色等寬間隔的序列光模板示意圖。 圖3是四幀逆時針旋轉90。的時移光模板示意圖。 圖4是邊緣檢測算子的示意圖。 圖5是算子邊緣檢測結果的示意圖。 圖6是任意列的像素掃描通道灰度值的示意圖。 圖7是邊緣檢測算子的一維列算子示意圖。 圖8是光條邊界檢測的示意圖。 圖9是像素點顏色的RGB空間示意圖。
具體實施例方式
下面結合附圖對本發明作進一步描述。
參照圖1 圖9,一種結構光視覺成像系統的光模板匹配方法,包括以下步驟 1)、光條邊界的定位
待檢測的光模板為一維條紋編碼,沿著圖像的每個列掃描,對每個像素點的
各個通道用一維列算子進行預處理, 一維算子如附圖中的圖7所示,確定灰度變
化強烈的像素點為候選邊緣點,在圖像每一列上以候選邊緣點為中心,選取一定
大小的區域,其最大值不超過光條寬度的1/2,搜索局部領域的歩驟如下
(1.1).初始化候選邊緣點作為一區域中心Z,j;(1.2) .沿列方向搜索,將Zi^, zng像素顏色空間轉成色調、亮度和飽和度
(HIS)空間;
(1.3) .增加新的點到這個區域,只要滿足與相鄰像素點的色調值差不超過設 定的閾值H
<formula>formula see original document page 8</formula>
/2是兩個像素色調的差值,Z,力力表示第i土k行j列像素的色調值;經算子處理后, 像素點的三通道灰度值為Gy,局部區域三通道灰度值之和的最大值的像素點定義
為邊界點;
<formula>formula see original document page 8</formula>
E為算子處理后像素點灰度值之和的最大值;
2)、光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對圖像顏色和投射 顏色進行比較,定義色彩特征向量與聚類中心的歐式距離來分配候選光條紅綠藍 白顏色;
不同的顏色群集聚在特定的RGB空間區域,通過樣本點訓練顏色群的聚類 中心,然后用點到點的距離來匹配光條顏色;
<formula>formula see original document page 8</formula>Ai是兩點距離的平方,戶,是光條中心像素的RGB特征向量,Q是顏色聚類中心, ^^,力是l ^兩點之間距離;設Z^min(A4),那么光條顏色的分配按照(4)式進行
<formula>formula see original document page 8</formula>
Sc表示光條顏色;
分配好顏色后,每三條相鄰的光條顏色組成一個碼字Si,找出每個碼字在整
個序列的位置就是解碼;光條坐標值x,定義為<formula>formula see original document page 8</formula>
ZM5Sf^^^;^i:接解碼第_/幀光模板子序列&的坐標位置。 進一步,在所述步驟2)中,聚類中心的搜索方法為
(2.1) .初始化1(=4,紅、綠、藍、白色彩類,初始化K個群的中心;
(2.2) .把每個樣本點分配給離群中心距離最小的群;
(2.3) .K群中的質心點成為新的聚類中心;(2.4).重復步驟2和3直到所有點都趨向穩定地聚集。 建立圖像平面與投影光平面之間的正確匹配是一個復雜的問題。其歩驟包括 光條邊界定位、光條顏色分配以及解碼光條在每幀模板中的位置。重復上述步驟 就可以匹配全部特征點,進而重建三維形狀。
光條邊界的精確定位圖像的邊緣檢測主要是灰度變化的度量、檢測和定位, 邊緣檢測的方法眾多,不同的方法使用的濾波器也不盡相同。在實際的實驗中把
一幅圖像假設為連續函數y(x,力,其方向導數在邊緣方向是有極值,邊緣檢測的原
理是通過求xx,力梯度的極值來實現的。常用的邊緣檢測方法有基于一階微分的邊
緣檢測算子,包括Roberts、 Sobel、 Prewitt算子,基于二階微分的拉普拉斯算子 (L叩lace),還有基于最優化方法的Canny算子,各個算子模板如圖4所示。
應用上述的常用算子對一幅圖像進行邊緣檢測,先將彩色圖像轉化為灰度圖 像,各個算子的檢測結果如圖5所示。
由于圖像數據是二維的,空間的深度信息在透視過程中丟失,再加上成像過 程中的不均勻光照和噪聲,使邊緣檢測的精度降低,在實際的邊緣檢測中如圖3-5 所示,出現許多偽邊緣,光條的邊緣呈現出不連續性,這樣會造成空間點碼字的 丟失,不能實現解碼。針對這些問題本文提出另外的邊緣檢測方案,先進行圖像 預處理,在精確定位。光模板有水平彩色條紋組成,是一維編碼方式,對經調制 的圖像任意列行掃描,如圖6所示。
從圖6可以看出,沿垂直方向掃描,彩色光條與白色光條的灰度強烈變化明 顯,光條的邊緣可定義三通道灰度的極值來確定。彩色與白色邊界周圍存在著一 定灰度值的過渡細縫彩色條,捕捉圖像中的邊緣偏離實際定義模板邊界,邊界精 確定位直接影響系統重建的精度。針對上述問題,在檢測邊緣前,由于光模板是 一維條紋編碼,沿著圖像的每個列掃描,對每個像素點的各個通道用圖7的一維 列算子進行預處理,確定灰度變化強烈的像素點為候選邊緣點。
考慮到全局邊緣點搜索耗時,本文提出局部搜索方法,在圖像每一列上以候 選邊緣點為中心,選取一定大小的區域,其最大值不超過光條寬度的1/2,搜索局 部領域的步驟如下
1. 初始化候選邊緣點作為一區域中心z,j;
2. 沿列方向搜索,將Zi-kj,Zi+kj像素顏色空間轉成色調、亮度和飽和度(HIS) 空間;3.增加新的點到這個區域,只要滿足與相鄰像素點的色調值差不超過設定的 閾值H
A-k(土^》一z,土hu力l (3-1) /z是兩個像素色調的差值,z,i^表示第i:tk行j列像素的色調值。分別對白、紅、 綠、藍光條相鄰像素的色調差作統計實驗,取閾值H=0.06可獲得理想的邊界區 域。經算子處理后,像素點的三通道灰度值為cv局部區域三通道灰度值之和的 最大值的像素點可定義為邊界點。
maX(£) = |;Gy(C = 3) (3-2)
戶i
E為算子處理后像素點灰度值之和的最大值,檢測的精度可達到像素級。圖3-8 是對圖3-5a原始圖像運用上述方法進行邊緣檢測的結果,與上述算子相比,邊緣 變得較連續,偽邊緣點減少。
光條匹配圖像中每條被檢測出來的顏色和模板顏色有一定的相似度。因此, 正確匹配光條對應顏色是減少3D計算錯誤的關鍵。Zhang等人提出動態規劃方法 匹配每個像素點,而不是匹配每條光條,非常耗時,如文獻l: L. Zhang, B. Curless, S. M. Seitz. Rapid shape acquisition using color structured light and multi-pass dynamic programming[A]. In: Proceedings First International Symposium on 3D Data Processing Visualization and Transmission[C], 2002, 24-36,艮卩L. Zhang, B. Curless, S. M. Seitz. 基于多通道動態規劃的彩色結構光快速形貌重建[A].第一屆國際研討會三維可視 化數據處理和傳輸[C], 2002, 24-26.。 Fechteler等人釆用一個復雜直線聚類算法找到 每個聚類直線的參數,直線之間的分離度不明顯,如文獻2: P. Fechteler and P. Eisert. Adaptive color classification for structured light systems[A]. In: Proceedings of the 15th International Conference on Computer Vision and Pattern Recognition[C], Anchorage, AK, USA, 2008,1-7,即P. Fechteler and P. Eisert.結構光系統顏色自適應 聚類[A].第15屆國際計算機視覺和模式識別會議[C],美國,2008, 1-7.。本實施例 采用顏色聚類的方法建立顏色匹配特征向量,對圖像顏色和投射顏色進行比較,定 義色彩特征向量與聚類中心的歐式距離來分配候選光條紅綠藍白顏色。編碼采用的 三基色空間距離已足夠大,用經典的K均值算法搜索色彩類中心。首先選擇拍攝 的多幅圖像,考慮到樣本空間,實驗中選擇三幅圖像,并把對應像素RGB分量轉 成色彩三維特征向量作為輸入的樣本數據,聚類中心搜索如下
1. 初始化K-4,紅、綠、藍、白色彩類,初始化K個群的中心;
2. 把每個樣本點分配給離群中心距離最小的群;
103. K群中的質心點成為新的聚類中心;
4. 重復步驟2和3直到所有點都趨向穩定地聚集。
實驗表明捕捉的圖像顏色與投影儀投射的模板顏色有各種不同的扭曲和失 真。另外,各傳感器存在噪聲和顏色間的串擾。如圖9所示,描述三基色RGB 空間,(a)是在理想情況下投影儀中抓取的光條顏色RGB空間,(b)是在辦公環境 下攝像機拍攝的光條顏色RGB空間。
在圖9中,(b)所示,不同的顏色群集聚在特定的RGB空間區域,通過樣 本點訓練顏色群的聚類中心,然后用點到點的距離來匹配光條顏色。
A*"V',CA) ("1,2,3,4) (3-3) At是兩點距離的平方,尸,是光條中心像素的RGB特征向量,Ot是顏色聚類中心, ^3c,W是x, _y兩點之間距離。設D=min(Afc),那么光條顏色的分配按照(3-4)式進
行
&={A: (A; = 1,2, 3, 4) (3-4)
Sc表示光條顏色。例如,hl,則光條顏色為紅色。(hl,2,3,4)分別指示紅、綠、
藍和白色。分配好顏色后,每三條相鄰的光條顏色組成一個碼字Si,找出每個碼
字在整個序列的位置就是解碼。采用Hsieh提出的直接解碼DeBrajin算法,與窮 舉解碼相比,不需要存儲額外的字母表,時間復雜度是窮舉法的1/n(n為編碼元)。 光條坐標值x,定義為
x,-腦外,)+》-1) (5)
ZMASf^直接解碼第y幀光模板子序列&的坐標位置。
本實施例中,首先選擇常用的RGB模型作為彩色模型,選擇紅綠藍和白作 為編碼顏色集,以使顏色的距離最大,滿足顏色的精確匹配。邊緣檢測中,采用 一維算子進行預處理,定義三通道梯度變化平方和的極值作為邊界點,同時利用 邊界像素點分割光條,結合經典的K均值聚類方法,實驗中光條顏色的匹配正確 率達到100%,利用已分配的光條顏色組成碼字,通過直接解碼算法,直接定位 光條的空間位置,與窮舉法相比,大大提高了解碼效率。
1權利要求
1、一種結構光三維視覺系統的光模板匹配方法,其特征在于所述匹配方法包括以下步驟1)、光條邊界的定位待檢測的光模板為一維條紋編碼,沿著圖像的每個列掃描,對每個像素點的各個通道用一維列算子進行預處理,確定灰度變化強烈的像素點為候選邊緣點,在圖像每一列上以候選邊緣點為中心,選取一定大小的區域,其最大值不超過光條寬度的1/2,搜索局部領域的步驟如下(1.1).初始化候選邊緣點作為一區域中心zi,j;(1.2).沿列方向搜索,將zi-k,j,zi+k,j像素顏色空間轉成色調、亮度和飽和度(HIS)空間;(1.3).增加新的點到這個區域,只要滿足與相鄰像素點的色調值差不超過設定的閾值Hh=|zi±k,j,h-zi±k±1,j,h| (1)h是兩個像素色調的差值,zi±k,j,h表示第i±k行j列像素的色調值;經算子處理后,像素點的三通道灰度值為Gij,局部區域三通道灰度值之和的最大值的像素點定義為邊界點;<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><mi>max</mi><mrow> <mo>(</mo> <mi>E</mi> <mo>)</mo></mrow><mo>=</mo><munderover> <mi>Σ</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mi>C</mi></munderover><msub> <mi>G</mi> <mi>ij</mi></msub><mrow> <mo>(</mo> <mi>C</mi> <mo>=</mo> <mn>3</mn> <mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo></mrow> </mrow>]]></math></maths>E為算子處理后像素點灰度值之和的最大值;2)、光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對圖像顏色和投射顏色進行比較,定義色彩特征向量與聚類中心的歐式距離來分配候選光條紅綠藍白顏色;不同的顏色群集聚在特定的RGB空間區域,通過樣本點訓練顏色群的聚類中心,然后用點到點的距離來匹配光條顏色;Dik=d2(Pi,Ck)(k=1,2,3,4) (3)Dik是兩點距離的平方,Pi是光條中心像素的RGB特征向量,Ck是顏色聚類中心,d(x,y)是x,y兩點之間距離;設D=min(Dik),那么光條顏色的分配按照(4)式進行sc={k if D==Dik(k=1,2,3,4) (4)sc表示光條顏色;分配好顏色后,每三條相鄰的光條顏色組成一個碼字si,找出每個碼字在整個序列的位置就是解碼;光條坐標值xi定義為<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><msub> <mi>x</mi> <mi>i</mi></msub><mo>=</mo><mi>DdBS</mi><mrow> <mo>(</mo> <msub><mi>s</mi><mi>i</mi> </msub> <mo>)</mo></mrow><mo>+</mo><mfrac> <mn>1</mn> <mn>4</mn></mfrac><mrow> <mo>(</mo> <mi>j</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo></mrow> </mrow>]]></math></maths>DdBS(si)表示直接解碼第j幀光模板子序列si的坐標位置。
2、如權利要求l所述的結構光三維視覺系統的光模板匹配方法,其特征在于在 所述步驟2)中,聚類中心的搜索方法為-(2.1) .初始化K-4,紅、綠、藍、白色彩類,初始化K個群的中心;(2.2) .把每個樣本點分配給離群中心距離最小的群;(2.3) .K群中的質心點成為新的聚類中心;(2.4) .重復步驟2和3直到所有點都趨向穩定地聚集。
全文摘要
一種結構光三維視覺系統的光模板匹配方法,包括以下步驟1)光條邊界的定位待檢測的光模板為一維條紋編碼,沿著圖像的每個列掃描,對每個像素點的各個通道用一維列算子進行預處理,確定灰度變化強烈的像素點為候選邊緣點,在圖像每一列上以候選邊緣點為中心,選取一定大小的區域,其最大值不超過光條寬度的1/2,搜索局部領域;2)光條匹配采用顏色聚類的方法建立顏色匹配特征向量,對圖像顏色和投射顏色進行比較,定義色彩特征向量與聚類中心的歐式距離來分配候選光條紅綠藍白顏色。本發明能實現光模板的良好匹配、成像精度高、能實現結構光視覺成像系統三維重建。
文檔編號G06T17/00GK101673412SQ20091015361
公開日2010年3月17日 申請日期2009年9月29日 優先權日2009年9月29日
發明者盛 劉, 原長春, 貝 潘, 胡正周, 陳勝勇 申請人:浙江工業大學