[Digital Image Process] — Thresholding Techniques

Leon .
Apr 4, 2021

--

Thresholding 的技術常用在醫療影像上

在影像處理的第一個需要做的任務很有可能就是 Image Segmation,
把我們所感興趣的部份從背景分割出來。
然而 Image Segamation 也是機器視覺領域中相對較難的問題。

In practical situations,There is clearly a tension between simple cost-efficive solution and general-purpose but more computationally expensive solution.

如上引言所述,一個真正擁有高CP值的Thresholding 方法便顯得相當重要。

Concept behind thresholding

Threshold 其意義其實只有選擇一個特定的數值 (X) 作為標準,大於X設為1小於X設為0,因此如何挑選合適的閾值才是箇中關鍵。

有一種方法是去檢視影像的直方圖(histogram),查看是否有一個清晰的位置來分開背景(Background:不感興趣的部份)以及物體(Object:我們所感興趣的部份)。

最理想的直方圖閾值切割

但不是每種圖片都能夠有這麼理想的狀況發生。

簡單整理一些常見的Thresholding Method :

Basic Global Thresholding

又稱為 ISODATA (Iterative Self-Organizing Data Analysis Technique A)
(p.s. 最後的"A"只是為了好發音 ..xd)

是一種 historgram-based 的Thresholding method ,滿足

threshold = (image[image <= threshold].mean() +
image[image > threshold].mean()) / 2.0

其演算流程如下:

為了更詳細的了解此演算法,我們實際操作一次並進行觀察 :

其中在scikit-image中有其 實現代碼

Otsu's method

variance-based thresholding

算法假設圖像像素能夠根據閾值,被分成背景 [background]目標 [objects]兩部分。然後,計算該最佳閾值 來區分這兩類像素,使得兩類像素區分度最大。

算法推導如下 :

  • 假設 背景pixel佔比 有 :
  • 假設 前景pixel佔比 有 :

前景piex佔比也可以由 "1-背景佔比"來計算出

  • 背景平均pixel 值
ω0=N0/ M×N                                            (1)       ω1=N1/ M×N                                            (2)       N0+N1=M×N                                             (3)       ω0+ω1=1                                               (4)       μ=ω0*μ0+ω1*μ1                                         (5)       g=ω0(μ0-μ)^2+ω1(μ1-μ)^2                               (6) 將式(5)代入式(6),得到等價公式:
g=ω0ω1(μ0-μ1)^2 (7)

Another strategy using gradient

另一個好的策略是找到圖像中強度梯度(gradient)明顯的位置對應於邊緣區域中的像素-並且分析這些位置的強度值而忽略圖像中的其他點。

散點圖:將像素屬性繪製在二維地圖上,其中一個軸的強度變化,而另一個軸的強度梯度大小變化。

--

--

Leon .
Leon .

Written by Leon .

Record my life experience and knowledge , keep enthiusastic attitude to explore the world , that’s what I live for.

No responses yet