[머신러닝] 이미지에서 엣지 검출하기

업데이트:

[머신러닝] 이미지에서 엣지 검출하기

참고링크

머신러닝 딥러닝 선형대수 기초통계 최적화
k-means 신경망이란 고유값,고유벡터 확률변수 컨벡스 셋
k-최근접이웃 성능함수 행렬식 확률분포 컨벡스 함수
선형회귀 신경망 학습 내적 모집단과 표본 라그랑주 듀얼
로지스틱회귀 교차연결 기저 평균과 분산 KKT 조건
릿지,라쏘회귀 합성곱 신경망 랭크, 차원 공분산, 상관계수 ROC 커브
의사결정나무 배치, 에포크 차이 선형변환 최대가능도추정 크로스 밸리데이션
서포트벡터머신 텐서플로기초(1) 직교행렬 베르누이,이항분포 실루엣 스코어
원클래스 SVM 텐서플로기초(2) 고유값분해 기하,음이항분포  
LDA seq2seq 특이값분해 초기하분포  
GMM opencv기초   포아송분포  
부스팅 resnet   정규분포  
사이킷런 실습 다각형내부판별   감마분포  
  엣지판별   지수분포  
      카이제곱분포  
      베타분포  
      균일분포  



참고 링크

1. 서론

이미지 밝기가 급격하게 변하는 이벤트가 발생할 때 이미지에서 엣지를 검출 할 수 있습니다. 엣지를 검출하는 방법에는 여러가지가 존재하는데 크게 search-based 방법과 zero-crossing based 방법으로 나눠집니다. search-based 방법은 그레디언트의 1차 미분을 통해 엣지의 선명함을 측정하고, local directional 최댓값으로 엣지를 추정하는데 이를 gradient direction이라고 합니다. 반면 zero-crossing based 방법은 2차 미분을 통해 엣지를 검출하는 방법입니다.

2. Canny edge detector

canny edge detectgor는 이미지에서 엣지를 검출하기 위해 여러 단계를 거치는 알고리즘 입니다. 이 알고리즘은 John F.Canny가 1986년에 개발한 알고리즘입니다. canny edge detector는 가우시안의 1차 미분을 이용합니다.

3. canny edge detector 과정

canny edge detector는 다음과 같은 과정을 거칩니다.

(1) 가우시안 필터(Gaussian filter)를 이용해 이미지의 노이즈를 없애줍니다. (2) 이미지의 그래디언트를 구합니다. (3) 앞서 구한 그래디언트로 엣지 검출을 위해 필요 없는 부분을 cut-off 시킵니다. (4) 잠재적인 엣지(potential edge)를 결정하기 위해 threshold를 두번 적용시킵니다. (5) 엣지를 결정합니다.

3-1. Gaussian filter란?

이미지에서 엣지 검출할 때, 이미지는 노이즈에 영향을 쉽게 받습니다. 따라서 에러를 줄이기 위해 노이즈를 필터링하는 것이 중요한데, 이를 위해 가우시안 필터 커널을 이미지에 두릅니다. 커널 크기가 $(2k+1)\times(2k+1)$인 가우시안 커널은 다음 식을 이용해 만듭니다.

\[H_{ij} = \frac{1}{2\pi \sigma^2} exp(-\frac{(i-(k+1))^2 + (j-(k+1))^2}{2\sigma^2}), 1\leq i,j \leq (2k+1)\]