肖宇
摘要:由于受到干擾因素的影響,在圖像識別過程中很多圖像識別算法的效果都不太理想。蟻群算法能通過區(qū)分圖像像素的灰度,有效地對圖像像素進行聚焦,從而實現(xiàn)智能圖像識別。本文在對蟻群算法進行綜合分析的基礎(chǔ)上提出了一種改進的蟻群算法,能夠有效消除傳統(tǒng)蟻群算法工作中存在的停滯現(xiàn)象,為其他相關(guān)研究提供理論參考。
關(guān)鍵詞:蟻群算法;圖像識別;圖像分割
中圖分類號:TP18 文獻標(biāo)識碼:A
文章編號:1009-3044(2019)31-0212-03
隨著計算機技術(shù)的不斷發(fā)展,圖像識別技術(shù)在計算機技術(shù)的幫助下取得了突破性進展并在現(xiàn)實生活中得到了廣泛應(yīng)用。目前常見的圖像處理算法有很多種,各有優(yōu)缺點,蟻群算法作為目前比較流行一種圖像處理算法在圖像分割、圖像邊緣檢測和圖像識別等方面都具有一定優(yōu)勢,因此本文對蟻群算法進行了研究,分析了蟻群算法在智能圖像識別中的應(yīng)用,并總結(jié)了對蟻群算法進行改進的方法,希望對相關(guān)研究有所幫助。
蟻群算法是一種仿生學(xué)算法,其本質(zhì)在于模仿螞蟻在尋找食物的過程中選擇路徑。起源于1992年意大利學(xué)者MarcoDo-figo在他的博士論文中提出的一種基于螞蟻覓食行為的算法模型塒,到1996年,MarcoDofigo在其論文中再次對蟻群算法做了詳細(xì)概述,并對蟻群算法的優(yōu)點進行了綜合分析。從那時起,國際學(xué)者關(guān)于蟻群算法的研究熱情不斷高漲,促進了蟻群算法理論的不斷改進和應(yīng)用。
在我國的發(fā)展蟻群算法雖然起步要晚于國外,但發(fā)展得很快。1999年,吳慶洪在原有蟻群算法的基礎(chǔ)上,提出了一種具有變異策略的蟻群算法,通過改變變異方式,克服了傳統(tǒng)蟻群算法收斂速度慢的缺點。2001年,吳斌提出了一種問題分段的求解蟻群算法。2005年,袁立提出了一種多線程蟻群算法,重點分析了蟻群在覓食過程中的策略選擇和搜索能力,將該算法用于求解TSP問題,其結(jié)果表明該算法具有很好的全局尋優(yōu)能力。從以上的研究中不難看出,蟻群算法在不斷推進的理論研究中其研究及應(yīng)用領(lǐng)域得到了極大的推廣,并作為一種重要的計算機算法在實踐應(yīng)用中取得了很大的進步,在算法的模型改進與其他仿生優(yōu)化算法的融合方面取得了比較滿意的成果。本文研究了蟻群算法在圖像識別中的作用,探討了蟻群算法的基本原理和改進方法,為后續(xù)圖像識別技術(shù)的發(fā)展奠定了理論基礎(chǔ)。
1研究方法
本文采用蟻群算法實現(xiàn)了圖像的智能識別的過程。蟻群算法是仿生學(xué)中的一種,主要模仿螞蟻在覓食過程中的各種行為,包括釋放信息素、食物搜尋、路徑選擇等。蟻群算法的路線圖如圖1所示,在此圖中,螞蟻可以從多條路徑向食物的目的地前進,無論選擇哪條路徑,它們最終都會到達目的地,而且螞蟻還必定可以通過信息素和同伴引導(dǎo)等方法找到到達目的地的最優(yōu)路徑,這就是蟻群算法在計算機化算法中的具體應(yīng)用。
螞蟻的覓食過程總是以群體為主,當(dāng)很多螞蟻外出時,路徑選擇的問題就會出現(xiàn),剛開始的時候,由于所有路徑上都沒有信息素,螞蟻完全隨機選擇一條路徑前行,同時在其經(jīng)過的路徑上釋放與路徑長度相關(guān)的信息素,其他螞蟻經(jīng)過時能感受到這種物質(zhì)存在并根據(jù)其強度來決定前進的方向,路徑上信息素的濃度越高,經(jīng)過的螞蟻就越多,如果一條路徑被很多螞蟻行走,這條路徑的信息素濃度會不斷增加,并在此基礎(chǔ)上促使更多的螞蟻選擇這條路徑作為最佳路徑,其他路徑則逐漸被放棄。蟻群在覓食過程中相互合作,能隨外界環(huán)境的變化不斷調(diào)整自己的方向并重新找到一條最短路徑,這就是蟻群算法中的路徑選擇。
根據(jù)蟻群算法的特點,對蟻群算法的綜合分析可以通過以下步驟實現(xiàn):首先,設(shè)置參數(shù)。假設(shè)螞蟻經(jīng)過N個城市,螞蟻總數(shù)為M,在蟻群算法中設(shè)置激勵因子、初始位置的信息素濃度、不同路徑的信息素濃度、循環(huán)指數(shù)等;設(shè)定參數(shù)后,允許螞蟻的隨機覓食,單只螞蟻表示為
它在移動過程中的轉(zhuǎn)移概率可以表示為Pijk(t),在此基礎(chǔ)上,螞蟻開始從一個城市轉(zhuǎn)移到另一個城市,最后穿越所有的城市;在移動過程中,螞蟻將逐漸更新信息素,將每條路線的長度設(shè)為Lk,保留信息素濃度最高的部分,螞蟻在移動過程中,一個城市只允許被訪問一次,當(dāng)螞蟻經(jīng)過一個城市時,修改禁忌列表,更新禁忌列表中的信息;如果螞蟻沒有經(jīng)過所有的城市,它會再次更新信息素,由循環(huán)指數(shù)決定螞蟻穿越所有城市的時間,在達到最佳解決方案之前不會停止循環(huán)。
上述蟻群算法的執(zhí)行過程中由于信息素濃度不斷持續(xù)增長,螞蟻會優(yōu)先選擇覓食的路徑,導(dǎo)致其他路徑被忽略,容易造成循環(huán)迭代并出現(xiàn)停滯。因此我們在算法中引入迭代范圍改進算法,以消除在停滯現(xiàn)象,如果迭代范圍超出該范圍,則更新路徑信息素以提高螞蟻的運動區(qū)域,否則,則更新整個信息素。
假設(shè)算法在循環(huán)過程中的最大迭代次數(shù)可表示為NCmax,用公式(2)計算得出不同區(qū)域值,判斷結(jié)果是否超過固定值ε(ε=0.0001);在實際循環(huán)過程中,如果達到迭代邊緣,則比較最后兩個最優(yōu)解,確定是否存在停滯線性。將當(dāng)前的最優(yōu)解設(shè)為L(N+1)BEST,得到λ:
上述公式的p為信息傳遞系數(shù),當(dāng)系數(shù)較大時,將增加選擇最佳解的概率,降低所有路徑的全局更新概率;這樣更容易得到局部最優(yōu)解,優(yōu)化解的優(yōu)劣直接影響算法的運算效率,因此,在實際應(yīng)用的過程中,往往采用較低的p,但p的值不能太小,否則會導(dǎo)致搜索時間過長。本文以p為研究對象,對實際操作過程中的實時值進行調(diào)整,并將其應(yīng)用到圖像識別中。
2分析和討論
2.1蟻群算法的圖像識別分析
通過以上分析可以得到蟻群算法的基本原理,以下為算法在智能圖像識別中開展應(yīng)用,圖像因為不僅包括圖像本身的像素信息,還包括一些噪聲效應(yīng)等冗余信息,這給圖像識別帶來了一定的困難。而蟻群算法在圖像識別應(yīng)用是分析圖像中不同對象的像素邊界上發(fā)生的突變來區(qū)別圖片的背景和目標(biāo),因此蟻群算法的圖像識別主要集中在邊緣檢測上。圖像邊緣信息主要存在于不同的像素值中,因此,通過蟻群算法檢測全局圖像,以整體圖像信息為全局信息,將圖像中的所有像素作為蟻群運動的信息素就可以形成圖像邊緣檢測的基礎(chǔ)。
圖3顯示了蟻群算法在圖像檢測邊緣過程中的進展,最左面的是原始圖像,可以看出圖像中存在一些噪聲干擾,而且邊緣像素不夠清晰,首先要對圖像進行銳化濾波處理,然后通過蟻群算法對圖像進行識別,得到圖像的邊緣,右邊的圖像顯示了由相應(yīng)像素標(biāo)記的完整邊緣。在應(yīng)用蟻群算法前對圖像進行濾波處理,可以消除圖像中的各種噪聲,提高圖像的整體感知能力。
2.2蟻群算法圖像識別過程的分析
在蟻群算法的圖像識別過程中,蟻群算法會檢測整個圖像的不同像素,覆蓋所有的像素并查找出所有的像素值,然后根據(jù)像素是否有突變來判斷像素是否位于同一區(qū)域,將圖像劃分成不同的區(qū)域,標(biāo)記邊緣區(qū)域,從而得到相應(yīng)的邊界。在此基礎(chǔ)上,實現(xiàn)了對圖像中不同目標(biāo)的有效識別。
蟻群算法圖像識別中路徑的移動過程如圖4所示,在檢測之前,圖像可以被看作是由許多像素組成的待檢測圖像組,然后螞蟻被均勻地分布并根據(jù)蟻群算法移動,螞蟻根據(jù)轉(zhuǎn)移概率在初始位置和周圍下一點不斷移動,經(jīng)過連續(xù)的循環(huán)迭代過程直到所有像素都被覆蓋,根據(jù)信息素的不同,將整個圖像轉(zhuǎn)換成不同信息素濃度區(qū)分的圖像區(qū)域,從中得到不同的路徑就是圖像的邊緣區(qū)域。根據(jù)邊緣區(qū)域?qū)D像進行區(qū)域劃分成可以識別圖像。由以上分析可知,蟻群算法的智能圖像識別主要是將像素視為不同的城市,檢測不變值,最終形成多條路徑;不同的路徑會有不同的信息素濃度,因此,通過對不同濃度的分析,可以得到圖像的邊緣部分,然后得到相應(yīng)的邊緣分界點,對圖像進行分割。
2.3基于蟻群算法的圖像分割的應(yīng)用
就圖像分割而言,在實際分割過程中,主要依據(jù)是圖像的特征和灰度值。通過蟻群算法可以有效地采集圖像像素,而圖像中的所有像素都有其對應(yīng)的灰度值,蟻群算法對灰度值相同的像素進行聚集,從微觀的角度看就是一組具有相似灰階的像素,也是一組邊界不同的像素。然后,對圖像中的所有對象進行分類和處理,在此基礎(chǔ)上找到邊緣位置和灰度突變的位置,從而檢測出像素的背景和目標(biāo)區(qū)域。刪除背景部分,突出顯示圖像前景部分,基于蟻群算法原理的圖像識別效果如圖5所示。
如圖5所示,左側(cè)的是識別前的圖像,其主要部分是動植物,背景是藍(lán)天。通過蟻群算法識別的圖像去除了背景中的藍(lán)天,這一部分的像素接近,很容易實現(xiàn)去除背景的處理。在動物和植物的各個部分被完整地顯示后,就可以獲得整個圖像的關(guān)鍵部分,在此基礎(chǔ)上可以收集到區(qū)域邊緣內(nèi)的像素點。
需要注意的是,在圖像識別過程中,并不是簡單地通過蟻群算法來計算,還需要與其他算法相結(jié)合嘲。首先,對圖像進行分類和處理,以消除圖像中的噪聲,將圖像分割成不同區(qū)域,并在不同區(qū)域進行蟻群算法的識別以提高多區(qū)域同時開展圖像識別效率。算法運行后,將所有區(qū)域整合,收集信息素濃度相同的邊界,將整個圖像轉(zhuǎn)換成一個由不同信息素濃度區(qū)分的圖像區(qū)域,這些路徑就是圖像的邊緣區(qū)域。在此基礎(chǔ)上,結(jié)合改進的蟻群算法,圖像識別覆蓋圖像不同區(qū)域所有像素,避免整個過程中的停滯,發(fā)揮蟻群算法的作用,實現(xiàn)圖像的智能識別。
3結(jié)論
本文對蟻群算法進行了研究,分析了該算法在圖像智能識別的應(yīng)用。蟻群算法主要是在圖像識別過程中檢測整個圖像,覆蓋所有像素,找到所有像素值,然后根據(jù)像素是否會發(fā)生突變來判斷像素是否在同一區(qū)域,標(biāo)記邊緣區(qū)域,得到相應(yīng)的邊界,實現(xiàn)了對不同目標(biāo)的有效識別。在實際的分割過程中,先對圖像中的所有對象進行分類和處理,選取圖像的主要特征和灰度值,通過蟻群算法對圖像像素進行聚焦。在此基礎(chǔ)上找到邊界位置和灰度突變點,進而檢測出像素的背景和目標(biāo)區(qū)域。通過以上分析,可以實現(xiàn)圖像的智能識別,發(fā)揮蟻群算法的作用。