圖像分割閾值選取技術綜述

圖像分割閾值選取技術綜述
中科院成都計算所 劉平   2004-2-26

摘要
 圖像分割是圖像處理與計算機視覺領域低層次視覺中最爲基礎和重要的領域之一,它是對圖像進行視覺分析和模式識別的基本前提.閾值法是一種傳統的圖像分割方法,因其實現簡單、計算量小、性能較穩定而成爲圖像分割中最基本和應用最廣泛的分割技術.已被應用於很多的領域。本文是在閱讀大量國內外相關文獻的基礎上,對閾值分割技術稍做總結,分三個大類綜述閾值選取方法,然後對閾值化算法的評估做簡要介紹。
關鍵詞
 圖像分割 閾值選取 全局閾值 局部閾值 直方圖  二值化

1.引言
所謂圖像分割是指根據灰度、彩色、空間紋理、幾何形狀等特徵把圖像劃分成若干個互不相交的區域,使得這些特徵在同一區域內,表現出一致性或相似性,而在不同區域間表現出明顯的不同[37].簡單的講,就是在一幅圖像中,把目標從背景中分離出來,以便於進一步處理。圖像分割是圖像處理與計算機視覺領域低層次視覺中最爲基礎和重要的領域之一,它是對圖像進行視覺分析和模式識別的基本前提.同時它也是一個經典難題,到目前爲止既不存在一種通用的圖像分割方法,也不存在一種判斷是否分割成功的客觀標準。
閾值法是一種傳統的圖像分割方法,因其實現簡單、計算量小、性能較穩定而成爲圖像分割中最基本和應用最廣泛的分割技術.已被應用於很多的領域,例如,在紅外技術應用中,紅外無損檢測中紅外熱圖像的分割,紅外成像跟蹤系統中目標的分割;在遙感應用中,合成孔徑雷達圖像中目標的分割等;在醫學應用中,血液細胞圖像的分割,磁共振圖像的分割;在農業工程應用中,水果品質無損檢測過程中水果圖像與背景的分割。在工業生產中,機器視覺運用於產品質量檢測等等。在這些應用中,分割是對圖像進一步分析、識別的前提,分割的準確性將直接影響後續任務的有效性,其中閾值的選取是圖像閾值分割方法中的關鍵技術。

2.閾值分割的基本概念
圖像閾值化分割是一種最常用,同時也是最簡單的圖像分割方法,它特別適用於目標和背景佔據不同灰度級範圍的圖像[1]。它不僅可以極大的壓縮數據量,而且也大大簡化了分析和處理步驟,因此在很多情況下,是進行圖像分析、特徵提取與模式識別之前的必要的圖像預處理過程。圖像閾值化的目的是要按照灰度級,對像素集合進行一個劃分,得到的每個子集形成一個與現實景物相對應的區域,各個區域內部具有一致的屬性,而相鄰區域佈局有這種一致屬性。這樣的劃分可以通過從灰度級出發選取一個或多個閾值來實現。
閾值分割法是一種基於區域的圖像分割技術,其基本原理是:通過設定不同的特徵閾值,把圖像像素點分爲若干類.常用的特徵包括:直接來自原始圖像的灰度或彩色特徵;由原始灰度或彩色值變換得到的特徵.設原始圖像爲f(x,y),按照一定的準則在f(x,y)中找到特徵值T,將圖像分割爲兩個部分,分割後的圖像爲

 
若取 :b0=0(黑),b1=1(白),即爲我們通常所說的圖像二值化。

  
          (原始圖像)    (閾值分割後的二值化圖像)

一般意義下,閾值運算可以看作是對圖像中某點的灰度、該點的某種局部特性以及該點在圖像中的位置的一種函數,這種閾值函數可記作
    T(x,y,N(x,y),f(x,y))
式中,f(x,y)是點(x,y)的灰度值;N(x,y)是點(x,y)的局部鄰域特性.根據對T的不同約束,可以得到3種不同類型的閾值[37],即
    點相關的全局閾值T=T(f(x,y)) 
(只與點的灰度值有關)
區域相關的全局閾值T=T(N(x,y),f(x,y)) 
(與點的灰度值和該點的局部鄰域特徵有關)
    局部閾值或動態閾值T=T(x,y,N(x,y),f(x,y))
