Otsu's Method (오츠 알고리즘)

이사무엘·2024년 3월 23일

이미지처리

목록 보기
5/6

오츠 알고리즘

Otsu의 알고리즘에서 within-class variancebetween-class variance를 수식으로 간단히 표현하면 다음과 같습니다.

  • within-class variance : σw2=w0σ02+w1σ12\sigma^2_w = w_0 \sigma^2_0 + w_1 \sigma^2_1
  • bitween-class variance : σb2=w0w1(μ0μ1)2\sigma^2_b = w_0 w_1 (\mu_0 - \mu_1)^2

먼저 전체 이미지의 픽셀 강도에 대한 확률 분포를 고려합시다. 픽셀 강도 ii가 나타날 확률을 p(i)p(i)라고 하겠습니다. 그럼 전체 이미지에 대한 확률 분포는 i=0L1p(i)=1\sum_{i=0}^{L-1} p(i) = 1 (여기서 LL은 가능한 픽셀 강도의 수)로 표현됩니다.

임계값 tt를 기준으로 이미지를 두 클래스로 나눕니다: 클래스 1 (C1C_1, 픽셀 강도가 tt 이하)와 클래스 2 (C2C_2, 픽셀 강도가 tt 초과).

1. 클래스 확률:

  • 클래스 1의 확률: w1(t)=i=0tp(i)w_1(t) = \sum_{i=0}^{t} p(i)
  • 클래스 2의 확률: w2(t)=i=t+1L1p(i)w_2(t) = \sum_{i=t+1}^{L-1} p(i)
  • 여기서 w1(t)+w2(t)=1w_1(t) + w_2(t) = 1

2. 클래스 평균:

  • 클래스 1의 평균: μ1(t)=i=0tip(i)w1(t)\mu_1(t) = \sum_{i=0}^{t} \frac{i \cdot p(i)}{w_1(t)}
  • 클래스 2의 평균: μ2(t)=i=t+1L1ip(i)w2(t)\mu_2(t) = \sum_{i=t+1}^{L-1} \frac{i \cdot p(i)}{w_2(t)}

3. 전체 평균:

  • 전체 이미지의 평균: μT=i=0L1ip(i)\mu_T = \sum_{i=0}^{L-1} i \cdot p(i)

Otsu's Method는 σB2(t)\sigma_B^2(t)를 최대화하는 tt 값을 찾습니다. 이렇게 함으로써, 두 클래스 간의 분산을 최대화하여 서로 다른 두 클래스를 명확하게 구분할 수 있는 임계값을 결정합니다.

이 수식은 "within-class variance"를 직접 계산하는 것보다 계산량이 적고, 클래스 간의 차이를 최대화하는 방식으로 최적의 임계값을 효율적으로 찾을 수 있게 해줍니다.

0개의 댓글