Segmentation

2023. 11. 25. 19:08컴퓨터비전

728x90

목표: 어떤 객체로부터 의미 있는 걸 추출해 내는 것

 

Thresholding

1. Global thresholding

: 하나의 T값으로 전체를 적용

 

2. Dynamic(Adaptive) thresholding

: 영역별로 T값을 다르게 적용

 

 

 

noise가 섞이면 Thresholding이 힘들다

오른쪽으로 갈수록 많은 노이즈가 많이 섞여있어 thresholding하기 어려움

 

illunmination and reflectance도 마찬가지

 

 

Basic Global Thresholding 방법

1. Thresholding T를 임의로 선택

-> 처음에 T를 잘못 잡으면 이 알고리즘이 동작하지 않을 수 있다.

2. T를 사용하여 2개의 영역으로 segent

3. 두 영역의 평균 gray level 값 m1, m2을 계산

4. (m1+m2)/2로 새로운 T값 계산

5. 최소의 2~4번 반복

-> T 값 사이의 차이가 미리 정의된 parameter값보다 작을 때까지 반복

 

 

k-Means Clustering

1. 원하는 cluster의 개수 K를 정하고, 랜덤 하게 cluster center값들을 초기화

2. 각 점들에 대해 가장 가까운 center를 찾고 그 center를 가진 cluster로 넣기.

3. cluster의 평균위치로 center를 옮긴다

4. center가 바뀌면 2~3번 반복

 

 

장점

  • 간단하고, 계산이 빠르다

단점

  • K를 몇으로 세팅해야 할지 난감
  • 초기 centr값에 민감하다
  • outlier에 민감하다

  • spherical(구형의) cluster에는 동작이 안됨

 

 

 

Clustering으로 segmentation 하기

feature space를 무엇으로 고르느냐에 따라 clustering 결과가 달라진다

 

1. Feature space: intensity value

 

2. Feature space: color value

 

3. Feture spae: intensity+position value

위치값도 포함

밝기값으로만 clustering 하면 눈과 귀가 같은 cluster로 묶이지만

위치값도 포함하면 다른 cluster로 묶을 수 있다.

 

4. Feature space: filter bank responses

-> texture(질감)이 같은 거끼리 묶기

밝기+위치값으로 clustering 하기 힘들 때 사용

 

 

Mean shift clustering

: feature space에서 local마다 밀집도가 높은 부분을 찾는다

 

1. 랜덤 하게 중심, 윈도우크기 w 잡기

2. W에서의 무게중심을 계산

3. 그 무게중심점으로 shift

4. 수렴할 때까지 2~3 반복

 

 

장점

  • 미리 shape를 추측할 필요가 없다
    -> 모델링 안 해도 됨
  • 파라미터가 윈도우 size 하나뿐
    -> 게다가 물리적 수치라 k-means 방법의 k에 비해 사이즈 정하기 편함
  • outlier에 강하다

단점

  • 윈도우 size에 영향을 많이 받는다

 

728x90