논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Hough Circle Transform

Learning OpenCV: Computer Vision with the OpenCV Library
http://shop.oreilly.com/product/9780596516130.do


Hough Circle Transform

Hough circle transform은 3개의 파라미터를 가지고 있습니다. 원의 중심 좌표 x, y와 반지름 r입니다. 따라서 직선의 경우와는 달리 3차원의 accumulator를 필요로 합니다. 처리 속도의 부담을 덜기 위하여 OpenCV에서는 Hough gradient method를 사용합니다.

Hough gradient method는 아래와 같은 순서로 이루어집니다.

  1. Canny 등 edge detection 단계를 거칩니다.
  2. 1의 결과물에 그래디언트를 구합니다.
  3. 각 그래디언트의 방향성에 대하여 직선의 accumulator를 생성합니다.
  4. 동시에 edge image에서의 edge들의 위치들에 대한 리스트도 작성을 해놓습니다.
  5. 3에서 생성한 accumulator에서 일정 크기 이상의 값을 갖는 위치 중 주변보다 제일 큰 값을 갖는 위치가 바로 원의 중심이 됩니다. 왜냐하면, 만약 원의 테두리 부분에서의 그래디언트는 원의 중심을 향하는 방향으로 생성되고 이것은 모두 중심에서 교차할 것이기 때문입니다. 이들 위치를 값이 큰 순으로 정렬합니다.
  6. 각 중심 후보로부터 반지름을 늘려가면서 4에서 생성한 edge들이 얼마나 해당되는지를 살펴보아서 가장 큰 수치를 갖는 반지름을 선택합니다.
  7. 최종적으로 edge들이 적정 수준 이상으로 해당되고, 기존의 다른 원들로부터 적절하게 떨어져 있는 원들이 선택되어 결과로 사용됩니다.

Add a Comment Trackback