(與點的位置、該點的灰度值和該點鄰域特徵有關)

圖像閾值化這個看似簡單的問題,在過去的四十年裏受到國內外學者的廣泛關注,產生了數以百計的閾值選取方法[2-9],但是遺憾的是,如同其他圖像分割算法一樣,沒有一個現有方法對各種各樣的圖像都能得到令人滿意的結果,甚至也沒有一個理論指導我們選擇特定方法處理特定圖像。
所有這些閾值化方法,根據使用的是圖像的局部信息還是整體信息,可以分爲上下文無關(non-contextual)方法(也叫做基於點(point-dependent)的方法)和上下文相關(contextual)方法(也叫做基於區域(region-dependent)的方法);根據對全圖使用統一閾值還是對不同區域使用不同閾值,可以分爲全局閾值方法(global thresholding)和局部閾值方法(local thresholding,也叫做自適應閾值方法adaptive thresholding);另外,還可以分爲雙閾值方法(bilever thresholding)和多閾值方法(multithresholding)
本文分三大類對閾值選取技術進行綜述:
1) 基於點的全局閾值方法;
2) 基於區域的全局閾值方法
3) 局部閾值方法和多閾值方法


3.基於點的全局閾值選取方法
3.1  p-分位數法
1962年Doyle[10]提出的p-分位數法(也稱p-tile法)可以說是最古老的一種閾值選取方法。該方法使目標或背景的像素比例等於其先驗概率來設定閾值,簡單高效,但是對於先驗概率難於估計的圖像卻無能爲力。
例如,根據先驗知識,知道圖像目標與背景象素的比例爲PO/PB,則可根據此條件直接在圖像直方圖上找到合適的閾值T,使得f(x,y)>=T的象素爲目標,f(x,y)<T的象素爲背景。

3.2  迭代方法選取閾值[11]
初始閾值選取爲圖像的平均灰度T0,然後用T0將圖像的象素點分作兩部分,計算兩部分各自的平均灰度,小於T0的部分爲TA,大於T0的部分爲TB
計算   ,將T1 作爲新的全局閾值代替T0,重複以上過程,如此迭代,直至TK 收斂,即TK+1 =TK
經試驗比較,對於直方圖雙峯明顯,谷底較深的圖像,迭代方法可以較快地獲得滿意結果。但是對於直方圖雙峯不明顯,或圖像目標和背景比例差異懸殊,迭代法所選取的閾值不如最大類間方差法。

3.3  直方圖凹面分析法
從直觀上說,圖像直方圖雙峯之間的谷底,應該是比較合理的圖像分割閾值,但是實際的直方圖是離散的,往往十分粗糙、參差不齊,特別是當有噪聲干擾時,有可能形成多個谷底。從而難以用既定的算法,實現對不同類型圖像直方圖谷底的搜索。
Rosenfeld和Torre[12]提出可以構造一個包含直方圖 的最小凸多邊形 ,由集差 確定 的凹面。若 和 分別表示 與 在灰度級之處的高度,則 取局部極大值時所對應的灰度級可以作爲閾值。也有人使用低通濾波的方法平滑直方圖,但是濾波尺度的選擇並不容易[13]。
但此方法仍然容易受到噪聲干擾,對不同類型的圖像,表現出不同的分割效果。往往容易得到假的谷底。但此方法對某些只有單峯直方圖的圖像,也可以作出分割。如:
 

3.4 最大類間方差法
由Otsu[14]於1978年提出的最大類間方差法以其計算簡單、穩定有效,一直廣爲使用。從模式識別的角度看,最佳閾值應當產生最佳的目標類與北京類的分離性能,此性能我們用類別方差來表徵,爲此引入類內方差 、類間方差 和總體方差 ,並定義三個等效的準則測量:
 ,  ,  .                 (3)
鑑於計算量的考量,人們一般通過優化第三個準則獲取閾值。此方法也有其缺陷,kittler和Illingworth[15]的實驗揭示:當圖像中目標與背景的大小之比很小時方法失效。
 在實際運用中,往往使用以下簡化計算公式:
   (T) = WA(μa-μ)2  + Wb(μb-μ)2
