本發(fā)明涉及圖像匹配技術(shù)領(lǐng)域,具體涉及一種基于特征描述符的圓弧匹配方法。
背景技術(shù):
圖像一般由點(diǎn)、線、面等基本要素特征組成,圖像匹配在三維重建、目標(biāo)識(shí)別、目標(biāo)跟蹤以及視覺(jué)導(dǎo)航等方面都有重要應(yīng)用,一般基于特征描述符的圖像匹配都會(huì)涉及三個(gè)步驟:特征提取,描述和匹配。
現(xiàn)有技術(shù)中關(guān)于點(diǎn)匹配、直線匹配、曲線匹配及區(qū)域匹配已有較多研究,但是對(duì)圓弧匹配的研究甚少,特別是對(duì)基于特征描述符的圓弧匹配研究更少。到目前為止,涉及圓弧提取算法包括霍夫變換(HT)、EDCircles等,但是EDCircles算法是在用EDPF(Edge Drawing Parameter Free)算法檢測(cè)邊緣的基礎(chǔ)上,再用EDLines算法將邊緣轉(zhuǎn)換為直線,最后結(jié)合兩種啟發(fā)式算法將直線轉(zhuǎn)換為圓弧,提取效率及提取準(zhǔn)確度難以保證。
圓弧匹配目前主要存在以下困難:1)與點(diǎn)匹配較容易選取一個(gè)固定大小的區(qū)域計(jì)算描述符不同,不同長(zhǎng)度的圓弧具有不同大小的支撐區(qū)域,缺乏合適的區(qū)域歸一化策略來(lái)計(jì)算區(qū)域描述符;2)圓弧描述比直線描述更困難,圓弧的不同位置,像素分布規(guī)律不同,更加劇了這種困難;3)與點(diǎn)匹配的極線約束能夠提供很強(qiáng)的全局約束不同,極線幾乎不能為圓弧匹配直接提供有效的位置約束,增加圓弧匹配時(shí)的搜索空間,同時(shí)也增大誤匹配的可能性。
在國(guó)內(nèi)外尚未見(jiàn)關(guān)于基于特征描述符的圓弧匹配的任何相關(guān)報(bào)道。所以說(shuō),研究一種具有更多正確匹配數(shù)和更高匹配正確率的基于特征描述符的圓弧匹配方法對(duì)于圓弧匹配的發(fā)展及對(duì)圖像處理、機(jī)器視覺(jué)等領(lǐng)域的發(fā)展具有重要意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題在于針對(duì)現(xiàn)有技術(shù)中圓弧匹配實(shí)現(xiàn)困難,提出一種基于特征描述符的圓弧匹配方法,創(chuàng)造性的結(jié)合八象限理論,提取圓弧時(shí)通過(guò)在生成的圓弧支撐區(qū)域中構(gòu)建圓弧描述符CBD,匹配效率及匹配精度高,對(duì)圖像處理、機(jī)器視覺(jué)、自主導(dǎo)航等領(lǐng)域的發(fā)展具有重要意義,需要說(shuō)明的是,本發(fā)明所述的圓弧包括圓以及各種優(yōu)弧和劣弧。
本發(fā)明是采用以下的技術(shù)方案實(shí)現(xiàn)的:一種基于特征描述符的圓弧匹配方法,包括以下步驟:
步驟A、為保證在不同尺度變換下圖像的縮放不變性,通過(guò)高斯金字塔構(gòu)建尺度空間,提取圓?。桓鶕?jù)圓弧描述過(guò)程,所提取的圓弧輸出到圓弧描述步驟中所包含的信息包括:每條圓弧上的像素?cái)?shù)、每條圓弧上每個(gè)像素的坐標(biāo)、提取圓弧條數(shù)、每條圓弧的端點(diǎn)坐標(biāo)、圓弧弦的方向等等;由于圓弧的長(zhǎng)度不同,所以其所包含的像素?cái)?shù)不同,處于不同位置的圓弧像素?cái)?shù)規(guī)律也是不同的,本發(fā)明通過(guò)多次研究設(shè)計(jì),其中,在求取圓弧上的像素?cái)?shù)時(shí)創(chuàng)新性的結(jié)合圓弧所在位置分成八象限來(lái)分析;
步驟B、對(duì)上述提取的圓弧進(jìn)行描述,包括以下步驟:
B1、以提取后的圓弧為中心圓弧,生成圓弧支撐區(qū)域;
B2、在支撐區(qū)域中構(gòu)建圓弧描述符CBD;
步驟C、根據(jù)生成的CBD描述符進(jìn)行圓弧匹配。
進(jìn)一步地,所述步驟A中對(duì)圓弧提取包括以下步驟:
A1、尺度縮放:輸入原始圖像,對(duì)輸入圖像進(jìn)行尺度縮放;為了消除圖像的鋸齒效應(yīng),需要對(duì)輸入的圖像進(jìn)行高斯采樣,所述尺度取0.8;
A2、計(jì)算像素梯度幅值和梯度方向:計(jì)算上述圖像中所有像素點(diǎn)的像素梯度(這里所述的像素梯度是在圖像坐標(biāo)系下,圖像中每個(gè)像素點(diǎn)的梯度,目的就是為了找到梯度幅值最大的點(diǎn)作為種子點(diǎn),進(jìn)而進(jìn)行區(qū)域生長(zhǎng))幅值和梯度方向ang(x,y)=arctan(gy(x,y)/gx(x,y)),其中,x,y是所求像素點(diǎn)的橫縱坐標(biāo),gx(x,y)和gy(x,y)分別是圖像上每個(gè)像素點(diǎn)在橫、縱坐標(biāo)軸方向的梯度,所述圖像坐標(biāo)系的坐標(biāo)原點(diǎn)在圖像的左上角,向右建立坐標(biāo)橫軸,向下建立坐標(biāo)縱軸;
A3、曲線生長(zhǎng)并擬合圓?。喝√荻确底畲蟮狞c(diǎn)作為種子點(diǎn),以種子點(diǎn)為起點(diǎn)進(jìn)行區(qū)域生長(zhǎng),生成一個(gè)能包含所有像素點(diǎn)的最小外接矩形;然后根據(jù)凸性原則和平滑原則連接區(qū)域生長(zhǎng)生成的相鄰的矩形區(qū)域,得到曲線生長(zhǎng)的結(jié)果;最后將曲線生長(zhǎng)后生成的圓環(huán)擬合成圓??;
A4、計(jì)算NFA(誤報(bào)率),驗(yàn)證圓弧。
進(jìn)一步地,所述步驟A中,在提取圓弧過(guò)程中,還包括兩個(gè)約束條件:(1)所提取圓弧的圓心角大于5°;(2)所提取圓弧的半徑小于原始圖像高度的一半。
進(jìn)一步地,所述步驟A中在八象限下求取圓弧上的像素?cái)?shù)時(shí),包括以下步驟:
(1)設(shè)定圓弧弧長(zhǎng)與其像素?cái)?shù)比值為1.1,求圓弧跨過(guò)完整象限的像素?cái)?shù)P1;
(2)根據(jù)圓弧起點(diǎn)所在象限及坐標(biāo)以及圓弧與坐標(biāo)軸的交點(diǎn)坐標(biāo)求得圓弧起點(diǎn)所在象限像素?cái)?shù)P2;
(3)根據(jù)圓弧終點(diǎn)所在象限及坐標(biāo)以及圓弧與坐標(biāo)軸的交點(diǎn)坐標(biāo)求得圓弧終點(diǎn)所在象限像素?cái)?shù)P3;
(4)最后得出該圓弧上總的像素?cái)?shù)P:P=P1+P2+P3,所述圓弧均是由起點(diǎn)到終點(diǎn)以順時(shí)針?lè)较虮硎尽?/p>
進(jìn)一步地,所述步驟A中求取每條圓弧上每個(gè)像素的坐標(biāo)包括以下步驟:
(1)從圓弧的起點(diǎn)開(kāi)始,利用圓弧上每一個(gè)像素點(diǎn)滿足圓弧方程和圓弧所對(duì)應(yīng)弦長(zhǎng)兩個(gè)條件建立二元二次方程組其中,x,y是所求像素點(diǎn)橫縱坐標(biāo),x0,y0是當(dāng)前圓弧圓心的橫縱坐標(biāo),xq,yq是當(dāng)前圓弧上所求像素點(diǎn)的前一個(gè)像素點(diǎn)的橫縱坐標(biāo),r是當(dāng)前圓弧的半徑,α是將當(dāng)前圓弧所對(duì)應(yīng)圓心角分為P個(gè)圓心角后,每一個(gè)圓心角的大小,求得兩組解及兩組解對(duì)應(yīng)的兩個(gè)像素點(diǎn)與x軸正方向的夾角;
(2)利用圓弧起始角和終止角約束及圓弧圓心角約束剔除其中一組解,最終保留一組正確解,依次循環(huán)到圓弧終點(diǎn),得到圓弧上每個(gè)像素點(diǎn)的橫縱坐標(biāo)。
進(jìn)一步地,所述步驟B1中生成圓弧支撐區(qū)域包括以下步驟:
B11、利用已提取圓弧的端點(diǎn)坐標(biāo)大小關(guān)系計(jì)算支撐區(qū)域中第一條圓弧的第一個(gè)像素點(diǎn)的坐標(biāo)值,所述第一條圓弧是圓弧支撐區(qū)域中最先生成的那條圓弧,第一個(gè)像素點(diǎn)是指圓弧的起點(diǎn);
B12、計(jì)算該圓弧所對(duì)應(yīng)的圓心坐標(biāo);
B13、計(jì)算圓弧上第一個(gè)像素點(diǎn)在局部坐標(biāo)系中橫軸和縱軸方向的梯度投影所述局部坐標(biāo)系是指以圓弧所對(duì)應(yīng)弦的中點(diǎn)作為局部坐標(biāo)系原點(diǎn),分別以圓弧所對(duì)應(yīng)弦的方向dC和其正交方向d⊥為橫軸和縱軸建立的坐標(biāo)系,dx是圖像坐標(biāo)系中像素點(diǎn)在x方向的梯度,dy是圖像坐標(biāo)系中像素點(diǎn)在y方向的梯度,二者經(jīng)坐標(biāo)變換后分別得到局部坐標(biāo)系中像素點(diǎn)在d⊥方向和dC方向的梯度;
B14、依次求該條圓弧上其余像素點(diǎn)的橫縱坐標(biāo)、圓心坐標(biāo)和梯度投影,循環(huán)B11、B12、B13步驟,依次求取其他圓弧上像素點(diǎn)的坐標(biāo)值,最終求得所有圓弧上所有像素點(diǎn)的坐標(biāo)值,圓弧支撐區(qū)域生成。
進(jìn)一步地,所述步驟B2中,構(gòu)建圓弧描述符CBD包括以下步驟:
B21、構(gòu)建帶描述符j1表示第j1條圓弧帶,對(duì)于帶和其最近鄰的上下兩個(gè)鄰域帶和計(jì)算中第k條圓弧上所有像素點(diǎn)的梯度和,將全局高斯權(quán)重系數(shù)fg和局部高斯權(quán)重系數(shù)fl作用于每一條帶得到圓弧支撐區(qū)域中每條帶的d⊥方向和dC方向及其相反方向的梯度投影之和,最終生成帶描述符
B22、所有的構(gòu)成CBD:
B23、結(jié)合和CBD生成每條圓弧帶的帶狀描述矩陣
其中,2w和3w分別表示圓弧帶在圓弧支撐區(qū)域兩邊和中間的情況,n是圓弧的條數(shù),帶描述符和分別是的均值和標(biāo)準(zhǔn)差。
進(jìn)一步地,所述步驟B23中,為了使描述符與圓弧長(zhǎng)度無(wú)關(guān),取CBD的均值和標(biāo)準(zhǔn)差,為了去除線性光照影響,將CBD的均值和標(biāo)準(zhǔn)差分別標(biāo)準(zhǔn)化,為了減小非線性光照的影響,CBD中的每個(gè)數(shù)據(jù)都要小于閾值0.4。CBD描述符在MSLD描述符的基礎(chǔ)上引入了全局和局部高斯權(quán)重系數(shù),使得描述符對(duì)邊緣響應(yīng)和微小變化更穩(wěn)定,且這是一種圓弧特征描述符,到目前為止,還未有對(duì)這方面的研究與記載。
進(jìn)一步地,所述步驟C中,圓弧匹配步驟具體包括:
C1、根據(jù)一元幾何屬性約束和局部外觀相似性約束生成候選匹配對(duì);
C2、建立候選匹配對(duì)關(guān)系圖:用鄰接矩陣建立兩組候選匹配對(duì)之間的關(guān)系圖,其中,Aij是鄰接矩陣A的元素,i是矩陣的行,j是矩陣的列;dΘ是相對(duì)夾角相似性;分別是兩幅圖像中第i個(gè)和第j個(gè)描述符之間的最小描述符距離相似性,Γ是條件;對(duì)于所有的候選匹配對(duì),分別計(jì)算Aij,最終得到鄰接矩陣A;
C3、根據(jù)鄰接矩陣A,首先用ARPACK計(jì)算鄰接矩陣A的主特征向量,主特征向量是指主特征值對(duì)應(yīng)的特征向量,而主特征值是指模最大的特征值;然后用片面性約束和相對(duì)夾角約束生成最終的匹配結(jié)果。
進(jìn)一步地,所述步驟C2中,dΘ,和Γ的定義如下:
其中,分別是原始圖像o和變換圖像q中任兩條圓弧的相對(duì)夾角,tΘ是相對(duì)夾角閾值,分別是原始圖像和變換圖像中具有最小描述符距離的兩條圓弧的描述符,ts是最小描述符距離閾值;Γ≤1表示其中每個(gè)元素的值都不能大于1。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)和積極效果在于:
(1)本發(fā)明提出了一種基于特征描述符的圓弧匹配方法,包括圓弧提取,圓弧描述,圓弧匹配等步驟;在圓弧提取過(guò)程中,根據(jù)圓弧的特性加入兩個(gè)約束條件,加強(qiáng)約束,提高提取準(zhǔn)確性、增加提取效果;另外在計(jì)算每條圓弧上的像素?cái)?shù)及每個(gè)像素的坐標(biāo)時(shí),創(chuàng)造性地結(jié)合八象限思想,根據(jù)圓弧跨過(guò)的象限數(shù)等進(jìn)行分析,完成提取過(guò)程;然后將圓弧表示為圓弧帶,生成圓弧支撐區(qū)域,在支撐區(qū)域中得到帶狀描述矩陣(BDM),構(gòu)建圓弧描述符(CBD);最后利用幾何屬性和最小描述符距離約束生成候選匹配對(duì),用鄰接矩陣建立兩組候選匹配對(duì)之間的關(guān)系圖,得到最終的圓弧匹配結(jié)果,該方法可以快速實(shí)時(shí)提取出圖像中絕大多數(shù)圓弧,包括局部較短圓?。?/p>
(2)圓弧描述符CBD在圖像進(jìn)行縮放變換,平移旋轉(zhuǎn)變換及光照變化時(shí)都具有不變性,且與圓弧長(zhǎng)度無(wú)關(guān),有利于提高圓弧的匹配正確率;經(jīng)過(guò)大量實(shí)驗(yàn)驗(yàn)證,本發(fā)明提出的方法進(jìn)行圓弧匹配所得的匹配圓弧數(shù)較多,匹配正確率可以達(dá)到95%以上;本方案實(shí)現(xiàn)了基于特征描述符的圓弧匹配,對(duì)三維重建,目標(biāo)識(shí)別,目標(biāo)跟蹤以及視覺(jué)導(dǎo)航等都有重大意義。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例中圓弧匹配流程圖;
圖2為本發(fā)明實(shí)施例圓弧提取流程圖;
圖3為實(shí)施例所述曲線生長(zhǎng)示意圖;
圖4為實(shí)施例中原始圖像在不同尺度下圓弧提取結(jié)果示意圖;
圖5為實(shí)施例中不同尺度下約束后的圓弧提取結(jié)果示意圖;
圖6為實(shí)施例中不同變換下提取圓弧結(jié)果示意圖;
圖7為八象限示意圖;
圖8為實(shí)施例中兩個(gè)圓弧支撐區(qū)域示意圖,其中右側(cè)II用來(lái)描述圓以及圓弧半徑大于圓弧總帶寬且圓弧是優(yōu)弧的情況,左側(cè)I用來(lái)描述除了右側(cè)II所述情況下的所有圓??;
圖9為實(shí)施例中,縮放變換后的圓弧匹配結(jié)果示意圖;
圖10為實(shí)施例中旋轉(zhuǎn)平移變換后的圓弧匹配結(jié)果示意圖;
圖11為實(shí)施例中光照變化后的圓弧匹配結(jié)果示意圖。
具體實(shí)施方式
為了能夠更加清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明并不限于下面公開(kāi)的具體實(shí)施例。
實(shí)施例,參考圖1,為本實(shí)施例所述的圓弧匹配流程示意圖,包括以下步驟:1圓弧提??;2圓弧描述;3圓弧匹配,具體的:
1、圓弧提?。?/p>
圓弧提取是圓弧匹配的基礎(chǔ),圓弧提取效果間接影響了匹配結(jié)果。利用圓弧提取方法,從原始圖像和變換圖像(縮放、光照等變化后的圖像)中分別提取圓弧,進(jìn)而再對(duì)圓弧進(jìn)行描述與匹配,得到更加準(zhǔn)確的匹配結(jié)果。圓弧提取首先通過(guò)高斯金字塔構(gòu)建尺度空間,參考圖1,以保證在不同尺度變換下圖像的縮放不變性,以便提高提取準(zhǔn)確度及效率。
1.1高斯金字塔構(gòu)建尺度空間:
提出尺度空間理論的目的是模擬圖像數(shù)據(jù)的多尺度特征,保證在不同尺度變化下圖像縮放的不變性,通過(guò)高斯金字塔對(duì)原始圖像不斷進(jìn)行降采樣,得到一系列大小不一的圖像,由大到小,從下到上構(gòu)成塔狀模型。原圖像為高斯金字塔的第一層,每次降采樣所得到的新圖像均為金字塔的一層。
高斯金字塔的層數(shù)與原始圖像的大小有關(guān),本實(shí)施例所用的所有圖像均為拍攝的實(shí)驗(yàn)室光盤圖像,圖像大小為400×300,根據(jù)高斯金字塔層數(shù)計(jì)算公式,octave=log(MIN(width,height))/log(2)-2,其中,octave是高斯金字塔層數(shù),width是原始圖像寬度,height是原始圖像高度,計(jì)算得高斯金字塔層數(shù)是6層。所以本實(shí)施例以6層圖像的高斯模糊和降采樣結(jié)果,然后分別對(duì)這6層高斯金字塔結(jié)果提取圓弧。
高斯金字塔模型主要分為兩個(gè)過(guò)程:高斯模糊和高斯降采樣,其中高斯模糊過(guò)程如下:首先對(duì)原始圖像進(jìn)行高斯模糊,一幅二維圖像的尺度空間定義為:L(x,y,σ1)=G(x,y,σ1)*I(x,y),其中,x,y,σ1分別是像素點(diǎn)橫縱坐標(biāo)及模糊系數(shù)。G(x,y,σ1)是變尺度高斯微分函數(shù),I(x,y)是輸入圖像,L(x,y,σ1)是尺度空間的圖像。在高斯模糊的基礎(chǔ)上,對(duì)圖像進(jìn)行降采樣處理,即減少采樣點(diǎn)數(shù)。降采樣因子一般是大于1的數(shù),經(jīng)多次實(shí)驗(yàn),本實(shí)施例降采樣因子選為
1.2提取圓弧:
提取圓弧的過(guò)程如圖2所示,包括以下步驟:輸入原始圖像;對(duì)圖像進(jìn)行尺度縮放;計(jì)算像素梯度值和梯度方向;曲線生長(zhǎng);擬合圓??;計(jì)算NFA(誤報(bào)率);驗(yàn)證圓弧,具體的:
(1)尺度縮放:
為了消除輸入圖像的鋸齒效應(yīng),需要對(duì)輸入圖像進(jìn)行高斯采樣。經(jīng)多次實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)尺度小于0.8時(shí),圓弧提取和匹配數(shù)都很少;當(dāng)尺度大于0.8且小于等于1時(shí),圓弧提取和匹配數(shù)也較少;當(dāng)尺度取0.8時(shí),圓弧提取和匹配數(shù)都較多,整個(gè)趨勢(shì)呈現(xiàn)正態(tài)分布。相比而言,0.8的尺度所得結(jié)果最為理想。
(2)計(jì)算每個(gè)像素點(diǎn)梯度幅值和梯度方向:
梯度幅值:梯度方向:ang(x,y)=arctan(gy(x,y)/gx(x,y)),其中,gx(x,y)和gy(x,y)分別是每個(gè)像素點(diǎn)在橫縱坐標(biāo)軸方向的梯度。
(3)曲線生長(zhǎng)并擬合圓?。?/p>
取上述計(jì)算的梯度幅值最大的像素點(diǎn)作為種子點(diǎn),以種子點(diǎn)為起點(diǎn)進(jìn)行區(qū)域生長(zhǎng),生成一個(gè)能包含所有像素點(diǎn)的最小外接矩形;然后根據(jù)凸性原則(convexity rule)和平滑原則(smoothness rule)連接區(qū)域生長(zhǎng)生成的相鄰的矩形區(qū)域。其中,凸性原則是對(duì)凸性的約束:相鄰兩個(gè)矩形的方向要相同,即圖3中的Δθ1和Δθ2同號(hào)。平滑原則是對(duì)曲線平滑的約束:相鄰矩形的方向差要小于這里的矩形方向指的是矩形中心線的方向。
通過(guò)上述兩個(gè)原則,得到曲線生長(zhǎng)的結(jié)果,最后將曲線生長(zhǎng)后生成的圓環(huán)擬合成圓弧,這些圓弧作為候選圓弧,將在下文進(jìn)行驗(yàn)證。曲線生長(zhǎng)示意圖如圖3所示。
(4)計(jì)算NFA(誤報(bào)率)驗(yàn)證圓弧:
NFAcircle=N3β(l,k,σ2)≤1,其中,N表示圖像大小(這里是400×300),是一個(gè)二項(xiàng)分布,l是候選圓弧上像素點(diǎn)總數(shù),k是候選圓弧上對(duì)齊像素?cái)?shù),σ2是像素點(diǎn)對(duì)齊的概率。
通過(guò)以上四個(gè)步驟,最終將高斯金字塔中所有層的不同模糊系數(shù)的圓弧都提取出來(lái),分別保存到不同的圖像中,圖4是原始圖像6層高斯金字塔的圓弧提取結(jié)果。
從圖4的提取結(jié)果可以看出,有些近似直線的特征也被提取出來(lái),圓弧提取結(jié)果不理想,為了剔除近似直線的特征,加上兩個(gè)約束條件。通過(guò)多次實(shí)驗(yàn)并總結(jié)發(fā)現(xiàn),近似直線的圓弧,其圓心角都非常小,均小于5°,且其半徑都很大,均大于高斯模糊和降采樣后圖像高度的一半。所以加上約束條件:(1)圓心角要大于5°;(2)半徑要小于圖像高度的一半,不滿足任一約束條件的特征被剔除。約束后的圓弧提取結(jié)果如圖5所示,可見(jiàn)這兩個(gè)約束條件是非常關(guān)鍵的因素,大大提高提取的準(zhǔn)確度。
圖6是旋轉(zhuǎn)變換、縮放變換和光照變化下用約束條件下提取的光盤圖像的候選匹配結(jié)果,從圖6可以看出,該方法能檢測(cè)到局部較短圓弧,提取的特征較詳細(xì),而且也明顯提高了實(shí)時(shí)提取圓弧的效率。
根據(jù)圓弧描述過(guò)程,提取的圓弧輸出到描述部分需要包含的信息有:每條圓弧上的像素?cái)?shù),每條圓弧上每個(gè)像素的坐標(biāo),提取圓弧條數(shù),每條圓弧的端點(diǎn)坐標(biāo),圓弧弦的方向等等。其中,每條圓弧上的每個(gè)像素的坐標(biāo)和每條圓弧上的像素?cái)?shù)是難點(diǎn)。由于圓弧的長(zhǎng)度不同,所以其所包含的像素?cái)?shù)不同,處于不同位置的圓弧像素?cái)?shù)規(guī)律也是不同的,由于圓弧上像素點(diǎn)的分布情況不同于直線,不能簡(jiǎn)單地認(rèn)為圓弧各個(gè)位置上像素點(diǎn)數(shù)目與弧長(zhǎng)的關(guān)系都是一樣的。
眾所周知,直線上像素點(diǎn)的分布規(guī)律是一致的,所以很容易誤以為圓弧上像素點(diǎn)的分布規(guī)律也是一樣的,導(dǎo)致計(jì)算像素點(diǎn)參數(shù)錯(cuò)誤,最終匹配失敗。本實(shí)施例通過(guò)反復(fù)的實(shí)驗(yàn)驗(yàn)證和理論分析,開(kāi)拓新的設(shè)計(jì)思路,每1/4圓上像素點(diǎn)的分布規(guī)律才一致,所以對(duì)于一個(gè)整圓來(lái)說(shuō),規(guī)律是不一致的,在圓弧的不同位置,像素點(diǎn)數(shù)目與弧長(zhǎng)關(guān)系不同,所以需要分不同的情況討論,為了準(zhǔn)確計(jì)算圓弧上的像素?cái)?shù)目,創(chuàng)造性的將一個(gè)整圓分為八個(gè)象限來(lái)表示,即將圓弧所在位置分成八個(gè)象限來(lái)計(jì)算圓弧上的像素?cái)?shù),分別分情況討論圓上不同位置的像素點(diǎn)的分布規(guī)律,進(jìn)而準(zhǔn)確求得像素點(diǎn)數(shù)目及其他參數(shù),這樣實(shí)現(xiàn)了對(duì)圓弧進(jìn)行準(zhǔn)確描述,最終準(zhǔn)確匹配。八個(gè)象限分別為0~7,八個(gè)坐標(biāo)軸也是0~7,八象限示意圖如圖7所示。
由圖7分別求得圓弧與八個(gè)坐標(biāo)軸的交點(diǎn)坐標(biāo),對(duì)于圓弧端點(diǎn)坐標(biāo)存在負(fù)值的情況,考慮到圖像坐標(biāo)系中像素點(diǎn)坐標(biāo)不可能存在負(fù)值,所以將負(fù)坐標(biāo)值設(shè)置為0,再重新求圓弧端點(diǎn)坐標(biāo)及圓弧起始角和終止角。
在以上工作的基礎(chǔ)上,求圓弧所包含像素?cái)?shù),一條圓弧上的像素?cái)?shù)由三部分組成:(1)求圓弧共跨過(guò)幾個(gè)象限(圓跨過(guò)八個(gè)象限),通過(guò)大量實(shí)驗(yàn)反復(fù)驗(yàn)證及分析發(fā)現(xiàn),圓弧弧長(zhǎng)與其像素?cái)?shù)比值為1.1。利用這個(gè)規(guī)律,最終求得跨過(guò)完整象限的像素?cái)?shù)P1;(2)求圓弧起點(diǎn)所在象限,原因是不同象限的像素?cái)?shù)計(jì)算方法不同,0,3,4,7象限像素?cái)?shù)用縱坐標(biāo)計(jì)算,1,2,5,6象限像素?cái)?shù)用橫坐標(biāo)計(jì)算,用圓弧起點(diǎn)所在象限,起點(diǎn)坐標(biāo)以及上述所求的圓弧與坐標(biāo)軸的交點(diǎn)坐標(biāo)求得起點(diǎn)所在象限像素?cái)?shù)P2;(3)求圓弧終點(diǎn)所在象限,與上述(2)方法類似,用圓弧終點(diǎn)所在象限,終點(diǎn)坐標(biāo)以及上述所求的圓弧與坐標(biāo)軸的交點(diǎn)坐標(biāo)求得終點(diǎn)所在象限像素?cái)?shù)P3。最后得出此條圓弧上總的像素?cái)?shù)P計(jì)算如下:P=P1+P2+P3,現(xiàn)在已經(jīng)求出了圓弧上像素?cái)?shù),接下來(lái)求每個(gè)像素點(diǎn)的橫縱坐標(biāo)。
從圓弧的起點(diǎn)開(kāi)始,利用圓弧上每一個(gè)像素點(diǎn)滿足圓弧方程和圓弧所對(duì)應(yīng)弦長(zhǎng)兩個(gè)條件建立二元二次方程組,求得兩組解及兩組解對(duì)應(yīng)的兩個(gè)像素點(diǎn)與x軸正方向的夾角,利用圓弧起始角和終止角約束及圓弧圓心角約束剔除其中一組解,最終保留一組正確解。依次循環(huán)到圓弧終點(diǎn),得到圓弧上每個(gè)像素點(diǎn)的橫縱坐標(biāo)。
二元二次方程組公式如下:其中,x,y是所求像素點(diǎn)橫縱坐標(biāo),x0,y0是當(dāng)前圓弧圓心的橫縱坐標(biāo),xq,yq是當(dāng)前圓弧上所求像素點(diǎn)的前一個(gè)像素點(diǎn)(若所求像素點(diǎn)是第二個(gè)像素點(diǎn),則其前一個(gè)像素點(diǎn)即圓弧起點(diǎn))的橫縱坐標(biāo),r是當(dāng)前圓弧的半徑,α是將當(dāng)前圓弧所對(duì)應(yīng)圓心角分為P個(gè)圓心角后,每一個(gè)圓心角的大小。
至此,每條圓弧上的像素?cái)?shù)和每條圓弧上的每個(gè)像素的坐標(biāo)已全部求出,圓弧提取過(guò)程全部完成。
2.圓弧描述
本實(shí)施例所用的圓弧描述符是基于圓弧支撐區(qū)域來(lái)構(gòu)建的。
2.1生成圓弧支撐區(qū)域
圓弧支撐區(qū)域是一個(gè)弧形帶,以提取后的圓弧為中心圓弧,生成圓弧支撐區(qū)域,圖8左側(cè)I中每條圓弧與原始提取圓弧的弧長(zhǎng)和半徑均相同,圖8右側(cè)II中每條圓弧與原始提取圓弧是同心圓弧。本實(shí)施例中將圓弧帶數(shù)目m取為9,帶寬w取7。
一般而言,一個(gè)特征描述符是由局部坐標(biāo)系及在這個(gè)坐標(biāo)系表示下鄰域點(diǎn)的特征量統(tǒng)計(jì)構(gòu)成的。所以本實(shí)施例為圓弧建立一個(gè)局部坐標(biāo)系,以圓弧所對(duì)應(yīng)弦的中點(diǎn)作為局部坐標(biāo)系原點(diǎn),分別以圓弧所對(duì)應(yīng)弦的方向dC(圓弧主方向)和其正交方向d⊥為橫軸和縱軸建立坐標(biāo)系,則這個(gè)坐標(biāo)系稱為圓弧的局部坐標(biāo)系,目的是確保構(gòu)建的圓弧描述符具有旋轉(zhuǎn)不變性。對(duì)于圓而言,圓的主方向選取可以參考SIFT的思想,在以圓心為中心的圓內(nèi)采樣,并用直方圖統(tǒng)計(jì)鄰域像素的梯度方向,梯度直方圖的范圍是0~360度,其中每10度一個(gè)bin,共36個(gè)bins,直方圖的峰值則代表了圓的鄰域梯度的主方向,即作為圓的主方向。
根據(jù)SIFT算法的思想,沿d⊥方向計(jì)算圓弧支撐區(qū)域每條弧的全局高斯權(quán)重系數(shù)fg和局部高斯權(quán)重系數(shù)fl,全局高斯權(quán)重系數(shù)fg和局部高斯權(quán)重系數(shù)fl的計(jì)算公式如下:其中,σg=0.5·(m·w)-1,σl=w,d是當(dāng)前圓弧到支撐區(qū)域中心圓弧的距離,d'是當(dāng)前圓弧到帶中心圓弧的距離。fg的作用是減小沿dC方向距離圓弧較遠(yuǎn)的梯度對(duì)微小變化的敏感性,fl的作用是消除描述符在圓弧帶間的邊緣響應(yīng)。最終生成的圓弧支撐區(qū)域如圖8所示,其中右側(cè)II用來(lái)描述圓以及圓弧半徑大于圓弧總帶寬且圓弧是優(yōu)弧的情況,左側(cè)I用來(lái)描述除了右側(cè)II所述情況下的所有圓弧,圖8表示出了全局高斯權(quán)重系數(shù)fg和局部高斯權(quán)重系數(shù)fl在圓弧帶中的作用范圍。
圖8中所述的I,II兩種描述方法分別適用的情況如下:
其中,r是圓弧半徑,d是圓弧總帶寬,θ是圓弧所對(duì)應(yīng)的圓心角,I和II分別為圖8所示的兩種支撐區(qū)域。可以發(fā)現(xiàn),在這四種情況中,只有一種情況需要用II圖來(lái)描述(對(duì)于圓的描述要用此法),其余三種情況都可以用I圖進(jìn)行描述。
生成圓弧支撐區(qū)域的方法實(shí)現(xiàn)過(guò)程為:首先利用已提取圓弧(本實(shí)施例中共7*9=63條圓弧,中間的第31條圓弧即為原始提取圓弧)的端點(diǎn)坐標(biāo)大小關(guān)系計(jì)算圓弧支撐區(qū)域中第一條圓弧(第一條圓弧表示圓弧支撐區(qū)域中最先生成的那條圓弧)的第一個(gè)像素點(diǎn)的坐標(biāo)值;然后求這條圓弧所對(duì)應(yīng)的圓心坐標(biāo),將像素點(diǎn)坐標(biāo)為負(fù)值的情況用前述八象限部分類似方法置0后再利用圓心坐標(biāo)重新求像素點(diǎn)的橫縱坐標(biāo);然后求圓弧上第一個(gè)像素點(diǎn)在局部坐標(biāo)系中橫軸和縱軸方向的梯度投影;最后求第一條圓弧上每個(gè)像素點(diǎn)的坐標(biāo)值。經(jīng)過(guò)63條圓弧的63次循環(huán),最終求得所有63條圓弧上所有像素點(diǎn)的坐標(biāo)值,圓弧支撐區(qū)域生成。
2.2構(gòu)建描述符:
利用圓弧支撐區(qū)域來(lái)構(gòu)建圓弧描述符。
(1)構(gòu)建帶描述符j1表示第j1條圓弧(j1用來(lái)計(jì)數(shù),本實(shí)施例取值為1,2,…,9,指的是9條圓弧帶,例如圖8左圖I就是5條圓弧帶,指的就是第1條帶,第2條帶,…,第9條帶),對(duì)于帶和其最近鄰的上下兩個(gè)鄰域帶和計(jì)算帶中第k條圓弧上所有像素點(diǎn)的梯度如下所示:
其中,λ=fg(k)fl(k),和分別是上述局部坐標(biāo)系中像素點(diǎn)在d⊥方向和dC方向的梯度。和的計(jì)算公式如下:
其中,dx是圖像坐標(biāo)系中像素點(diǎn)在x方向的梯度,dy是圖像坐標(biāo)系中像素點(diǎn)在y方向的梯度,二者經(jīng)坐標(biāo)變換后分別得到局部坐標(biāo)系中像素點(diǎn)在d⊥方向和dC方向的梯度,β是圓弧的方向。
將全局高斯權(quán)重系數(shù)fg和局部高斯權(quán)重系數(shù)fl作用于每一條圓弧帶得到圓弧支撐區(qū)域中每條帶的d⊥方向和dC方向及其相反方向的梯度投影之和,最終生成帶描述符
(2)所有的構(gòu)成CBD:
(3)結(jié)合和CBD生成帶狀描述矩陣BDM:
其中,2w和3w分別表示圓弧帶在圓弧支撐區(qū)域兩邊和中間的情況,n是圓弧的條數(shù)。帶描述符和分別是的均值和標(biāo)準(zhǔn)差。此時(shí),CBD表示如下:為了使描述符與圓弧長(zhǎng)度無(wú)關(guān),取CBD的均值和標(biāo)準(zhǔn)差;為了去除線性光照影響,將CBD的均值和標(biāo)準(zhǔn)差分別標(biāo)準(zhǔn)化;為了減小非線性光照的影響,CBD中的每個(gè)數(shù)據(jù)都要小于一個(gè)閾值,通過(guò)實(shí)驗(yàn),閾值取為0.4;最后,再次歸一化CBD,作為最終的圓弧描述符。
本實(shí)施例中CBD描述符在MSLD描述符的基礎(chǔ)上引入了全局和局部高斯權(quán)重系數(shù),使得描述符對(duì)邊緣響應(yīng)和微小變化更穩(wěn)定,且這是一種圓弧特征描述符,到目前為止,目前尚未有對(duì)這方面研究及報(bào)道。
3.圓弧匹配:
上面已經(jīng)生成了CBD描述符,現(xiàn)在用CBD描述符進(jìn)行圓弧匹配,匹配分為三個(gè)過(guò)程。
3.1生成候選匹配對(duì):
首先利用圓弧方向和上述CBD描述符生成候選匹配對(duì)(candidate matching pairs)。候選匹配對(duì)要通過(guò)一元幾何屬性約束和局部外觀相似性約束這兩個(gè)約束性檢驗(yàn),滿足這兩個(gè)約束的匹配對(duì)才是候選匹配對(duì)。
一元幾何屬性約束就是對(duì)圓弧向量方向的約束,同一個(gè)圓弧向量應(yīng)該具有相同的方向。方向約束可以用近似全局旋轉(zhuǎn)角(approximate global rotation angle)來(lái)實(shí)現(xiàn),從而減少候選匹配對(duì)數(shù)。
兩幅圖像之間的近似全局旋轉(zhuǎn)角計(jì)算過(guò)程為:首先,將不同方向的圓弧放入不同的bins,這里取18個(gè)bins,則每個(gè)bin為20°(360°/18=20°);其次,計(jì)算兩幅原始圖像中提取圓弧的角度直方圖;然后確定近似全局旋轉(zhuǎn)角,旋轉(zhuǎn)角取值范圍為最后確定兩幅原始圖像之間是否存在近似全局旋轉(zhuǎn)角。
局部外觀相似性約束可以用上述生成的圓弧描述符之間的歐氏距離來(lái)度量。計(jì)算兩幅圖像中圓弧描述符兩兩之間的歐氏距離,取出最小描述符距離,若這個(gè)最小描述符距離小于一個(gè)閾值,則這兩個(gè)圓弧可能是候選匹配對(duì)。經(jīng)大量實(shí)驗(yàn)發(fā)現(xiàn),若這個(gè)最小描述符距離在0.35~0.6之間,都可以保證最終匹配結(jié)果的正確率達(dá)到90%以上,但距離閾值選為0.5時(shí)的匹配正確率最高且匹配數(shù)目較多。
3.2建立候選匹配對(duì)關(guān)系圖:
候選匹配對(duì)之間的關(guān)系圖可以用一個(gè)鄰接矩陣來(lái)表示。鄰接矩陣是圖的一種存儲(chǔ)形式,以二維數(shù)組表示圖上各個(gè)頂點(diǎn)間的相鄰關(guān)系。本實(shí)施例用相對(duì)夾角約束和最小描述符距離約束來(lái)計(jì)算鄰接矩陣中的每個(gè)元素。相對(duì)夾角約束代表上述提到的一元幾何屬性約束,最小描述符距離約束代表上述所述的局部外觀相似性約束。
鄰接矩陣中的元素計(jì)算如下:
其中,Aij是鄰接矩陣A的元素,i是矩陣的行,j是矩陣的列;dΘ是相對(duì)夾角相似性;分別是兩幅圖像中第i個(gè)和第j個(gè)描述符之間的最小描述符距離相似性;Γ是條件。dΘ,和Γ的定義如下:
其中,分別是原始圖像o和變換圖像q中任兩條圓弧的相對(duì)夾角,用兩個(gè)圓弧向量方向的夾角和近似全局旋轉(zhuǎn)角來(lái)計(jì)算,tΘ是相對(duì)夾角閾值,經(jīng)多次實(shí)驗(yàn)發(fā)現(xiàn),tΘ取值在(由于tΘ不能大于1,所以tΘ取值范圍變?yōu)?之間圓弧匹配數(shù)及正確匹配率都較高,但當(dāng)tΘ取0.8458(即)時(shí),最終匹配結(jié)果最為理想;分別是原始圖像和變換圖像中具有最小描述符距離的兩條圓弧的描述符,ts是最小描述符距離閾值;?!?表示其中每個(gè)元素的值都不能大于1。
對(duì)于所有的候選匹配對(duì),都分別計(jì)算Aij,最終得到鄰接矩陣A用于生成最終匹配結(jié)果。
3.3生成最終匹配結(jié)果:
首先用ARPACK計(jì)算鄰接矩陣A的主特征向量,主特征向量是指主特征值對(duì)應(yīng)的特征向量,而主特征值是指模最大的特征值。然后用片面性約束和相對(duì)夾角約束生成最終的匹配結(jié)果。
經(jīng)過(guò)前面的圓弧提取,圓弧描述和圓弧匹配三個(gè)步驟,用拍攝的具有縮放、旋轉(zhuǎn)平移和光照變化的光盤圖像進(jìn)行圓弧匹配驗(yàn)證,通過(guò)反復(fù)實(shí)驗(yàn)驗(yàn)證與分析,得出圓弧匹配結(jié)果如圖9、圖10、圖11所示。
表1基于特征描述符的圓弧匹配結(jié)果
從圖9-圖11和表1可以看出,在縮放、旋轉(zhuǎn)平移及光照變化下,用本方案所述方法提取的圓弧數(shù)較多,匹配圓弧數(shù)也較多,匹配正確率較高。本發(fā)明所提出的圓弧匹配方法是一種新方法,提取圓弧數(shù)決定了匹配圓弧數(shù)。由于該方法的圓弧描述和圓弧匹配約束較強(qiáng),經(jīng)過(guò)實(shí)驗(yàn)統(tǒng)計(jì),該方法在不同變換下的圓弧匹配正確率均達(dá)到了95%以上。本發(fā)明所述的圓弧匹配方法不僅可以實(shí)現(xiàn)圓弧的匹配,還可以依照實(shí)施例所述的方法同時(shí)實(shí)現(xiàn)圓的匹配。
總之,本發(fā)明所述方法對(duì)縮放變換、平移旋轉(zhuǎn)變換及光照變化下的具有圓弧特征的圖像進(jìn)行圓弧匹配,從最終的結(jié)果可以看出,提出的基于特征描述符的圓弧匹配方法實(shí)現(xiàn)了基于特征描述符的圓弧匹配,對(duì)三維重建,目標(biāo)識(shí)別,目標(biāo)跟蹤以及視覺(jué)導(dǎo)航等都有重大意義。
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非是對(duì)本發(fā)明作其它形式的限制,任何熟悉本專業(yè)的技術(shù)人員可能利用上述揭示的技術(shù)內(nèi)容加以變更或改型為等同變化的等效實(shí)施例應(yīng)用于其它領(lǐng)域,但是凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與改型,仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍。