upstage_CV_고전

TOLL TERRY·2024년 1월 29일
0
post-thumbnail

Preliminary - 고전 컴퓨터 비전

규칙 기반의 이미지 처리 알고리즘 (OpenCV)

  • Rule-based
  • 딥러닝 모델로 해결하기 어려운 문제 (로보틱스, 가상현실)
  • 딥러닝 모델 결과의 후처리
  • Morphological Transform
  • Edge & Contour Detection

기초 이론

1. Morphological Transform

  • 이미지에 기반한 연산이며, 흑백 이미지에서 수행함.
  • 입력 : 이미지

중요성

  • 이미지의 노이즈를 제거하는데 사용가능함.

Erosion

  • 물체의 경계를 침식함.

  • 이미지의 특징을 축소할때 사용가능함.

  • 커널 아래 모든 픽셀이 1이면 1, 아니면 0이됨

  • 경계 근처의 픽셀을 축소함.

  • 동작 방법 : 3x3 커널내에 모든 픽셀이미지에 1의 값이 있다면, Erosion의 연산값은 1이 됨, 하나라도 1이 아닌 값이 있다면, Erosion의 연산값은 0.

Dilation

  • 사물의 크기를 팽창할 때 사용함.

  • 경계 근처의 픽셀을 팽창함.

Opening

  • 노이즈를 제거하는데 사용함.
  • D -> E --- Closing 방법이 됨.

심화 예제

1. Contour Detection

  • 같은 색깔 및 intensity를 가지는 연속적인 경계점들로 이루어진 curve
  • raw image에서 객체의 contour를 탐지

중요성

  • 딥러닝 모델을 사용하지 않음 : 딥러닝 모델은 데이터 가공에 따라 성능이 영향감.

과정

  • Edge 탐지 - Dilation(옵션임) - Contour 탐지

1. Edge Detector

  • Canny Edge
    1986년 TPAMI 발표된 논문
  1. 노이즈 제거
    가우시안 필터(중앙부에 큰값, 외곽에 갈수록 0에 가까운 작은값) 이용함

  2. 이미지 내의 높은 미분값 찾기
    Sobel 커널(행 또는 열의 변화율을 계산하여 높은 기울기 추출)로 기울기 추출
    수평방향의 Gx, 수직방향의 Gy
    edge_gradient = Gx2+Gy2\sqrt{Gx^2+Gy^2}
    Angle = tan1(GyGx)tan^{-1}(\frac{Gy}{Gx})
    특정 방향으로 기울기가 크다면, 급격한 픽셀값의 변화로 Edge로 검출함.

  3. 최대값이 아닌 픽셀 값 0으로 치환
    기울기 방향의 최대값을 가진 픽셀만 남김
    많은 기울기가 2번단계에서 검출되어 대표적인 것만 남김.

  4. threshold 조정을 통한 세밀한 엣지 검출
    변화량이 큰 값들중 대표 픽셀이 남아 있기에,
    threshold를 통해 최소-최대를 선택한 픽셀을 엣지로 선택함.

profile
행복을 찾아서(크리스 가드너)

0개의 댓글