其中, 爲兩類間最大方差,WA 爲A類概率,μa爲A類平均灰度,Wb 爲B類概率,μb爲B類平均灰度,μ爲圖像總體平均灰度。
即閾值T將圖像分成A,B兩部分,使得兩類總方差 (T)取最大值的T,即爲最佳分割閾值。

3.5 熵方法
八十年代以來,許多學者將Shannon信息熵的概念應用於圖像閾值化,其基本思想都是利用圖像的灰度分佈密度函數定義圖像的信息熵,根據假設的不同或視角的不同提出不同的熵準則,最後通過優化該準則得到閾值。Pun[16]通過使後驗熵的上限最大來確定閾值。Kapur等人[17]的方法假定目標和背景服從兩個不同的概率分佈 和 定義
                 (4)
使得熵
                           (5)
達到最大求得最佳閾值。
此方法又稱爲KSW熵方法。

3.6 最小誤差閾值
此方法來源於Bayes最小誤差分類方法。
 
Eb(T)是目標類錯分到背景類的概率,Eo(T)是背景類錯分到目標類的概率
總的誤差概率 E(T) = Eb(T) + Eo(T)
使E(T)取最小值,即爲最優分類方法。

在Kittler和Illingworth[18]於1986年提出的最小誤差法中,直方圖被視爲目標與背景混合集概率密度函數 的估計
                 (9)
其中, 爲先驗概率, ,求解下列方程可得到Bayes最小誤差閾值
                        (10)
遺憾的是上式中 , 和 通常是未知的,Nakagawa和Rosenfeld[19]提倡用擬合方法從直方圖中估計這些參數,但是算法相當複雜,不易實現。


3.7 矩量保持法
矩量保持(moment-preserving)法[20] ,即矩守恆閾值法,是1985年提出的,其基本思想是最佳的閾值應該使分割前後圖像的矩量保持不變,由此可以得到一組矩量保持方程,求解該方程組就可以得到最佳閾值。

3.8 模糊集方法
模糊集理論較好的描述了人類視覺中的模糊性和隨機性,因此在圖像閾值化領域受到了廣泛的關注。模糊集閾值化方法的基本思想是,選擇一種S狀的隸屬度函數定義模糊集,隸屬度爲0.5的灰度級對應了閾值,當然在上述隸屬度函數的表達式中閾值是一個未知的參數;然後在此模糊集上定義某種準則函數(例如整個圖像的總體模糊度),通過優化準則函數來確定最佳閾值。
Pal等[21]首先,他們把一幅具有 個灰度級的 圖像看作一個模糊集 ,其中隸屬函數 定義如下:
               (11)
參數 稱之爲交叉點(即 )。由此從圖像 的空間 平面得到模糊特性 平面。然後,基於此模糊集定義了圖像的線性模糊度 、二次模糊度 和模糊熵 ,使這三個量取最小值時的交叉點 即爲最佳閾值。
文獻[21]指出模糊隸屬度函數在該算法中的作用僅在於將圖像由灰度數據空間轉換爲模糊空間 ,其函數的形式對增強結果幾乎沒有影響。這就使我們有理由使用一些形式簡單的函數形式。例如國內學者發表的一種模糊閾值方法[22]:
 
隸屬度μ(x)表示灰度x具有明亮特性的程度,c爲隸屬函數窗寬,q對應隸屬度爲0.5的灰度級。設灰度級 的模糊率爲:
  = min{μ(l),1-μ(l)}
則得到整幅圖像的模糊率[44]
 
其中,MN爲圖像尺寸,L爲圖像總灰度級, 圖像中灰度爲 的象素個數。
對應於不同的q值,就可以計算出相應的圖像模糊率,選取使得 最小的q值,作爲圖像分割的最佳閾值即可。

