1. Thresholding
Segmentation의 가장 기본적인 알고리즘으로 thresholding이 있다. Intensity 값이 특정 threshold 값 보다 큰 값만 선택하는 것이 핵심이다. 위 그림에서 왼쪽 image를 threshold 값 200을 기준으로 thresholding을 하면 오른쪽 image와 같이 출력 될 수 있다.
2. Otsu Thresholding
Otsu thresholding은 threshold 값을 자동으로 정하는 알고리즘이다. 위 그림처럼 먼저 image의 intensity 값에 따라 histogram을 그린다.
여기서 foreground와 background로 나뉜다고 가정한다. 그러므로 특정 threshold에 따라 foreground와 background로 histogram을 분리한다. 그리고 분리된 두 개의 histogram에 대해서 data의 비율 w, data의 평균 μ, data의 표준편차 σ를 계산한다.
1) Background
Wb=10+5+6+8+2+6+510+5+6+8=4229=0.690
μb=10+5+6+81×10+2×5+3×6+4×8=2.414
σb=10+5+6+8((1−2.414)2×10+((2−2.414)2×5)+((3−2.414)2×6)+((4−2.414)2×8)=1.484
2) Foreground
Wf=10+5+6+8+2+6+510+5+6+8=4213=0.310
μf=2+6+55×2+6×6+7×5=6.231
σf=2+6+5((5−6.231)2×2+((6−6.231)2×6)+((7−6.231)2×5)=0.485
Otsu thresholding은 두 histogram을 최대한 분리하는 threshold 값을 찾는 것이 목적이다. 따라서 histogram 간 분산(Between Class Variance) σB2는 최대화하고 histogram 내 분산(Within Class Variance) σW2는 최소화해야 한다.
σW2=Wbσb2+Wfσf2
σB2=σ−σW2=Wb(μb−μ)2+Wf(μf−μ)2=WbWf(μb−μf)2
max(σW2(T)σB2(T))
위 예시에서는 0.512가 나왔다.