本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其是涉及一種基于鳥類群體響應(yīng)的蝙蝠算法(Bird Flock Bat Algorithm,BFBA)和極限學(xué)習(xí)機(Extreme Learning Machine,ELM)的乳腺X射線圖像特征選擇方法。
背景技術(shù):
乳腺疾病是女性常見的疾病之一,同時乳腺癌的多發(fā)性和危害性嚴(yán)重影響著女性的健康甚至生命,因此,乳腺疾病的早期診斷直接關(guān)系著女性的人身健康。尤其對于乳腺癌,現(xiàn)在人們還不能完全確定其病發(fā)機理。目前乳腺癌的臨床診斷方法主要包括觸摸式診斷、組織學(xué)診斷、細(xì)胞學(xué)診斷和影像學(xué)診斷。影像學(xué)以其診斷的方便性、科學(xué)性和相對較高的可操作性被廣泛采用。乳腺X射線攝影技術(shù)是最常見的乳腺癌早期診斷技術(shù),對于這種方法,需要從乳腺X射線圖像中分析乳腺的患病情況。隨著計算機技術(shù)的快速發(fā)展,對乳腺X射線圖像的分析也實現(xiàn)了從傳統(tǒng)人工分析到計算機輔助分析的轉(zhuǎn)換,這種轉(zhuǎn)換可以使乳腺癌的診斷更快速、更準(zhǔn)確。
特征是決定相似性與分類的關(guān)鍵。由于用計算機識別乳腺癌,故從乳腺X射線圖像上提取了大量的原始特征以期提高識別率。但從提取方法上看,許多特征不是獨立的,即這些特征具有冗余度,影響模式識別的速度和準(zhǔn)確性,所以,需要對原始特征進(jìn)行選擇,丟掉那些模棱兩可、不易判別或相關(guān)性強的特征。特征選擇實質(zhì)是一個組合優(yōu)化問題。常規(guī)的優(yōu)化算法,如解析法,只能得到局部最優(yōu)而非全局最優(yōu)解,且要求目標(biāo)函數(shù)連續(xù)及可微;枚舉法雖然克服了這些缺點,但計算效率太低。即使很著名的動態(tài)規(guī)劃法,也會遇到“指數(shù)爆炸”問題,它對于中等規(guī)模和適度復(fù)雜性的問題,也常常無能為力?;谶z傳算法、粒子群算法的乳腺X射線圖像特征選擇方法,獲得了不錯的分類結(jié)果。蝙蝠算法(Bat Algorithm,BA)是一種新興的啟發(fā)式群體智能算法,相比較于粒子群算法和遺傳算法,BA可以實現(xiàn)動態(tài)控制局部搜索和全局搜索間的相互轉(zhuǎn)換過程,具有發(fā)揮更大作用的潛能。然而,在BA搜索過程中,存在過早收斂的現(xiàn)象,由于BA個體多樣性的迅速減少,為了得到局部最優(yōu)的一個更準(zhǔn)確的估計,需要更多無效的迭代。在這種情形下,很難達(dá)到勘探和開采之間的良好平衡,這使得BA容易停滯在局部最優(yōu)。
技術(shù)實現(xiàn)要素:
本發(fā)明克服現(xiàn)有技術(shù)存在的不足,所要解決的技術(shù)問題為提供一種乳腺X射線圖像特征選擇方法,避免了動態(tài)規(guī)劃法遇到的“指數(shù)爆炸”問題,以及解析法或蝙蝠算法容易陷入局部最優(yōu)解的問題。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種基于BFBA和ELM的乳腺X射線圖像特征選擇方法,包括以下步驟:
第一步,收集所用數(shù)據(jù)集MIAS,即the Mammographic Image Analysis Society,提取乳腺X光圖像特征,并將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,訓(xùn)練集用于訓(xùn)練極限學(xué)習(xí)機ELM,即Extreme Learning Machine,以設(shè)計ELM分類器,測試集用于檢驗ELM分類器的有效性;
所述提取乳腺X光圖像特征采用的方法是灰度共生矩陣,提取四種統(tǒng)計參數(shù):角二階矩、熵、慣性矩、相關(guān)系數(shù),灰度共生矩陣的方向取0°,45°,90°,135°四個方向;首先計算四個方向上的灰度共生矩陣,取像素間距離為1,其次由每個灰度共生矩陣計算四個統(tǒng)計參數(shù);把每幅圖像分成四塊,對每塊子圖像提取上述16個特征作為原始樣本數(shù)據(jù),共獲得64個統(tǒng)計特征;特征提取所得的樣本數(shù)據(jù)庫分成10份,選擇其中90%做訓(xùn)練,其余10%做測試;
第二步,設(shè)置BFBA參數(shù);
初始參數(shù)包括蝙蝠群體大小20≤N≤100,每個蝙蝠個體的維數(shù)D=64,脈沖音量A=0.5,脈沖率R=0.5,搜索脈沖頻率范圍[Qmin,Qmax],其中Qmin=0,Qmax=2,最大迭代次數(shù)iter_max=1000,停滯計數(shù)器stagnant_count=0,最大停滯次數(shù)stagnant_max=4;
第三步,蝙蝠種群初始化,蝙蝠位置向量由第一步給出的64個統(tǒng)計特征組成,使用二進(jìn)制編碼標(biāo)記特征組合并隨機初始化蝙蝠個體位置及速度,形成樣本集;
蝙蝠位置編碼采用二進(jìn)制,原始特征有64個,即個體的長度L=64,個體的每一個基因?qū)?yīng)相應(yīng)次序的特征,即當(dāng)個體中的某一個基因為“1”時,表示該基因?qū)?yīng)的特征項被選用;反之,為“0”時,表示該特征項未被選用。使用X={x1,x2,x3……xi……xN}表示蝙蝠群體的位置,使用V={v1,v2,v3……vi……vN}表示速度,其中xi表示第i個蝙蝠個體的位置,vi表示第i個蝙蝠個體的速度,xi和vi是64維的行向量,一共有N個蝙蝠個體,20≤N≤100。
基因值隨機產(chǎn)生的公式為:
式中,rand()為[0,1]區(qū)間獨立同分布的隨機數(shù);
第四步、根據(jù)每個蝙蝠位置編碼生成相應(yīng)的特征子集,使用該特征子集生成訓(xùn)練集和測試集,訓(xùn)練集用于設(shè)計ELM分類器,測試集用于測試分類器,根據(jù)測試結(jié)果計算相應(yīng)蝙蝠的適應(yīng)度值fiti;
適應(yīng)度值的計算過程如下:
其中,
式中,ωA式表示分類準(zhǔn)確權(quán)值,ωF表示特征選擇數(shù)權(quán)值,fj表示基因的特征值:0或1,acci表示分類準(zhǔn)確率,cc表示正確分類數(shù),uc表示不正確分類數(shù);
第五步、更新每一個蝙蝠的搜索脈沖頻率、速度和位置;
搜索脈沖頻率、速度和位置通過以下公式進(jìn)行更新:
Qi=Qmin+(Qmax-Qmin)×β (11)
vi(t)=vi(t-1)+(xi(t)-xbest)×Qi (12)
xi(t)=xi(t-1)+vi(t) (13)
式中:β屬于[0,1],是均勻分布的隨機數(shù);Qi是蝙蝠i的搜索脈沖頻率,Qi屬于[Qmin,Qmax];vi(t)、vi(t-1)分別表示蝙蝠i在t和t-1時刻的速度;xi(t)、xi(t-1)分別表示蝙蝠i在t和t-1時刻的位置;xbest表示當(dāng)前所有蝙蝠的最優(yōu)解;
第六步、生成均勻分布隨機數(shù)rand,如果rand>R,R為第二步中所述的脈沖率,則對當(dāng)前最優(yōu)解進(jìn)行隨機擾動,產(chǎn)生一個新的解:
xnew=xbest+0.001×randn(1,64); (14)
其中,xnew表示新產(chǎn)生的新解,xbest表示當(dāng)時最優(yōu)解。
第七步、生成均勻分布隨機數(shù)rand,如果rand符合rand<A且fit(xi(t))<fit(xi(t-1)),A為第二步中所述的脈沖音量,則接受步驟六產(chǎn)生的新解:
xi(t)=xnew (15)
其中,fit(xi(t))表示求個體xi的適應(yīng)度值,xnew表示第六步產(chǎn)生的新解;
如果rand不符合上述條件,則跳過此步,進(jìn)入下一步;
第八步、對所有蝙蝠的適應(yīng)度值進(jìn)行排序,找出當(dāng)前的最優(yōu)解和最優(yōu)值;
第九步、判斷最優(yōu)解是否發(fā)生了變化,如果沒有發(fā)生變化,則
stagnant_count=stagnant_count+1,否則,stagnant_count=0
其中stagnant_count為第二步中所述的停滯計數(shù)器;
第十步、判斷stagnant_count是否等于stagnant_max,如果相等,則所有的蝙蝠發(fā)生群體響應(yīng);
即如果經(jīng)過一定次數(shù)的迭代,最佳全局適應(yīng)值不再發(fā)生變化,則發(fā)生鳥類群體響應(yīng)的重新定位,使用公式(16)和(17)來重新更新每個蝙蝠的速度和位置,在公式(16)中,是蝙蝠經(jīng)過群體響應(yīng)重新定位之后的新位置,新位置通過計算它的七個最近鄰近對象的位置平均值獲得,的最近鄰近蝙蝠即和其它蝙蝠的最小歐氏距離,randx是[-1,1]區(qū)間的一個隨機實數(shù),在公式(17)中,是蝙蝠經(jīng)過速度調(diào)整后的新速度,是蝙蝠原來的速度,新速度通過計算它的七個最近鄰近蝙蝠的速度平均值獲得,randv是[0,1]區(qū)間的一個隨機實數(shù),Ni包含的七個鄰近蝙蝠的索引值;
第十一步、重復(fù)第四步到第十步直至滿足設(shè)定的最優(yōu)解條件或者達(dá)到最大迭代次數(shù);
第十二步、輸出全局最優(yōu)值和最優(yōu)解。
所述第一步中,數(shù)據(jù)集MIAS,是研究乳腺X光圖像的標(biāo)準(zhǔn)數(shù)據(jù)集,圖像均為1024×1024的灰度圖。
本發(fā)明與現(xiàn)有技術(shù)相比具有以下有益效果。
本發(fā)明方法實現(xiàn)了對乳腺X射線圖像高維特征的優(yōu)化選擇,有效降低特征維數(shù),提高分類識別的準(zhǔn)確度,并且適應(yīng)極限學(xué)習(xí)機分類器的要求,進(jìn)一步提高分類性能。該方法特征選擇效果好,效率高,能夠有效提高乳腺X射線圖像的分類精度。
本發(fā)明中BFBA引入了一個新的多樣性勘探機制以增強它的多樣性勘探能力,該機制源于鳥類的群體響應(yīng)行為。借助群體響應(yīng)機制,BFBA可以探索范圍更廣的搜索空間,并因此避免限入局部次優(yōu)解決方案。ELM通過一步計算即可求解析出學(xué)習(xí)網(wǎng)絡(luò)的輸出權(quán)值,同神經(jīng)網(wǎng)絡(luò)和支持向量機相比,極限學(xué)習(xí)機極大地提高了網(wǎng)絡(luò)的泛化能力和學(xué)習(xí)速度,本發(fā)明利用ELM作為分類器評估特征的重要性。
附圖說明
下面結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)的說明。
圖1為本發(fā)明中某個個體的基因編碼。
圖2為本發(fā)明的流程圖。
具體實施方式
如圖1、圖2所示,本發(fā)明一種基于BFBA和ELM的乳腺X射線圖像特征選擇方法,具體步驟如下:第一步,收集所用數(shù)據(jù)集MIAS,即the Mammographic Image Analysis Society,提取乳腺X光圖像特征,并將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,訓(xùn)練集用于訓(xùn)練極限學(xué)習(xí)機ELM,即Extreme Learning Machine,以設(shè)計ELM分類器,測試集用于檢驗ELM分類器的有效性;
所述提取乳腺X光圖像特征采用的方法是灰度共生矩陣,提取四種統(tǒng)計參數(shù):角二階矩、熵、慣性矩、相關(guān)系數(shù),灰度共生矩陣的方向取0°,45°,90°,135°四個方向;首先計算四個方向上的灰度共生矩陣,取像素間距離為1,其次由每個灰度共生矩陣計算四個統(tǒng)計參數(shù);把每幅圖像分成四塊,對每塊子圖像提取上述16個特征作為原始樣本數(shù)據(jù),共獲得64個統(tǒng)計特征;特征提取所得的樣本數(shù)據(jù)庫分成10份,選擇其中90%做訓(xùn)練,其余10%做測試;
角二階矩用f1表示,熵用f2表示、慣性矩用f3表示、相關(guān)系數(shù)用f4表示:
式中,μ1,μ2,和分別定義為:
特征庫隨機分成10份,選擇其中90%做訓(xùn)練,其余10%做測試;
第二步,設(shè)置BFBA參數(shù);
初始參數(shù)包括蝙蝠群體大小20≤N≤100,每個蝙蝠個體的維數(shù)D=64,脈沖音量A=0.5,脈沖率R=0.5,搜索脈沖頻率范圍[Qmin,Qmax],其中Qmin=0,Qmax=2,最大迭代次數(shù)iter_max=1000,停滯計數(shù)器stagnant_count=0,最大停滯次數(shù)stagnant_max=4;
第三步,蝙蝠種群初始化,蝙蝠位置向量由第一步給出的64個統(tǒng)計特征組成,使用二進(jìn)制編碼標(biāo)記特征組合并隨機初始化蝙蝠個體位置及速度,形成樣本集;
蝙蝠位置編碼采用二進(jìn)制,原始特征有64個,即個體的長度L=64,個體的每一個基因?qū)?yīng)相應(yīng)次序的特征,即當(dāng)個體中的某一個基因為“1”時,表示該基因?qū)?yīng)的特征項被選用;反之,為“0”時,表示該特征項未被選用。使用X={x1,x2,x3……xi……xN}表示蝙蝠群體的位置,使用V={v1,v2,v3……vi……vN}表示速度,其中xi表示第i個蝙蝠個體的位置,vi表示第i個蝙蝠個體的速度,xi和vi是64維的行向量,一共有N個蝙蝠個體,20≤N≤100。
基因值隨機產(chǎn)生的公式為:
式中,rand()為[0,1]區(qū)間獨立同分布的隨機數(shù);
第四步、根據(jù)每個蝙蝠位置編碼生成相應(yīng)的特征子集,使用該特征子集生成訓(xùn)練集和測試集,訓(xùn)練集用于設(shè)計ELM分類器,測試集用于測試分類器,根據(jù)測試結(jié)果計算相應(yīng)蝙蝠的適應(yīng)度值fiti;
適應(yīng)度值的計算過程如下:
其中,
式中,ωA式表示分類準(zhǔn)確權(quán)值,ωF表示特征選擇數(shù)權(quán)值,fj表示基因的特征值:0或1,acci表示分類準(zhǔn)確率,cc表示正確分類數(shù),uc表示不正確分類數(shù);
第五步、更新每一個蝙蝠的搜索脈沖頻率、速度和位置;
搜索脈沖頻率、速度和位置通過以下公式進(jìn)行更新:
Qi=Qmin+(Qmax-Qmin)×β (11)
vi(t)=vi(t-1)+(xi(t)-xbest)×Qi (12)
xi(t)=xi(t-1)+vi(t) (13)
式中:β屬于[0,1],是均勻分布的隨機數(shù);Qi是蝙蝠i的搜索脈沖頻率,Qi屬于[Qmin,Qmax];vi(t)、vi(t-1)分別表示蝙蝠i在t和t-1時刻的速度;xi(t)、xi(t-1)分別表示蝙蝠i在t和t-1時刻的位置;xbest表示當(dāng)前所有蝙蝠的最優(yōu)解;
第六步、生成均勻分布隨機數(shù)rand,如果rand>R,R為第二步中所述的脈沖率,則對當(dāng)前最優(yōu)解進(jìn)行隨機擾動,產(chǎn)生一個新的解:
xnew=xbest+0.001×randn(1,64); (14)
其中,xnew表示新產(chǎn)生的新解,xbest表示當(dāng)時最優(yōu)解。
第七步、生成均勻分布隨機數(shù)rand,如果rand符合rand<A且fit(xi(t))<fit(xi(t-1)),A為第二步中所述的脈沖音量,則接受步驟六產(chǎn)生的新解:
xi(t)=xnew (15)
其中,fit(xi(t))表示求個體xi的適應(yīng)度值,xnew表示第六步產(chǎn)生的新解;
如果rand不符合上述條件,則跳過此步,進(jìn)入下一步;
第八步、對所有蝙蝠的適應(yīng)度值進(jìn)行排序,找出當(dāng)前的最優(yōu)解和最優(yōu)值;
第九步、判斷最優(yōu)解是否發(fā)生了變化,如果沒有發(fā)生變化,則
stagnant_count=stagnant_count+1,否則,stagnant_count=0
其中stagnant_count為第二步中所述的停滯計數(shù)器;
第十步、判斷stagnant_count是否等于stagnant_max,如果相等,則所有的蝙蝠發(fā)生群體響應(yīng);
即如果經(jīng)過一定次數(shù)的迭代,最佳全局適應(yīng)值不再發(fā)生變化,則發(fā)生鳥類群體響應(yīng)的重新定位,使用公式(16)和(17)來重新更新每個蝙蝠的速度和位置,在公式(16)中,是蝙蝠經(jīng)過群體響應(yīng)重新定位之后的新位置,新位置通過計算它的七個最近鄰近對象的位置平均值獲得,的最近鄰近蝙蝠即和其它蝙蝠的最小歐氏距離,randx是[-1,1]區(qū)間的一個隨機實數(shù),在公式(17)中,是蝙蝠經(jīng)過速度調(diào)整后的新速度,是蝙蝠原來的速度,新速度通過計算它的七個最近鄰近蝙蝠的速度平均值獲得,randv是[0,1]區(qū)間的一個隨機實數(shù),Ni包含的七個鄰近蝙蝠的索引值;
第十一步、重復(fù)第四步到第十步直至滿足設(shè)定的最優(yōu)解條件或者達(dá)到最大迭代次數(shù);
第十二步、輸出全局最優(yōu)值和最優(yōu)解。
所述第一步中,數(shù)據(jù)集MIAS,是研究乳腺X光圖像的標(biāo)準(zhǔn)數(shù)據(jù)集,圖像均為1024×1024的灰度圖。
本發(fā)明可以對乳腺X射線圖像進(jìn)行更好的分析,能更準(zhǔn)確的分析出乳腺的患病情況,幫助醫(yī)生更準(zhǔn)確、快速的診斷并制定治療方案。