劉瑜+劉纏牢++蘇海
文章編號: 10055630(2014)02016106
收稿日期: 20130927
摘要: 特征點匹配在圖像檢索、三維測量、模式識別等技術(shù)中起著重要的作用。使用MATLAB軟件剪切圖像并細化線結(jié)構(gòu)光光線條紋。經(jīng)理論分析SURF算法優(yōu)缺點,提出了一種基于SURF算法特征點提取的改進算法。用C語言編寫改進后的特征提取算法,通過MATLAB軟件實驗對比兩種算法的特征點提取結(jié)果并且編寫程序?qū)崿F(xiàn)后期的特征匹配。實驗表明:該算法基本滿足雙目視覺立體匹配的要求,對于線結(jié)構(gòu)光三維測量技術(shù)具有重要的理論意義和實用價值。
關(guān)鍵詞: 結(jié)構(gòu)光; 雙目視覺; 立體匹配算法
中圖分類號: TP 391文獻標志碼: Adoi: 10.3969/j.issn.10055630.2014.02.015
Research on matching algorithm based on
structured light binocular vision feature
LIU Yu, LIU Chanlao, SU Hai
(School of Optoelectronic Engineering, Xian Technological University, Xian 710032, China)
Abstract: Matching feature points play an important role in image retrieval, dimensional measurement and pattern recognition technology. By using the MATLAB software shear thinning line structured light image and light stripes, and through theoretical analysis of the advantages and disadvantages of SURF algorithm, this article proposes the SURF algorithm which based on feature points extraction algorithm. Through C language improved feature extraction algorithm, MATLAB software experimental comparison of the two algorithms feature point extraction results and preparation program features the late match. Experiments show that the algorithm basically meets the requirements of binocular vision stereo matching, and linear structured light for threedimensional measurement technique has important theoretical significance and practical value.
Key words: structured light; binocular vision; stereo matching algorithm
引言雙目立體視覺是利用雙目攝像機模擬生物的視覺特征,獲取物體表面的三維信息,從而還原物體外表面的幾何形貌。如今,基于雙目立體視覺的技術(shù),結(jié)構(gòu)光三維測量技術(shù)作為一種快速、便攜、高精度的三維測量技術(shù),在工業(yè)設(shè)計、航空等領(lǐng)域均得到了廣泛的應(yīng)用,已成為一種成熟的三維數(shù)據(jù)獲取和質(zhì)量評價與控制手段[1]。在結(jié)構(gòu)光雙目視覺技術(shù)中,由于不同視覺所獲取信息的不完備性和不同應(yīng)用中的復(fù)雜性,立體匹配成為立體視覺技術(shù)中最重要也是最難以處理的問題之一[2]?,F(xiàn)今,立體匹配方法有多種。特征的選取跟圖像的內(nèi)容有關(guān),對結(jié)構(gòu)光匹配目前常用的是相位匹配方法,但是相位匹配一般是針對核線平行而言,雖然將空間域轉(zhuǎn)化為時間域,可同樣存在鄰域奇異性,匹配誤差較大[3]?;趨^(qū)域立體匹配方法,可以得到稠密的視差圖,其缺點是在低紋理區(qū)域或紋理相似區(qū)域容易造成大量的誤匹配,邊界模糊,視差圖效果不理想[46],計算量大,運算時間較長。基于特征點的立體匹配方法,能夠精確的匹配,視差效果明顯,但是只能獲得稀疏的匹配點,所以僅能勾勒物體的大致輪廓,不能呈現(xiàn)物體的細節(jié)部分,也不能得到稠密的視差圖[7]。針對特征匹配只能得到稀疏點數(shù)的缺點,本文提出了一種改進的特征點提取算法,在不影響匹配速度的情況下,匹配更多的特征點對,并且有效地減少了誤匹配率。光學儀器第36卷
第2期劉瑜,等:一種基于結(jié)構(gòu)光雙目視覺的特征匹配算法研究
1立體匹配關(guān)鍵技術(shù)雙目立體匹配的方法是從左右視角兩個攝像機拍攝同一物體的兩幅圖像中找出被測元件表面同一點在不同圖像中的對應(yīng)點,進而求出各個點對應(yīng)的視差,再由視差信息和投影模型還原出原始物體形貌的深度信息[89],最終得到三維表面形貌。因此,圖像的立體匹配是三維重建的關(guān)鍵環(huán)節(jié),也是立體視覺尤其是三維重建的重要研究內(nèi)容。關(guān)于立體匹配方法研究重點具體有兩方面:算法魯棒性和計算速度。(1)算法魯棒性:三維重建過程與投影過程是互逆的,圖像經(jīng)三維投影到二維空間,三維的深度信息丟失。從二維圖像恢復(fù)至三維模型,對應(yīng)匹配點可能會出現(xiàn)一對一或多對一的情況,導(dǎo)致唯一性失效,此外成像過程中如噪聲、遮擋、光照變化等干擾都會造成匹配誤差。可以通過對原有算法改進或引入新算法來提高準確性。(2)計算速度:立體匹配是在左、右兩幅圖像中搜索對應(yīng)點對的過程。所以,提高計算速度需要解決搜索策略問題如極線約束[10]的使用可以將二維搜索降到一維搜索;視差約束也可以通過降低搜索范圍方式提高計算速度。2特征點匹配算法的改進特征匹配分為特征點的提取和特征點的匹配兩個過程。首先對兩幅圖像分別提取特征點,根據(jù)特征點的相似程度匹配特征點對,并根據(jù)各自點的灰度信息得到匹配視差圖。因此,特征點提取的準確程度和數(shù)量直接影響后期的匹配,從而影響整個立體匹配的精度和效率。所以,如何快速有效地提取特征點是本文重點解決的問題。根據(jù)本實驗采集5組圖片(任選一組左右視圖如圖1所示),將三線激光器投影到被測物體表面,CCD采集得到左右兩幅圖像。本文通過對圖像進行預(yù)處理,減少圖像噪聲以及測量環(huán)境對光條中心提取的不良影響。(1)圖像剪切:首先為了確保圖像處理速度,在進行結(jié)構(gòu)光光條圖像處理時,只剪切包含光條在內(nèi)的一小部分圖像進行處理,而不是對整幅圖像都進行處理,如此可以大大地減少運算量,提高檢測效率。(2)圖像濾波:為了抑制噪聲、改善圖像質(zhì)量,要對圖像進行濾波處理。本文采用中值濾波能較好地去除孤立噪聲點,如圖2所示。
2.1基于SURF算子的特征點提取常用的特征點檢測方法有Harris角點檢測,SUSANA,HessianLaplace,強角點檢測等。但是它們?nèi)秉c是不能適應(yīng)圖像的尺度變化,對于不同尺度的圖像,無法建立相應(yīng)特征點的關(guān)系。SURF是一種尺度不變和旋轉(zhuǎn)不變的特征點檢測算法,具有速度快,魯棒性好的特點,針對特征點對的提取數(shù)量較少這一不足,本文通過算法上的改進,來提高匹配效率。
圖1原始圖像對
Fig.1Untreated images圖2圖像預(yù)處理
Fig.2Preprocessed image
SURF算法就是利用積分圖像的加減運算來實現(xiàn)圖像與高斯二階微分模板的卷積運算,積分圖像是由Viola和Jones[11]提出,很大程度上簡化了計算時間。積分圖像中任一點(i,j)的值ii(i,j),用原圖像左上角的任一點(i,j)相應(yīng)的對角線區(qū)域灰度值的和表示,ii(i,j)=∑i′≤i,j′≤jp(i′,j′)(1)圖3SURF算子提取效果圖
Fig.3SURF operator extraction effect image式中,p(i′,j′)表示原始圖像點(i′,j′)的灰度值,ii(i,j)可以用如下迭代式計算得到,S(i,j)=S(i,j-1)+p(i,j)(2)
ii(i,j)=ii(i-1,j)+S(i,j)(3)式中,S(i,j)表示一列的積分,并且S(i,-1)=0,ii(-1,j)=0。需要積分圖像時,只需對原始圖像的所有像素掃描一遍。用MATLAB軟件對濾波后的圖像進行處理,結(jié)果如圖3所示。
2.2基于SURF算法的改進由于結(jié)構(gòu)光光學條紋能實現(xiàn)圖像對的立體匹配、還原三維結(jié)構(gòu),因此需要快速地提取結(jié)構(gòu)光條紋,才能提高立體匹配的匹配速率。通過對圖像的剪切和中線條紋提取,可在很大程度上降低后期立體匹配時間,進而提高匹配效率。(1)均衡化與二值化由于結(jié)構(gòu)光光條圖像正是屬于待測對象(結(jié)構(gòu)光光條),與背景有較強對比度的圖像,所以二值化對結(jié)構(gòu)光光條圖像是特別有效的,它能有效地分離光條目標區(qū)域與背景區(qū)域,減少計算量,提高處理速率。在二值化之前需要突出感興趣的部分,因此提前進行直方圖均衡化,將灰度值低的感興趣部分顯現(xiàn)出來,提高處理精度。得到圖像對如圖3所示。(2)細化與骨架提取利用MATLAB函數(shù)庫中的細化函數(shù)對圖像進行細化與骨骼提取,得到單像素的細線條紋,為后期匹配減少了運算量,縮短了匹配時間,提高匹配速率。經(jīng)過圖像預(yù)處理后得到立體圖像對,對圖像二值化結(jié)果如圖4所示,使得對比度得到明顯改善,再通過細化后得到的圖像對能夠較好地滿足后期立體匹配的要求,如圖5所示。
2.2.1約束條件由于立體匹配是尋求同一空間景點在不同視角下投影圖像的像素間的一一對應(yīng)關(guān)系,因此立體匹配的實質(zhì)就是在某一匹配準則下的最佳搜索。由于同一物體在不同視角下的圖像會有差異,而且場景中的很多因素,如光照條件,物體幾何形狀和物理特性、噪聲干擾等,都被綜合成單一的圖像中的灰度值。為解決這一問題,通常引入各種約束,將匹配限制在平滑解空間范圍內(nèi)。其約束條件如下:(1)極限約束:當給定一點,它的匹配點一定出現(xiàn)在所對應(yīng)的極線上。如圖6所示,L1為點P2對應(yīng)的極線,L2為點P1對應(yīng)的極線,L1和L2互為極線。
圖4二值化后立體圖像對
Fig.4Binarized stereo image pair圖5條紋細化后立體圖像對
Fig.5Thinning stripe stereo image pair
圖6雙攝像機成像模型
Fig.6Dualcamera imaging model(2)唯一性約束:指左圖像中的任何點在右圖像中最多一個點與之匹配,也就是說,無論是參考圖像還是目標圖像,任何點都不能同時匹配兩個點。(3)順序約束:對于相似深度的表面,對應(yīng)的特征點一般以相同的次序落在極線上。(4)最大視差約束:視差范圍約束指參考圖像某個點的對應(yīng)點只能在一定的范圍內(nèi)搜索,也就是說,兩個匹配點橫坐標相差必須小于某個最大視差閾值。
2.2.2算法描述本文基于SURF特征點提取過程,首先選取3個正確的匹配點對,下一步的改進提取算法如下:(1)對左右兩幅圖像分別取第i個基準點(xi,yi);(2)對左右兩幅圖像分別取第i個基準點(xi,yi);(3)得到新的基準點(xi,yi+3);(4)對兩點(xi-10,yi+3),(xi+10,yi+3)間所有像素點進行遍歷,判斷該像素點灰度值是否大于200,若是,則提取該特征點坐標(xj,yi+3),保存該特征點并將該特征點作為新的基準點;(5)重復(fù)執(zhí)行(2)(3)步,直到左右圖像都遍歷結(jié)束;(6)對得到的左右圖像特征點點集合進行逐個對比,若同時滿足xi左-xj右≤3且yi左-yj右≤3則匹配成功,則得到的(xi左,yi左),(xj右,yj右)為匹配成功的特征點對。根據(jù)上述改進算法,編寫C程序,對圖像處理,提取到34個特征點對,由于此方法提取得到的是特征點相對于原始圖像的坐標,因此,其坐標數(shù)據(jù)顯示結(jié)果如圖7所示。圖7改進SURF算法的特征點提取坐標示意圖
Fig.7The diagram of the improved SURF algorithm coordinates of the feature point extraction圖8W窗口內(nèi)像素灰度和的計算
Fig.8W window pixel grayscale and calculations
圖9特征點匹配算法流程圖
Fig.9Feature point matching algorithm flowchart
圖10改進SURF算法的特征匹配視差圖
Fig.10Feature point matching algorithm floechart
2.3特征點的匹配根據(jù)這幾個約束條件根據(jù)選取映射函數(shù),對映射值取值,再判斷映射點是否滿足條件,滿足后,根據(jù)雙線性插值對圖像進行插值,將插值之后和原始圖像進行組合,得到匹配視差圖。求窗口W內(nèi)的像素灰度值時,W的大小可通過積分圖像的4個相應(yīng)點(i1,j1)、(i2,j2)、(i3,j3)、(i4,j4)的值計算得到,如圖8所示,即窗口的像素灰度和與窗口尺寸無關(guān)。窗口W內(nèi)的像素灰度和為:∑w=ii(i4,j4)-ii(i2,j2)-
ii(i3,j3)+ii(i1,j1)(4)通過該算法,結(jié)合改進的SURF算法提取到的特征點對,設(shè)置匹配算法流程如圖9所示,在MATLAB圖形處理軟件中,采用C語言編程實現(xiàn)。處理得到特征匹配的視差圖,如圖10所示。3實驗及結(jié)果分析結(jié)合MATLAB軟件,對經(jīng)過預(yù)處理得到的圖像進行SURF特征點提取匹配得到29對特征點,再選取其中匹配正確的特征點對10對設(shè)為基準,再根據(jù)匹配約束條件共選取得到34對特征點,并與相應(yīng)的SURF測量結(jié)果比較(見表1)。從測量結(jié)果可以看出,改進后的SURF特征點提取算法運行時間較SURF特征點提取匹配時間增加了0.12 s。 但是誤匹配率卻降低了約36.5%,匹配成功率得到了明顯改善。通過對多幅圖像對試驗驗證,匹配時間增加為0.2 s左右,而誤匹配率均降低為40%左右,因此該方案具有可行性。由于前期對圖像的剪切和結(jié)構(gòu)光線細化結(jié)果中,大量減少了特征提取圖像的像素數(shù),從而縮短了整體匹配的運行時間。因此,本文對于匹配算法的改進中,又進一步完善了基于改進SURF算子的特征匹配算法。表1特征點提取算法實驗結(jié)果比較
Tab.1Feature point extraction algorithm experimental results
特征點提取方法提取特征點對數(shù)誤匹配對數(shù)誤匹配率/%匹配時間/sSURF特征點提取291862.072.19SURF算法的改進34926.472.23
圖1原始圖像對
Fig.1Untreated images圖2圖像預(yù)處理
Fig.2Preprocessed image
SURF算法就是利用積分圖像的加減運算來實現(xiàn)圖像與高斯二階微分模板的卷積運算,積分圖像是由Viola和Jones[11]提出,很大程度上簡化了計算時間。積分圖像中任一點(i,j)的值ii(i,j),用原圖像左上角的任一點(i,j)相應(yīng)的對角線區(qū)域灰度值的和表示,ii(i,j)=∑i′≤i,j′≤jp(i′,j′)(1)圖3SURF算子提取效果圖
Fig.3SURF operator extraction effect image式中,p(i′,j′)表示原始圖像點(i′,j′)的灰度值,ii(i,j)可以用如下迭代式計算得到,S(i,j)=S(i,j-1)+p(i,j)(2)
ii(i,j)=ii(i-1,j)+S(i,j)(3)式中,S(i,j)表示一列的積分,并且S(i,-1)=0,ii(-1,j)=0。需要積分圖像時,只需對原始圖像的所有像素掃描一遍。用MATLAB軟件對濾波后的圖像進行處理,結(jié)果如圖3所示。
2.2基于SURF算法的改進由于結(jié)構(gòu)光光學條紋能實現(xiàn)圖像對的立體匹配、還原三維結(jié)構(gòu),因此需要快速地提取結(jié)構(gòu)光條紋,才能提高立體匹配的匹配速率。通過對圖像的剪切和中線條紋提取,可在很大程度上降低后期立體匹配時間,進而提高匹配效率。(1)均衡化與二值化由于結(jié)構(gòu)光光條圖像正是屬于待測對象(結(jié)構(gòu)光光條),與背景有較強對比度的圖像,所以二值化對結(jié)構(gòu)光光條圖像是特別有效的,它能有效地分離光條目標區(qū)域與背景區(qū)域,減少計算量,提高處理速率。在二值化之前需要突出感興趣的部分,因此提前進行直方圖均衡化,將灰度值低的感興趣部分顯現(xiàn)出來,提高處理精度。得到圖像對如圖3所示。(2)細化與骨架提取利用MATLAB函數(shù)庫中的細化函數(shù)對圖像進行細化與骨骼提取,得到單像素的細線條紋,為后期匹配減少了運算量,縮短了匹配時間,提高匹配速率。經(jīng)過圖像預(yù)處理后得到立體圖像對,對圖像二值化結(jié)果如圖4所示,使得對比度得到明顯改善,再通過細化后得到的圖像對能夠較好地滿足后期立體匹配的要求,如圖5所示。
2.2.1約束條件由于立體匹配是尋求同一空間景點在不同視角下投影圖像的像素間的一一對應(yīng)關(guān)系,因此立體匹配的實質(zhì)就是在某一匹配準則下的最佳搜索。由于同一物體在不同視角下的圖像會有差異,而且場景中的很多因素,如光照條件,物體幾何形狀和物理特性、噪聲干擾等,都被綜合成單一的圖像中的灰度值。為解決這一問題,通常引入各種約束,將匹配限制在平滑解空間范圍內(nèi)。其約束條件如下:(1)極限約束:當給定一點,它的匹配點一定出現(xiàn)在所對應(yīng)的極線上。如圖6所示,L1為點P2對應(yīng)的極線,L2為點P1對應(yīng)的極線,L1和L2互為極線。
圖4二值化后立體圖像對
Fig.4Binarized stereo image pair圖5條紋細化后立體圖像對
Fig.5Thinning stripe stereo image pair
圖6雙攝像機成像模型
Fig.6Dualcamera imaging model(2)唯一性約束:指左圖像中的任何點在右圖像中最多一個點與之匹配,也就是說,無論是參考圖像還是目標圖像,任何點都不能同時匹配兩個點。(3)順序約束:對于相似深度的表面,對應(yīng)的特征點一般以相同的次序落在極線上。(4)最大視差約束:視差范圍約束指參考圖像某個點的對應(yīng)點只能在一定的范圍內(nèi)搜索,也就是說,兩個匹配點橫坐標相差必須小于某個最大視差閾值。
2.2.2算法描述本文基于SURF特征點提取過程,首先選取3個正確的匹配點對,下一步的改進提取算法如下:(1)對左右兩幅圖像分別取第i個基準點(xi,yi);(2)對左右兩幅圖像分別取第i個基準點(xi,yi);(3)得到新的基準點(xi,yi+3);(4)對兩點(xi-10,yi+3),(xi+10,yi+3)間所有像素點進行遍歷,判斷該像素點灰度值是否大于200,若是,則提取該特征點坐標(xj,yi+3),保存該特征點并將該特征點作為新的基準點;(5)重復(fù)執(zhí)行(2)(3)步,直到左右圖像都遍歷結(jié)束;(6)對得到的左右圖像特征點點集合進行逐個對比,若同時滿足xi左-xj右≤3且yi左-yj右≤3則匹配成功,則得到的(xi左,yi左),(xj右,yj右)為匹配成功的特征點對。根據(jù)上述改進算法,編寫C程序,對圖像處理,提取到34個特征點對,由于此方法提取得到的是特征點相對于原始圖像的坐標,因此,其坐標數(shù)據(jù)顯示結(jié)果如圖7所示。圖7改進SURF算法的特征點提取坐標示意圖
Fig.7The diagram of the improved SURF algorithm coordinates of the feature point extraction圖8W窗口內(nèi)像素灰度和的計算
Fig.8W window pixel grayscale and calculations
圖9特征點匹配算法流程圖
Fig.9Feature point matching algorithm flowchart
圖10改進SURF算法的特征匹配視差圖
Fig.10Feature point matching algorithm floechart
2.3特征點的匹配根據(jù)這幾個約束條件根據(jù)選取映射函數(shù),對映射值取值,再判斷映射點是否滿足條件,滿足后,根據(jù)雙線性插值對圖像進行插值,將插值之后和原始圖像進行組合,得到匹配視差圖。求窗口W內(nèi)的像素灰度值時,W的大小可通過積分圖像的4個相應(yīng)點(i1,j1)、(i2,j2)、(i3,j3)、(i4,j4)的值計算得到,如圖8所示,即窗口的像素灰度和與窗口尺寸無關(guān)。窗口W內(nèi)的像素灰度和為:∑w=ii(i4,j4)-ii(i2,j2)-
ii(i3,j3)+ii(i1,j1)(4)通過該算法,結(jié)合改進的SURF算法提取到的特征點對,設(shè)置匹配算法流程如圖9所示,在MATLAB圖形處理軟件中,采用C語言編程實現(xiàn)。處理得到特征匹配的視差圖,如圖10所示。3實驗及結(jié)果分析結(jié)合MATLAB軟件,對經(jīng)過預(yù)處理得到的圖像進行SURF特征點提取匹配得到29對特征點,再選取其中匹配正確的特征點對10對設(shè)為基準,再根據(jù)匹配約束條件共選取得到34對特征點,并與相應(yīng)的SURF測量結(jié)果比較(見表1)。從測量結(jié)果可以看出,改進后的SURF特征點提取算法運行時間較SURF特征點提取匹配時間增加了0.12 s。 但是誤匹配率卻降低了約36.5%,匹配成功率得到了明顯改善。通過對多幅圖像對試驗驗證,匹配時間增加為0.2 s左右,而誤匹配率均降低為40%左右,因此該方案具有可行性。由于前期對圖像的剪切和結(jié)構(gòu)光線細化結(jié)果中,大量減少了特征提取圖像的像素數(shù),從而縮短了整體匹配的運行時間。因此,本文對于匹配算法的改進中,又進一步完善了基于改進SURF算子的特征匹配算法。表1特征點提取算法實驗結(jié)果比較
Tab.1Feature point extraction algorithm experimental results
特征點提取方法提取特征點對數(shù)誤匹配對數(shù)誤匹配率/%匹配時間/sSURF特征點提取291862.072.19SURF算法的改進34926.472.23
圖1原始圖像對
Fig.1Untreated images圖2圖像預(yù)處理
Fig.2Preprocessed image
SURF算法就是利用積分圖像的加減運算來實現(xiàn)圖像與高斯二階微分模板的卷積運算,積分圖像是由Viola和Jones[11]提出,很大程度上簡化了計算時間。積分圖像中任一點(i,j)的值ii(i,j),用原圖像左上角的任一點(i,j)相應(yīng)的對角線區(qū)域灰度值的和表示,ii(i,j)=∑i′≤i,j′≤jp(i′,j′)(1)圖3SURF算子提取效果圖
Fig.3SURF operator extraction effect image式中,p(i′,j′)表示原始圖像點(i′,j′)的灰度值,ii(i,j)可以用如下迭代式計算得到,S(i,j)=S(i,j-1)+p(i,j)(2)
ii(i,j)=ii(i-1,j)+S(i,j)(3)式中,S(i,j)表示一列的積分,并且S(i,-1)=0,ii(-1,j)=0。需要積分圖像時,只需對原始圖像的所有像素掃描一遍。用MATLAB軟件對濾波后的圖像進行處理,結(jié)果如圖3所示。
2.2基于SURF算法的改進由于結(jié)構(gòu)光光學條紋能實現(xiàn)圖像對的立體匹配、還原三維結(jié)構(gòu),因此需要快速地提取結(jié)構(gòu)光條紋,才能提高立體匹配的匹配速率。通過對圖像的剪切和中線條紋提取,可在很大程度上降低后期立體匹配時間,進而提高匹配效率。(1)均衡化與二值化由于結(jié)構(gòu)光光條圖像正是屬于待測對象(結(jié)構(gòu)光光條),與背景有較強對比度的圖像,所以二值化對結(jié)構(gòu)光光條圖像是特別有效的,它能有效地分離光條目標區(qū)域與背景區(qū)域,減少計算量,提高處理速率。在二值化之前需要突出感興趣的部分,因此提前進行直方圖均衡化,將灰度值低的感興趣部分顯現(xiàn)出來,提高處理精度。得到圖像對如圖3所示。(2)細化與骨架提取利用MATLAB函數(shù)庫中的細化函數(shù)對圖像進行細化與骨骼提取,得到單像素的細線條紋,為后期匹配減少了運算量,縮短了匹配時間,提高匹配速率。經(jīng)過圖像預(yù)處理后得到立體圖像對,對圖像二值化結(jié)果如圖4所示,使得對比度得到明顯改善,再通過細化后得到的圖像對能夠較好地滿足后期立體匹配的要求,如圖5所示。
2.2.1約束條件由于立體匹配是尋求同一空間景點在不同視角下投影圖像的像素間的一一對應(yīng)關(guān)系,因此立體匹配的實質(zhì)就是在某一匹配準則下的最佳搜索。由于同一物體在不同視角下的圖像會有差異,而且場景中的很多因素,如光照條件,物體幾何形狀和物理特性、噪聲干擾等,都被綜合成單一的圖像中的灰度值。為解決這一問題,通常引入各種約束,將匹配限制在平滑解空間范圍內(nèi)。其約束條件如下:(1)極限約束:當給定一點,它的匹配點一定出現(xiàn)在所對應(yīng)的極線上。如圖6所示,L1為點P2對應(yīng)的極線,L2為點P1對應(yīng)的極線,L1和L2互為極線。
圖4二值化后立體圖像對
Fig.4Binarized stereo image pair圖5條紋細化后立體圖像對
Fig.5Thinning stripe stereo image pair
圖6雙攝像機成像模型
Fig.6Dualcamera imaging model(2)唯一性約束:指左圖像中的任何點在右圖像中最多一個點與之匹配,也就是說,無論是參考圖像還是目標圖像,任何點都不能同時匹配兩個點。(3)順序約束:對于相似深度的表面,對應(yīng)的特征點一般以相同的次序落在極線上。(4)最大視差約束:視差范圍約束指參考圖像某個點的對應(yīng)點只能在一定的范圍內(nèi)搜索,也就是說,兩個匹配點橫坐標相差必須小于某個最大視差閾值。
2.2.2算法描述本文基于SURF特征點提取過程,首先選取3個正確的匹配點對,下一步的改進提取算法如下:(1)對左右兩幅圖像分別取第i個基準點(xi,yi);(2)對左右兩幅圖像分別取第i個基準點(xi,yi);(3)得到新的基準點(xi,yi+3);(4)對兩點(xi-10,yi+3),(xi+10,yi+3)間所有像素點進行遍歷,判斷該像素點灰度值是否大于200,若是,則提取該特征點坐標(xj,yi+3),保存該特征點并將該特征點作為新的基準點;(5)重復(fù)執(zhí)行(2)(3)步,直到左右圖像都遍歷結(jié)束;(6)對得到的左右圖像特征點點集合進行逐個對比,若同時滿足xi左-xj右≤3且yi左-yj右≤3則匹配成功,則得到的(xi左,yi左),(xj右,yj右)為匹配成功的特征點對。根據(jù)上述改進算法,編寫C程序,對圖像處理,提取到34個特征點對,由于此方法提取得到的是特征點相對于原始圖像的坐標,因此,其坐標數(shù)據(jù)顯示結(jié)果如圖7所示。圖7改進SURF算法的特征點提取坐標示意圖
Fig.7The diagram of the improved SURF algorithm coordinates of the feature point extraction圖8W窗口內(nèi)像素灰度和的計算
Fig.8W window pixel grayscale and calculations
圖9特征點匹配算法流程圖
Fig.9Feature point matching algorithm flowchart
圖10改進SURF算法的特征匹配視差圖
Fig.10Feature point matching algorithm floechart
2.3特征點的匹配根據(jù)這幾個約束條件根據(jù)選取映射函數(shù),對映射值取值,再判斷映射點是否滿足條件,滿足后,根據(jù)雙線性插值對圖像進行插值,將插值之后和原始圖像進行組合,得到匹配視差圖。求窗口W內(nèi)的像素灰度值時,W的大小可通過積分圖像的4個相應(yīng)點(i1,j1)、(i2,j2)、(i3,j3)、(i4,j4)的值計算得到,如圖8所示,即窗口的像素灰度和與窗口尺寸無關(guān)。窗口W內(nèi)的像素灰度和為:∑w=ii(i4,j4)-ii(i2,j2)-
ii(i3,j3)+ii(i1,j1)(4)通過該算法,結(jié)合改進的SURF算法提取到的特征點對,設(shè)置匹配算法流程如圖9所示,在MATLAB圖形處理軟件中,采用C語言編程實現(xiàn)。處理得到特征匹配的視差圖,如圖10所示。3實驗及結(jié)果分析結(jié)合MATLAB軟件,對經(jīng)過預(yù)處理得到的圖像進行SURF特征點提取匹配得到29對特征點,再選取其中匹配正確的特征點對10對設(shè)為基準,再根據(jù)匹配約束條件共選取得到34對特征點,并與相應(yīng)的SURF測量結(jié)果比較(見表1)。從測量結(jié)果可以看出,改進后的SURF特征點提取算法運行時間較SURF特征點提取匹配時間增加了0.12 s。 但是誤匹配率卻降低了約36.5%,匹配成功率得到了明顯改善。通過對多幅圖像對試驗驗證,匹配時間增加為0.2 s左右,而誤匹配率均降低為40%左右,因此該方案具有可行性。由于前期對圖像的剪切和結(jié)構(gòu)光線細化結(jié)果中,大量減少了特征提取圖像的像素數(shù),從而縮短了整體匹配的運行時間。因此,本文對于匹配算法的改進中,又進一步完善了基于改進SURF算子的特征匹配算法。表1特征點提取算法實驗結(jié)果比較
Tab.1Feature point extraction algorithm experimental results
特征點提取方法提取特征點對數(shù)誤匹配對數(shù)誤匹配率/%匹配時間/sSURF特征點提取291862.072.19SURF算法的改進34926.472.23
圖1原始圖像對
Fig.1Untreated images圖2圖像預(yù)處理
Fig.2Preprocessed image
SURF算法就是利用積分圖像的加減運算來實現(xiàn)圖像與高斯二階微分模板的卷積運算,積分圖像是由Viola和Jones[11]提出,很大程度上簡化了計算時間。積分圖像中任一點(i,j)的值ii(i,j),用原圖像左上角的任一點(i,j)相應(yīng)的對角線區(qū)域灰度值的和表示,ii(i,j)=∑i′≤i,j′≤jp(i′,j′)(1)圖3SURF算子提取效果圖
Fig.3SURF operator extraction effect image式中,p(i′,j′)表示原始圖像點(i′,j′)的灰度值,ii(i,j)可以用如下迭代式計算得到,S(i,j)=S(i,j-1)+p(i,j)(2)
ii(i,j)=ii(i-1,j)+S(i,j)(3)式中,S(i,j)表示一列的積分,并且S(i,-1)=0,ii(-1,j)=0。需要積分圖像時,只需對原始圖像的所有像素掃描一遍。用MATLAB軟件對濾波后的圖像進行處理,結(jié)果如圖3所示。
2.2基于SURF算法的改進由于結(jié)構(gòu)光光學條紋能實現(xiàn)圖像對的立體匹配、還原三維結(jié)構(gòu),因此需要快速地提取結(jié)構(gòu)光條紋,才能提高立體匹配的匹配速率。通過對圖像的剪切和中線條紋提取,可在很大程度上降低后期立體匹配時間,進而提高匹配效率。(1)均衡化與二值化由于結(jié)構(gòu)光光條圖像正是屬于待測對象(結(jié)構(gòu)光光條),與背景有較強對比度的圖像,所以二值化對結(jié)構(gòu)光光條圖像是特別有效的,它能有效地分離光條目標區(qū)域與背景區(qū)域,減少計算量,提高處理速率。在二值化之前需要突出感興趣的部分,因此提前進行直方圖均衡化,將灰度值低的感興趣部分顯現(xiàn)出來,提高處理精度。得到圖像對如圖3所示。(2)細化與骨架提取利用MATLAB函數(shù)庫中的細化函數(shù)對圖像進行細化與骨骼提取,得到單像素的細線條紋,為后期匹配減少了運算量,縮短了匹配時間,提高匹配速率。經(jīng)過圖像預(yù)處理后得到立體圖像對,對圖像二值化結(jié)果如圖4所示,使得對比度得到明顯改善,再通過細化后得到的圖像對能夠較好地滿足后期立體匹配的要求,如圖5所示。
2.2.1約束條件由于立體匹配是尋求同一空間景點在不同視角下投影圖像的像素間的一一對應(yīng)關(guān)系,因此立體匹配的實質(zhì)就是在某一匹配準則下的最佳搜索。由于同一物體在不同視角下的圖像會有差異,而且場景中的很多因素,如光照條件,物體幾何形狀和物理特性、噪聲干擾等,都被綜合成單一的圖像中的灰度值。為解決這一問題,通常引入各種約束,將匹配限制在平滑解空間范圍內(nèi)。其約束條件如下:(1)極限約束:當給定一點,它的匹配點一定出現(xiàn)在所對應(yīng)的極線上。如圖6所示,L1為點P2對應(yīng)的極線,L2為點P1對應(yīng)的極線,L1和L2互為極線。
圖4二值化后立體圖像對
Fig.4Binarized stereo image pair圖5條紋細化后立體圖像對
Fig.5Thinning stripe stereo image pair
圖6雙攝像機成像模型
Fig.6Dualcamera imaging model(2)唯一性約束:指左圖像中的任何點在右圖像中最多一個點與之匹配,也就是說,無論是參考圖像還是目標圖像,任何點都不能同時匹配兩個點。(3)順序約束:對于相似深度的表面,對應(yīng)的特征點一般以相同的次序落在極線上。(4)最大視差約束:視差范圍約束指參考圖像某個點的對應(yīng)點只能在一定的范圍內(nèi)搜索,也就是說,兩個匹配點橫坐標相差必須小于某個最大視差閾值。
2.2.2算法描述本文基于SURF特征點提取過程,首先選取3個正確的匹配點對,下一步的改進提取算法如下:(1)對左右兩幅圖像分別取第i個基準點(xi,yi);(2)對左右兩幅圖像分別取第i個基準點(xi,yi);(3)得到新的基準點(xi,yi+3);(4)對兩點(xi-10,yi+3),(xi+10,yi+3)間所有像素點進行遍歷,判斷該像素點灰度值是否大于200,若是,則提取該特征點坐標(xj,yi+3),保存該特征點并將該特征點作為新的基準點;(5)重復(fù)執(zhí)行(2)(3)步,直到左右圖像都遍歷結(jié)束;(6)對得到的左右圖像特征點點集合進行逐個對比,若同時滿足xi左-xj右≤3且yi左-yj右≤3則匹配成功,則得到的(xi左,yi左),(xj右,yj右)為匹配成功的特征點對。根據(jù)上述改進算法,編寫C程序,對圖像處理,提取到34個特征點對,由于此方法提取得到的是特征點相對于原始圖像的坐標,因此,其坐標數(shù)據(jù)顯示結(jié)果如圖7所示。圖7改進SURF算法的特征點提取坐標示意圖
Fig.7The diagram of the improved SURF algorithm coordinates of the feature point extraction圖8W窗口內(nèi)像素灰度和的計算
Fig.8W window pixel grayscale and calculations
圖9特征點匹配算法流程圖
Fig.9Feature point matching algorithm flowchart
圖10改進SURF算法的特征匹配視差圖
Fig.10Feature point matching algorithm floechart
2.3特征點的匹配根據(jù)這幾個約束條件根據(jù)選取映射函數(shù),對映射值取值,再判斷映射點是否滿足條件,滿足后,根據(jù)雙線性插值對圖像進行插值,將插值之后和原始圖像進行組合,得到匹配視差圖。求窗口W內(nèi)的像素灰度值時,W的大小可通過積分圖像的4個相應(yīng)點(i1,j1)、(i2,j2)、(i3,j3)、(i4,j4)的值計算得到,如圖8所示,即窗口的像素灰度和與窗口尺寸無關(guān)。窗口W內(nèi)的像素灰度和為:∑w=ii(i4,j4)-ii(i2,j2)-
ii(i3,j3)+ii(i1,j1)(4)通過該算法,結(jié)合改進的SURF算法提取到的特征點對,設(shè)置匹配算法流程如圖9所示,在MATLAB圖形處理軟件中,采用C語言編程實現(xiàn)。處理得到特征匹配的視差圖,如圖10所示。3實驗及結(jié)果分析結(jié)合MATLAB軟件,對經(jīng)過預(yù)處理得到的圖像進行SURF特征點提取匹配得到29對特征點,再選取其中匹配正確的特征點對10對設(shè)為基準,再根據(jù)匹配約束條件共選取得到34對特征點,并與相應(yīng)的SURF測量結(jié)果比較(見表1)。從測量結(jié)果可以看出,改進后的SURF特征點提取算法運行時間較SURF特征點提取匹配時間增加了0.12 s。 但是誤匹配率卻降低了約36.5%,匹配成功率得到了明顯改善。通過對多幅圖像對試驗驗證,匹配時間增加為0.2 s左右,而誤匹配率均降低為40%左右,因此該方案具有可行性。由于前期對圖像的剪切和結(jié)構(gòu)光線細化結(jié)果中,大量減少了特征提取圖像的像素數(shù),從而縮短了整體匹配的運行時間。因此,本文對于匹配算法的改進中,又進一步完善了基于改進SURF算子的特征匹配算法。表1特征點提取算法實驗結(jié)果比較
Tab.1Feature point extraction algorithm experimental results
特征點提取方法提取特征點對數(shù)誤匹配對數(shù)誤匹配率/%匹配時間/sSURF特征點提取291862.072.19SURF算法的改進34926.472.23