본문 바로가기
영상처리 프로그래밍/파이썬과 코랩 기반 OpenCV 영상처리

영상의 특징 검출 기법

by Glory_Choi 2022. 8. 23.
반응형

엣지(Edge)

엣지(Edge, 경계선)는 영상의 두드러진 경계 영역으로 영상 내 물체에 대한 모양, 크기, 텍스쳐 등의 많은 정보를 알려준다. 일반적으로 엣지는 영상 내 물체와 배경 같의 밝기값 차이(gradient, 그래디언트)가 갑자기 변하는 지점으로, 이 지점을 검출하기 위해서는 수학적으로 미분 연산자를 이용하면 된다.

 

엣지 검출 방법

  • 엣지 검출을 위한 연산 방법
  • 로버트 크로스 엣지 검출기(Roberts Cross Edge Detector)
  • 소벨 엣지 검출기(Sobel Edge Detector)
  • 프르윗 엣지 검출기(Prewitt Edge Detector)
  • 캐니 엣지 검출기(Canny Edge Detector)
  • 라플라시안 엣지 검출기(Laplacian Edge Detector)

엣지 검출을 위한 연산 방법

일반적으로 엣지는 영상 내 밝기값의 차이가 급격히 변하는 지점으로, 이를 검출하기 위해서는 수학적으로 미분 연산자를 이용한다. 미분 연산자를 통해 영상 내 픽셀 밝기 값의 기울기인 그래디언트(gradient)를 구할 수 있으며, 엣지 영역은 기울기가 급한 영역이기 때문에 그래디언트 크기값이 큰 곳을 엣지로 검출할 수 있다.

엣지 검출 알고리즘을 구현할 때는 직접적으로 미분값을 계산하기 보다는 미분 역할을 하는 커널(kernel)을 정의하여 컨벌루션(convolution) 연산을 하는 것이 일반적이다. 영상 잡음제거를 위해 사용되었던 필터링과 마찬가지로, 컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치의 픽셀값과 곱하고 모든 값을 더하면 된다.

엣지 검출기들은 커널의 계수값(coefficient)에 따라 각각 다른 엣지 검출기로 정의되며, 계수값에 따라 에지 검출 결과가 다양하다.

 

로버트 크로스 엣시 검출기(Roberts Cross Edge Detector)

로버트 크로스 에지 검출기는 1차 미분 연산자로 커널을 이용하여 엣지를 검출한다. 커널은 45도 대각선 엣지를 찾는데 유용하다. 컨벌루션 연산은 각각 x축 방향의 미분을 수행하는 G(x)커널과 y축 방향의 미분을 수행하는  G(y) 커널에 대해 분리적으로 적용한다.

로버트 크로스 겟지 검출기는 2 * 2 크기의 작은 커널을 사용하기 때문에 연산속도는 빠르지만 영상의 잡음에 민감한 특성이 있다. 또한 원 영상에서 선명한 엣지일지라도 약하게 반응하는 특성이 있다.

 

 

소벨 엣지 검출기(Sobel Edge Detector)

소벨 엣지 검출기는 가장 대표적인 엣지 검출기이다. 소벨 커널은 1차 미분 연산자로  x축 방향의 미분을 수행하는 G(x)커널과 y축 방향의 미분을 수행하는  G(y) 커널에 대해 동시에 적용한다. 따라서 소베 엣지 검출기는 가로 방향과 세로 방향의 엇지를 검출하는데 유용하다.

소벨 필터는 실무적으로도 쓰이므로 OpenCV에서 별도의 함수를 제공한다.

  • dst = cv2.Sobel(src, ddepth, dx, dy, dst, ksize, scale, delta, borderType)
    src: 입력 영상
    ddepth: 출력 영상의 dtype (-1: 입력 영상과 동일)
    dx, dy: 미분 차수 (0, 1, 2 중 선택, 둘 다 0일 수는 없음)
    ksize: 커널의 크기 (1, 3, 5, 7 중 선택)
    scale: 미분 값에 대한 선택적 배율 계수
    delta: dst에 저장하기 전에 연산 결과에 추가되는 선택적 델타 값

 

프르윗 엣지 검출기(Prewitt Edge Detector)

