Google scholar : https://ieeexplore.ieee.org/abstract/document/4767851
앞 절은 ‘그럴듯해 보이는’ 에지 연산자 사용
1986년에 Canny 에지 발표 [Canny86]
- 에지 검출을 최적화 문제로 해결하였다.
- 좋은 에지 알고리즘이 갖추어야 할 세 가지 기준은 다음 3가지다.
- 캐니 기준에 맞는 목적 함수를 만든 후, 이 함수를 최적화하는 연산자 설계를 실패했다.
- 따라서 1차원 계단 에지에 화이트 잡음이 첨가된 상황을 가정하고 최적화 작업을 하였다.
- 그 결과 가우시안에 1차 미분을 적용한 연산자가 최적임을 수학적으로 증명하였다.
- 1차원을 2차원으로 확장하기 위해서 그레이디언트 방향을 알아내어 미분을 수행해야 하는데 그것을 모른다.
- 이 과정을 아래의 에지 연산자와 같은 마스크를 이용하여 그레이디언트 방향을 구하는 것으로 근사할 수 있고, 이때 발생하는 오류를 허용할 수 있는 범위에 있다는 사실을 증명했다.
- 이렇게 구한 에지 영상은 에지가 두껍기 때문에 얇게 바꾸는 비최대 억제라는 단계를 추가한다.
- 마지막으로 거짓 긍정 에지를 제거하는 이력 임계값 단계를 적용한다.
- 이들을 가성 코드로 쓴 것이 아래의 캐니 에지 검출 알고리즘이다.
비최대 억제(non-maximum suppression)
maximum이 아니면 없애라
이웃 두 화소보다 에지 강도가 크지 않으면 억제된다(에지가 아닌 것으로 결정한다).
회색의 화소가 p(화살표)에 대한 이웃 두 화소이고 p의 에지 강도가 두이웃보다 크면 에지가 되고 아니면 안된다.
= 지역의 최대점만 얇은 두께의 에지 영상으로 생성된다.
이력 임계값
- 두 개의 임계값 T_high와 T_low 사용하여 거짓 긍정 줄인다.
- 비최대 억제를 적용했을 때 거짓 긍정(에지가 아닌데 에지로 판명된 경우)도 많이 포함되어있다.
- 임계값 T를 설정해 놓고 에지 화소 p의 에지 강도 s(p) < T 이면 거짓 긍정으로 보고 제거한다.
- 하나를 얻으면 하나를 잃는 길항 작용을 한다.
- T를 높게 설정하면 거짓 긍정은 제거를 잘하지만 / 에지 강도가 낮은 진짜 에지를 제거하는 거짓 부정 문제 발생한다.
// 가짜 에지를 제거 잘하지만 진짜도 지운다.
- 에지 추적은 T_high를 넘는 화소에서 시작, 추적 도중에는 T_low 적용
- 신뢰가 높은 화소만 에지 추적을 시작할 권리를 얻는다.
- 이웃 화소가 추적이력이 있으면 자신은 신뢰도가 낮더라도 에지로 간주된다.
- T_high를 T_low의 2~3배로 할 것을 권고한다.
알고리즘은 아래와 같다.
16 | if(S(y,x) > T_high and visited(y,x) = 0) follow_edge(y,x);
16번 부터 추적시작
영교차 에지와 마찬가지로 σ가 커질수록 디테일이 사라진다.
낮은 임계값과 높은 임계값 비교
오른쪽이 왼쪽의 2배이며
T_high와 T_low는 2.5배이다.
z.B) σ = 2.0 일때
왼쪽 : (T_high, T_low) = (0.125, 0.05)
오른쪽 : (T_high, T_low) = (0.25, 0.1)
임계값이 높을 때 에지가 적게 검출된다.
'컴퓨터 비전' 카테고리의 다른 글
3장 에지 검출 - RANSAC (Random Sample Consensus) (0) | 2020.05.13 |
---|---|
3장 에지 검출 - 허프변환(Hough Transform) (0) | 2020.05.13 |
3장 에지 검출 - 영교차 이론(Zero-crossing) (0) | 2020.05.12 |
3장 에지 검출 - 에지 검출의 기초 (0) | 2020.05.12 |
2장 영상처리 - 컬러 (0) | 2020.05.12 |