윤곽선 검출
이미지에서 경계선을 찾아내는 과정
경계선 - 색상/밝기가 급격
Sobel Filter (1차 미분 기반)
밝기의 변화가 급격한 부분 = 엣지 라고 보고
수학적으로 1차 미분값이 큰 부분을 엣지로 간주
- x축 / y축 방향으로 미분 필터 적용
- 밝기의 변화율(∂I/∂x, ∂I/∂y) 계산
장점 | 단점 |
- 빠르고 간단 - 방향성(수평/수직) 추출 가능 - 연산량 적음 |
- 노이즈에 민감 - 두꺼운 엣지 발생 - 약한 엣지 잘 못 잡음 |
Prewitt / Scharr Filter
Sobel을 변형해서 좀 더 부드럽거나 강하게 강조하는 필터
Prewitt: 고전적인 평균 기반의 미분 필터
Scharr: Sobel보다 회전 불변성과 선명도가 개선됨
장점 | 단점 | |
Prewitt | - Sobel보다 더 간단 - 연산이 더 가벼움 |
- 정확도는 Sobel보다 낮음 - 현대에선 거의 사용 X |
Scharr | - 회전 불변성 ↑ - Sobel보다 더 날카로운 엣지 |
- 연산량 조금 많음 - 일반적인 상황에선 차이 미미 |
Laplacian (2차 미분 기반)
밝기 변화가 가장 급격하게 꺾이는 지점 = 엣지
2차 미분 == 0 되는 점 = 변화가 급격한 지점
Laplacian 연산자(∇²I)
∂²I/∂x² + ∂²I/∂y²
밝기의 휨 정도(curvature)를 계산
장점 | 단점 |
- 수평/수직 둘 다 감지 (방향 불필요) - 윤곽 전체 감지 가능 |
- 노이즈에 매우 민감 - 경계가 두껍게 나옴 - 이중 엣지 현상 |
Marr-Hildreth (LoG: Laplacian of Gaussian)
엣지를 정확히 감지하려면 미분 전에 노이즈를 제거해야 함
Laplacian + Gaussian smoothing을 결합
이미지에 가우시안 블러 적용
그 결과에 Laplacian 적용
LoG(I)=∇2(G∗I)
장점 | 단점 |
- 노이즈 제거 + 윤곽 감지 결합 - Marr-Hildreth 모델 기반 |
- 계산 복잡 - 엣지가 이중선으로 나옴 - 실전 성능 낮음 |
Canny (다단계 + 최적 이론 기반)
엣지를 단순히 감지하는 것이 아니라, 의미 있는 엣지만 정확히 얇게 검출
1. Noise Reduction (노이즈 제거)
Gaussian Blur(가우시안 필터)를 사용하여 이미지의 노이즈제거
2. Gradient Calculation (그래디언트 계산)
Gradient = 변화량
이미지의 x축, y축 방향의 미분(Sobel 필터)을 통해 각 픽셀의 변화율(gradient)을 계산
→ 한 픽셀 주변에서 밝기가 얼마나 빠르게 변하느냐를 계산
엣지의 강도(magnitude)와 방향(angle)을 구함
3. Non-Maximum Suppression (비최대 억제)
가장 두드러진 엣지만 남기고 나머지 엣지는 억제
각 픽셀의 엣지 방향(θ)을 기준으로,
그 방향의 양 옆 픽셀들과 비교해서 자기보다 크면 유지, 작으면 제거(=0)
가장 강한 픽셀만 유지
4. Double Threshold (이중 임계값)
엣지를 두 단계로 나눔
강한 엣지(strong edge): 확실한 엣지
약한 엣지(weak edge): 엣지일 수도 있고 아닐 수도 있는 후보
무시할 엣지: 임계값보다 낮은 값
예: low threshold = 50, high threshold = 150
5. Edge Tracking by Hysteresis (히스테리시스를 통한 엣지 추적)
히스테리시스(Hysteresis) - 어떤 시스템의 현재 상태가, 단순히 현재 입력에만 따라 결정되는 게 아니라 과거의 입력 상태에도 영향을 받음
강한 엣지는 확실한 엣지로 확정
약한 엣지는 주변에 강한 엣지가 연결되어 있으면 엣지로 간주
실제 이미지에서 노이즈 + 엣지 겹침 + 약한 윤곽선 문제를 해결하려 함
장점 | 단점 |
- 매우 정밀하고 깔끔한 엣지 - 노이즈 제거 포함 - 얇고 연속적인 엣지 생성 |
- 속도 느림 (복잡한 단계) - 파라미터 조절 필요 |