프르윗 엣지 검출기는 소벨 엣지 검출기와 거의 비슷한 결과를 내며, 소벨 커널과 가운데 계수값만 다른 컨벌루션 커널을 사용한다. 소벨 보다 더 낮은 계수값을 사용하기 때문에 소벨 보다 엣지가 덜 강조된다.

 

캐니 엣지 검출기(Canny Edge Detector)

캐니 엣지 검출기는 앞에서 언급한 1차 미분 연산자인 로버트 크로스, 소벨, 프르윗 엣지 검출기가 잡음에 민감하다는 단점을 극복하기 위한 검출기이다.

  • 가우시안 커널을 이용하여 잡음을 제거한다.
  • 엣지 검출기(로버트 크로스, 소벨, 프르윗 등)를 이용하여 엣지를 검출한다.
  • 2개의 임계값을 이용한 엣지 트래킹을 통해 강한 엣지만을 검출한다.

첫번재 과정에서 사용되는 가우시안 컨벌루션은 잡음 제거 정도를 조절할 수 있다. 가우시안 커널을 이용하여 영상의 잡음을 제거한 후 앞 절에서 언급한 에지를 검출하는 다양한 방법을 적용한다. 그 후에, 엣지 검출기를 적용한 결과는 그래디언트(gradient)영상이기 때문에 일반적으로 최종 엣지 영상을 획득하기 위해서는 하나의 임계값을 적용하여 이진화 영상으로 만들게 된다. 그러나 캐니 엣지 검출기는 두개의 임계값을 이용한 엣지 트래킹을 통해 강한 엣지만을 검출한다.

  • 엣지 검출기를 적용한 결과인 그래디언트 영상에서 픽셀 밝기 값이 T1보다 큰 픽셀을 찾고 한 점을 시작점으로 설정한다.
  • 시작점으로부터 양방향으로 T2보다 낮은 픽셀 밝기값을 갖는 픽셀이 나올때까지 트래킹하여 엣지로 검출한다.

 

캐니 엣지 검출기에서 결정해야 할 파라미터는 다음의 3개이다.

  1. 가우시안 커널의 너비
    • 가우시안 커널의 너비가 증가할수록 잡음을 잘 제거하지만 영상이 스무딩 되면서 세부적인 윤곽선의 특성이 사라지며, 검출된 엣지가 넓게 퍼져서 정확한 엣지 영역을 찾지 못하면서 지역화(localization) 에러가 증가한다. 따라서 적절한 커널의 너비를 선택하는 것이 중요하다.
  2. 높은 임계값(T1)
    • T1을 너무 낮게 잡을 경우 원하지 않는 엣지 조각들이 포함되고, 너무 높게 잡을 경우 엣지를 잘 검출하지 못한다. 적절한 임계값을 결정해야한다.
  3. 낮은 임계값(T2)
    • T2를 너무 높게 잡을 경우 엣지들이 서로 이어지지 않고 끊기게 되며, 너무 낮게 잡을 경우 원하지 않는 엣지 조각들이 포함된다.

 

라플라시안 엣지 검출기(Laplacian Edge Detector)

라플라시안 엣지 검출기는 2차 미분 연산을 이용하여 엣지를 검출한다. 앞의 1차 미분 연산자에서 엣지는 1차 미분 결과의 극점에서 검출되나, 라플라시안 2차 미분 결과가 부호가 바뀌는 지점인 0의 위치에서 검출된다. 따라서 라플라시안을 0이 교차하는 지점에서 엣지가 검출된다고 하여 영교차(zero crossing) 검출기라고도 한다.

 

가우시안-라플라시안 엣지 검출기

라플라시안 커널을 이용한 엣지 검출 방법은 잡음에 매우 민감함으로 이러한 잡음 문제점을 해결하기 위해서 가우시안-라플라시안(LoG: Laplacian of Gaussian) 연산자가 개발되었다. LoG검출기는 라플라시안을 적용하기 전에 가우시안 필터링을 적용 시키는 방법으로 잡음을 사전에 제거함으로써, 잡음에 의한 과다한 엣지생성을 줄일 수 있다.

 

반응형