魯秋菊
(陜西理工大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,陜西 漢中 723000)
在計算機(jī)視覺系統(tǒng)中,對圖像進(jìn)行分割是一項重要的步驟,它將鎖定的目標(biāo)從背景中取出,為識別、分類、檢索等提供支持[1].圖像信息是人類收集外部世界信息的主要途徑,因而計算機(jī)的視覺系統(tǒng)非常重要.在一個圖像中,往往人們所需要的只是圖像中某個區(qū)域的一部分,所以就需要利用圖像中的紋理、輪廓等圖像特性來進(jìn)行提取,以分析目標(biāo)[2].本文在圖像特性的提取中使用了Otsu算法以完成對圖像的分割.
Gong在二維Otsu算法的基礎(chǔ)上提出了快速遞推算法[3];汪海洋對算法進(jìn)行了改進(jìn)[4],使用迭代的方式來構(gòu)建索引表,減少了二維Otsu算法的計算量,使得復(fù)雜度由O(L4)降到O(L2);陳修橋?qū)焖龠f推算法進(jìn)行了改進(jìn),加快了二維最大準(zhǔn)則的計算速度;吳成茂[5]對二維的最大熵進(jìn)行了改進(jìn),并且在假設(shè)二維直方圖的聯(lián)合概率密度是連續(xù)的情況下提出了他的快速迭代的算法.在提高分割算法的速度和效率的方向上,有學(xué)者發(fā)現(xiàn)使用群智能算法是一個非常有效的方式[6].為了提高算法的性能,Tao[7]引入了蟻群優(yōu)化模糊墑算法;Xu[7]證明了閾值分割出的背景與目標(biāo)的均值平均值為Otsu法的最佳閾值.潘喆[8]在最佳閾值的查找中使用了人工魚群智能算法,與傳統(tǒng)的算法相比,大大提高了算法的速度,以更少的迭代次數(shù)、更少的種群來達(dá)到算法的收斂.Sathya[9]在進(jìn)行多閾值分割時,使用了細(xì)菌覓食算法.智能算法與傳統(tǒng)的窮舉法相比,雖然在效率上較好,但是其不穩(wěn)定性致使在實際使用中存在著一定的劣勢.
本文在分析了相關(guān)算法的基礎(chǔ)上,使用二維Otsu算法來進(jìn)行研究,以獲取目標(biāo)與背景圖像分割較好的性能,并引入遺傳算法,對算法進(jìn)行改進(jìn),降低算法復(fù)雜度,提升算法的運行效率.
在傳統(tǒng)的一維Otsu算法中,由于只對像素點的灰度信息進(jìn)行了考慮,沒有將周圍像素點的影響納入考量的范圍,所以在進(jìn)行圖像的分割時,往往會出現(xiàn)較大的誤差.在一維Otsu算法的基礎(chǔ)上,提出二維的Otsu算法,以原圖以及周邊的像素平滑信息來建立二維直方圖,減小了在進(jìn)行圖像分割時的誤差,提高了算法的準(zhǔn)確度.
二維Otsu算法中使用的最大類間方法本質(zhì)是閾值化分割方法,該種方法的核心內(nèi)容如下:將圖像設(shè)為f(x,y),(1≤x≤M,1≤y≤N),圖像的灰度為L,大小為M×N,而鄰域平滑圖像g(x,y)就可以使用像素點n×n的鄰域的平均灰度值來獲取到,g的灰度也是L.如此一來,在圖像的每一個像素中,都可以構(gòu)成一個二元組,即像素以及圖像相鄰域二者的灰度值.使用fij代表在圖像f中的灰度值i且鄰域灰度值j的像素點在同一個空間位置上的個數(shù),使用所得到的數(shù)據(jù)就能構(gòu)建出在該點的二維直方圖.圖像的灰度等級為:
式中,k代表的是在像素點中正方形鄰域的寬度,一般為奇數(shù).如圖1所示為圖像在二維直方圖中的平面投影圖.
灰度分割的閾值為s,鄰域的灰度值為t,使用(s,t)將圖像分成兩個類別,即背景和目標(biāo).并且滿足0≤s≤L-1,0≤t≤L-1,此時就可以對背景和目標(biāo)所占圖像的比例進(jìn)行計算.
由于一維沒有利用圖像的局部空間信息,當(dāng)存在噪聲干擾或灰度分布交叉時,圖像分割效果不佳,為此有學(xué)者提出了二維Otsu閾值分割方法,對像素點自身以及鄰域灰度值的情況進(jìn)行了充分考慮,提升了算法的抗噪能力[11],但算法在實際使用中,計算復(fù)雜,實時性不強(qiáng).有的學(xué)者對類內(nèi)的離散測度進(jìn)行了考量,促進(jìn)了類的完整性,但是提高了算法的復(fù)雜度,性能的消耗增加.本文將對這兩個弊端進(jìn)行改進(jìn),借以提出新的算法.
閾值的選取是利用閾值法進(jìn)行圖像分割的關(guān)鍵所在,如果閾值選擇的值過小,那么背景部分就有可能成為目標(biāo)點,如果閾值過高,那么目標(biāo)點就有可能成為背景點.閾值是圖像分割精度的關(guān)鍵點,若不夠準(zhǔn)準(zhǔn)確就會造成圖像分割的誤差,進(jìn)而丟掉有用的信息,所以圖像分割中閾值的選擇十分重要.
在傳統(tǒng)的Otsu算法中進(jìn)行閾值分割時,對前景及背景的方差進(jìn)行了考慮,并且分割效果也較好,但是沒有將類內(nèi)自身的離散性納入考量的范圍,所以,分類的好壞無法得到充分的體現(xiàn).為了改善這種情況,本文引入了類內(nèi)離散度,以使得分割時達(dá)到類間方差最大,實現(xiàn)類內(nèi)的一致性.
像素灰度值所對應(yīng)的分類離散測度表示為:
τdi=ωodoi+ωbdbi,
τdj=ωodoj+ωbdbj,
為了改進(jìn)二維Otsu算法在復(fù)雜度上的問題,本文對Otsu算法進(jìn)行改進(jìn),將二維算法拆成兩個一維的Otsu算法.利用灰度值的一維直方圖來得到閾值,以幫助我們提取目標(biāo);利用鄰域平均灰度值的直方圖獲取到用于消除噪聲的閾值.這兩個得到的閾值就可以替代原本二維Otsu算法中的兩個閾值.該方法與一維Otsu算法相比,它將圖像的灰度信息以及像素點相鄰區(qū)域的灰度信息都納入了考量的范疇,因而具有了更加優(yōu)秀的降噪能力.另一方面,因為使用了兩個一維的Otsu算法,因此降低了算法的復(fù)雜度,下文就此進(jìn)行詳細(xì)的說明.
這兩類的總均值矢量:
由此推出像素灰度值i所對應(yīng)的一維類間方差如下:
σBi(s)=ωo(μoi-μi)2+ωb(μbi-μi)2.
(1)
相鄰區(qū)域灰度值j對應(yīng)的一維類間方差為:
σBj(t)=ωo(μoj-μj)2+ωb(μbj-μj)2.
(2)
而
并且
這兩類的平均矢量為:
總均值矢量為:
依據(jù)一維Otsu算法的原理,兩個類別最佳的閾值s*,t*應(yīng)滿足如下條件:
利用上面所述的公式構(gòu)建出新的閾值識別函數(shù):
ψj=ωo(1-ωo)×σBi/τdi,ψj=ωo(1-ωo)×σBj/τdj.
(3)
為了使離散度最小,獲取最好的分割效果,我們需要應(yīng)用式(3)求取ψi、ψj最大值,即τdi,τdj的最小值,以保證在類間有較好的分離性,同時也使得在同一類內(nèi)有著較好的一致性.在圖像的灰度復(fù)雜度為L時,本文的算法即上述的兩個一維的Otsu算法的復(fù)雜度為O(L+L)=O(L),遠(yuǎn)遠(yuǎn)小于二維Otsu算法的復(fù)雜度O(L4),大大提升了算法的性能.
本文使用遺傳算法來求取合適的閾值向量(s,t),以用來快速實現(xiàn)圖像的分割閾值的確定.有了分割閾值就能對灰度圖像進(jìn)行二維閾值化分割.
(1) 初始化.利用隨機(jī)數(shù)生成一個隨機(jī)的行數(shù)size、16列的矩陣來作為初始的種群.
(2) 編碼.二維Otsu算法所待分割的閾值是二維的,所以使用16位二進(jìn)制碼來對二維分割閾值,前8位代表的是分割閾值s后8位代表的是分割閾值t,x=(x0,…,x7,x8,…,x15).
(3) 適應(yīng)度函數(shù).利用式(1)及式(2),取出最大值時對應(yīng)的參數(shù)s、t,即為我們所需要的分割閾值.
(4) 選擇.使用適應(yīng)度比例法進(jìn)行選擇,適應(yīng)度越高的,被選擇的概率就越高.
算法的終止條件為:當(dāng)算法的迭代次數(shù)達(dá)到的預(yù)先設(shè)定的值或者當(dāng)前群體的平均適應(yīng)度與上一代的平均值之差小于1×10-4時,終止算法.
為了檢驗本文所提算法的圖像分割效果與計算速度上的優(yōu)越性,選擇有噪聲圖像為實驗對象,分別選取目前經(jīng)典的二維Otsu圖像分割相關(guān)的改進(jìn)算法:灰度-平均度法、平均灰度-梯度法[10]與本文所提算法進(jìn)行實驗比對,同經(jīng)典的算法進(jìn)行圖像分割比較,更能說明本文提出的改進(jìn)二維Otsu圖像分割算法其算法性能、分割效果的提升.仿真實驗所使用的運行系統(tǒng)為Windows XP,內(nèi)存為2.0 GB,頻率為3.19 GHz,仿真環(huán)境為Matlab7.0.
在運行結(jié)果對比中,探尋發(fā)現(xiàn)在噪聲的影響下,使用灰度-平均度法的效果較差,無法識別目標(biāo)與背景,不能有效完成圖像的切割.使用平均灰度-梯度法時,存在較多的噪聲點,對噪聲的干擾沒有較好的抵抗力.使用本文提出的算法時,能夠有效地減少噪聲的干擾,同時對圖片細(xì)節(jié)的分割能力也較好.具體圖像分割效果比對如圖2所示.
一般來說,在對圖像的分割效果進(jìn)行判定時,既需要人的主觀視覺來進(jìn)行評判,也需要對應(yīng)的客觀參數(shù).我們使用了房子、月亮、公交車、客機(jī)、蘋果5張圖像作為實驗對象,通過圖像處理后在區(qū)域中表現(xiàn)的一致性和相關(guān)屬性的對比度來進(jìn)行客觀的各個算法的評定對比.在表1、表2中,我們可以看到幾種分割方法的相關(guān)評價的數(shù)據(jù).所表示的區(qū)域一致性的UM的值與區(qū)域一致性呈現(xiàn)正相關(guān)的關(guān)系,一致性UM值越大,對比度GC值越大,則差異越大,此時分割的結(jié)果就會越好.在受到了較大的噪聲干擾時,使用不同的方法來對同一圖像進(jìn)行處理,在結(jié)果的對比上,可以看到通過本文算法所得到的處理結(jié)果最好.這是因為我們提出了利用局部方差來進(jìn)行中心像素點和相鄰域像素點的灰度級離散度,而且對像素點的灰度差異進(jìn)行了有效的反應(yīng),也大大減小了噪聲的干擾,提高了圖像的分割效果.
表1 三種分割算法的區(qū)域一致性比較
分割方法月亮公交車客機(jī)蘋果灰度-平均灰度0.707 70.832 20.934 40.851 1平均灰度-梯度0.798 90.912 30.611 10.923 1本文算法0.911 10.879 30.897 40.938 5
表2 三種分割算法的區(qū)域?qū)Ρ榷缺容^
優(yōu)化了二維Otsu閾值分割算法,減少了算法的復(fù)雜度.為了更簡便算出二維Otsu算法中所需要的閾值,算法使用了兩個一維算法來求出所需要的閾值,且在閾值的最優(yōu)解上,使用了最小類內(nèi)離散度的概念,加之遺傳算法,來避免傳統(tǒng)的二維算法需要在整個圖像內(nèi)進(jìn)行搜索的煩瑣過程,將算法的性能大大提升.與其他的文獻(xiàn)中的算法比較結(jié)果來看,本文算法的時間要遠(yuǎn)小于其算法,且圖像分割的效果也符合實際的需要.