朱國武,莊金雷,王力超,劉丙友
(1.安徽工程大學(xué) 電氣工程學(xué)院,安徽 蕪湖 241000;2.哈爾濱工業(yè)大學(xué) 蕪湖機(jī)器人產(chǎn)業(yè)技術(shù)研究院,安徽 蕪湖 241000)
圖像邊緣檢測是圖像分析的重要部分,存在于圖像分割、目標(biāo)識別以及對感興趣的區(qū)域信息的提取分析等領(lǐng)域.[1]圖像邊緣檢測效果的好壞,直接影響后續(xù)圖像的處理,因此,邊緣檢測是計(jì)算機(jī)視覺的重要內(nèi)容之一.[2-3]
傳統(tǒng)的圖像邊緣檢測借助空頻域微分算子通過卷積完成,常用的一階算子有Robert算法、Pewitt算法和Sobel算法,二階算子有LOG算法,這些算法簡單容易實(shí)現(xiàn),但抑制噪聲能力差,在圖像邊緣檢測的時(shí)候易丟失圖像的有效信息,適用于噪聲較少且簡單的圖像.[4]研究人員通過檢測圖像中局部不同像素灰度值的區(qū)域,達(dá)到分割圖像的目的.這種基于邊緣檢測分割方法抑制噪聲干擾能力差,分割不依賴圖像像素結(jié)果,當(dāng)圖像邊緣像素變換不明顯式時(shí),容易導(dǎo)致圖像邊界的不連續(xù)性.研究人員對現(xiàn)有的圖像邊緣不連續(xù)性進(jìn)行改進(jìn)、提高圖像邊緣的連續(xù)性、獲取圖像的邊緣有效信息成為圖像的主要研究方向.[5]為了獲取圖像內(nèi)的有效信息和有效區(qū)域,提出了遺傳算法.遺傳算法是(Genetic Algorithm,GA)是模擬自然界生物進(jìn)化過程的模型,具有簡單、適用范圍廣泛、計(jì)算速度快等優(yōu)點(diǎn),適用于復(fù)雜問題求解,為圖像邊緣檢測提供了依據(jù).[6]
筆者為了提高圖像邊界的邊緣連續(xù)性,獲取圖像的有效信息,提出了一種基于遺傳算法的圖像邊緣檢測方法GA法.首先先將采集的圖像邊緣檢測問題轉(zhuǎn)化為尋求最優(yōu)問題的目標(biāo)函數(shù),再利用遺傳算法對目標(biāo)函數(shù)進(jìn)行求解,從而獲得較好的圖像邊緣檢測.實(shí)驗(yàn)仿真結(jié)果表明,該算法能夠更好地提高圖像邊緣的連續(xù)性,視覺效果更好.
圖像邊緣是圖像中的像素點(diǎn),在不同區(qū)域之間的邊界具有不連續(xù)性,圖像的灰度值將發(fā)生變化,產(chǎn)生邊緣.邊緣檢測就是利用圖像中物體的灰度值變化信息檢測物體的邊緣和輪廓,是對圖像灰度級進(jìn)行一階和二階導(dǎo)數(shù).常見的圖像邊緣有:階梯狀邊緣、脈沖狀邊緣和屋頂狀邊緣三種類型.[7]
在現(xiàn)實(shí)圖像中,采集圖像中真實(shí)圖像邊緣較為復(fù)雜,具有一定的斜度,因此,在圖像邊緣檢測中需要對位置、斜率、均值等特征點(diǎn)進(jìn)行.
經(jīng)典的圖像邊緣檢測算法中,LOG算法和Canny算法較為常用.Log算法邊緣檢測原理是,先用高斯函數(shù)進(jìn)行卷積平滑圖像,進(jìn)行去噪,再采用拉普拉斯算子進(jìn)行高通濾波,檢測出圖像的邊緣.Canny邊緣算法工作原理是,首先使用二維高斯濾波平滑圖像,去除圖像部分噪聲,再對一階方向圖像進(jìn)行卷積時(shí)域?yàn)V波,然后計(jì)算濾波后的函數(shù)圖像梯度強(qiáng)度的極大值,獲取圖像邊緣的單像素點(diǎn),檢測圖像邊緣.圖像邊緣檢測算法步驟如圖1所示.
圖1 圖像邊緣檢測步驟
遺傳算法是(Genetic Algorithm,GA)是模擬自然界生物進(jìn)化過程的模型,依據(jù)優(yōu)勝劣汰的原則,需要對優(yōu)化的群體進(jìn)行遺傳學(xué)操作,不斷成為新的優(yōu)化群體,達(dá)到滿足要求的最優(yōu)解.[8-9]對遺傳求出圖像的最佳閾值,再對最佳閾值進(jìn)行邊緣處理.遺傳算法的3個(gè)基本算子是:選擇、交叉和變異.[10]
選擇一般采用以下公式:
式(1)中,fi為個(gè)體i的適應(yīng)度,fsum為種群總適應(yīng)度,Pi為個(gè)體選擇概率.由公式可得f高的個(gè)體被復(fù)制可能越大.
交叉和變異.交叉就是在個(gè)體串之間隨機(jī)找到一個(gè)交叉點(diǎn),對交叉點(diǎn)兩個(gè)個(gè)體部分結(jié)構(gòu)進(jìn)行互換生成新的兩個(gè)個(gè)體.遺傳算法中交叉概率Mc和變異概率Mm的選取影響算法的效率、行為和收斂性.而一般的遺傳算法Mc和Mm在初始化時(shí)根據(jù)具體的情況選擇適合的大小,采取自適應(yīng)的方針,對差異染色體采用不同的Mc和Mm,計(jì)算式為:
式(2)(3)中,fmax表示群體群體最大適應(yīng)度,favg表示每個(gè)群體的平均適應(yīng)度,f'表示要交叉的兩個(gè)個(gè)體中較 大 的 適 應(yīng) 度 值,f表 示 要 變 異 個(gè) 體 的 適 應(yīng) 度 值,Mc1,Mc2,Mm1,Mm2為 常 數(shù),其 中Mc1>Mc2,Mm1>Mm2,由公式(2)和(3)得到個(gè)體選擇適應(yīng)度比較小時(shí),則采取個(gè)體選擇比較大的交叉概率和變異概率,并通過交叉和變異產(chǎn)生新的個(gè)體;當(dāng)個(gè)體選擇適應(yīng)度較大時(shí),則選擇比較小的交叉和變異概率,從而去除較差的個(gè)體,保留好的個(gè)體.通過遺傳算法求出圖像的最佳閾值T,再通過閾值進(jìn)行圖像邊界檢測.遺傳算法的流程圖如圖2所示:
圖2 遺傳算法流程圖
本文分別采用512×512的辣椒和飛機(jī)的圖像進(jìn)行仿真實(shí)驗(yàn),并把仿真實(shí)驗(yàn)結(jié)果與log算法、canny算法結(jié)果進(jìn)行對比.結(jié)果見圖3和圖4.
仿真結(jié)果表明,傳統(tǒng)的Log算法在圖像邊緣檢測中會有較多的干擾噪聲,圖3和圖4中,圖(b)邊緣不清晰,圖(c)使用Canny算法對圖像邊緣檢測雖能更好的去除噪聲,獲得較好的圖像邊緣信息,但會丟失較為細(xì)節(jié)的部分,圖(d)是使用GA的算法對圖像邊緣進(jìn)行的檢測,更為清晰細(xì)化,效果比經(jīng)典的Canny算法和Log算法好.
圖3 辣椒圖像檢測結(jié)果對比
圖4 飛機(jī)圖像檢測結(jié)果對比
圖像邊緣檢測是處理圖像的重要研究領(lǐng)域,本文提出一種基于遺傳算法的圖像邊緣檢測法——GA法.實(shí)驗(yàn)仿真測試結(jié)果表明,相對于傳統(tǒng)的邊緣算法,GA算法能夠更好地保留圖像有效信息的精確度和邊界連續(xù)性,更好地處理圖像內(nèi)結(jié)構(gòu)信息,擁有良好的應(yīng)用前景.