3.9 小結
對於基於點的全局閾值選取方法,除上述主要幾種之外還許多,但大多都是以上述基本方法爲基礎,做出的改進方法或者對算法的優化,如使用遞推方法以降低算法複雜性。
例如在文獻[42]中,提出一種使目標和背景差距最大的閾值求取方法,類似於最大類間方差閾值法。是它的一種簡化算法。
又如1984年Dunn等人[23]提出了均勻化誤差閾值選取方法,這種方法實質上是要使將背景點誤分爲目標點的概率等於將目標點誤分爲背景點的概率。類似於最小誤差閾值法。
近年來有一些新的研究手段被引入到閾值選取中。比如人工智能,在文獻[24] 中,描述瞭如何用人工智能的方法,尋找直方圖的谷底點,作爲全局閾值分割。其它如神經網絡,數學形態學[39][46],小波分析與變換[40]等等。
總的來說,基於點的全局閾值算法,與其它幾大類方法相比,算法時間複雜度較低,易於實現,適合應用於在線實時圖像處理系統。由於我的研究方向爲機器視覺,所作的項目要求算法具有良好的實時性,因此針對基於點的全局閾值方法,閱讀了較多的文獻,在綜述裏敘述也相對比較詳細。

4 基於區域的全局閾值選取方法
對一幅圖像而言,不同的區域,比如說目標區域或背景區域,同一區域內的象素,在位置和灰度級上同時具有較強的一致性和相關性。
而在上述基於點的全局閾值選取方法中,有一個共同的弊病,那就是它們實際上只考慮了直方圖提供的灰度級信息,而忽略了圖像的空間位置細節,其結果就是它們對於最佳閾值並不是反映在直方圖的谷點的情況會束手無策,不幸我們通常遇到的很多圖像恰恰是這種情況。另一方面,完全不同的兩幅圖片卻可以有相同的直方圖,所以即使對於峯谷明顯的情況,這些方法也不能保證你得到合理的閾值。於是,人們又提出了很多基於空間信息的閾值化方法。
可以說,局域區域的全局閾值選取方法,是基於點的方法,再加上考慮點領域內象素相關性質組合而成,所以某些方法常稱爲“二維xxx方法”。由於考慮了象素領域的相關性質,因此對噪聲有一定抑止作用[41]。
4.1 二維熵閾值分割方法[25]
使用灰度級-局域平均灰度級形成的二維灰度直方圖[43]進行閾值選取,這樣就得到二維熵閾值化方法。
 
(二維灰度直方圖: 灰度-領域平均灰度)
如圖,在0區和1區,象素的灰度值與領域平均灰度值接近,說明一致性和相關性較強,應該大致屬於目標或背景區域;2區和3區一致性和相關性較弱,可以理解爲噪聲或邊界部分。二維熵閾值分割,就是選擇(S,T)對,使得目標類和背景類的後驗熵最大。(具體方法是一維熵閾值分割的推廣,可參見上一節)
Abutaleb[26],和Pal]結合Kapur]和Kirby的方法,分別提出了各自的二維熵閾值化方法,其準則函數都是使目標熵和背景熵之和最大化。Brink[27]的方法則是使這兩者中的較小者最大化,該方法的計算複雜度爲 ,後來有人改進爲遞推快速算法將時間複雜度降爲 (其中 爲最大灰度級數)。 

4.2  簡單統計法
Kittler等人[28],[29]提出一種基於簡單的圖像統計的閾值選取方法。使用這種方法,閾值可以直接計算得到,從而避免了分析灰度直方圖,也不涉及準則函數的優化。該方法的計算公式爲
                         (19)
其中,
   
   
因爲e(x,y)表徵了點(x,y)領域的性質,因此本方法也屬於基於區域的全局閾值法。

4.3  直方圖變化法
從理論上說,直方圖的谷底是非常理想的分割閾值,然後在實際應用中,圖像常常受到噪聲等的影響而使其直方圖上原本分離的峯之間的谷底被填充,或者目標和背景的峯相距很近或者大小差不多,要檢測他們的谷底就很難了。
在上一節基於點的全局閾值方法中,我們知道直方圖凹面分析法的弊病是容易受到噪聲干擾,對不同類型的圖像,表現出不同的分割效果。往往容易得到假的谷底。這是由於原始的直方圖是離散的,而且含噪聲,沒有考慮利用象素領域性質。
而直方圖變化法,就是利用一些象素領域的局部性質變換原始的直方圖爲一個新的直方圖。這個新的直方圖與原始直方圖相比,或者峯之間的谷底更深,或者谷轉變成峯從而更易於檢測。這裏的象素領域局部性質,在很多方法中經常用的是象素的梯度值。
 例如,由於目標區的象素具有一定的一致性和相關性,因此梯度值應該較小,背景區也類似。而邊界區域或者噪聲,就具有較大的梯度值。最簡單的直方圖變換方法,就是根據梯度值加權,梯度值小的象素權加大,梯度值大的象素權減小。這樣,就可以使直方圖的雙峯更加突起,谷底更加凹陷。

