Canny Edge의 정의
Canny Edge Detection은 1986년 John F. Canny에 의해 개발된 알고리즘
가장 인기있는 에지 찾기 알고리즘 중 하나
윤곽을 가장 잘 찾아내면서도 원래 영상의 회색과 관련된 모든 에지(Edge)들을 제거할 수 있는 유일한 방법
Canny Edge의 장점
1. 에러율이 낮음
2. 정확도
3. 단일 점 매칭 - 검출기가 에지 점 하나만 있는 곳에 식별하지 말아야 한다는 것
Canny Edge의 단점
1. 구현이 복잡
2. 긴 실행시간
Canny Edge 구현 5단계
1. Noise Reduction
노이지가 있으면 에지를 찾는 게 어려워짐
가우시안 필터(Gaussian Filter) 이용해 이미지의 노이즈를 줄여줌
2. Finding the intensity gradient of the image
가우시안 필터로 노이즈가 제거된 이미지를 Sobel 커널을 각 방향으로 적용하여 방향 별 gradient를 획득
수평의 gradient 는 Ix
수직의 gradient 는 Iy
gradient의 방향은 Edge에 수직인 방향
여기서 Edge 는 Image의 강도(Intensity) 가 급격하게 변하는 부분
극 값은 Maximum, Mimumum 2군데에서 찾고 이를 합쳐 Extrema
픽셀 (x,y) 에서의 Edge Gradient
Sobel를 통해 계산을 하는 건 Extreme 를 찾는 것
이 값들을 각 방향 별로 미분하면 가장 빠르게 증가한 방향을 나태내고 크기를 나타냄
이 크키를 통해 증가량 비교하여 방향 구할 수 있음
위의 G는 강도(Norm)의 크기를 얻는 것
미분을 통해 각도(Angle) 를 구하는 것
아래의 값을 구할 수 있음
이 각도를 구하면 각각의 방향성에 있어 각도를 그룹화
여기선 (0, 45, 90, 135) 로 구분
3. Non-maximum suppression
매우 중요 Local maxima 선택하는 단계
극 값을 선택 할 때 잘못된 영역이 나오면 진짜 Edge가 아닌데 나온 영역이 있는 것
이런 Non-Maximum를 제거해야 함
1번 과정에서 Blur를 통하여 흐려진 Edge에서 잘못된 영역이 선택된 것이기 때문에 다시 Sharp edge 로 변환 필요
Local Maxima는 남기고 나머지는 모두 제거하는 작업 진행
45단 간격으로 라운딩하면서 이웃 설정 후 양 음 방향의 에지 강도와 현재 픽셀의 에지 강도 비교 판단
현재 픽셀 에지가 가장 크면 보존, 아니면 삭제
4. Double thresholding
3단계 non-maximum suppression을 거친 이미지에 나타나는 에지들 중에는 노이즈(Nosie)에 의해 검출된 것들이 존재
구별을 하기 위해 임계 값 사용
파랑색 영역은 제거(non-relevant)
주황색, 빨간색 영역을 각각 구분
진한 흰색은 빨간색 영역으로 선명한 에지(Strong), 옅은 회색 영역은 주황색 영역(weak)으로 옅은 에지입니다.
5. Edge tracking by hysteresis
이제 진한 에지가 되고 옅은 에지 연관성을 판별해야 함
5단계가 연관성의 판별 단계
강한 에지를 기본으로 옅은 에지 중에 강한 에지와 연결될 경우에만 추가
Sobel Operator
1968년 스탠포드 인공지능 연구소에서 어원 소벨이 소안해낸 가장자리 검출 알고리즘
3x3 크기의 행렬을 사용하여 연산을 하였을 때 중심을 기준으로 각 방향의 앞 뒤 값을 비교하여서 변화량을 검출하는 알고리즘
Canny Edge 구현 코드
구현 코드는 github 참고
github.com/Chung-god/ComputerVision
'공부 > 컴퓨터비젼' 카테고리의 다른 글
[컴퓨터 비젼] 10. Panoramas (0) | 2021.04.12 |
---|---|
[컴퓨터비젼] 9. RANSAC (0) | 2021.04.12 |
[컴퓨터비젼] 8. Image alignment (0) | 2021.04.05 |
[컴퓨터비젼] 7. Transformations and warping (1) | 2021.03.30 |
[컴퓨터비젼] 6. Feature descriptors and matching (2) | 2021.03.29 |