康杰紅,馬苗
Kang Jiehong, Ma Miao
陜西師范大學 計算機科學學院 陜西 西安 710062
School of Computer Science, Shaanxi Normal University, Shaanxi Xi'an 710062
在獲取和傳輸數(shù)字圖像的過程中,常因成像機制或噪聲污染等因素導致圖像分辨率低、細節(jié)模糊等現(xiàn)象,直接影響圖像的后續(xù)處理。因此改善圖像的質量,突出圖像中感興趣的部分成為必要。圖像增強是用來改善圖像的視覺效果和質量的常用手段。圖像增強方法大致分為空域法和頻域法兩類。對比度增強法是空域法中的一種,包括:直方圖均衡法、灰度變換法和反銳化掩模法等。其中,灰度變換是對比度增強方法中常用的一種方式,分為線性變換、分段線性變換,非線性變換三種[1]。為突出圖像中感興趣的部分,同時抑制不感興趣的灰度區(qū)間,人們常用分段線性變換法對圖像對比度進行拉伸或壓縮,進而改善圖像質量。目前常用的是三段線性變換法,其中,轉折點的選取和分段直線斜率的確定是該方法的關鍵[2]。
蛙跳(Shuffled Frog-Leaping,SFL)算法是Eusuff等人于2003年提出的一種新型啟發(fā)式群智能優(yōu)化算法[3]。它模擬自然界中青蛙群體的覓食行為,具有高效的并行搜索能力。SFL算法的提出受到了各界研究學者的普遍關注,并被迅速引入到圖像分割、圖像增強等領域[4][5]。
為進一步研究有效的圖像增強方法,本文借鑒文獻[2]中將人工魚群(Artificial Fish Swarm,AFS)算法用于圖像自適應增強的思路,以 SFL算法為研究對象,在現(xiàn)有研究的基礎上,深入分析其內部搜索機制后進行相關改進,并提出了一種基于改進SFL算法的圖像對比度增強新方法。
基本SFL算法的主要過程是隨機產生由F只青蛙組成的初始群體P={ X1,X2,...,XF},將每個青蛙個體作為所求問題的一個可行解其中d表示解空間維數(shù),計算青蛙個體的適應度f(Xi),f(·)表示青蛙個體的適應度,然后將青蛙個體按適應度降序排列,記錄蛙群中最優(yōu)蛙Xg,再按照特定的分類規(guī)則將整個蛙群分成m個族群Y1,Y2,…,Ym,每個族群中包含n=F/m只青蛙,分類規(guī)則如下式:
例如,當m=3時,F(xiàn)只青蛙按適應度降序排列,位于第1的青蛙分入第1族群,第2的青蛙分入第2族群,第3的青蛙分入第3族群,第4的青蛙分入第1族群,依次類推,將所有青蛙劃分到3個族群中。
族群中最差蛙更新中所涉及的公式如下:
其中,r∈(0,1)是一個隨機數(shù),Smax為青蛙最大跳躍步長。
族群在局部搜索過程中對最差蛙的更新過程是:通過式(2)、(3)產生一只臨時蛙XTemp;若,則,否則,將式(2)中的用Xg代替,結合式(3)重新產生一只臨時蛙XTemp;若,則,否則,就隨機產生一只青蛙代替
重復上述操作,直到對族群中的最差蛙連續(xù)更新Ilocal次,族群的局部搜索結束。
所有族群的局部搜索完成后,重新合并為P,并按各個體的適應度重新劃分族群,再重復進行全局搜索與局部搜索,直到達到終止條件,找到最優(yōu)信息。
在基本SFL算法的局部搜索過程中,算法只在蛙群中的最優(yōu)蛙Xg及族群中的最優(yōu)蛙的引導下更新族群中的最差蛙,這樣會因效率低的信息交流而影響整個蛙群的更新速度,從而削弱了算法的搜索效率。此外,僅依靠更新族群中的最差蛙來逼近最優(yōu)解,勢必會影響蛙群中最優(yōu)蛙的收斂速度,且易使算法陷入局部最優(yōu),影響整個蛙群的尋優(yōu)能力。
為此,本文對基本SFL算法的搜索機制及青蛙個體的更新策略進行優(yōu)化。將只對族群中的最差蛙進行連續(xù)Ilocal次更新,調整為對族群中的每只青蛙都進行1次更新,且族群中的每只青蛙在更新時,除了受Xg、和影響外,還參考蛙群中其他蛙的信息。
在更新過程中,本文借鑒文[6]線性調節(jié)粒子慣性權值的思路,利用參數(shù)ω根據(jù)當前迭代次數(shù)動態(tài)控制青蛙的跳躍范圍,提高算法的靈活性與搜索效率。
此外,因改進后各族群中的每只青蛙都要進行更新,所以我們對蛙群直接進行分類,去掉進行分類前的個體排序環(huán)節(jié),這在一定程度上縮短了搜索時間。
改進SFL算法的主要步驟為:
(1) 初始化青蛙群體,并設置相關參數(shù)。參數(shù)包括:種群規(guī)模F、族群個數(shù)m、最大迭代次數(shù)Maxit、解空間維數(shù)d、動態(tài)控制參數(shù)ωmax和ωmin。此外,約定n為每個族群中的青蛙個數(shù),Xg為蛙群最優(yōu)蛙,和分別為第個族群中的最優(yōu)蛙和最差蛙,為第i個族群中的第k只青蛙,XTemp表示一只臨時蛙,Iter表示當前迭代次數(shù)。
(2) 計算蛙群中每個青蛙的適應度值。
(3) 記錄蛙群的最優(yōu)蛙Xg,并按式(1)將蛙群劃分成m個族群。
(4) 對每個族群進行局部搜索,具體操作為:
3) 重復1)、2)直到族群中的青蛙全部更新完為止。
(5)將更新完的m個族群合并到P中,更新整個蛙群中的信息,Iter加 1 ,若轉到步驟(3),否則,停止迭代,輸出最優(yōu)蛙Xg。
分段線性變換是根據(jù)線性變換函數(shù)將圖像灰度區(qū)間分成幾段,再對各灰度區(qū)間分別進行處理,對圖像中感興趣的灰度范圍進行相應的線性擴展,同時抑制不感興趣的灰度區(qū)域。在[0,L-1]灰度區(qū)間上的三段線性變換的數(shù)學表示如下式:
其中,f(x,y)和g(x,y)分別表示變換前后像素點(x,y)的灰度值,(f1,g1)和(f2,g2)是兩個轉折點的坐標。三段線性變換的示意圖見圖1。
圖1 三段線性變換示意圖
由式(6)和圖1可知,確定兩個轉折點即可確定分段直線的斜率,即通過f1,f2,g1,g2的取值即可對圖像的任一灰度區(qū)間進行擴展或壓縮等操作。因此,在利用分段線性變換法增強圖像時,分段點選取是問題的關鍵。
通常,采用人工手動調整的方式來確定分段點。這種方式簡單易行,但找到恰當?shù)姆侄吸c需要反復實驗,靈活性和穩(wěn)定性不足。若采用自適應閾值選取的方法來確定分段點,則既可以較好地解決上述問題,又可得到理想的增強圖像。
文獻[7]~[9]表明,利用自適應閾值將圖像分割成具有較高對比度的目標和背景兩類,然后再增強圖像的方式可以獲得較理想的增強效果。下面嘗試將改進 SFL算法引入到圖像增強中,利用其結合二維 O tsu法自適應地選取閾值,進而確定分段線性變換中的分段點及變換函數(shù)的斜率,再利用變換函數(shù)增強圖像。
基于改進SFL算法的圖像對比度增強方法的基本思路是:將3.1中的改進SFL算法與二維Otsu法結合,以二維直方圖中類間離散度矩陣的跡作為改進SFL算法的適應度函數(shù),并行搜索將圖像分為目標區(qū)、背景區(qū)及過渡區(qū)的兩個閾值f1、f2,再利用圖像對比度評價圖像質量的指標作為改進SFL算法的適應度函數(shù)確定g1和g2,得到分段點(f1,g1)和(f2,g2),進而確定分段線性變換的斜率,得出變換函數(shù),增強圖像。
本文方法主要流程如圖2所示,主要步驟為:
圖2 基于改進SFL算法的自適應圖像對比度增強方法流程圖
(1) 讀入待增強圖像。
(2) 構造待增強圖像及其均值圖像的二維直方圖,并將二維直方圖中類間離散度矩陣的跡作為改進SFL算法的適應度函數(shù)[7]:
(3) 初始化蛙群P,并設置控制參數(shù)。包括:蛙群規(guī)模F=40,族群個數(shù)m=5,最大迭代次數(shù)Maxit=100,解空間維數(shù)d=2,動態(tài)控制參數(shù)ωmax=0.9和ωmin=0.4。
(4) 利用改進 SFL算法在式(7)的引導下搜
其中Xi表示青蛙個體,代表所求的一個可能解(g1, g2);M和N分別為圖像的寬和高。根據(jù)圖1,索閾值T,并將待增強圖像分成目標區(qū)和背景區(qū),因待增強圖像的灰度區(qū)間為[0, 255],故所求閾值T∈[0,255]。
(5) 在目標區(qū)和背景區(qū)利用改進SFL算法分別進行閾值選取,記錄所得閾值f1和f2。
(6) 在f1和f2的基礎上,用圖像對比度質量函數(shù)式(8)作為改進 S FL算法的適應度函數(shù),并行搜索g1和g2。g1,g2分別表示閾值f1和f2經(jīng)線性變換后的灰度值,因此有0≤g1≤g2≤255。顯然Fitness(·)的值越大,圖像對比度越高,灰度分布越均勻,圖像質量越好。
(7) 利用所得的分段點(f1, g1)和(f2, g2),確定分段線性函數(shù)的斜率,得到分段線性變換函數(shù),獲得增強圖像。
為了驗證本文方法的可行性和有效性及檢驗改進SFL算法的搜索效率和精確性,將其與直方圖均衡化法、文獻[2]方法及基于基本SFL算法的增強方法(簡稱SFLAE法)分別對待增強圖像進行增強。注意,三種算法的適應度函數(shù)及種群規(guī)模等控制參數(shù)相同,圖像增強結果如圖3所示。
圖3 不同方法對待增強圖像的增強實驗結果對比
由圖3知,圖3(a)、圖3(f)和圖3(k)的對比度均較差,灰度層次少。直方圖均衡化法所得圖像的對比度有所提高,但在增強目標信息的同時,某些背景信息也被增強,目標細節(jié)信息被弱化;由文獻[2]方法、SFLAE法與本文方法所得增強圖像均有效提高了原圖像的對比度,在增強目標信息的同時,對背景信息也有良好地抑制,且圖像中的灰度分布更加均勻,視覺效果較好。
以圖像對比度、模糊性指數(shù)[10]、峰值信噪比(Peak Signal to Noise Ratio,PSNR)為評價指標時,表1和和表2給出了圖3中待增強圖像增強結果。
表1 圖3中各圖像的對比度和模糊性指數(shù)對比
表2 圖3中各測試圖像經(jīng)不同方法增強后PSNR值
圖3(a) 26.7535 26.8685 26.6975 26.8685圖3(f) 26.5658 27.8794 27.8371 27.9056圖3(k) 27.2604 30.0616 29.9475 30.0616
表1和表2表明本文方法在圖像對比度、模糊性指數(shù)和 PSNR值三個方面均優(yōu)于直方圖均衡化法;在適應度函數(shù)相同的條件下,與SFLAE法相比,各性能指標有明顯提高,說明改進后SFL算法較改進前更具有高效精確的搜索能力,其自動獲得閾值及線性變換函數(shù)的精確性更高;與文獻[2]方法相比,二者均達到較好的增強效果,它們對圖3(a)和圖3(k)增強的效果一致,但表1和表2中二者對圖3(f)的增強結果表明本文方法較文獻[2]方法更優(yōu)。究其原因,是因為在確定分段點時,改進SFL算法的搜索能力優(yōu)于AFS算法。這說明本文方法在有效增強圖像對比度和清晰度的同時,也提高了 SFL算法的搜索效率和精確度,優(yōu)于直方圖均衡化法和文獻[2]方法。
另外,為測試改進后 SFL算法的穩(wěn)定性,我們在求解圖3(f)閾值T的(所求最優(yōu)T值為113)過程中連續(xù)使其運行 50次并記錄所得閾值情況,其中,兩種算法所得閾值T為113的次數(shù),基本SFL算法為40次,改進SFL算法為46次,即改進SFL算法較基本SFL算法所得閾值更加穩(wěn)定。這說明改進 SFL算法不僅提高了算法的搜索效率和精確性,且穩(wěn)定性更高。
本文提出了一種基于改進 SFL算法圖像對比度增強方法。該方法首先利用調整青蛙更新策略及加入動態(tài)控制青蛙跳躍范圍的思想等方式改進基本SFL算法,然后以二維Otsu法為蛙跳向導,確定圖像的雙閾值,將待增強圖像劃分成目標區(qū)、過渡區(qū)和背景區(qū)三部分,接下來利用對比度標準作為改進 SFL算法的適應度函數(shù),搜索三段線性變換函數(shù)的變換斜率,并最終增強圖像。實驗結果表明,本文方法所得增強圖像的主觀增強效果及圖像對比度、模糊性指數(shù)和PSNR等指標均得以改善和提高。
[1]Gonzalez R C, Woods R E. Digital Image Processing [M]. Prentice Hall: Upper Saddle River,NJ, 2002.
[2]丁生榮, 馬苗, 郭敏.人工魚群算法在自適應圖像增強中的應用[J].計算機工程與應用, 2012,48(2): 185-187.
[3]Eusuff M, Lausey K, Pasha F. Shuffled frog-leaping algorithm: a memetic meta-heuristic for discrete optimization [J]. Engineering Optimization, 2006, 38(2):129-154.
[4]Wang N, Li X, Chen X H. Fast three-dimensional Otsu thresholding with shuffled frog-leaping algorithm [J].Pattern Recognition Letters, 2010, 31(13): 1809-1815.
[5]岳梅, 郭寶平,張平等.基于混合蛙跳優(yōu)化的條紋管圖像自適應增強[J]. 光電工程, 2011, 38(5):108-113.
[6]陳貴敏, 賈建援,韓琪.粒子群優(yōu)化算法的慣性權值遞減策略研究[J].西安交通大學,2006,40(1): 53-56,61.
[7]劉健莊, 粟文青.灰度圖像的二維 Otsu自動閾值分割法[J].自動化學報, 1993,19(1): 101-105.
[8]Nikhil R P, Sankar K P.A review on image segmentation techniques. Pattern Recognition,1993, 26(9): 1277-1294.
[9]Ma M, Liang J H, Guo M, et al. SAR image segmentation based on Artificial Bee Colony algorithm[J]. Applied Soft Computing, 2011, 11(8): 5205-5214.
[10]舒金龍,于振紅, 朱振福.一種改進的紅外圖像模糊增強方法[J].系統(tǒng)工程與電子技術, 2005,27(6):957-959.