4.4 其它基於區域的全局閾值法
鬆弛法利用鄰域約束條件迭代改進線性方程系統的收斂特性,當用於圖像閾值化時其思想是:首先根據灰度級按概率將像素分爲“亮”和“暗”兩類,然後按照領域像素的概率調整每個像素的概率,調整過程迭代進行,使得屬於亮(暗)區域的像素“亮(暗)”的概率變得更大。
其它還有許多方法利用灰度值和梯度值散射圖,或者利用灰度值和平均灰度值散射圖。

5 局部閾值法和多閾值法

5.1 局部閾值(動態閾值)
當圖像中有如下一些情況:有陰影,照度不均勻,各處的對比度不同,突發噪聲,背景灰度變化等,如果只用一個固定的全局閾值對整幅圖像進行分割,則由於不能兼顧圖像各處的情況而使分割效果受到影響。有一種解決辦法就是用與象素位置相關的一組閾值(即閾值使座標的函數)來對圖像各部分分別進行分割。這種與座標相關的閾值也叫動態閾值,此方法也叫變化閾值法,或自適應閾值法。這類算法的時間複雜性可空間複雜性比較大,但是抗噪能力強,對一些用全局閾值不易分割的圖像有較好的效果。
例如,一幅照度不均(左邊亮右邊暗)的原始圖像爲:

 

如果只選擇一個全局閾值進行分割,那麼將出現下面兩種情況,都不能得到滿意的效果。

               
(閾值低,對亮區效果好,則暗區差)          (閾值高,對暗區效果好,則亮區差)

若使用局部閾值,則可分別在亮區和暗區選擇不同的閾值,使得整體分割效果較爲理性。

 
(按兩個區域取局部閾值的分割結果)
進一步,若每個數字都用不同的局部閾值,則可達到更理想的分割效果。

5.1.1 閾值插值法
 首先將圖像分解成系列子圖,由於子圖相對原圖很小,因此受陰影或對比度空間變化等帶來的問題的影響會比較小。然後對每個子圖計算一個局部閾值(此時的閾值可用任何一種固定閾值選取方法)。通過對這些子圖所得到的閾值進行插值,就可以得到對原圖中每個象素進行分割所需要的合理閾值。這裏對應每個象素的閾值合起來構成的一個曲面,叫做閾值曲面。

5.1.2 水線閾值算法
水線(也稱分水嶺或流域,watershed)閾值算法可以看成是一種特殊的自適應迭代閾值方法,它的基本思想是:初始時,使用一個較大的閾值將兩個目標分開,但目標間的間隙很大;在減小閾值的過程中,兩個目標的邊界會相向擴張,它們接觸前所保留的最後像素集合就給出了目標間的最終邊界,此時也就得到了閾值。

5.1.3 其它的局部閾值法
文獻[30]提出了一種基於閾值曲面的二維遺傳算法。遺傳算法是基於進化論中自然選擇機理的、並行的、統計的隨機化搜索方法,所以在圖像處理中常用來確定分割閾值。
 文獻[31] [32]中提出一種基於局部梯度最大值的插值方法。首先平滑圖像,並求得具有局部梯度最大值的像素點,然後利用這些像素點的位置和灰度在圖像上內插,得到灰度級閾值表面。
除此之外,典型的局部閾值方法還有White和Rohrer[33]的加權移動平均閾值方法,Perez和Gonzalez[34]的適用於非均勻照射下圖像的局部閾值方法以及Shio[35]的與照射無關的對比度度量閾值方法等。總的來說,這類算法的時間和空間複雜度都較大,但是抗噪能力強,對一些使用全局閾值法不宜分割的圖像具有較好的效果。

