專利名稱:用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法
用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法技術(shù)領(lǐng)域
本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,可用于對(duì)形狀特征明顯圖像的自動(dòng)聚類。
背景技術(shù):
科學(xué)技術(shù)的不斷發(fā)展,促使人們的研究對(duì)象越來(lái)越復(fù)雜。視覺(jué)作為人類認(rèn)識(shí)和觀察世界的主要手段之一,其信息不僅數(shù)量巨大而且比較復(fù)雜。顏色、形狀、紋理和事物的空間關(guān)系都等是視覺(jué)信息的構(gòu)成要素,可以作為研究的著眼點(diǎn)。形狀是物體在視覺(jué)感知意義下具有的最基本特征之一,這方面的研究已經(jīng)成為計(jì)算機(jī)視覺(jué)和模式識(shí)別的重要方面,而利用形狀特征對(duì)事物進(jìn)行識(shí)別和分類也成為了計(jì)算機(jī)視覺(jué)和模式識(shí)別研究的主要工具之一。對(duì)形狀的研究有形狀提取、形狀匹配等。形狀提取就是從圖像中提取出形狀信息,這方面比較著名的方法有canny等,形狀匹配可分為描述、匹配等兩方面。近年來(lái)有多種形狀描述和匹配的方法被提出。形狀描述方法有基于形狀邊緣輪廓的,有基于形狀區(qū)域的等等。這些方法均各有優(yōu)缺點(diǎn)。形狀匹配按照一定的度量準(zhǔn)則來(lái)衡量形狀間的相似性。一對(duì)一的形狀匹配沒(méi)有任何先驗(yàn)信息,往往不能區(qū)分重要的和非重要的形狀差異,無(wú)論如何設(shè)計(jì)更優(yōu)良的形狀描述子,都無(wú)法解決這一問(wèn)題,這就需要設(shè)計(jì)更好的算法去找到形狀相似度距離空間中同類形狀的內(nèi)在關(guān)系。
聚類分析,作為數(shù)據(jù)挖掘的重要研究方向之一,其目的是讓人們識(shí)別數(shù)據(jù)集中密集和稀疏的區(qū)域,發(fā)現(xiàn)數(shù)據(jù)的全局分布模式,以及數(shù)據(jù)屬性之間的相互關(guān)系。聚類分析已經(jīng)廣泛的應(yīng)用到各個(gè)領(lǐng)域,包括數(shù)據(jù)分析、圖像處理和市場(chǎng)分析、數(shù)據(jù)挖掘、統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)、空間數(shù)據(jù)庫(kù)技術(shù)、生物學(xué)和市場(chǎng)學(xué)等。傳統(tǒng)的聚類算法,是提前給定聚類數(shù)的,但是現(xiàn)實(shí)生活中受諸多因素影響很多數(shù)據(jù)的聚類數(shù)是不可預(yù)知的,在這個(gè)時(shí)候自動(dòng)聚類的作用凸顯而出,諸多學(xué)者提出了各種各樣的方法,試圖解決自動(dòng)聚類問(wèn)題。但這些方法往往存在著缺陷算法常常會(huì)陷入局部最優(yōu),得不到正確的聚類數(shù)。有人利用梯度下降的思想來(lái)解決自動(dòng)聚類問(wèn)題,并將其用于圖形圖像的聚類,但這種方法依舊存在著上述所說(shuō)的缺陷,算法容易陷入局部最優(yōu),不能得到正確的聚類數(shù)。發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)上述已有的技術(shù)不足,提出一種用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法,以提高圖像的聚類效果。
本發(fā)明的技術(shù)思路是通過(guò)canny算子檢測(cè)圖像的輪廓,通過(guò)shape context方法描述圖像的輪廓信息,通過(guò)dynamic programming方法、procrustes analysis方法及edit 距離結(jié)合計(jì)算圖像集的距離矩陣,對(duì)圖像的自動(dòng)聚類通過(guò)k近鄰局部搜索遺傳自動(dòng)聚類算法來(lái)實(shí)現(xiàn)。其具體實(shí)現(xiàn)步驟如下
(I)輸入待聚類的N幅圖像Si, i = I,…,N,利用canny算子分別對(duì)每幅圖像進(jìn)行邊緣檢測(cè),得到各幅待聚類圖像的輪廓圖像Ii ;
(2)對(duì)各輪廓圖像Ii沿其輪廓線進(jìn)行均勻采樣,并以笛卡爾坐標(biāo)表示采樣得到的輪廓點(diǎn)Pij= (Xij,Yij), i=l, ···, N, j=l,…,Μ,其中,Pij表示采樣得到的第i幅輪廓圖像的第j 個(gè)點(diǎn),Xij, Yij分別為輪廓點(diǎn)Pu位置的橫縱坐標(biāo),M為采樣點(diǎn)的個(gè)數(shù);
(3)計(jì)算待聚類的任意兩幅圖像間的距離
(3a)用shape context方法描述輪廓圖像Ii,得到輪廓圖像Ii的每個(gè)輪廓點(diǎn)的近鄰點(diǎn)位置分布直方圖,并對(duì)該直方圖進(jìn)行歸一化;
(3b)將歸一化的近鄰點(diǎn)位置分布直方圖,用X2統(tǒng)計(jì)方法,計(jì)算輪廓圖像Ii輪廓點(diǎn)的匹配代價(jià)矩陣;
(3c)根據(jù)匹配代價(jià)矩陣,用dynamic programming方法,去除兩幅輪廓圖像的離群點(diǎn),得到輪廓圖像的對(duì)應(yīng)匹配點(diǎn);
(3d)對(duì)所得到的對(duì)應(yīng)匹配點(diǎn),用procrustes analysis方法進(jìn)行變換;
(3e)將變換后的對(duì)應(yīng)匹配點(diǎn)轉(zhuǎn)換為字符串;
(3f)經(jīng)過(guò)步驟(3a)到(3e)得到兩幅待聚類圖像Si, Sj的字符串;
(3g)對(duì)得到的待聚類圖像Si和Sj的字符串,用Edit距離測(cè)量這兩個(gè)字符串間的 Edit距離E(Si,Sj),然后計(jì)算待聚類圖像Si和Sj之間的距離
(!(Si, Sj) = A uXE (Si, Sj)/L,
其中λ =1. 03為常數(shù),u為待聚類圖像Si的輪廓圖像的離群點(diǎn)個(gè)數(shù),L為待聚類圖像31的字符串的長(zhǎng)度;
(3h)對(duì)得到的待聚類圖像的距離(!(Si, Sj),進(jìn)行歸一化
(4)令進(jìn)化代數(shù)t=0,初始化種群
(4a)隨機(jī)產(chǎn)生P個(gè)大于等于2小于等于ζ的整數(shù)k” i = 1,…,p,作為p條染色體的聚類數(shù),P為種群規(guī)模, =15為最大聚類數(shù);
(4b)對(duì)每條染色體隨機(jī)產(chǎn)生N個(gè)大于等于I小于等于Iii的整數(shù)j=l,…,N,作為該染色體的各個(gè)基因位Bj的值,組成該染色體Hi ;
(5)計(jì)算所有染色體的適應(yīng)度值fi;找出適應(yīng)度值最大的染色體作為當(dāng)前最佳染色體H,其中
^=1/ Θ iI k-
O =axk + [χΣ;ω'
<°s =— ΣtlS St,S eCs,k<h
其中,α =0. 5為控制參數(shù),Ici為所計(jì)算染色體的聚類數(shù),d(Sk,Sh)為待聚類圖像Sk 和Sh的距離,ns為第s類聚類圖像所含的待聚類圖像副數(shù),Cs為第s類待聚類圖像的集合, Sk和Sh為第S類待聚類圖像中的待聚類圖像;
(6)根據(jù)所得到的染色體的適應(yīng)度值fi;用輪盤(pán)賭選擇法對(duì)所有染色體Hi進(jìn)行選擇,選出要進(jìn)行遺傳操作的中間代染色體H' i;
(7)對(duì)得到的中間代染色體H' y以概率σ P σ i e
進(jìn)行單點(diǎn)交叉操作;
(8)對(duì)經(jīng)過(guò)單點(diǎn)交叉操作后所有中間代染色體H" i;以概率σ 2,σ 2 e
進(jìn)行單點(diǎn)變異操作;
(9)計(jì)算經(jīng)過(guò)單點(diǎn)交叉操作后所有中間代染色體H",的適應(yīng)度值& ;5
(10)對(duì)每條中間代染色體H" i,產(chǎn)生一個(gè)隨機(jī)數(shù)r,r e
,如果r〈0. 5,執(zhí)行步驟(11),否則執(zhí)行步驟(12);
(11)對(duì)中間代染色體H" i的每個(gè)基因位Bj,產(chǎn)生隨機(jī)數(shù)V,ψ古Cj,I彡ψ彡ki; ki為中間代染色體H" i的聚類數(shù),Cj為基因位Bj的值,將基因位Bj的值Cj改為Ψ ,計(jì)算此時(shí)中間代染色體H" ' i的適應(yīng)度值f/,并與改動(dòng)前的中間代染色體適應(yīng)度值A(chǔ)比較, 若f, Pfi,則基因位Bj的值設(shè)置為Ψ,執(zhí)行步驟(13),否則基因位Bj的值設(shè)置為Cj,執(zhí)行步驟(13);
(12)對(duì)中間代染色體H" i進(jìn)行k近鄰局部搜索
(12a)將中間代染色體H",的每個(gè)基因位Bj所對(duì)應(yīng)的待聚類圖像Sj,與其它待聚類圖像S1的距離d(Sy S1)從小到大進(jìn)行排序;
(12b)從排好序的距離中,選取前K=5個(gè)距離所對(duì)應(yīng)的待聚類圖像,作為K副最近鄰圖像S' ν ;
(12c)對(duì)所選出的K副最近鄰圖像S' v對(duì)應(yīng)的基因位Bv,統(tǒng)計(jì)不同基因位值的個(gè)數(shù),找到個(gè)數(shù)最多的基因位值τ,若T=Cj,Cj為待聚類圖像Sj對(duì)應(yīng)的基因位Bj的值,則執(zhí)行步驟(13);
(12d)將中間代染色體H" 1的基因位Bj的值改為τ,計(jì)算此時(shí)中間代染色體 H" ' i的適應(yīng)度值f" i,將改變前中間代染色體H" i的適應(yīng)度值fi;若f" Afi,則基因位 Bj的值設(shè)置為τ,否則基因位B]的值設(shè)置為Cj ;
(13)比較所有中間代染色體的適應(yīng)度值fi;找出適應(yīng)度值最大的染色,將該染色體與當(dāng)前最佳染色體H比較,若該染色體的適應(yīng)度值大于當(dāng)前最佳染色體H的適應(yīng)度值,則將該染色體復(fù)制到當(dāng)前最佳染色體H,若當(dāng)前最佳染色體H的適應(yīng)度值大于該染色體的適應(yīng)度值,則將當(dāng)前最佳染色體H復(fù)制到該染色體;
(14)對(duì)進(jìn)化代數(shù)t值加1,此時(shí)若t小于最大進(jìn)化代數(shù)T=100,則返回步驟(6),否則,將當(dāng)前最佳染色體H的每一個(gè)基因位Bi的值Ci作基因位Bi所對(duì)應(yīng)待聚類圖像Si的類標(biāo),將所有類標(biāo)相同的待聚類圖像分為一個(gè)類,輸出分類后的待聚類圖像和當(dāng)前最佳染色體H的聚類數(shù)。
本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn)
I、本發(fā)明由于在遺傳操作之后加入局部搜索算子,故可在小范圍內(nèi)調(diào)整種群的進(jìn)化進(jìn)程,增加了種群的多樣性,有利于克服陷入局部最優(yōu)的缺陷,提高了圖像的聚類效果。
2、本發(fā)明由于根據(jù)圖像的近鄰信息進(jìn)行局部搜索,改善了種群進(jìn)化的方向,加快了收斂速度。
圖I是本發(fā)明的總流程圖2是測(cè)試圖像集kimia216中的其中4副圖像示例;
圖3是用本發(fā)明對(duì)測(cè)試圖像集kimia216中的30副圖像的聚類仿真效果圖4是用對(duì)比算法對(duì)測(cè)試圖像集kimia216中的30副圖像的聚類仿真效果圖。
具體實(shí)施方式
參照?qǐng)D1,本發(fā)明的實(shí)現(xiàn)包括如下步驟步驟一輸入待聚類的N幅圖像Si, i = 1,…,N,利用canny算子分別對(duì)每幅圖像 進(jìn)行邊緣檢測(cè),得到各幅待聚類圖像的輪廓圖像Ii,本實(shí)例中N取30但不局限于30,canny 算子由John Canny于1986年提出。步驟二 對(duì)各輪廓圖像^沿其輪廓線進(jìn)行均勻采樣,并以笛卡爾坐標(biāo)表示采樣得 到的輪廓點(diǎn)PfUij,yij), i = 1,N, j=l,…,M,其中,Pij表示采樣得到的第i幅輪廓圖像 的第j個(gè)點(diǎn),Xij, Yij分別為輪廓點(diǎn)Pu位置的橫縱坐標(biāo),M=100為采樣點(diǎn)的個(gè)數(shù)。步驟三計(jì)算待聚類的任意兩幅圖像間的距離。3. 1)用shape context方法描述輪廓圖像1^,得到輪廓圖像Ii的每個(gè)輪廓點(diǎn)的近 鄰點(diǎn)位置分布直方圖,并對(duì)該直方圖進(jìn)行歸一化3. 1. 1)對(duì)輪廓圖像Ip計(jì)算所有輪廓點(diǎn)之間的最大距離
權(quán)利要求
1.一種用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法,包括如下步驟(1)輸入待聚類的N幅圖像Si,i = I,…,N,利用canny算子分別對(duì)每幅圖像進(jìn)行邊緣檢測(cè),得到各幅待聚類圖像的輪廓圖像Ii ;(2)對(duì)各輪廓圖像Ii沿其輪廓線進(jìn)行均勻采樣,并以笛卡爾坐標(biāo)表示采樣得到的輪廓 APij=(Xuyij), i = l, ···, N, j=l,…,Μ,其中,Pij表示采樣得到的第i幅輪廓圖像的第j個(gè)點(diǎn),Xij, Yij分別為輪廓點(diǎn)Pu位置的橫縱坐標(biāo),M為采樣點(diǎn)的個(gè)數(shù);(3)計(jì)算待聚類的任意兩幅圖像間的距離;(4)令進(jìn)化代數(shù)t=0,初始化種群(4a)隨機(jī)產(chǎn)生P個(gè)大于等于2小于等于ζ的整數(shù)ki,i = I,···, P,作為P條染色體的聚類數(shù),P =30為種群規(guī)模,ζ =15為最大聚類數(shù);(4b)對(duì)每條染色體隨機(jī)產(chǎn)生N個(gè)大于等于I小于等于Ici的整數(shù)h j=l,…,N,作為該染色體的各個(gè)基因位B]的值,組成該染色體Hi ;(5)計(jì)算所有染色體的適應(yīng)度值fi;找出適應(yīng)度值最大的染色體作為當(dāng)前最佳染色體H;(6)根據(jù)所得到的染色體的適應(yīng)度值fi;用輪盤(pán)賭選擇法對(duì)所有染色體Hi進(jìn)行選擇,選出要進(jìn)行遺傳操作的中間代染色體H' i ;(7)對(duì)得到的中間代染色體H'i,以概率σ i,σ i e
進(jìn)行單點(diǎn)交叉操作;(8)對(duì)經(jīng)過(guò)單點(diǎn)交叉操作后所有中間代染色體H"i;以概率σ 2,σ 2 e
進(jìn)行單點(diǎn)變異操作;(9)計(jì)算經(jīng)過(guò)單點(diǎn)交叉操作后所有中間代染色體H",的適應(yīng)度值&;(10)對(duì)每條中間代染色體H"i,產(chǎn)生一個(gè)隨機(jī)數(shù)r,r e
,如果r〈0. 5,執(zhí)行步驟(11),否則執(zhí)行步驟(12);(11)對(duì)中間代染色體H"i的每個(gè)基因位B」,產(chǎn)生隨機(jī)數(shù)V,ψ古Cj,l彡ψ彡ki; Iii 為中間代染色體H" i的聚類數(shù),Cj為基因位Bj的值,將基因位Bj的值Cj改為Ψ,計(jì)算此時(shí)中間代染色體H" , i的適應(yīng)度值Γ i,并與改動(dòng)前的中間代染色體適應(yīng)度值A(chǔ)比較,若 Γ Pfi,則基因位h的值設(shè)置為Ψ,執(zhí)行步驟(13),否則基因位B」的值設(shè)置為Cp執(zhí)行步驟(13);(12)對(duì)中間代染色體H"i進(jìn)行k近鄰局部搜索(12a)將中間代染色體H" i的每個(gè)基因位B」所對(duì)應(yīng)的待聚類圖像Sp與其它待聚類圖像S1的距離(!(Sj, S1)從小到大進(jìn)行排序;(12b)從排好序的距離中,選取前K=5個(gè)距離所對(duì)應(yīng)的待聚類圖像,作為K副最近鄰圖像 S' ν ;(12c)對(duì)所選出的K副最近鄰圖像S' v對(duì)應(yīng)的基因位Bv,統(tǒng)計(jì)不同基因位值的個(gè)數(shù), 找到個(gè)數(shù)最多的基因位值τ ,若T=Cj,Cj為待聚類圖像Sj對(duì)應(yīng)的基因位Bj的值,則執(zhí)行步驟(13);(12d)將中間代染色體H" 1的基因位h的值改為τ,計(jì)算此時(shí)中間代染色體H" ' i 的適應(yīng)度值f" i,將改變前中間代染色體H" i的適應(yīng)度值fi;若f" Afi,則基因位Bj的值設(shè)置為τ,否則基因位B]的值設(shè)置為Cj ;(13)比較所有中間代染色體的適應(yīng)度值fi;找出適應(yīng)度值最大的染色,將該染色體與當(dāng)前最佳染色體H比較,若該染色體的適應(yīng)度值大于當(dāng)前最佳染色體H的適應(yīng)度值,則將該染色體復(fù)制到當(dāng)前最佳染色體H,若當(dāng)前最佳染色體H的適應(yīng)度值大于該染色體的適應(yīng)度值,則將當(dāng)前最佳染色體H復(fù)制到該染色體;(14)對(duì)進(jìn)化代數(shù)t值加1,此時(shí)若t小于最大進(jìn)化代數(shù)T=100,則返回步驟(6),否則,將當(dāng)前最佳染色體H的每一個(gè)基因位Bi的值Ci作基因位Bi所對(duì)應(yīng)待聚類圖像Si的類標(biāo),將所有類標(biāo)相同的待聚類圖像分為一個(gè)類,輸出分類后的待聚類圖像和當(dāng)前最佳染色體H的聚類數(shù)。
2.根據(jù)權(quán)利要求I所述的用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法,其中步驟(3)所述的計(jì)算待聚類的任意兩幅圖像間的距離,按如下步驟進(jìn)行(3a)用shape context方法描述輪廓圖像Ii,得到輪廓圖像Ii的每個(gè)輪廓點(diǎn)的近鄰點(diǎn)位置分布直方圖,并對(duì)該直方圖進(jìn)行歸一化;(3b)將歸一化的近鄰點(diǎn)位置分布直方圖,用X 2統(tǒng)計(jì)方法,計(jì)算輪廓圖像Ii輪廓點(diǎn)的匹配代價(jià)矩陣;(3c)根據(jù)匹配代價(jià)矩陣,用dynamic programming方法,去除兩幅輪廓圖像的離群點(diǎn), 得到輪廓圖像的對(duì)應(yīng)匹配點(diǎn);(3d)對(duì)所得到的對(duì)應(yīng)匹配點(diǎn),用procrustes analysis方法進(jìn)行變換;(3e)將變換后的對(duì)應(yīng)匹配點(diǎn)轉(zhuǎn)換為字符串;(3f)經(jīng)過(guò)步驟(3a)到(3e)得到兩幅待聚類圖像Si和Sj的字符串;(3g)根據(jù)得到的待聚類圖像Si和Sj的字符串,計(jì)算待聚類圖像Si和Sj之間的距離 (KSijSj) = AuXE(SilSj)ZL,其中E (Si, Sj)為待聚類圖像Si和Sj的字符串間的Edit距離,λ =1. 03為常數(shù),u為待聚類圖像Si的輪廓圖像的離群點(diǎn)個(gè)數(shù),L為待聚類圖像Si的字符串的長(zhǎng)度;(3h )對(duì)得到的所有待聚類圖像間的距離,進(jìn)行歸一化。
3.根據(jù)權(quán)利要求I所述的用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法,其中步驟(5)所述的計(jì)算所有染色體的適應(yīng)度值A(chǔ),通過(guò)如下公式計(jì)算fi=l/ 9 iΘ =a xk +—x V " cos s=- Σns Si-Sh^CsMh其中,α =0. 5為控制參數(shù),Iii為所計(jì)算染色體的聚類數(shù),d(Sk, Sh)為待聚類圖像Sk和 Sh的距離,ns為第s類聚類圖像所含的待聚類圖像副數(shù),Cs為第s類待聚類圖像的集合,Sk 和Sh為第s類待聚類圖像中的待聚類圖像。
全文摘要
本發(fā)明公開(kāi)了一種用于圖形圖像的k近鄰局部搜索遺傳自動(dòng)聚類方法,主要解決現(xiàn)有自動(dòng)聚類算法在聚類時(shí)易陷入局部最優(yōu)的缺陷。其實(shí)現(xiàn)步驟是(1)用canny算子檢測(cè)圖像的輪廓;(2)用shape context方法描述圖像的輪廓并計(jì)算輪廓點(diǎn)的匹配代價(jià)矩陣;(3)根據(jù)匹配代價(jià)矩陣用dynamic programming方法對(duì)輪廓點(diǎn)進(jìn)行匹配;(4)用procrustes analysis方法對(duì)匹配的輪廓點(diǎn)進(jìn)行變換;(5)將變換后的匹配輪廓點(diǎn)用字符串表示并測(cè)量字符串間的edit距離;(6)根據(jù)字符串的edit距離計(jì)算圖像間的距離;(7)用遺傳自動(dòng)聚類算法對(duì)圖像進(jìn)行聚類;(8)對(duì)遺傳算法的種群進(jìn)行k近鄰局部搜索。本發(fā)明具有易于達(dá)到全局最優(yōu),尋找到正確聚類數(shù)的優(yōu)點(diǎn)。
文檔編號(hào)G06K9/62GK102930291SQ201210391449
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者劉若辰, 史文博, 焦李成, 劉靜, 馬文萍, 張向榮, 馬晶晶, 王爽 申請(qǐng)人:西安電子科技大學(xué)