본격적인 설명을 하기 앞서, 아래의 모분산의 공식을 이해하고 있어야 한다.
오츄(Otsu) 알고리즘은 이미지 이진화(binarization)를 수행하기 위한 알고리즘 중 하나로, 이미지의 히스토그램을 분석하
여 최적의 임계값을 찾아내는 데 사용됩니다.
아래에 오츄 알고리즘을 예시를 들어 구체적이고 쉽게 설명하겠습니다.
단계 1: 히스토그램 생성
이미지를 흑백으로 변환(명암 영상으로 변환)하고, 픽셀 값의 히스토그램을 생성합니다. 히스토그램은 픽셀 값의 빈도를
나타냅니다.
단계 2: 클래스 간 분산 계산
각각의 가능한 임계값마다 클래스 간 분산(between-class variance)을 계산합니다.
클래스 간 분산은 두 클래스(흑색과 백색으로 구분되는 경우) 간의 분산 정도를 나타내며,
값이 클수록 두 클래스 간의 차이가 큽니다.
임계값을 T라고 할 때, 클래스 간 분산은 다음과 같이 계산됩니다:
단계 3: 최적 임계값 선택 클래스 간 분산을 모든 가능한 임계값에 대해 계산한 후, 그 중에서 클래스 간 분산이 최대가 되는 임계값을 선택합니다. 수학적으로는 최대값을 찾는 것이지만, 이를 구체적으로 계산하는 부분은 생략하겠습니다.
예시: 다음은 간단한 예시를 통해 오츄 알고리즘의 작동을 보여줍니다.
- 간단한 이미지의 픽셀 값: [50, 60, 70, 120, 130, 140, 220, 230, 240]
- 히스토그램: {50: 1, 60: 1, 70: 1, 120: 1, 130: 1, 140: 1, 220: 1, 230: 1, 240: 1}
임계값을 150이라고 가정하면,(각 픽셀값이 150이상이면 클래스 1, 150 이하이면 클래스 0)
이런 식으로 모든 가능한 임계값에 대해 계산하고, 최대값을 가지는 임계값을 선택하게 됩니다.
이 임계값을 기준으로 이미지를 이진화할 수 있습니다.
(클래스 0과 클래스 1의 분산의 차이가 큰 임계값일수록, 흑백 구분이 잘 된다)
다만, [컴퓨터 비전과 딥러닝] 교재의 p87의 오츄 알고리즘은 식을 좀더 최적화 시켜 놓은 거여서, 위 식과는 다르다. 그러
식의 형태만 다를 뿐, 원리는 위에서 파생된다.
'딥러닝(Deep Learning) > 컴퓨터 비전' 카테고리의 다른 글
캐니 에지(Canny Edge)(feat. false positive) (2) | 2024.01.02 |
---|---|
물체 인식(Object Recongnition) vs 의미 분할(Semantic Segmentation) (0) | 2023.12.31 |
png 파일과 jpg(jpeg) 파일의 차이점(feat. Alpha 채널) (2) | 2023.12.27 |
Color Quantization(feat.양자화) (0) | 2023.12.26 |
cv.setMouseCallback() 사용 시, 매개 변수 flags의 역할 (0) | 2023.12.26 |