本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種圖像區(qū)域特征提取及特征匹配的方法。
背景技術(shù):
目前的圖像特征按性質(zhì)分有顏色,紋理,形狀,空間關(guān)系,邊緣,角點(diǎn),區(qū)域,脊等等。人的視覺(jué)是先從形狀,區(qū)域和顏色紋理特征快速判斷目標(biāo),然后再?gòu)倪吘?,脊,角點(diǎn)細(xì)節(jié)上分析判斷目標(biāo),如果還分析不出,就會(huì)動(dòng)用大腦從空間關(guān)系特征進(jìn)行綜合分析。如果關(guān)注某個(gè)目標(biāo),則會(huì)以背景,顏色,紋理,形狀,區(qū)域等特征過(guò)濾環(huán)境中的干擾目標(biāo)區(qū)域,直接提取相關(guān)目標(biāo)進(jìn)行細(xì)節(jié)特征分析。對(duì)于模糊目標(biāo),就會(huì)動(dòng)用大腦對(duì)目標(biāo)進(jìn)行空間關(guān)系分析。
目前連通域方法無(wú)法提取出蛛網(wǎng)的連通域,導(dǎo)致連通域特征分裂,另外目前的特征點(diǎn)提取方法,如sift,surf運(yùn)算都相對(duì)復(fù)雜,導(dǎo)致很多應(yīng)用環(huán)境的實(shí)時(shí)性無(wú)法保證。目前圖像提取連通域的方法先提取二值圖像,然后再作連通域分析,這樣會(huì)導(dǎo)致二次掃描圖像增加運(yùn)算。和其他特征提取方法不同,本發(fā)明的特征提取方法是一次遍歷圖像就可以提取出特定區(qū)域的連通域和角點(diǎn)特征。使用通道適配器對(duì)像素點(diǎn)的各個(gè)通道數(shù)值進(jìn)行分析,沒(méi)有二次掃描,降低運(yùn)算量。
本發(fā)明使用通道適配和區(qū)域適配分析出連通域和特征點(diǎn)。連通域特征可以從外形顏色快速識(shí)別目標(biāo)。特征點(diǎn)可以從細(xì)節(jié)識(shí)別目標(biāo),通道適配器和區(qū)域適配器可以過(guò)濾干擾目標(biāo)和噪點(diǎn)區(qū)域,這使得本發(fā)明在復(fù)雜背景的條件下提取特定目標(biāo)成為可能。另外本發(fā)明只遍歷一次圖像,減少計(jì)算復(fù)雜度,提高圖像視頻分析的實(shí)時(shí)性。圖像特征點(diǎn)形成的空間關(guān)系在圖像的縮放和旋轉(zhuǎn)中,變化小,穩(wěn)定。因此,本發(fā)明依靠特征點(diǎn)的近鄰關(guān)系來(lái)提取信息。根據(jù)近鄰點(diǎn)位置來(lái)描述特征,沒(méi)有梯度運(yùn)算,運(yùn)算量小,適合實(shí)時(shí)圖像視頻處理。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有圖像提取需要二次掃描增加運(yùn)算的問(wèn)題,本發(fā)明目的在于提供一種基一種圖像區(qū)域特征提取及特征匹配的方法。
為解決上述問(wèn)題,本發(fā)明提供一種圖像區(qū)域特征提取及特征匹配的方法,其主要內(nèi)容包括:
(一)通道適配器分析組成線(xiàn)域
(二)區(qū)域創(chuàng)建,生長(zhǎng),分裂,合并,提取分裂合并點(diǎn)
(三)檢測(cè)封閉區(qū)域和區(qū)域適配器過(guò)濾區(qū)域
(四)區(qū)域的后合并
(五)檢測(cè)分裂合并點(diǎn)性質(zhì)
(六)提取特征集合
(七)進(jìn)行特征匹配
其中,通道適配器分析組成線(xiàn)域,采用通道適配器對(duì)圖像逐行掃描,自定義像素點(diǎn)各通道過(guò)濾規(guī)則,將灰度圖轉(zhuǎn)換為二值圖像,分析出連續(xù)的有效點(diǎn),滿(mǎn)足最小連接數(shù),就組成線(xiàn)域,否則作為噪點(diǎn)丟棄。掃描過(guò)程使用橫向不連接數(shù)和縱向不連接數(shù)來(lái)調(diào)整圖像的連通性,用最小連接數(shù)確定噪點(diǎn)。
進(jìn)一步地,其中概念的定義分別為:
a)有效點(diǎn):通過(guò)通道適配函數(shù)的像素點(diǎn)是有效點(diǎn)
b)無(wú)效點(diǎn):沒(méi)有通過(guò)通道適配函數(shù)的像素點(diǎn)
c)最小連接數(shù):橫向掃描過(guò)程中,線(xiàn)域的最小長(zhǎng)度,否則是噪點(diǎn)
d)橫向不連接數(shù):橫向掃描過(guò)程中,允許的連續(xù)無(wú)效點(diǎn)數(shù),否則視為線(xiàn)域連接中斷,用來(lái)控制線(xiàn)域的連通性
e)縱向不連接數(shù):區(qū)域生長(zhǎng)過(guò)程中,停止生長(zhǎng)的掃描次數(shù)。用來(lái)控制區(qū)域的上下連通性
f)創(chuàng)建線(xiàn)域:記錄線(xiàn)域的左右位置和行位置,統(tǒng)計(jì)線(xiàn)域的重量,有效點(diǎn)數(shù),長(zhǎng)度,和總的灰度值,以便以后這些數(shù)據(jù)提供給區(qū)域,作為區(qū)域特征
g)重量計(jì)算公式:Q=(∑x,∑y);x,y是有效點(diǎn)在圖像中的坐標(biāo)位置。圖像左頂(0,0)為基準(zhǔn)。
其中,區(qū)域創(chuàng)建,生長(zhǎng),分裂,合并,提取分裂合并點(diǎn),線(xiàn)域組成區(qū)域,區(qū)域分裂與合并,并提取分裂合并特征點(diǎn)過(guò)程。主要步驟為:
1)線(xiàn)域歸屬標(biāo)記
通道適配器掃描一行圖像,將獲取的線(xiàn)域按掃描順序排列成組。循環(huán)各線(xiàn)域,在未封閉區(qū)域中反向循環(huán)查找分析其范圍和線(xiàn)域范圍,有相交就標(biāo)記線(xiàn)域?qū)傩詷?biāo)記為區(qū)域的編號(hào),否則線(xiàn)域無(wú)歸屬。一線(xiàn)多區(qū),將標(biāo)記最右的區(qū)為歸屬。一區(qū)多線(xiàn),將標(biāo)記該區(qū)為各線(xiàn)域歸屬。
2)區(qū)域創(chuàng)建,生長(zhǎng),分裂,提取分裂點(diǎn)
循環(huán)各線(xiàn)域,在未封閉區(qū)域中正向循環(huán)查找分析其范圍和線(xiàn)域范圍,有相交,就讓該區(qū)域生長(zhǎng)。對(duì)于無(wú)相交的線(xiàn)域,新建生長(zhǎng)區(qū)域和區(qū)域編號(hào),區(qū)域?qū)傩缘扔诰€(xiàn)域?qū)傩?,區(qū)域生長(zhǎng)范圍等于線(xiàn)域范圍和擴(kuò)展范圍。
將多區(qū)多線(xiàn)分解為一線(xiàn)多區(qū)和一區(qū)多線(xiàn)的情況分析;對(duì)于一區(qū)多線(xiàn)的情況,先分裂,第一線(xiàn)域會(huì)先進(jìn)入?yún)^(qū)域生長(zhǎng),其區(qū)域生長(zhǎng)范圍修改為該線(xiàn)域的范圍,因此,后續(xù)的線(xiàn)域在與區(qū)域生長(zhǎng)范圍分析時(shí),會(huì)判斷為無(wú)相交的情況,變成新建生長(zhǎng)區(qū)域,但是由于前期做了線(xiàn)域歸屬標(biāo)記,該新建區(qū)域比完全新建區(qū)域的歸屬表多一個(gè)歸屬區(qū)標(biāo)記,類(lèi)似原區(qū)域分裂出一個(gè)新區(qū)域。分裂過(guò)程提取后續(xù)線(xiàn)域左位置為分裂點(diǎn)。
3)區(qū)域按生長(zhǎng)范圍從左至右的排序
由于封閉區(qū)域的生長(zhǎng)范圍清零,噪點(diǎn)區(qū)域的生長(zhǎng)范圍為負(fù)數(shù),因此會(huì)排序到前面,以便前面兩步可以循環(huán)未封閉區(qū)域。另外也方便合并區(qū)域時(shí),順序是從左區(qū)合并右區(qū),不會(huì)漏合并。
4)合并區(qū)域,提取合并點(diǎn)
循環(huán)各線(xiàn)域,在未封閉區(qū)域中正向循環(huán)查詢(xún)分析其范圍和線(xiàn)域范圍,記錄所有和線(xiàn)域相交區(qū)域個(gè)數(shù)。如果有超過(guò)兩個(gè)區(qū)域,從左至右進(jìn)行兩兩區(qū)域合并操作。同時(shí)提取合并點(diǎn)的位置,行坐標(biāo)取兩合并區(qū)域的左區(qū)域的生長(zhǎng)右范圍-擴(kuò)展范圍,縱坐標(biāo)取當(dāng)前掃描行-1。合并不能完全合并先分裂的新區(qū),因此需要在掃描結(jié)束后作后合并。進(jìn)一步地,其中概念的定義分別為:
a)區(qū)域生長(zhǎng)范圍:使用上區(qū)下線(xiàn)的方式來(lái)分析連通關(guān)系。生長(zhǎng)的區(qū)域在上,每次新掃描的線(xiàn)域在下,區(qū)域的生長(zhǎng)范圍等于區(qū)域底部的左右范圍和擴(kuò)展范圍之和(針對(duì)應(yīng)用場(chǎng)景不同,用該參數(shù)調(diào)控區(qū)域的連通性。擴(kuò)展范圍值越大,連通性越好,否則分割性越好,擴(kuò)展范圍默認(rèn)等于橫向不連接數(shù)),其與線(xiàn)域的左右范圍相交,說(shuō)明線(xiàn)域和區(qū)域是連通的,說(shuō)明線(xiàn)域?qū)儆趨^(qū)域生長(zhǎng)范圍。
b)區(qū)域生長(zhǎng):當(dāng)線(xiàn)域范圍落在區(qū)域范圍中,且上下距離不超過(guò)縱向不連接數(shù),區(qū)域整合線(xiàn)域的范圍(頂左底右位置),灰度,重量,有效點(diǎn)和連接點(diǎn)數(shù),并修改區(qū)域的生長(zhǎng)范圍為線(xiàn)域范圍和擴(kuò)展范圍。
c)區(qū)域封閉:區(qū)域在多次掃描過(guò)程沒(méi)有生長(zhǎng),次數(shù)超過(guò)縱向不連接數(shù),區(qū)域就被封閉停止生長(zhǎng)。
d)一線(xiàn)多區(qū):合并的情況,一個(gè)線(xiàn)域橫跨多個(gè)區(qū)域。
e)一區(qū)多線(xiàn):分裂的情況,一個(gè)區(qū)域包含多個(gè)線(xiàn)域。
f)多線(xiàn)多區(qū):分裂和合并混合的情況。分解為一線(xiàn)多區(qū)和一區(qū)多線(xiàn)的情況。
g)區(qū)域合并:整合兩個(gè)區(qū)域的歸屬表,范圍,重量,灰度,有效點(diǎn)和無(wú)效點(diǎn)數(shù),區(qū)域生長(zhǎng)范圍。
h)先分裂:針對(duì)一區(qū)多線(xiàn)的情況,區(qū)域生長(zhǎng)使用第一個(gè)線(xiàn)域后,生長(zhǎng)范圍就改成了該線(xiàn)域的范圍,導(dǎo)致了其他線(xiàn)域無(wú)法進(jìn)入原區(qū)域生長(zhǎng)范圍進(jìn)行生長(zhǎng)。因此分裂產(chǎn)生新區(qū)域。和其他新創(chuàng)建區(qū)域不同,它有區(qū)域?qū)傩?,以后可以根?jù)屬性進(jìn)行區(qū)域整合。
i)區(qū)域的產(chǎn)生,合并,分裂對(duì)屬性表操作:線(xiàn)域新建區(qū)域生成原始的序列標(biāo)識(shí)屬性,區(qū)域分裂新建的區(qū)域不僅有序列標(biāo)識(shí),同時(shí)還有分裂前原區(qū)域?qū)傩詷?biāo)識(shí)。區(qū)域合并時(shí),兩個(gè)合并的區(qū)域?qū)傩员碚稀?/p>
其中,檢測(cè)封閉區(qū)域和區(qū)域適配器過(guò)濾區(qū)域,為了減少下一輪掃描的區(qū)域查詢(xún)運(yùn)算量,封閉和過(guò)濾一些區(qū)域。采用區(qū)域適配器自定義過(guò)濾區(qū)域的規(guī)則,用于過(guò)濾噪點(diǎn)區(qū)域和干擾區(qū)域。主要步驟如下:
1)循環(huán)未封閉區(qū)域,如果當(dāng)前掃描行-區(qū)域底>縱向不連接數(shù),說(shuō)明該區(qū)域已經(jīng)停止生長(zhǎng),可以封閉,進(jìn)入2。否則繼續(xù)1。
2)區(qū)域適配器檢測(cè)該封閉區(qū),如果是噪點(diǎn)或干擾區(qū)域,而且歸屬表長(zhǎng)度小于2,將該區(qū)域清零封閉,區(qū)域生長(zhǎng)范圍置為-2,返回1。否則進(jìn)入3。
3)對(duì)于有2個(gè)及以上歸屬的過(guò)濾區(qū)域,考慮最后合并區(qū)域的作用和其他封閉區(qū)一起處理,直接將該區(qū)域生長(zhǎng)范圍置為-1,排序時(shí)排列到噪點(diǎn)區(qū)域和干擾區(qū)域前面。
其中,區(qū)域的后合并,根據(jù)歸屬表,將沒(méi)有合并的分裂區(qū)域重新整合。包括根據(jù)預(yù)定的深度分辨率以及檢測(cè)獲取的人臉特定區(qū)域位置進(jìn)行數(shù)據(jù)映射的模塊。針對(duì)一區(qū)多線(xiàn)產(chǎn)生的分裂區(qū),在掃描過(guò)程中沒(méi)有被合并,在掃描結(jié)束后進(jìn)行整合。與一線(xiàn)多區(qū)的合并區(qū)別,一個(gè)是在掃描過(guò)程中合并,根據(jù)范圍相交合并,并有合并特征點(diǎn)產(chǎn)生。一個(gè)是掃描結(jié)束后的合并,根據(jù)歸屬表屬性配對(duì)合并,沒(méi)有合并特征點(diǎn)的產(chǎn)生。主要步驟為:
1)圖像最后一行掃描分析完成后,對(duì)所有區(qū)域排序。噪點(diǎn)和干擾區(qū)域排列到前面。這里暫時(shí)將非噪點(diǎn)和非干擾區(qū)域定義為后合并區(qū)域。
2)在后合并區(qū)域中遍歷,兩兩區(qū)域的進(jìn)行區(qū)域歸屬表查詢(xún),如有歸屬屬性相同就進(jìn)行區(qū)域合并操作
3)后合并區(qū)域中會(huì)包含有未封閉區(qū)域,因圖像最后一行掃描不一定封閉了所有區(qū)域。因此封閉未關(guān)閉區(qū)域,使用區(qū)域適配器檢測(cè)清零噪點(diǎn)和干擾區(qū)域。
4)提取連通區(qū)域,計(jì)算重心,輸出到圖特征中。
重心計(jì)算公式:G=Q/num;Q是區(qū)域重量,num是區(qū)域有效點(diǎn)數(shù)目。
其中,檢測(cè)分裂合并點(diǎn)性質(zhì),根據(jù)分裂合并點(diǎn)屬性計(jì)算檢測(cè)矩陣,統(tǒng)計(jì)無(wú)效點(diǎn)數(shù),分析出毛刺和角點(diǎn)。其中概念的定義分別為:
a)檢測(cè)矩陣:以特征點(diǎn)為中心的矩陣,矩陣大小=(角點(diǎn)檢測(cè)范圍的兩倍+1)×(角點(diǎn)檢測(cè)范圍的兩倍+1)。合并點(diǎn)取上半部分矩陣,分裂點(diǎn)取下半部分矩陣。如果矩陣范圍超過(guò)區(qū)域范圍,需要截取超出部分。
b)毛刺點(diǎn)數(shù):兩倍的角點(diǎn)檢測(cè)范圍。
c)角點(diǎn)檢測(cè):統(tǒng)計(jì)矩陣的無(wú)效點(diǎn)數(shù)大于毛刺點(diǎn)數(shù),小于矩陣像素總數(shù)-毛刺點(diǎn)數(shù)就是角點(diǎn),否則是毛刺。
其中,提取特征集合,可以在區(qū)域生長(zhǎng)合并時(shí)把線(xiàn)域添加到集合中,提取出圖像邊緣和脊特征。另外,還可以在各種條件下,用本方法多次提取的特征組合:
1)旋轉(zhuǎn)0至180度(圖像旋轉(zhuǎn)180度提取特征,特征不變化),得到的分裂合并點(diǎn)序列是不同的。用本發(fā)明提取圖像不同旋轉(zhuǎn)角度的特征組成集合。
2)不同的通道適配規(guī)則,形成的區(qū)域和特征點(diǎn)序列都不同,用本發(fā)明在多種通道過(guò)濾規(guī)則下提取特征集合。例如,多級(jí)灰度范圍的通道適配規(guī)則下提取的特征集合。
3)不同的對(duì)比度亮度級(jí)別下,用本發(fā)明提取的特征集合。
4)多尺度圖像用本發(fā)明提取的特征集合,用于多尺度圖像分析。多尺度下參數(shù)需要相應(yīng)比例調(diào)整。多尺度可以通過(guò)通道適配器來(lái)實(shí)現(xiàn),指針隔點(diǎn)移動(dòng)取值。
5)區(qū)域中提取區(qū)域特征,例如先用膚色建模提取區(qū)域特征,在區(qū)域特征范圍再次眼球建模提取眼睛區(qū)域特征。
其中,進(jìn)行特征匹配,主要步驟為:
1)目標(biāo)區(qū)提取一個(gè)特征點(diǎn),遍歷匹配區(qū)所有特征點(diǎn)一一匹配,計(jì)算特征描述子的差,保留差最小的匹配點(diǎn)。每個(gè)特征描述子包含k組16維數(shù)據(jù),因此每次匹配需比較k*k次。
2)匹配區(qū)有重復(fù)就選擇差小的點(diǎn)。
3)重復(fù)1過(guò)程,直到最后一個(gè)目標(biāo)區(qū)的特征點(diǎn)取完
4)其特征匹配算法為:
Disj=argmini∈nd(Fj-Fi');j=0,1,...m,i=0,1,...n.
Pj=i;
Disj是目標(biāo)區(qū)第j個(gè)特征點(diǎn)的最小匹配差。d(Fj-Fi')是兩個(gè)匹配點(diǎn)的特征描述子差。
Fj是目標(biāo)區(qū)第j個(gè)特征點(diǎn)描述子,F(xiàn)i'是匹配區(qū)各特征點(diǎn)描述子。
m是目標(biāo)區(qū)特征點(diǎn)總數(shù),n是匹配區(qū)的特征點(diǎn)總數(shù)。
Pj是目標(biāo)區(qū)第j個(gè)特征點(diǎn)的最佳匹配特征點(diǎn)在匹配區(qū)的標(biāo)記。
附圖說(shuō)明
圖1是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的系統(tǒng)流程圖。
圖2是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的通道適配器分析組成線(xiàn)域的流程圖。
圖3是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的區(qū)域創(chuàng)建,生長(zhǎng),分裂,合并,提取分裂合并點(diǎn)的流程圖。
圖4是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的區(qū)域生長(zhǎng)方法示意圖。
圖5是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的區(qū)域封閉示意圖。
圖6是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的一線(xiàn)多區(qū)示意圖。
圖7是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的一區(qū)多線(xiàn)示意圖。
圖8是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的多線(xiàn)多區(qū)示意圖。
圖9是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的一線(xiàn)多區(qū)的分裂示意圖。
圖10是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的一線(xiàn)多區(qū)的合并示意圖。
圖11是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的區(qū)域合并示意圖。
圖12是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的先分裂示意圖。
圖13是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的檢測(cè)封閉區(qū)域和區(qū)域適配器過(guò)濾區(qū)域的流程圖。
圖14是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的角點(diǎn)檢測(cè)示意圖。
具體實(shí)施方式
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互結(jié)合,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
圖1是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的系統(tǒng)流程圖。如圖1所示,本發(fā)明提出的一種圖像區(qū)域特征提取及特征匹配的方法,其主要內(nèi)容包括:
(一)通道適配器分析組成線(xiàn)域
(二)區(qū)域創(chuàng)建,生長(zhǎng),分裂,合并,提取分裂合并點(diǎn)
(三)檢測(cè)封閉區(qū)域和區(qū)域適配器過(guò)濾區(qū)域
(四)區(qū)域的后合并
(五)檢測(cè)分裂合并點(diǎn)性質(zhì)
(六)提取特征集合
(七)進(jìn)行特征匹配。
圖2是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的通道適配器分析組成線(xiàn)域的流程圖。如圖2所示為本發(fā)明的通道適配器分析組成線(xiàn)域,通道適配器對(duì)圖像逐行掃描,分析出連續(xù)的有效點(diǎn),滿(mǎn)足最小連接數(shù),就組成線(xiàn)域,否則作為噪點(diǎn)丟棄。通道適配器對(duì)外提供的編程接口,可以自定義像素點(diǎn)各通道過(guò)濾規(guī)則。圖像顏色空間有rgb、yuv、hsv等等,通過(guò)對(duì)像素點(diǎn)的通道設(shè)置規(guī)則,可以將灰度圖轉(zhuǎn)換為二值圖像,例如rgb形式,每個(gè)像素點(diǎn)有紅綠藍(lán)三通道,提取紅色通道數(shù)據(jù)50~90之間的像素點(diǎn)或提取膚色像素點(diǎn),就可以獲取相應(yīng)目標(biāo)區(qū)域的二值圖像。其中概念的定義分別為:
a)有效點(diǎn):通過(guò)通道適配函數(shù)的像素點(diǎn)是有效點(diǎn)。
b)無(wú)效點(diǎn):沒(méi)有通過(guò)通道適配函數(shù)的像素點(diǎn)。
c)最小連接數(shù):橫向掃描過(guò)程中,線(xiàn)域的最小長(zhǎng)度。否則是噪點(diǎn)。
d)橫向不連接數(shù):橫向掃描過(guò)程中,允許的連續(xù)無(wú)效點(diǎn)數(shù)。否則視為線(xiàn)域連接中斷。用來(lái)控制線(xiàn)域的連通性。
e)縱向不連接數(shù):區(qū)域生長(zhǎng)過(guò)程中,停止生長(zhǎng)的掃描次數(shù)。用來(lái)控制區(qū)域的上下連通性。
f)創(chuàng)建線(xiàn)域:記錄線(xiàn)域的左右位置和行位置,統(tǒng)計(jì)線(xiàn)域的重量,有效點(diǎn)數(shù),長(zhǎng)度,和總的灰度值,以便以后這些數(shù)據(jù)提供給區(qū)域,作為區(qū)域特征。
g)重量計(jì)算公式:Q=(∑x,∑y);x,y是有效點(diǎn)在圖像中的坐標(biāo)位置。圖像左頂(0,0)為基準(zhǔn)。
圖3是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的區(qū)域創(chuàng)建,生長(zhǎng),分裂,合并,提取分裂合并點(diǎn)的流程圖。如圖3所示為本發(fā)明中區(qū)域創(chuàng)建,生長(zhǎng),分裂,合并,提取分裂合并點(diǎn)。主要步驟為:
1)線(xiàn)域歸屬標(biāo)記
通道適配器掃描一行圖像,將獲取的線(xiàn)域按掃描順序排列成組。循環(huán)各線(xiàn)域,在未封閉區(qū)域中反向循環(huán)查找分析其范圍和線(xiàn)域范圍,有相交就標(biāo)記線(xiàn)域?qū)傩詷?biāo)記為區(qū)域的編號(hào),否則線(xiàn)域無(wú)歸屬。一線(xiàn)多區(qū),將標(biāo)記最右的區(qū)為歸屬。一區(qū)多線(xiàn),將標(biāo)記該區(qū)為各線(xiàn)域歸屬。
2)區(qū)域創(chuàng)建,生長(zhǎng),分裂,提取分裂點(diǎn)
循環(huán)各線(xiàn)域,在未封閉區(qū)域中正向循環(huán)查找分析其范圍和線(xiàn)域范圍,有相交,就讓該區(qū)域生長(zhǎng)。對(duì)于無(wú)相交的線(xiàn)域,新建生長(zhǎng)區(qū)域和區(qū)域編號(hào),區(qū)域?qū)傩缘扔诰€(xiàn)域?qū)傩?,區(qū)域生長(zhǎng)范圍等于線(xiàn)域范圍和擴(kuò)展范圍。
將多區(qū)多線(xiàn)分解為一線(xiàn)多區(qū)和一區(qū)多線(xiàn)的情況分析;對(duì)于一區(qū)多線(xiàn)的情況,先分裂,第一線(xiàn)域會(huì)先進(jìn)入?yún)^(qū)域生長(zhǎng),其區(qū)域生長(zhǎng)范圍修改為該線(xiàn)域的范圍,因此,后續(xù)的線(xiàn)域在與區(qū)域生長(zhǎng)范圍分析時(shí),會(huì)判斷為無(wú)相交的情況,變成新建生長(zhǎng)區(qū)域,但是由于前期做了線(xiàn)域歸屬標(biāo)記,該新建區(qū)域比完全新建區(qū)域的歸屬表多一個(gè)歸屬區(qū)標(biāo)記,類(lèi)似原區(qū)域分裂出一個(gè)新區(qū)域。分裂過(guò)程提取后續(xù)線(xiàn)域左位置為分裂點(diǎn)。
3)區(qū)域按生長(zhǎng)范圍從左至右的排序。
由于封閉區(qū)域的生長(zhǎng)范圍清零,噪點(diǎn)區(qū)域的生長(zhǎng)范圍為負(fù)數(shù),因此會(huì)排序到前面,以便前面兩步可以循環(huán)未封閉區(qū)域。另外也方便合并區(qū)域時(shí),順序是從左區(qū)合并右區(qū),不會(huì)漏合并。
4)合并區(qū)域,提取合并點(diǎn)
循環(huán)各線(xiàn)域,在未封閉區(qū)域中正向循環(huán)查詢(xún)分析其范圍和線(xiàn)域范圍,記錄所有和線(xiàn)域相交區(qū)域個(gè)數(shù)。如果有超過(guò)兩個(gè)區(qū)域,從左至右進(jìn)行兩兩區(qū)域合并操作。同時(shí)提取合并點(diǎn)的位置,行坐標(biāo)取兩合并區(qū)域的左區(qū)域的生長(zhǎng)右范圍-擴(kuò)展范圍,縱坐標(biāo)取當(dāng)前掃描行-1。合并不能完全合并先分裂的新區(qū),因此需要在掃描結(jié)束后作后合并。
其中概念的定義分別為:
a)區(qū)域生長(zhǎng)范圍:如圖4所示,使用上區(qū)下線(xiàn)的方式來(lái)分析連通關(guān)系。生長(zhǎng)的區(qū)域在上,每次新掃描的線(xiàn)域在下,區(qū)域的生長(zhǎng)范圍等于區(qū)域底部的左右范圍和擴(kuò)展范圍之和(針對(duì)應(yīng)用場(chǎng)景不同,用該參數(shù)調(diào)控區(qū)域的連通性。擴(kuò)展范圍值越大,連通性越好,否則分割性越好,擴(kuò)展范圍默認(rèn)等于橫向不連接數(shù)),其與線(xiàn)域的左右范圍相交,說(shuō)明線(xiàn)域和區(qū)域是連通的,說(shuō)明線(xiàn)域?qū)儆趨^(qū)域生長(zhǎng)范圍。
b)區(qū)域生長(zhǎng):當(dāng)線(xiàn)域范圍落在區(qū)域范圍中,且上下距離不超過(guò)縱向不連接數(shù),區(qū)域整合線(xiàn)域的范圍(頂左底右位置),灰度,重量,有效點(diǎn)和連接點(diǎn)數(shù),并修改區(qū)域的生長(zhǎng)范圍為線(xiàn)域范圍和擴(kuò)展范圍。
c)區(qū)域封閉:如圖5所示,掃描出3個(gè)區(qū)域,區(qū)域在多次掃描過(guò)程沒(méi)有生長(zhǎng),次數(shù)超過(guò)縱向不連接數(shù),區(qū)域就被封閉停止生長(zhǎng)。圖像的連通域如果是凸的,上述定義的方法沒(méi)有問(wèn)題。而對(duì)于一些凹形的連通域,存在一區(qū)多線(xiàn)和一線(xiàn)多區(qū)的情況,就不能簡(jiǎn)單的用上述定義方法來(lái)分析了。
d)一線(xiàn)多區(qū):合并的情況,一個(gè)線(xiàn)域橫跨多個(gè)區(qū)域。如圖6所示,最后一行*是新掃描出的線(xiàn)域,兩個(gè)小區(qū)域合并為一個(gè)大區(qū)域,同時(shí)記錄下合并點(diǎn)位置。
e)一區(qū)多線(xiàn):分裂的情況,一個(gè)區(qū)域包含多個(gè)線(xiàn)域。如圖7所示,第1段線(xiàn)被納入?yún)^(qū)域的生長(zhǎng),第2,3個(gè)線(xiàn)段被分裂為新的區(qū)域,同時(shí)記錄分裂點(diǎn)位置,標(biāo)記原區(qū)域?qū)傩詷?biāo)識(shí)。
f)多線(xiàn)多區(qū):分裂和合并混合的情況。分解為一線(xiàn)多區(qū)和一區(qū)多線(xiàn)的情況。如圖8所示,第一行掃描,可以獲取兩個(gè)線(xiàn)域,由于沒(méi)有生長(zhǎng)區(qū)域,兩個(gè)線(xiàn)域都新建為生長(zhǎng)區(qū)域。第二行掃描,獲取的兩個(gè)線(xiàn)域分別和生長(zhǎng)區(qū)域的生長(zhǎng)范圍比較。可以看出左起第一個(gè)線(xiàn)域橫跨兩個(gè)生長(zhǎng)區(qū)域,屬于一線(xiàn)多區(qū),而2區(qū)覆蓋兩個(gè)線(xiàn)域,屬于一區(qū)多線(xiàn)。兩區(qū)兩線(xiàn)的這種交織狀態(tài),是無(wú)法用樹(shù)結(jié)構(gòu)進(jìn)行分析的。用圖結(jié)構(gòu)分析,無(wú)疑運(yùn)算量更大。
本發(fā)明的方法是先分裂后合并。先對(duì)一區(qū)多線(xiàn)的情況做分裂處理,把區(qū)域2分割為AB兩個(gè)區(qū)域,如圖9所示AB兩區(qū)域歸屬表都標(biāo)記區(qū)域2的屬性,這時(shí)有3個(gè)生長(zhǎng)區(qū)域。然后對(duì)1A兩個(gè)區(qū)域做一線(xiàn)多區(qū)的合并處理,如圖10所示,合并時(shí)拷貝A區(qū)的歸屬表。此時(shí)就剩下AB兩個(gè)區(qū)域,它們都包含區(qū)域2屬性。
第三行掃描獲取到三個(gè)線(xiàn)域。如圖11所示,A區(qū)域包含前兩個(gè)線(xiàn)域。最后一個(gè)屬于B區(qū)域生長(zhǎng)范圍。同樣先分裂處理獲得AC區(qū)域,然后B區(qū)域生長(zhǎng)。
完成掃描后,目前剩下ABC三個(gè)區(qū)域。此時(shí)進(jìn)行后合并處理,后合并主要根據(jù)屬性表進(jìn)行合并操作,C區(qū)帶有A區(qū)的歸屬,會(huì)與A區(qū)合并,B區(qū)和A區(qū)都有區(qū)域2的歸屬,也會(huì)合并。因此最終三個(gè)區(qū)合并為一個(gè)完整的連通域。
g)區(qū)域合并:整合兩個(gè)區(qū)域的歸屬表,范圍,重量,灰度,有效點(diǎn)和無(wú)效點(diǎn)數(shù),區(qū)域生長(zhǎng)范圍。
h)先分裂:針對(duì)一區(qū)多線(xiàn)的情況,區(qū)域生長(zhǎng)使用第一個(gè)線(xiàn)域后,生長(zhǎng)范圍就改成了該線(xiàn)域的范圍,導(dǎo)致了其他線(xiàn)域無(wú)法進(jìn)入原區(qū)域生長(zhǎng)范圍進(jìn)行生長(zhǎng)。因此分裂產(chǎn)生新區(qū)域。和其他新創(chuàng)建區(qū)域不同,它有區(qū)域?qū)傩裕院罂梢愿鶕?jù)屬性進(jìn)行區(qū)域整合。
如圖12所示,第一個(gè)線(xiàn)進(jìn)入2區(qū)的生長(zhǎng)后,2區(qū)的生長(zhǎng)范圍修改為箭頭指向范圍,這樣線(xiàn)域2在范圍檢測(cè)時(shí),就不會(huì)和區(qū)2相交,分裂產(chǎn)生新區(qū)。
i)區(qū)域的產(chǎn)生,合并,分裂對(duì)屬性表操作:線(xiàn)域新建區(qū)域生成原始的序列標(biāo)識(shí)屬性,區(qū)域分裂新建的區(qū)域不僅有序列標(biāo)識(shí),同時(shí)還有分裂前原區(qū)域?qū)傩詷?biāo)識(shí)。區(qū)域合并時(shí),兩個(gè)合并的區(qū)域?qū)傩员碚稀?/p>
圖13是本發(fā)明一種圖像區(qū)域特征提取及特征匹配的方法的檢測(cè)封閉區(qū)域和區(qū)域適配器過(guò)濾區(qū)域的流程圖。為了減少下一輪掃描的區(qū)域查詢(xún)運(yùn)算量,封閉和過(guò)濾一些區(qū)域。區(qū)域適配器對(duì)外提供的編程接口,可以自定義過(guò)濾區(qū)域的規(guī)則,用于過(guò)濾噪點(diǎn)區(qū)域和干擾區(qū)域。
區(qū)域的后合并,根據(jù)歸屬表,將沒(méi)有合并的分裂區(qū)域重新整合。包括根據(jù)預(yù)定的深度分辨率以及檢測(cè)獲取的人臉特定區(qū)域位置進(jìn)行數(shù)據(jù)映射的模塊。針對(duì)一區(qū)多線(xiàn)產(chǎn)生的分裂區(qū),在掃描過(guò)程中沒(méi)有被合并,在掃描結(jié)束后進(jìn)行整合。與一線(xiàn)多區(qū)的合并區(qū)別,一個(gè)是在掃描過(guò)程中合并,根據(jù)范圍相交合并,并有合并特征點(diǎn)產(chǎn)生。一個(gè)是掃描結(jié)束后的合并,根據(jù)歸屬表屬性配對(duì)合并,沒(méi)有合并特征點(diǎn)的產(chǎn)生。主要步驟為:
1)圖像最后一行掃描分析完成后,對(duì)所有區(qū)域排序。噪點(diǎn)和干擾區(qū)域排列到前面。這里暫時(shí)將非噪點(diǎn)和非干擾區(qū)域定義為后合并區(qū)域。
2)在后合并區(qū)域中遍歷,兩兩區(qū)域的進(jìn)行區(qū)域歸屬表查詢(xún),如有歸屬屬性相同就進(jìn)行區(qū)域合并操作
3)后合并區(qū)域中會(huì)包含有未封閉區(qū)域,因圖像最后一行掃描不一定封閉了所有區(qū)域。因此封閉未關(guān)閉區(qū)域,使用區(qū)域適配器檢測(cè)清零噪點(diǎn)和干擾區(qū)域。
4)提取連通區(qū)域,計(jì)算重心,輸出到圖特征中。
重心計(jì)算公式:G=Q/num;Q是區(qū)域重量,num是區(qū)域有效點(diǎn)數(shù)目。
檢測(cè)分裂合并點(diǎn)性質(zhì),根據(jù)分裂合并點(diǎn)屬性計(jì)算檢測(cè)矩陣,統(tǒng)計(jì)無(wú)效點(diǎn)數(shù),分析出毛刺和角點(diǎn)。其中概念的定義分別為:
a)檢測(cè)矩陣:以特征點(diǎn)為中心的矩陣,矩陣大小=(角點(diǎn)檢測(cè)范圍的兩倍+1)×(角點(diǎn)檢測(cè)范圍的兩倍+1)。合并點(diǎn)取上半部分矩陣,分裂點(diǎn)取下半部分矩陣。如果矩陣范圍超過(guò)區(qū)域范圍,需要截取超出部分。
b)毛刺點(diǎn)數(shù):兩倍的角點(diǎn)檢測(cè)范圍。
c)角點(diǎn)檢測(cè):統(tǒng)計(jì)矩陣的無(wú)效點(diǎn)數(shù)大于毛刺點(diǎn)數(shù),小于矩陣像素總數(shù)-毛刺點(diǎn)數(shù)就是角點(diǎn),否則是毛刺。如圖14所示,假定角點(diǎn)檢測(cè)距離為5,檢測(cè)范圍是以特征點(diǎn)為中心,大?。?1*11的矩陣。紅色分裂點(diǎn)的檢測(cè)矩陣取上半部分,就是6*11的矩陣。綠色分裂點(diǎn)的檢測(cè)矩陣取下半部分,由于矩陣越過(guò)區(qū)域范圍,截取超出部分,其范圍是4*11的矩陣;毛刺點(diǎn)數(shù)=10。統(tǒng)計(jì)紅色分裂點(diǎn)矩陣無(wú)效點(diǎn)數(shù)=33,總像素點(diǎn)=55,10<33<55-10因此屬于角點(diǎn)。統(tǒng)計(jì)綠色分裂點(diǎn)矩陣無(wú)效點(diǎn)數(shù)=16,總像素點(diǎn)數(shù)=44,10<16<44-10,因此也屬于角點(diǎn)。
提取特征集合,可以在區(qū)域生長(zhǎng)合并時(shí)把線(xiàn)域添加到集合中,提取出圖像邊緣和脊特征。另外,還可以在各種條件下,用本方法多次提取的特征組合:
1)旋轉(zhuǎn)0至180度(圖像旋轉(zhuǎn)180度提取特征,特征不變化),得到的分裂合并點(diǎn)序列是不同的。用本發(fā)明提取圖像不同旋轉(zhuǎn)角度的特征組成集合。
2)不同的通道適配規(guī)則,形成的區(qū)域和特征點(diǎn)序列都不同,用本發(fā)明在多種通道過(guò)濾規(guī)則下提取特征集合。例如,多級(jí)灰度范圍的通道適配規(guī)則下提取的特征集合。
3)不同的對(duì)比度亮度級(jí)別下,用本發(fā)明提取的特征集合。
4)多尺度圖像用本發(fā)明提取的特征集合,用于多尺度圖像分析。多尺度下參數(shù)需要相應(yīng)比例調(diào)整。多尺度可以通過(guò)通道適配器來(lái)實(shí)現(xiàn),指針隔點(diǎn)移動(dòng)取值。
5)區(qū)域中提取區(qū)域特征,例如先用膚色建模提取區(qū)域特征,在區(qū)域特征范圍再次眼球建模提取眼睛區(qū)域特征。
其中,進(jìn)行特征匹配,主要步驟為:
1)目標(biāo)區(qū)提取一個(gè)特征點(diǎn),遍歷匹配區(qū)所有特征點(diǎn)一一匹配,計(jì)算特征描述子的差,保留差最小的匹配點(diǎn)。每個(gè)特征描述子包含k組16維數(shù)據(jù),因此每次匹配需比較k*k次。
2)匹配區(qū)有重復(fù)就選擇差小的點(diǎn)。
3)重復(fù)1過(guò)程,直到最后一個(gè)目標(biāo)區(qū)的特征點(diǎn)取完
其特征匹配算法為:
Disj=argmini∈nd(Fj-Fi');j=0,1,...m,i=0,1,...n.
Pj=i;
Disj是目標(biāo)區(qū)第j個(gè)特征點(diǎn)的最小匹配差。d(Fj-Fi')是兩個(gè)匹配點(diǎn)的特征描述子差。
Fj是目標(biāo)區(qū)第j個(gè)特征點(diǎn)描述子,F(xiàn)i'是匹配區(qū)各特征點(diǎn)描述子。
m是目標(biāo)區(qū)特征點(diǎn)總數(shù),n是匹配區(qū)的特征點(diǎn)總數(shù)。
Pj是目標(biāo)區(qū)第j個(gè)特征點(diǎn)的最佳匹配特征點(diǎn)在匹配區(qū)的標(biāo)記。
對(duì)于本領(lǐng)域技術(shù)人員,本發(fā)明不限制于上述實(shí)施例的細(xì)節(jié),在不背離本發(fā)明的精神和范圍的情況下,能夠以其他具體形式實(shí)現(xiàn)本發(fā)明。此外,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍,這些改進(jìn)和變型也應(yīng)視為本發(fā)明的保護(hù)范圍。因此,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。