5.2 多閾值法
很顯然,如果圖像中含有佔據不同灰度級區域的幾個目標,則需要使用多個閾值才能將它們分開。其實多域值分割,可以看作單閾值分割的推廣,前面討論的大部分閾值化技術,諸如Otsu的最大類間方差法, Kapur的最大熵方法、矩量保持法和最小誤差法等等都可以推廣到多閾值的情形。以下介紹另外幾種多閾值方法。
5.2.1 基於小波的多域值方法。
小波變換的多分辨率分析能力也可以用於直方圖分析[36],一種基於直方圖分析的多閾值選取方法思路如下:首先在粗分辨率下,根據直方圖中獨立峯的個數確定分割區域的類數,這裏要求獨立峯應該滿足三個條件:(1)具有一定的灰度範圍;(2)具有一定的峯下面積;(3)具有一定的峯谷差。然後,在相鄰峯之間確定最佳閾值,這一步可以利用多分辨的層次結構進行。首先在最低分辨率一層進行,然後逐漸向高層推進,直到最高分辨率。可以基於最小距離判據對在最低層選取的所有閾值逐層跟蹤,最後以最高分辨率層的閾值爲最佳閾值。
5.2.2 基於邊界點的遞歸多域值方法。
這是一種遞歸的多閾值方法。首先,將象素點分爲邊界點和非邊界點兩類,邊界點再根據它們的鄰域的亮度分爲較亮的邊界點和較暗的邊界點兩類,然後用這兩類邊界點分別作直方圖,取兩個直方圖中的最高峯多對應的灰度級作爲閾值。接下去,再分別對灰度級高於和低於此閾值的像素點遞歸的使用這一方法,直至得到預定的閾值數。

5.2.3 均衡對比度遞歸多域值方法。
首先,對每一個可能閾值計算它對應於它的平均對比度
                                        
其中, 是閾值爲 時圖像總的對比度, 是閾值 檢測到的邊界點的數目。然後,選擇 的直方圖上的峯值所對應的灰度級爲最佳閾值。對於多閾值情形,首先用這種方法確定一個初始閾值,接着,去掉初始閾值檢測到的邊界點的貢獻再做一次 的直方圖,並依據新的直方圖選擇下一個閾值。這一過程可以這樣一直進行下去,直到任何閾值的最大平均對比度小於某個給定的限制爲止。

6 閾值化算法評價簡介
儘管人們在圖像分割方面做了許多研究工作,但由於尚無通用的分割理論,現已提出的分割算法大都是針對具體問題的,並沒有一種適合於所有圖像的通用的分割算法。另一方面,給定一個實際圖像分割問題要選擇合用的分割算法也還沒有標準的方法。爲解決這些問題需要研究對圖像分割的評價問題。分割評價是改進和提高現有算法性能、改善分割質量和指導新算法研究的重要手段。
 然而,如同所有的圖像分割方法一樣,閾值化結果的評價是一個比較困難的問題。事實上對圖像分割本身還缺乏比較系統的精確的研究,因此對其評價則更差一些。人們先後已經提出了幾十個評價準則。這些準則中又有定性的,也有定量的;有分析算法的,也有檢測實驗結果的,文獻[37]將它們大致分爲13類。
文獻[4] 中選擇攝影師、建築物和模特三幅圖像作爲標準圖像,並採用趨於一致性度量和形狀參數對幾種常用的全局閾值方法的分割結果進行了評價。結果表明對於這三幅圖像,如果希望得到的二值圖像比較均勻且目標的形狀較好,推薦使用最大熵方法、矩量保持方法和最大類間方差法。
文獻[38] 中以磁盤及鶴模型作標準圖像,在噪聲條件下用錯分概率、形狀和均勻性度量作爲標準評估了五種常見的整體閾值選取方法的性能。這五種方法是四元樹方法、矩量保持法、最大類間方差法、最大熵方法和簡單統計法。結果表明各種方法的性能不僅與所處理的圖像有關,而且也和所選用的準則有關。該文獻也指出,對於一般實時應用來說,可以選擇最大類間方差方法和簡單統計法。
最後,評價的目的是爲了能指導、改進和提高分割,如何把評價和分割應用聯繫起來尚有許多工作要做。一個可能的方法是結合人工智能技術,建立分割專家系統[45],以有效的利用評價結果進行歸納推理,從而把對圖像的分割由目前比較盲目的試驗階段推進到系統地實現的階段。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章