專利名稱:一種基于彩色偽隨機編碼投影的特征點匹配方法
技術(shù)領(lǐng)域:
本發(fā)明屬于機器視覺中編碼結(jié)構(gòu)光主動視覺的圖像匹配領(lǐng)域,涉及基于彩色偽隨機編碼原理的點線結(jié)合編碼結(jié)構(gòu)光照明主動視覺技術(shù),具體涉及一種基于彩色偽隨機編碼投影的特征點匹配方法。
背景技術(shù):
機器視覺的一個很重要的目標(biāo)就是從二維圖像中恢復(fù)出場景的三維坐標(biāo)數(shù)據(jù),重構(gòu)三維場景或物體的三維模型,即使計算機具有通過二維圖像信息認(rèn)知三維環(huán)境信息的能力。其已在機器人定位與導(dǎo)航、逆向工程、物體識別、虛擬現(xiàn)實、產(chǎn)品監(jiān)控等領(lǐng)域得到廣泛應(yīng)用并取得了良好的社會和經(jīng)濟效益。
在三維視覺場景重構(gòu)過程中,一個眾所周知的難題就是場景圖像上的坐標(biāo)點匹配問題。通常解決該問題的一種有效的方法是采用結(jié)構(gòu)光主動視覺技術(shù),如點結(jié)構(gòu)光、線結(jié)構(gòu)光掃描法以及編碼結(jié)構(gòu)光法等。要想用一幅圖像在真正的三維歐氏空間重構(gòu)三維場景,尤其是動態(tài)的三維場景,最有效的方法是采用編碼結(jié)構(gòu)光照明主動視覺技術(shù)。偽隨機陣列由于具有良好的窗口特性,在結(jié)構(gòu)光主動視覺領(lǐng)域中越來越受到重視,用基于偽隨機原理的編碼結(jié)構(gòu)光對投影儀進(jìn)行編碼,可以把一幅圖像所覆蓋的三維場景空間表面特征化,使三維場景表面上的每一個采樣特征點可以被唯一識別,解決了機器視覺中物體三維表面重構(gòu)時匹配點的識別難題。
應(yīng)用于偽隨機編碼陣列的編碼投影模板主要有四種,圓編碼,菱形編碼,離散方形編碼與連續(xù)方形編碼。但是,這四種編碼都存在各自的問題 1.圓編碼的圓心很難準(zhǔn)確提取,而且圓編碼各編碼顏色單元都是孤立的,這不利于在其解碼算法中對特征點位置的準(zhǔn)確確定。
2.離散方形編碼容易出現(xiàn)漏點,而且離散方形編碼與圓編碼存在一個同樣的缺點,即各編碼顏色單元都是孤立的,不利于在其解碼算法中對特征點位置的準(zhǔn)確確定。
3.菱形編碼與連續(xù)方形編碼存在一個同樣的缺點,就是在圖像中編碼密度比較高的時候,會由于編碼形狀的擴大而增加大量的偽拐點,這些偽拐點往往需要手工來消除,不利于特征點自動準(zhǔn)確匹配。
4.以上四種編碼投影模板通常只能用于表面為連續(xù)的三維場景,在投影時,如果三維場景由于不連續(xù)而產(chǎn)生陰影或由于攝像機拍攝角度不同使圖像中一部分編碼圖案被覆蓋導(dǎo)致圖像中編碼圖案錯位,特征點匹配就很容易出錯。
發(fā)明內(nèi)容
本發(fā)明首先根據(jù)偽隨機編碼原理設(shè)計了一種編碼投影模板,該模板采用特征點和特征線相結(jié)合,各特征點相對離散,彼此之間又通過特征線相互聯(lián)系,可克服現(xiàn)有模板因為編碼顏色單元孤立或聯(lián)系均會妨礙解碼的缺點;在解碼過程中,提出了相鄰窗口互相驗證的方法,結(jié)合數(shù)學(xué)形態(tài)學(xué)中開與閉、腐蝕與膨脹等算法,并給出附加算法,實現(xiàn)了所有特征點的自動提取與匹配,消除了復(fù)雜場景中匹配錯誤的問題。
本發(fā)明采用的技術(shù)方案是一種基于彩色偽隨機編碼投影的特征點匹配方法,編碼結(jié)構(gòu)光主動視覺系統(tǒng)由計算機、CCD攝像機、顯示器和投影儀組成,該方法包括生成彩色偽隨機編碼模板步驟;特征點與特征線的提取步驟;特征點的匹配步驟。其中,所述生成彩色偽隨機編碼模板步驟包括下列步驟 ①生成偽隨機編碼序列由本原多項式h(x)=xm+hm-1xm-1+…+h1x+h0指定的反饋網(wǎng)絡(luò)n位移位寄存器產(chǎn)生偽隨機序列a0,a1,…,an,其中m為所設(shè)計偽隨機陳列的窗口大小,m=k1×k2,n為偽隨機序列長度,q為移位寄存器的基元數(shù); ②將步驟①中生產(chǎn)的偽隨機序列a0,a1,…,an填入大小為n=n1×n2的矩陣中,得到偽隨機陳列b,具體原理為將偽隨機序列a0,a1,…,an作為偽隨機陣列的對角線參數(shù),即 其中n2=n/n1,本發(fā)明中n=63×65; ③由生成的偽隨機陣列值作為離散的特征點,用特征線將其相連,建立編碼模板。
作為本發(fā)明的進(jìn)一步改進(jìn),所述特征點與特征線的提取步驟中包括下列步驟 ①提取各顏色特征點所在的特征區(qū)域 分別設(shè)定紅、黃、藍(lán)、綠四種顏色的RGB閾值為(Rrl,Grh,Brh)、(Ryl,Gyl,Byh)、(Rbh,Gbh,Bbl)、(Rgh,Ggl,Bgh),根據(jù)下式(3)提取四種顏色的特征區(qū)域PointR,PointY,PointB,PointG
②用數(shù)學(xué)形態(tài)學(xué)中的開運算和閉運算,去除特征區(qū)域噪聲; ③對特征區(qū)域進(jìn)行收縮運算,使特征區(qū)域收縮為特征點,提取特征點所在的位置(x,y),完成特征點的提??; ④根據(jù)所設(shè)定的閾值,提取特征線所在的特征區(qū)域; ⑤利用開運算和閉運算去除特征線區(qū)域噪聲后,利用收縮運算,得到球體編碼圖像的初始特征線; ⑥對斷裂的特征線進(jìn)行補償。
作為本發(fā)明的進(jìn)一步改進(jìn),所述特征點的匹配步驟利用上下相鄰窗口相互驗證的方法,實現(xiàn)一般特征點的匹配。具體包括下列步驟 由一個特征點出發(fā),沿特征線尋找4×2檢測窗口中的其他特征點(圖13所示為檢測窗口),并分別記下各自的顏色值,根據(jù)上下兩個3×2窗口中的顏色組合,通過偽隨機編碼原理,分別求出這兩個窗口在投影儀投影平面上的位置,判斷其是否相鄰,若相鄰,匹配成功,記下8個特征點在投影平面上的坐標(biāo);若不相鄰,匹配錯誤,不被記下。按照這種算法,對圖像中所有特征點依次處理,得到其在投影平面上的坐標(biāo)。對于沒有求得在投影平面上坐標(biāo)的特征點,利用本發(fā)明中提到的附加算法進(jìn)行匹配。最終完成編碼圖像上所有特征點的匹配,得到其在投影平面上的坐標(biāo)。
作為本發(fā)明的進(jìn)一步改進(jìn),對于沒有求得在投影平面上坐標(biāo)的特殊特征點,所述特征點的匹配還利用附加算法實現(xiàn)匹配。具體包括下列步驟 ①向左沿特征線搜尋與其相鄰且已被解碼的特征點,若搜索成功,則根據(jù)此相鄰特征點求取該待匹配特征點在投影模板上對應(yīng)的顏色,檢測是否與其本身顏色相符。若相符,說明匹配正確,記下該特征點;否則匹配取消。
②再使特征點沿上、下、右按①所述方法分別匹配,若匹配正確,記下該特征點;若均匹配錯誤,則放棄此特征點。
本發(fā)明具有以下的技術(shù)優(yōu)勢 1.特征點區(qū)域相對離散,方便特征點的提取,且不會出現(xiàn)偽特征點。
2.離散的特征點區(qū)域通過特征線相互聯(lián)系,方便特征點的解碼。
3.經(jīng)過數(shù)學(xué)形態(tài)學(xué)的預(yù)處理,消除大量噪聲,可以精確的提取特征點與特征線,為解碼打下良好的基礎(chǔ)。
4.相鄰窗口互相驗證的方法,不僅很好的解決了由于不連續(xù)平面相交而經(jīng)常導(dǎo)致圖像中編碼圖案錯位的問題,而且還可以檢測到解碼過程中偶然會出現(xiàn)的由于特征點識別錯誤或特征線連接錯誤導(dǎo)致的解碼錯誤,從而使解碼結(jié)果準(zhǔn)確可靠。
5.冗余算法,即每一個窗口不僅要求出其第一個特征點的投影坐標(biāo),而且要確定窗口內(nèi)其余特征點的投影坐標(biāo),這就會使同一個特征點的投影坐標(biāo)可能被計算多次,但是這種算法只需很少的程序,幾乎不會影響到整個程序的運行時間,卻很好的解決了位于圖像邊緣及陰影附近特征點的求解問題,避免了針對這些點的解碼而設(shè)計復(fù)雜的程序。可應(yīng)用于較為復(fù)雜的三維場景表面。
圖1為本發(fā)明實施例1的編碼結(jié)構(gòu)光主動視覺系統(tǒng) 圖2為本發(fā)明實施例1偽隨機編碼陣列 圖3為本發(fā)明實施例1彩色偽隨機編碼投影模板 圖4為本發(fā)明實施例1的彩色偽隨機序列編碼投影模板局部圖及其檢測窗口 圖5為本發(fā)明實施例1的原始圖像 圖6為本發(fā)明實施例1的紅色點的特征區(qū)域 圖7為本發(fā)明實施例1去除噪聲后的紅色特征區(qū)域 圖8為本發(fā)明實施例1特征點提取結(jié)果 圖9為本發(fā)明實施例1特征線所在區(qū)域 圖10為本發(fā)明實施例1初始特征線 圖11本發(fā)明實施例1為斷點連接過程 圖11(a)為本發(fā)明實施例1包括斷點的原始圖像 圖11(b)為本發(fā)明實施例1包括斷點的初步提取的特征線圖像 圖11(c)為本發(fā)明實施例1斷點提取圖像 圖11(d)為本發(fā)明實施例1斷點膨脹圖像 圖11(e)為本發(fā)明實施例1斷點連接圖像 圖11(f)為本發(fā)明實施例1特征線補償圖像 圖12為本發(fā)明實施例1特征點和特征線提取結(jié)果及檢測窗口圖示 圖13為本發(fā)明實施例1帶有檢測窗口的局部圖像 圖14為本發(fā)明實施例1的解碼流程圖
具體實施例方式 下面結(jié)合圖1~14詳細(xì)說明本發(fā)明所設(shè)計的彩色偽隨機編碼新模板及其相應(yīng)的解碼過程。
本發(fā)明應(yīng)用于編碼結(jié)構(gòu)光主動視覺技術(shù),圖1表示編碼結(jié)構(gòu)光主動視覺系統(tǒng)。該系統(tǒng)由計算機1、CCD攝像機2、顯示器3和投影儀4組成,5為待重構(gòu)的物體。
生成彩色偽隨機編碼模板步驟包括下列步驟 ①生成偽隨機編碼序列由本原多項式h(x)=xm+hm-1xm-1+…+h1x+h0指定的反饋網(wǎng)絡(luò)n位移位寄存器產(chǎn)生偽隨機序列a0,a1,…,an,其中m為所設(shè)計偽隨機陳列的窗口大小,m=k1×k2,本發(fā)明取m=3×2,n為偽隨機序列長度,,q為移位寄存器的基元數(shù),本發(fā)明取q=4,生成周期為4095的偽隨機序列; ②將步驟①中生產(chǎn)的偽隨機序列a0,a1,…,an填入大小為n=n1×n2的矩陣中,得到偽隨機陳列b,具體原理為將偽隨機序列a0,a1,…,an作為偽隨機陣列的對角線參數(shù),即 其中n2=n/n1,本發(fā)明中n=63×65; ③由生成的偽隨機陣列值作為離散的特征點,用特征線將其相連,建立編碼模板。
根據(jù)偽隨機編碼原理,設(shè)計了一個大小為63×65=4095的偽隨機陳列,如圖2所示,令陳列中0代表紅色,1代表黃色,3代表藍(lán)色,7代表綠色,作為特征點顏色單元,各單元之間用白色的特征線相連,形成了彩色偽隨機編碼模板,如圖3所示,其局部圖如圖4所示。
在工作過程中,由投影儀將編碼模板形成結(jié)構(gòu)光投射到待重構(gòu)的物體上(本例為球體),由攝像機拍下如圖5所示的圖像。
提取編碼圖像的特征點和特征線分別設(shè)定紅、黃、藍(lán)、綠四種顏色的RGB閾值為(Rrl,Grh,Brh)、(Ryl,Gyl,Byh)、(Rbh,Gbh,Bbl)、(Rgh,Ggl,Bgh),提取各顏色特征點所在的特征區(qū)域。根據(jù)所設(shè)定的閾值式(3)提取四種顏色的特征區(qū)域PointR,PointY,PointB,PointG
如圖6所示,依次用結(jié)構(gòu)要素矩陣
對特征區(qū)域圖像進(jìn)行開運算和閉運算,去除特征區(qū)域噪聲;本實施例以紅色特征點為例進(jìn)行說明。
如圖7所示,對特征區(qū)域進(jìn)行收縮運算,使特征區(qū)域收縮為特征點,并提取特征點所在的位置,完成特征點的提取,提取結(jié)果如圖8所示; 如圖9所示,設(shè)定特征線的RGB閾值(Rline,Gline,Bline),根據(jù)下式(4)提取特征線所在的區(qū)域 Line1(x,y)=(I(x,y)r<Rline)&(I(x,y)g>Gline)&(I(x,y)b<Bline)(4) 如圖10所示,依次用結(jié)構(gòu)要素矩陣
對特征線區(qū)域圖像進(jìn)行開運算和閉運算,去除特征區(qū)域噪聲,并對其進(jìn)行細(xì)化,提取出圖像中的初始特征線。
利用膨脹運算,連接斷裂的特征線,圖11(a)-(f)表示特征線在水平方向的斷點連接過程,再對垂直方向進(jìn)行特征線補償,完成特征線提取的整個過程。根據(jù)下式(5)分別提取需要向左和向右延伸的斷點
對向左和向右延伸的斷點,分別用結(jié)構(gòu)要素矩陣
和
進(jìn)行膨脹,將膨脹結(jié)果與初步提取的特征線圖像相加,再細(xì)化可得到最終的特征線提取圖像,實現(xiàn)水平方向特征線補償;用相同方法對垂直方向特征線進(jìn)行補償。
圖12為球體特征點和特征線提取的結(jié)果。
再進(jìn)行特征點匹配步驟,圖14所示是整個解碼過程的流程圖。
①利用上下兩個檢查窗口相互驗證的方法進(jìn)行解碼 由一個特征點出發(fā),沿特征線尋找4×2檢測窗口中的其他特征點,并分別記下各自的顏色值。根據(jù)上下兩個3×2窗口中的顏色組合,通過偽隨機編碼原理,分別求出這兩個窗口在投影儀投影平面上的位置,根據(jù)式(6)判斷兩個窗口在投影儀投影平面上的位置是否上下相鄰
其中,(xup,yup)、(xdown,ydown)分別表示上下兩個檢測窗口在投影儀投影平面上的坐標(biāo),yconstant表示投影模板上上下相鄰窗口在垂直方向的坐標(biāo)差,這是一個常量。
若匹配正確,記下8個特征點在投影平面上的坐標(biāo);若匹配錯誤,8個特征點在投影平面上的坐標(biāo)不被記下;按照這種算法,對圖像中所有特征點依次處理,得到其在投影平面上的坐標(biāo); ②利用附加算法進(jìn)行特殊特征點的匹配 對于沒有求得在投影平面上坐標(biāo)的特征點,先向左沿特征線搜尋相鄰且已被解碼的特征點,若搜索成功,則可根據(jù)相鄰特征點求此特征點在投影模板上對應(yīng)的顏色,檢測此顏色是否與此特征點顏色相符,若相符,說明匹配正確,記下該特征點;否則匹配取消。再使特征點沿上、下、右依次分別匹配,若匹配正確,記下該特征點;若均匹配錯誤,則放棄此特征點。
權(quán)利要求
1.一種基于彩色偽隨機編碼投影的特征點匹配方法,編碼結(jié)構(gòu)光主動視覺系統(tǒng)由計算機、CCD攝像機、顯示器和投影儀組成,該方法包括生成彩色偽隨機編碼模板步驟,特征點與特征線的提取步驟,特征點的匹配步驟;其特征是,所述生成彩色偽隨機編碼模板步驟包括下列步驟
①生成偽隨機編碼序列由本原多項式h(x)=xm+hm-1xm-1+…+h1x+h0指定的反饋網(wǎng)絡(luò)n位移位寄存器產(chǎn)生偽隨機序列a0,a1,…,an,其中m為所設(shè)計偽隨機陳列的窗口大小,m=k1×k2,n為偽隨機序列長度,q為移位寄存器的基元數(shù);
②將步驟①中生成的偽隨機序列a0,a1,…,an填入大小為n=n1×n2的矩陣中,得到偽隨機陳列b,具體原理為將偽隨機序列a0,a1,…,an作為偽隨機陣列的對角線參數(shù),即
其中n2=n/n1;
③由生成的偽隨機陣列值作為離散的特征點,用特征線將其相連,建立編碼模板。
2.根據(jù)權(quán)利1所述的特征點匹配方法,其特征是,所述特征點與特征線的提取步驟中包括下列步驟
①提取各顏色特征點所在的特征區(qū)域
分別設(shè)定紅、黃、藍(lán)、綠四種顏色的RGB閾值為(Rrl,Grh,Brh)、(Ryl,Gyl,Byh)、(Rbh,Gbh,Bbl)、(Rgh,Ggl,Bgh),根據(jù)下式(3)提取四種顏色的特征區(qū)域PointR,PointY,PointB,PointG
②用數(shù)學(xué)形態(tài)學(xué)中的開運算和閉運算,去除特征區(qū)域噪聲;
③對特征區(qū)域進(jìn)行收縮運算,使特征區(qū)域收縮為特征點,提取特征點所在的位置(x,y),完成特征點的提?。?br>
④根據(jù)所設(shè)定的閾值,提取特征線所在的特征區(qū)域;
⑤利用開運算和閉運算去除特征線區(qū)域噪聲后,利用收縮運算,得到編碼圖像的初始特征線;
⑥對斷裂的特征線進(jìn)行補償。
3.根據(jù)權(quán)利1所述的基于彩色偽隨機編碼投影的特征點匹配方法,其特征是,所述特征點的匹配步驟采用上下相鄰窗口相互驗證的方法,實現(xiàn)一般特征點的匹配。
4.根據(jù)權(quán)利1所述的基于彩色偽隨機編碼投影的特征點匹配方法,其特征是,所述步驟④中具體包括設(shè)定特征線的RGB閾值(Rline,Gline,Bline),根據(jù)下式提取特征線所在的區(qū)域
Line1(x,y)=(I(x,y)r<Rline)&(I(x,y)g>Gline)&(I(x,y)b<Bline)。
5.根據(jù)權(quán)利1所述的基于彩色偽隨機編碼投影的特征點匹配方法,其特征是,所述步驟⑥中具體包括根據(jù)下式分別提取需要向左和向右延伸的斷點
對向左和向右延伸的斷點,分別用結(jié)構(gòu)要素矩陣和進(jìn)行膨脹,將膨脹結(jié)果與初步提取的特征線圖像相加,再細(xì)化可得到最終的特征線提取圖像,實現(xiàn)水平方向特征線補償;用相同方法對垂直方向特征線進(jìn)行補償。
6.根據(jù)權(quán)利3所述的基于彩色偽隨機編碼投影的特征點匹配方法,其特征是,所述上下相鄰窗口相互驗證的方法,具體包括下列步驟
由一個特征點出發(fā),沿特征線尋找4×2檢測窗口中的其他特征點,并分別記下各自的顏色值,根據(jù)上下兩個3×2窗口中的顏色組合,通過偽隨機編碼原理,分別求出這兩個窗口在投影儀投影平面上的位置,判斷其是否相鄰,若相鄰,匹配成功,記下8個特征點在投影平面上的坐標(biāo);若不相鄰,匹配錯誤,不被記下;按照這種算法,對圖像中所有特征點依次處理,得到其在投影平面上的坐標(biāo)。對于沒有求得在投影平面上坐標(biāo)的特征點,利用本發(fā)明中提到的附加算法進(jìn)行匹配;最終完成編碼圖像上所有特征點的匹配,得到其在投影平面上的坐標(biāo)。
全文摘要
本發(fā)明屬于機器視覺中編碼結(jié)構(gòu)光主動視覺的圖像匹配領(lǐng)域,具體為一種基于彩色偽隨機編碼投影的特征點匹配方法。本發(fā)明基于偽隨機編碼原理,利用點線結(jié)合的方法,設(shè)計了一種新的彩色編碼投影模板,具體步驟如下①由本原多項式h(x)=xm+hm-1xm-1+…+h1x+h0指定的反饋網(wǎng)絡(luò)n位移位寄存器產(chǎn)生偽隨機序列a0,a1,…,an;②將該偽隨機序列a0,a1,…,an填入大小為n=n1×n2的矩陣中,生成偽隨機陳列b;③由生成的偽隨機陣列值作為離散的特征點,用特征線將其相連,建立編碼模板。引入數(shù)學(xué)形態(tài)學(xué)算法,提出了相應(yīng)的特征點提取算法。在解碼過程中,本發(fā)明提出了相鄰窗口互相驗證的思想,可以實現(xiàn)特征點的自動提取與匹配,能夠很好地解決結(jié)構(gòu)光在復(fù)雜三維場景表面上投射時所產(chǎn)生的陰影問題,以及由于攝像機拍攝角度不同使圖像中部分編碼圖案被遮蓋所導(dǎo)致的特征點匹配錯誤問題。
文檔編號G06T17/00GK101763654SQ20101001821
公開日2010年6月30日 申請日期2010年1月19日 優(yōu)先權(quán)日2010年1月19日
發(fā)明者許楨英, 許冉冉, 王勻, 肖凱, 李伯全 申請人:江蘇大學(xué)