Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Canny Edge Detection

Canny 에지 검출은 노이즈를 줄이고, 급격한 밝기 변화를 감지하며, 컴퓨터 비전을 위한 얇은 에지 맵을 생성하는 다단계 알고리즘입니다.

Canny 에지 검출은 밝기의 급격한 변화를 식별해 얇은 이진 에지 맵으로 변환하는 다단계 이미지 처리 알고리즘입니다. 노이즈를 줄이고, 밝기 변화 지점을 찾으며, 신뢰할 수 있는 에지 픽셀을 연결해 윤곽을 만듭니다. 컴퓨터 비전에서 이러한 윤곽은 형상 분석과 측정을 위한 이미지 구조를 표현합니다.

John Canny는 1983년에 이 방법을 개발하고 1986년 논문 에지 검출에 대한 계산적 접근에서 설명했습니다. 이 설계는 실제 에지를 검출하고, 정확한 위치를 찾으며, 에지마다 하나의 응답을 생성한다는 세 가지 목표 간의 균형을 맞춥니다. "Canny 에지 검출기"는 이 알고리즘의 다른 이름입니다.

Canny 에지 검출의 작동 방식#

이 알고리즘은 데이터 전처리와 필터링 및 연결성 분석을 결합합니다. 5단계는 각각 다음과 같은 역할을 합니다.

  • 노이즈 감소: 가우시안 스무딩은 거리에 따라 가중치를 달리해 인접 픽셀의 평균을 구함으로써 원치 않는 에지를 생성할 수 있는 변동을 억제합니다.
  • 그래디언트 추정: 수평 및 수직 미분값은 밝기가 얼마나 빠르게 변하는지 측정합니다. 두 값을 조합해 에지 강도와 경계에 수직인 방향을 구합니다. OpenCV는 이 단계에서 Sobel 미분을 사용합니다.
  • 에지 세선화: 비최대 억제는 그래디언트 방향을 따라 국소 그래디언트 최댓값을 유지하여 넓은 띠 대신 얇은 능선을 생성합니다.
  • 이중 임계값 적용: 높은 임계값은 강한 에지를 식별하고, 낮은 임계값은 약한 응답을 제거합니다. 두 임계값 사이의 픽셀은 후보가 됩니다.
  • 히스테리시스 연결: 후보 픽셀은 다른 후보를 거쳐 강한 에지와 연결된 경우 유지됩니다. 고립된 후보는 제거됩니다.

임계값, 스무딩 및 실패 모드#

임계값은 원시 밝기나 모델 신뢰도가 아니라 그래디언트 강도에 적용됩니다. 임계값을 낮추면 더 많은 디테일과 노이즈가 보존되고, 높이면 약한 경계가 제거됩니다. 높은 임계값을 높이면 히스테리시스 연결에 사용할 수 있는 강한 에지 시드도 줄어듭니다.

가우시안 스케일은 별도의 트레이드오프를 제어합니다. 스무딩을 강화하면 노이즈는 억제되지만 미세한 구조도 사라집니다. scikit-image의 노이즈가 있는 사각형 예제에서는 가우시안 표준 편차를 변경하여 사각형 주변에 남는 노이즈의 양을 조절합니다.

균열 검사에서는 거친 콘크리트 표면으로 인해 원치 않는 텍스처 에지와 불완전한 균열 윤곽선이 발생합니다. 임계값을 높이면 일부 오검출 에지가 제거되는 동시에 실제 균열의 일부도 사라집니다.

Sobel은 강도 미분을 추정하고, Canny는 그래디언트 추정에 스무딩, 세선화 및 연결성 기반 선택을 결합합니다. Canny의 세선화 단계는 주변 픽셀을 비교하는 반면, 객체 탐지 NMS는 겹치는 예측 박스를 비교합니다.

Python에서의 Canny 에지 검출#

pip install opencv-python numpy으로 종속 항목을 설치합니다. 이 예제에서는 OpenCV를 사용하여 버스 샘플의 에지 맵을 저장합니다:

from urllib.request import urlopen

import cv2
import numpy as np

with urlopen("https://ultralytics.com/images/bus.jpg") as response:
    encoded = np.frombuffer(response.read(), dtype=np.uint8)
gray = cv2.imdecode(encoded, cv2.IMREAD_GRAYSCALE)

# 강도 그래디언트를 계산하기 전에 이미지를 스무딩합니다.
smoothed = cv2.GaussianBlur(gray, (5, 5), 1.4)
edges = cv2.Canny(smoothed, 50, 150, L2gradient=True)
cv2.imwrite("canny_edges.png", edges)

저장된 PNG에는 검은색 배경에 보존된 에지가 흰색으로 표시됩니다. OpenCV 에지 검출 워크플로에서 Canny의 두 번째 및 세 번째 인수는 낮은 임계값과 높은 임계값을 지정합니다. L2gradient=True은 유클리드 그래디언트 크기를 사용합니다. 기본값은 수평 및 수직 미분의 절댓값을 더합니다. 이러한 선택에 따라 그래디언트 값과 임계값 동작이 달라집니다.

Canny는 기하학적 특징 추출을 지원합니다. scikit-image의 선 검출 예제는 카메라맨 사진에 Canny를 적용한 다음, 확률적 허프 변환으로 직선 선분을 추출합니다. Canny는 에지 픽셀을 제공하고, 허프 투표는 이를 그룹화하여 선을 만듭니다. 객체 탐지는 카테고리와 박스를 지정하고, 인스턴스 분할은 픽셀을 개별 객체에 할당합니다.

Ultralytics YOLO26 분할은 객체 분리를 위한 마스크를 반환하며, 이 마스크를 사용해 별도의 Canny 처리를 위한 이미지 영역을 선택할 수 있습니다. 이를 통해 학습된 객체 선택과 기존 방식의 경계 추출을 결합합니다.

생성형 AI에서 ControlNet은 Canny 맵을 확산 모델의 공간 조건으로 사용합니다. Canny 조건부 구현은 텍스트 프롬프트와 함께 추출한 윤곽선을 사용하여 Stable Diffusion 1.5 생성을 유도합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요