張 蓮,李夢(mèng)天,余松林,宮 宇,楊洪杰
(重慶理工大學(xué) 電氣與電子工程學(xué)院,重慶 400054)
圖像分割指將圖像分成各具特性的區(qū)域并提取出感興趣目標(biāo)的技術(shù)和過(guò)程,它是由圖像處理到圖像分析的關(guān)鍵步驟,是一種基本的計(jì)算機(jī)視覺(jué)技術(shù),也是進(jìn)行特征提取和圖像識(shí)別的基礎(chǔ)[1]。常用的圖像分割方式主要基于閾值、邊緣、區(qū)域、聚類等進(jìn)行分割。
自然界中一切物體都會(huì)向外輻射能量,通過(guò)紅外技術(shù)可以完成輻射能量的收集形成圖像,與可見光圖像相比,紅外圖像具有信噪比低、圖像模糊且邊緣不清晰等特點(diǎn),因此對(duì)紅外圖像的分割方法一直有著較高的要求[2]。
為了更好地完成紅外圖像的分割,文獻(xiàn)[3]提出了一種基于PCNN(pulse coupled neural network)算法和類內(nèi)絕對(duì)差法結(jié)合的分割方法,優(yōu)化了分割參數(shù)和閾值的選擇。文獻(xiàn)[4]提出了一種改進(jìn)的蝙蝠算法,通過(guò)空間信息熵快速搜索最優(yōu)閾值進(jìn)行分割,提升了分割效果和效率。文獻(xiàn)[5]提出了一種基于粒子群優(yōu)化Niblack的分割方法,能夠快速搜索Niblack 矩陣中最優(yōu)分割閾值,完成目標(biāo)區(qū)域的提取。但是上述研究在紅外圖像分割中沒(méi)能改善過(guò)分割以及欠分割現(xiàn)象,使圖像的邊緣細(xì)節(jié)特征模糊甚至遺失,導(dǎo)致分割結(jié)果不夠理想。相比之下,Lazy Snapping算法能實(shí)現(xiàn)紅外圖像的交互式半自動(dòng)分割,用戶通過(guò)交互手段設(shè)置圖像的前景和背景就能完成圖像的分割,近年來(lái)受到國(guó)內(nèi)外研究人員的高度關(guān)注[6]。
Lazy Snapping算法是一種基于圖論的分割算法,對(duì)于存在噪聲以及邊界模糊不清的紅外圖像也能保證分割質(zhì)量,完成特征的提取。但分割算法需要通過(guò)交互手段手動(dòng)設(shè)置前景背景點(diǎn),對(duì)種子點(diǎn)的選擇敏感,若種子點(diǎn)選擇的數(shù)目位置不恰當(dāng)會(huì)導(dǎo)致分割效果明顯下降,算法的特性決定了對(duì)用戶的經(jīng)驗(yàn)有一定要求,且難以在實(shí)時(shí)性要求較高的場(chǎng)合使用。模糊C均值聚類算法(fuzzy c-means,F(xiàn)CM)雖然分割效果不如Lazy Snapping算法,但能較好地將紅外圖像目標(biāo)大致分割出來(lái),針對(duì)Lazy Snapping算法存在的問(wèn)題,本文采用快速模糊C均值聚類算法對(duì)紅外圖像進(jìn)行預(yù)分割,然后采用形態(tài)學(xué)運(yùn)算為圖割算法提供種子點(diǎn),實(shí)現(xiàn)了紅外圖像的自動(dòng)分割[7]。
圖論是數(shù)學(xué)領(lǐng)域的分析方法,將圖像分為頂點(diǎn)和邊進(jìn)行研究。圖割算法是基于圖論的圖像分割方法,通過(guò)圖中節(jié)點(diǎn)替換圖像的像素,有關(guān)系的節(jié)點(diǎn)用邊聯(lián)系起來(lái),完成圖像到圖的轉(zhuǎn)換過(guò)程,待分割的圖像用一個(gè)無(wú)向圖G=(V,E)表示,V和E分別表示頂點(diǎn)和邊的集合[8]。先將待分割的圖像轉(zhuǎn)化為圖,圖像的像素轉(zhuǎn)化為圖中的頂點(diǎn),有關(guān)系的頂點(diǎn)用邊連接起來(lái),每條邊定義一個(gè)非負(fù)的權(quán)重,權(quán)重越大,表示兩個(gè)節(jié)點(diǎn)之間聯(lián)系越緊密,相似度就越高[9]。圖的頂點(diǎn)分為由像素轉(zhuǎn)化的普通頂點(diǎn)和終端頂點(diǎn),邊分為普通頂點(diǎn)之間的連線n-links和普通頂點(diǎn)與終端頂點(diǎn)之間的連線t-links[10]。
在圖割理論中,算法的目標(biāo)是讓能量函數(shù)取值最小,對(duì)應(yīng)的分割情況是在目標(biāo)與背景的邊界進(jìn)行分割,圖像分割消耗的能量可以表示為:
式中:E(f)表示的是權(quán)值,即分割消耗的能量;R(f)和B(f)分別表示區(qū)域項(xiàng)和邊界項(xiàng);λ表示區(qū)域項(xiàng)和邊界項(xiàng)的重要因子,決定它們?cè)贓(f)所占權(quán)重的大小,當(dāng)λ等于0時(shí),說(shuō)明E(f)只與區(qū)域項(xiàng)有關(guān)[11]。區(qū)域項(xiàng)R(f)代表區(qū)域的屬性,將區(qū)域特征轉(zhuǎn)換成數(shù)據(jù)表示出來(lái),因此也被稱為數(shù)據(jù)項(xiàng),用來(lái)評(píng)價(jià)所有像素標(biāo)記的情況,表示為:
式中:Dp(fp)表示將像素p標(biāo)記為fp需要加上的懲罰值,通過(guò)像素p的灰度和給定目標(biāo)的前景灰度直方圖可以得出Dp(fp)能量項(xiàng)的權(quán)值,計(jì)算中將初始定義的種子點(diǎn)作為目標(biāo)和背景的采樣,計(jì)算公式如下:
式中:Ip表示像素的亮度,通過(guò)區(qū)域項(xiàng)能量的計(jì)算公式可以看出,當(dāng)像素p屬于目標(biāo)像素時(shí),將p標(biāo)記為目標(biāo)的懲罰值小,同理當(dāng)像素p屬于背景像素時(shí),將p標(biāo)記為背景的懲罰值小[12]。
邊界項(xiàng)B(f)又稱邊界平滑項(xiàng),代表邊界的屬性,用來(lái)評(píng)價(jià)f的非分段光滑程度,表示為:
式中:N表示4 鄰域或者8 鄰域系統(tǒng)。其對(duì)應(yīng)Potts模型的邊界項(xiàng)可以表示為:
T(fp≠fq)的計(jì)算方式為:
ωpq通常由以下公式得到:
式中:Vpq(fp、fq)表示像素p和像素q不連續(xù)的懲罰值;Ip、Iq表示像素p、q的亮度;dist(p,q)表示像素p、q之間的距離;δ表示噪聲干擾。通過(guò)邊界項(xiàng)能量的計(jì)算公式可以看出,如果兩鄰域像素亮度相近,那么它同樣屬于目標(biāo)或者同樣屬于背景的可能性就大,此時(shí)被分割的可能性就??;同理,如果鄰域像素亮度相差大,此時(shí)被分割的可能性就大[13]。
Lazy Snapping算法是2004年由Yin Li[14]提出的圖割算法的改進(jìn),該算法保留了經(jīng)典圖割算法在區(qū)域項(xiàng)和邊界項(xiàng)的設(shè)定,不過(guò)在分割時(shí)將區(qū)域項(xiàng)中需要計(jì)算的像素點(diǎn)用像素塊來(lái)代替。Lazy Snapping算法的能量計(jì)算公式如下:
式中:E1(xi)表示區(qū)域項(xiàng)像素塊的能量;E2(xi,xj)表示邊界項(xiàng)相鄰像素塊的能量;λ表示邊界項(xiàng)的權(quán)重,λ取較高值能使圖像分割后區(qū)域更加整體,取較低值能使圖像分割后保留更多的細(xì)節(jié)信息。其中區(qū)域項(xiàng)的計(jì)算公式如下:
式(10)表示區(qū)域項(xiàng)能量的計(jì)算方式,其中F代表前景(目標(biāo))點(diǎn)的像素,B代表背景點(diǎn)的像素,U代表所有不受約束點(diǎn)的像素。Lazy Snapping算法先把像素點(diǎn)轉(zhuǎn)換成像素塊,然后將前景像素塊標(biāo)記為1,背景像素塊標(biāo)記為0,diF表示像素塊i到前景像素塊的最短距離,表示像素塊到背景像素點(diǎn)的最短距離[15]。Lazy Snapping算法區(qū)域項(xiàng)計(jì)算方式與圖割算法的區(qū)別在于Lazy Snapping算法能量計(jì)算方式更直觀,能量函數(shù)取值極端化,若像素點(diǎn)屬性標(biāo)記錯(cuò)誤會(huì)出現(xiàn)極大的誤差。邊界項(xiàng)的計(jì)算公式如下:
式中:C(i)、C(j)表示相鄰像素點(diǎn)i、j的亮度;ε為調(diào)整參數(shù)(默認(rèn)為1),當(dāng)像素i和像素j亮度越相近,能量函數(shù)就越大,反之能量函數(shù)就越小,即i、j亮度越相近,分割就越困難。Lazy Snapping算法邊界項(xiàng)的計(jì)算方式與圖割算法相近。
Lazy Snapping算法跟圖割算法能量計(jì)算原理相似,不過(guò)Lazy Snapping算法是交互式分割算法,需要用戶設(shè)置目標(biāo)和背景,沒(méi)能實(shí)現(xiàn)圖像的自動(dòng)分割,難以完成實(shí)時(shí)性強(qiáng)的分割任務(wù)。
在紅外圖像的傳輸過(guò)程中,由于內(nèi)部和外部種種因素,圖像信息必然會(huì)受到或強(qiáng)或弱的噪聲干擾,噪聲污染會(huì)損壞圖像的質(zhì)量,覆蓋圖像的主要特征,噪聲的影響會(huì)直接導(dǎo)致圖像處理后續(xù)工作的信息處理出現(xiàn)偏差,因此需要首先完成圖像的去噪工作。
均值濾波是一種空間域去噪算法,使用時(shí)先將圖像轉(zhuǎn)為二維矩陣,采用線性方法,使用鄰近像素的灰度值平均整個(gè)窗口范圍的像素值。設(shè)待處理的圖像為u(i,j),像素為N×N,則均值濾波算法的計(jì)算方式如下[16]:
式中:i,j=0,1,2,…,N-1,S表示像素點(diǎn)(i,j)鄰域所有像素點(diǎn)的集合,共有M個(gè)。均值濾波去噪通過(guò)把噪聲密集處灰度的突變平均到周圍所有像素點(diǎn),達(dá)到圖像平滑的效果,即使用原圖像u(i,j)周圍像素點(diǎn)的灰度均值組成新圖像v(i,j)。均值濾波去噪計(jì)算速度快,當(dāng)高斯噪聲分布越平滑時(shí)去噪效果越好。
FCM是一種經(jīng)典的圖像分割算法,圖像中像素點(diǎn)的個(gè)數(shù)為N,則目標(biāo)函數(shù)為:
式中:V={v1,v2ΛvC}代表聚類中心的集合;xk(1≤k≤N)表示圖像第k個(gè)像素點(diǎn);U={uik}表示C×V維的模糊分類矩陣;uik表示像素xk屬于vi的隸屬程度;m表示加權(quán)指數(shù),直接影響像素的模糊程度和聚類結(jié)果。
由于圖像的像素?cái)?shù)量很多,使用C均值聚類處理圖像時(shí)計(jì)算量大,迭代次數(shù)多,考慮到圖像的灰度級(jí)數(shù)為0~255,明顯低于像素?cái)?shù)量,所以采用圖像灰度級(jí)代替像素進(jìn)行聚類可以明顯減少迭代的計(jì)算量和次數(shù)[17]。將圖像進(jìn)行灰度化處理后,統(tǒng)計(jì)灰度值得到灰度直方圖Hist,用Hist(j)表示灰度值為j的像素?cái)?shù)目,其中
文獻(xiàn)[18-20]提出了一種改進(jìn)的快速模糊C均值聚類(fast fuzzy c-means,F(xiàn)FCM)算法,在圖像預(yù)分割前先對(duì)灰度直方圖Hist 進(jìn)行高斯曲線擬合,選出其中的極大值點(diǎn)作為圖像的初始聚類中心,從而加快FCM的計(jì)算速度。改進(jìn)的快速模糊C均值聚類(FFCM)算法的目標(biāo)函數(shù):
改進(jìn)的FFCM算法計(jì)算流程如下:
①設(shè)置迭代次數(shù)T,聚類中心c的數(shù)目,參數(shù)m的值以及迭代收斂的條件參數(shù)ε;
②對(duì)灰度直方圖Hist 進(jìn)行高斯曲線擬合,選取其中c個(gè)極大值點(diǎn)組成圖像的初始聚類中心V;
③通過(guò)式(15)計(jì)算聚類中心的vi的;
④通過(guò)式(16)計(jì)算隸屬度uij;
⑤當(dāng)滿足迭代收斂條件或者算法迭代次數(shù)k>T時(shí),算法結(jié)束,否則返回步驟④。
針對(duì)標(biāo)準(zhǔn)Lazy Snapping算法存在的過(guò)分割現(xiàn)象以及需要人工設(shè)置目標(biāo)點(diǎn)和背景點(diǎn)的問(wèn)題,首先對(duì)需要分割的圖像進(jìn)行均值濾波去噪處理,完成去噪的圖像采用FFCM算法進(jìn)行預(yù)分割,即先用FFCM算法對(duì)圖像進(jìn)行聚類,將圖像分為幾個(gè)不同的聚類中心,再通過(guò)形態(tài)學(xué)骨架提取獲得合適的種子點(diǎn)。經(jīng)過(guò)圖像預(yù)分割實(shí)現(xiàn)Lazy Snapping算法的非交互式分割。本文的算法步驟如圖1所示。
本文實(shí)驗(yàn)的硬件環(huán)境為i5 8400 六核六線程處理器,16 GB 內(nèi)存;軟件環(huán)境為Matlab 2019a 版。選擇了3種不同類型的紅外圖像作為研究對(duì)象,基于全局的閾值分割算法對(duì)紅外圖像分割效果精度高,在圖像分割中應(yīng)用較為廣泛,為了更好地體現(xiàn)出算法的特征,對(duì)相同的圖像分別采用基于全局的閾值分割算法、標(biāo)準(zhǔn)的Lazy Snapping算法和本文算法進(jìn)行對(duì)比實(shí)驗(yàn)。對(duì)于圖像分割效果的優(yōu)劣僅憑肉眼無(wú)法準(zhǔn)確區(qū)分,常用的圖像分割評(píng)價(jià)指標(biāo)有像素準(zhǔn)確性(pixel accurancy,PA)、均像素精度(mean pixel accuracy,MPA)、并交比(intersection over union,IOU)和假陽(yáng)性率(false positive rate,F(xiàn)PR)。像素準(zhǔn)確性是用正確分類的像素除以總的像素,均像素精度是先將整個(gè)圖片分為多個(gè)區(qū)域,計(jì)算每個(gè)區(qū)域正確分類像素的比例,再計(jì)算所有區(qū)域的平均值。相比PA和MPA,IOU和FPR 對(duì)圖像分割效果的評(píng)價(jià)更為客觀準(zhǔn)確,因此圖像分割的性能指標(biāo)采用IOU和FPR,IOU和FPR計(jì)算方式如下:
圖1 本文算法流程圖Fig.1 Algorithm flow chart in this paper
式中:A為完成分割后的圖像;B為標(biāo)準(zhǔn)的參考圖像;A和B相似度越高,即IOU越大,表示分割效果越理想;同理,若A和B相似度越低,即FPR越大,表示分割效果越差,各類紅外圖像的分割效果如圖2~圖4所示。
圖2 隔離開關(guān)紅外圖像Fig.2 Infrared image of isolation switch
從圖2~圖4中可以看出,本文算法的分割效果與全局閾值分割算法以及標(biāo)準(zhǔn)Lazy Snapping算法相比,分割結(jié)果輪廓清晰沒(méi)有陰影,圖像完整,沒(méi)有出現(xiàn)丟失關(guān)鍵信息的現(xiàn)象,對(duì)于圖像的邊緣特征也保留了更多細(xì)節(jié),而且目標(biāo)區(qū)域邊界光滑,滿足圖像分割的要求。為了更直觀、公平地比較各算法的性能,表1為使用不同算法分割紅外圖像的IOU和FPR,表2為L(zhǎng)azy Snapping算法實(shí)現(xiàn)非交互式工作后與標(biāo)準(zhǔn)Lazy Snapping算法的運(yùn)行時(shí)間對(duì)比,其中沒(méi)有包含標(biāo)準(zhǔn)Lazy Snapping算法交互式設(shè)置目標(biāo)點(diǎn)和背景點(diǎn)的時(shí)間。
從表1可以看出,本文算法完成圖像分割后的IOU 高于對(duì)比算法,且FPR 低于對(duì)比算法,說(shuō)明本文算法的分割準(zhǔn)確率更高,對(duì)于標(biāo)準(zhǔn)Lazy Snapping算法存在的過(guò)分割現(xiàn)象也有一定的改善,在分割效果以及精度方面有明顯改進(jìn)。從表2可以看出,本文算法增加的預(yù)分割環(huán)節(jié)并沒(méi)有影響算法整體的運(yùn)行速度,保證了算法能使用在實(shí)時(shí)性要求較高的場(chǎng)合。
圖3 出線端紅外圖像Fig.3 Infrared images at the outlet
圖4 斷路器紅外圖像Fig.4 Circuit breaker infrared image
表1 各類紅外圖像分割效果Table1 Various infrared image segmentation effects
表2 算法運(yùn)行時(shí)間比較Table2 Comparison of algorithm running time s
提出了一種基于圖割理論的改進(jìn)Lazy Snapping算法,引入快速模糊C均值聚類算法對(duì)紅外圖像進(jìn)行預(yù)分割,并通過(guò)形態(tài)學(xué)骨架提取的方法在預(yù)分割的圖像中提取種子點(diǎn)用于Lazy Snapping算法,提升了分割效率和分割精度。通過(guò)分割效果、分割準(zhǔn)確率和分割時(shí)間三方面評(píng)價(jià)該算法。實(shí)驗(yàn)結(jié)果從兩方面反映出算法的性能,從分割效果和準(zhǔn)確度方面分析,本文算法在實(shí)現(xiàn)Lazy Snapping算法非交互性工作的前提下,保證了算法本身的優(yōu)點(diǎn),能夠?qū)⒛繕?biāo)區(qū)域完整地從背景提取出來(lái),完成分割的圖像信息完善,較好地保留了邊緣特征細(xì)節(jié),對(duì)于原算法存在的過(guò)分割問(wèn)題也有一定的改善;從分割時(shí)間方面分析,本文算法新增的預(yù)分割環(huán)節(jié)并沒(méi)有使算法計(jì)算時(shí)間增加太多,因此可以應(yīng)用于實(shí)時(shí)性要求較高的紅外圖像分割場(chǎng)合。