[비전검사 시리즈 15편] Edge Detection(에지 검출)의 원리와 활용 방법 | Canny, Sobel 비교
Edge Detection(에지 검출)이란?

비전검사에서 제품의 크기를 측정하거나 위치를 찾고, 형상을 분석하기 위해 가장 먼저 수행하는 작업이 있습니다.
바로 Edge Detection(에지 검출) 입니다.
Edge는 이미지에서 밝기가 급격하게 변하는 경계 부분을 의미합니다.
사람이 제품을 볼 때 가장 먼저 외곽선을 인식하듯이, 머신비전도 Edge를 먼저 찾아 제품을 분석합니다.
실제로 다음과 같은 검사에서 Edge Detection은 반드시 사용됩니다.
- 치수 측정
- 위치 보정(Alignment)
- Pattern Matching
- Contour Detection
- OCR 전처리
- Blob Analysis 전처리
- 불량 형상 검사
즉, Edge Detection은 대부분의 비전검사 알고리즘의 시작점이라고 할 수 있습니다.
Edge란 무엇인가?
Edge는 이미지의 픽셀 밝기가 급격하게 변하는 부분입니다.
예를 들어 흰색 배경 위에 검은색 사각형이 있다면,사각형의 테두리가 모두 Edge가 됩니다.
반대로 밝기가 일정한 영역은 Edge가 아닙니다.
즉, 밝기 변화가 큰 부분 = Edge 라고 이해하면 됩니다.
왜 Edge Detection이 중요한가?
비전검사에서는 단순히 제품이 있는지만 확인하는 것이 아닙니다.
다음과 같은 정보를 얻어야 합니다.
- 길이
- 폭
- 직경
- 각도
- 중심 좌표
- 위치 오차
- 형상 변화
이 모든 정보는 Edge를 기준으로 계산됩니다.
예를 들어 볼트의 직경을 측정한다고 가정하면,
볼트 내부를 분석하는 것이 아니라 좌우 Edge 사이의 거리를 계산하여 직경을 구합니다.
Edge Detection의 기본 원리
Edge Detection은 밝기 변화(Gradient)를 계산하여 경계를 찾습니다.
밝기 변화가 작으면 평탄한 영역,밝기 변화가 크면 Edge로 판단합니다.
즉,이미지의 밝기 기울기(Gradient)를 계산하는 것이 핵심 원리입니다.
Gradient(기울기)란?
Gradient는 밝기가 얼마나 빠르게 변하는지를 나타냅니다.
예를 들어,
0 0 0 0 0
255 255 255 255 255
위와 같은 경우 가운데 부분의 변화가 매우 크므로 Edge가 발생합니다.
Gradient 값이 클수록 Edge일 가능성이 높습니다.
Sobel Edge Detection이란?
Sobel 알고리즘은 가장 오래되고 널리 사용되는 Edge Detection 방법입니다.
수평(X축)과 수직(Y축)의 밝기 변화를 각각 계산하여 Edge를 검출합니다.
Sobel의 특징은 다음과 같습니다.
- 구현이 간단
- 계산 속도가 빠름
- 노이즈에 비교적 강함
- 실시간 검사에 적합
하지만 매우 미세한 Edge를 검출하는 능력은 다소 부족합니다.
Sobel 알고리즘의 동작 과정
Sobel은 두 개의 필터(Kernel)를 사용합니다.
X 방향
-1 0 1
-2 0 2
-1 0 1
Y 방향
-1 -2 -1
0 0 0
1 2 1
두 방향의 Gradient를 계산한 후 최종 Edge를 생성합니다.
Canny Edge Detection이란?
Canny는 현재 가장 많이 사용하는 Edge Detection 알고리즘입니다.
단순히 Gradient만 계산하는 것이 아니라,
노이즈 제거부터 최종 Edge 생성까지 여러 단계를 수행합니다.
그래서 Sobel보다 훨씬 깨끗한 Edge를 얻을 수 있습니다.
Canny의 처리 과정
Canny는 다음과 같은 과정을 거칩니다.
① Gaussian Blur 적용
↓
② Gradient 계산
↓
③ Non-Maximum Suppression
↓
④ Double Threshold
↓
⑤ Edge Tracking
↓
최종 Edge 생성
이처럼 여러 단계를 수행하기 때문에 노이즈가 적고 정확도가 높습니다.
Sobel과 Canny의 차이점
| 항목 | Sobel | Canny |
| 처리 속도 | 매우 빠름 | 빠름 |
| 노이즈 제거 | 없음 | Gaussian Blur 적용 |
| Edge 품질 | 보통 | 매우 우수 |
| 구현 난이도 | 쉬움 | 다소 복잡 |
| 실무 활용 | 기본 검사 | 대부분의 비전검사 |
현재 산업용 비전검사에서는 Canny를 가장 많이 사용합니다.
Edge Detection 활용 사례
1. 치수 측정
제품의 외곽선을 검출하여 폭, 길이, 직경 등을 계산합니다.
자동차 부품 검사에서 가장 많이 사용하는 방법입니다.
2. Alignment
기준 제품과 현재 제품의 Edge를 비교하여 위치를 보정합니다.
3. Pattern Matching
Pattern Matching에서도 Edge 정보를 이용하면 조명 변화의 영향을 줄일 수 있습니다.
4. OCR 전처리
문자의 외곽선을 선명하게 만들어 OCR 인식률을 높입니다.
5. PCB 검사
PCB 회로 패턴의 Edge를 검출하여 패턴 단선 여부를 검사합니다.
Edge Detection과 Blob Analysis의 차이
많은 사람들이 혼동하는 부분입니다.
| Edge Detection | Blob Analysis |
| 경계선 분석 | 객체 전체 분석 |
| 치수 측정 | 면적 검사 |
| 위치 계산 | 개수 검사 |
| 윤곽선 중심 | 픽셀 영역 중심 |
Edge Detection은 경계를 찾는 기술이고,
Blob Analysis는 객체 자체를 분석하는 기술입니다.
실제 비전검사에서는 두 기술을 함께 사용하는 경우가 많습니다.
OpenCV에서 Edge Detection 구현
OpenCV에서는 다음과 같은 함수를 사용합니다.
- Sobel()
- Scharr()
- Laplacian()
- Canny()
일반적인 처리 순서는 다음과 같습니다.
- 이미지 읽기
- Gray 변환
- Gaussian Blur
- Canny 실행
- Edge 출력
대부분의 머신비전 프로그램도 이와 유사한 흐름으로 구현됩니다.
실무에서 많이 하는 실수
조명이 일정하지 않다.
조명이 변하면 Edge 위치도 달라질 수 있습니다.
항상 일정한 조명 환경을 유지해야 합니다.
Threshold 값을 너무 낮게 설정한다.
노이즈까지 Edge로 검출되어 오검출이 증가합니다.
Blur를 사용하지 않는다.
Gaussian Blur 없이 Canny를 적용하면 노이즈가 많이 검출될 수 있습니다.
카메라 Focus가 맞지 않는다.
초점이 맞지 않으면 Edge가 흐려지고 측정 오차가 커집니다.
Edge Detection 성능을 높이는 방법
정확한 Edge를 얻기 위해 다음 사항을 확인하세요.
- 충분한 조명 확보
- Camera Focus 조정
- Exposure 최적화
- Gain 최소화
- Histogram 확인
- Gaussian Blur 적용
- 적절한 Threshold 설정
이러한 요소를 함께 최적화해야 안정적인 Edge를 얻을 수 있습니다.
실무 체크리스트
Edge Detection을 적용하기 전에 다음 항목을 확인해 보세요.
- 조명이 일정한가?
- Focus가 정확한가?
- Motion Blur가 없는가?
- Histogram이 정상 분포인가?
- 노이즈 제거를 적용했는가?
- Edge가 끊어지지 않았는가?
- Threshold 값이 적절한가?
Edge Detection 실패 사례와 개선 방법
실패 사례 1. 조명 반사 때문에 Edge가 여러 개 검출되는 경우
문제 상황
금속 부품이나 유광 플라스틱 제품 검사에서 강한 조명을 사용했습니다.
제품 외곽 Edge를 검출하려 했지만 표면 반사광까지 Edge로 인식되는 문제가 발생했습니다.
발생 결과:
- 실제 Edge보다 많은 경계 검출
- 치수 측정값 불안정
- 위치 계산 오류
- 불량 오검출 증가
원인
Edge Detection은 밝기 변화가 발생하는 모든 영역을 Edge로 판단합니다.
따라서 제품의 실제 경계뿐 아니라 반사광, 그림자, 조명 변화도 Edge가 될 수 있습니다.
개선 방법
- 조명 각도 변경
- Dome Light 적용
- 편광 필터 사용
- 반사 영역 제외 ROI 설정
- Histogram 분석 후 밝기 조건 최적화
실패 사례 2. 초점 불량으로 Edge가 흐려지는 경우
문제 상황
카메라 Focus가 정확하게 맞지 않은 상태에서 치수 측정을 진행했습니다.
이미지는 촬영되었지만 제품 경계가 흐릿하게 나타났습니다.
발생 결과:
- Edge 위치 변화
- 측정 오차 증가
- 반복 검사 결과 불일치
원인
Edge Detection은 밝기 변화가 급격한 지점을 찾는 방식입니다.
하지만 초점이 맞지 않으면 밝기 변화가 완만해져 정확한 Edge 위치를 찾기 어렵습니다.
개선 방법
- 렌즈 Focus 재조정
- 조리개(F값) 최적화
- 카메라 설치 거리 점검
- 고해상도 렌즈 적용 검토
실패 사례 3. 노이즈를 Edge로 판단하는 경우
문제 상황
제품 표면에 미세한 노이즈가 존재하는 상태에서 Canny Edge Detection을 적용했습니다.
결과:
- 작은 점 형태의 Edge 다수 발생
- 불필요한 Contour 증가
- 검사 속도 저하
원인
이미지 내 작은 밝기 변화도 Gradient 값으로 계산되기 때문입니다.
특히 Gain을 높인 이미지에서는 노이즈가 증가하여 Edge 검출 성능이 크게 저하됩니다.
개선 방법
검사 전 전처리를 적용합니다.
추천 방법:
- Gaussian Blur 적용
- Median Filter 적용
- Gain 최소화
- 조명 개선
실패 사례 4. Canny Threshold 값을 고정한 경우
문제 상황
개발 환경에서 테스트한 Canny Threshold 값을 생산라인에 그대로 적용했습니다.
하지만 생산 환경에서는 제품 재질과 조명 조건이 달라 Edge 검출 결과가 변했습니다.
발생 결과:
- 일부 Edge 누락
- 불필요한 Edge 증가
- 검사 편차 발생
개선 방법
- 실제 생산 조건에서 Threshold 재설정
- Histogram 기반 밝기 분석
- 제품별 검사 조건 관리
- 자동 Threshold 적용 검토
실패 사례 5. Motion Blur로 Edge가 깨지는 경우
문제 상황
컨베이어 위에서 이동하는 제품을 촬영하면서 Exposure 시간이 너무 길게 설정되었습니다.
결과:
- Edge가 퍼짐
- 외곽선 끊김
- 치수 계산 오류
원인
움직이는 물체는 촬영 중 위치가 변하기 때문에 이미지가 흐려집니다.
개선 방법
- Exposure 시간 감소
- Strobe 조명 적용
- 카메라 Trigger 동기화
- 고속 셔터 설정
실패 사례 6. Edge 방향을 고려하지 않은 검사
문제 상황
모든 방향의 Edge를 동일하게 검사하도록 설정했습니다.
하지만 제품에는 검사 대상이 아닌 패턴과 홈이 존재했습니다.
결과:
- 불필요한 Edge 검출
- 잘못된 위치 계산
- 검사 시간 증가
개선 방법
- 검사 방향 제한
- 관심 영역 ROI 설정
- 필요한 Edge 방향만 분석
- Line Profile 활용
Edge Detection 실패를 줄이는 실무 핵심 포인트
안정적인 Edge Detection을 위해서는 알고리즘 선택보다 입력 이미지 품질 관리가 중요합니다.
다음 순서를 권장합니다.
- 조명 조건 최적화
- 카메라 Focus 조정
- Exposure 설정
- Gain 최소화
- Noise 제거
- Edge Threshold 조정
- 검사 조건 검증
특히 산업용 비전검사에서는 Edge 알고리즘보다 조명과 이미지 품질이 결과를 결정하는 경우가 많습니다.
자주 묻는 질문(FAQ)
Q1. Sobel과 Canny 중 어느 것을 사용해야 하나요?
일반적인 비전검사에서는 Canny를 권장합니다. 노이즈 제거와 Edge 추적 기능이 포함되어 있어 더 안정적인 결과를 제공합니다.
Q2. Edge Detection만으로 치수를 측정할 수 있나요?
가능합니다. Edge를 검출한 뒤 픽셀 간 거리를 계산하고, 카메라 캘리브레이션 값을 적용하면 실제 길이나 직경을 측정할 수 있습니다.
Q3. Canny의 Threshold 값은 어떻게 정해야 하나요?
정답은 없습니다. 조명 환경, 카메라 설정, 제품 재질에 따라 달라집니다. 일반적으로 다양한 값을 테스트하여 가장 안정적인 범위를 찾습니다.
Q4. Edge Detection은 컬러 이미지에서도 사용할 수 있나요?
가능하지만 대부분의 비전검사에서는 컬러 이미지를 먼저 Grayscale로 변환한 뒤 Edge Detection을 수행합니다.
마무리
Edge Detection은 비전검사의 기초이자 가장 중요한 이미지 처리 기술 중 하나입니다. 제품의 경계를 정확하게 검출해야 치수 측정, 위치 보정, 형상 검사 등 다양한 후속 알고리즘이 안정적으로 동작할 수 있습니다.
특히 Sobel은 빠르고 간단한 구현이 장점이며, Canny는 노이즈에 강하고 정밀한 검출이 가능해 현재 산업용 비전검사에서 가장 널리 사용되고 있습니다. 검사 대상과 환경에 맞는 알고리즘을 선택하고 조명, 카메라 설정, 전처리를 함께 최적화하는 것이 중요합니다.
다음 편에서는 "Contour Detection 활용법 | 외곽선 검출과 치수 측정 실무"를 통해 외곽선 검출의 원리와 OpenCV를 활용한 치수 측정 방법을 자세히 살펴보겠습니다.