Computer Vision - Binary Image

‍이세현·2024년 10월 3일
1

이진 영상

  • 흑백: 0부터 255 사이의 값을 가지는 gray scale image
  • 이진: 어떤 기준에 의해 이진화 되어 0 또는 255 값을 가지는 binary image

이진화와 오츄 알고리즘

  • 이진화(Binarization: Gray to Binary)
    • 명암 영상을 흑과 백만 가진 이진 영상으로 변환
      b(j,i)={1,f(j,i)T0,f(j,i)<Tb(j, i) = \begin{cases} 1, & f(j, i) \geq T \\ 0, & f(j, i) < T \end{cases}
  • 임계값 방법
    • 히스토그램의 두 봉우리 사이의 계곡(몰려있는 두 영역 사이)을 임계값 T로 결정
    • 자연 영상에서는 계곡 지점 결정이 어렵다.
  • 오츄 알고리즘(Otsu79)
    • 이진화 했을 때 흑 그룹과 백 그룹이 각각 균일할수록 좋다는 원리에 근거하여 threshold를 정하는 알고리즘
    • 균일성은 분산으로 측정한다.
      • 분산이 작을수록 균일성이 높다.
    • 분산의 가중치 합을 목적 함수로 이용한 최적화 알고리즘
    • 흑 그룹 00과 백 그룹 11의 분산 계산
      T=argmint{0,1,,L1}vwithin(t)vwithin(t)=w0(t)v0(t)+w1(t)v1(t)w0(t)=i=0th^(i),w1(t)=i=t+1L1h^(i)μ0(t)=1w0(t)i=0tih^(i),μ1(t)=1w1(t)i=t+1L1ih^(i)v0(t)=1w0(t)i=0th^(i)(iμ0(t))2,v1(t)=1w1(t)i=t+1L1h^(i)(iμ1(t))2T = \arg\min_{t \in \{0, 1, \dots, L-1\}} v_{\text{within}}(t) \\ v_{\text{within}}(t) = w_0(t)v_0(t) + w_1(t)v_1(t) \\ w_0(t) = \sum_{i=0}^{t} \hat{h}(i), \quad w_1(t) = \sum_{i=t+1}^{L-1} \hat{h}(i) \\ \mu_0(t) = \frac{1}{w_0(t)} \sum_{i=0}^{t} i \hat{h}(i), \quad \mu_1(t) = \frac{1}{w_1(t)} \sum_{i=t+1}^{L-1} i \hat{h}(i) \\ v_0(t) = \frac{1}{w_0(t)} \sum_{i=0}^{t} \hat{h}(i) (i - \mu_0(t))^2, \quad v_1(t) = \frac{1}{w_1(t)} \sum_{i=t+1}^{L-1} \hat{h}(i) (i - \mu_1(t))^2
      • 각 그룹의 픽셀 수와 분산을 곱하여 합한 값을 최소화하는 임계 tt를 찾아야 한다.
    • 위의 과정을 0부터 255까지 반복적으로 수행하는 것은 매우 복잡하다.
      • t1t-1번째의 계산 결과를 tt번째에 활용하여 빠르게 계산한다.

연결 요소

  • 화소의 모양과 연결성
    • 화소의 모양
      1. 사각형 pixel: 가장 흔히 사용되는 화소 모양
      2. 육각형 pixel: 행과 열 표현이 어려워 가장 드물게 사용되는 화소 모양
    • 화소의 연결성
      1. 4-연결성: 시간 효율적
      2. 8-연결성: 이웃 확인이 쉽다.
  • 연결 요소 번호 붙이기(Image Labeling)
    1. 입력된 이진 영상에서 1이 나올 때까지 (0,0)(0,0)부터 (M1,N1)(M-1, N-1)까지 훑는다.
    2. 1이 나오면 4연결성은 상하좌우, 8연결성은 이웃 전체에서 1을 확인한다.
    3. Mask Image는 이미 처리된 pixel을 mark하고 더이상 고려하지 않는다.
    4. 2와 3을 반복하다가 label 영역이 끝나면 다시 처음부터 읽어간다.
  • Stack Overflow 위험
    • 입력 영상의 경계, 즉 j=0,j=M1,i=0,i=N1j=0, j=M-1, i=0, i=N-1인 화소를 0으로 설정한다.
    • 영상 바깥으로 나가는 위험을 방지한다.
profile
Hi, there 👋

0개의 댓글

관련 채용 정보