9.2.1 허프 변환 직선 검출
직선은 영상에서 찾을 수 있는 많은 특징 중의 하나이며 영상을 분석함에 있어 중요한 정보를 제공합니다. 자율 주행 자동차에서 차선을 검출하는 용도로 사용될 수도 있고, 수평이 맞지 않는 영상에서 수평선 또는 수직선 성분을 찾아내어 자동 영상 회전을 위한 정보로 사용할 수도 있습니다. 영상에서 직선 성분을 찾기 위해서는 우선 에지를 찾아내고, 에지 픽셀들이 일직선상에 배열되어 있는지를 확인해야 합니다.
영상에서 직선을 찾기 위한 용도로 허프 변환(hough transform) 기법이 널리 사용됩니다. 허프 변환은 2차원 xy 좌표에서 직선의 방정식을 파라미터(parameter) 공간으로 변환하여 직선을 찾는 알고리즘입니다. 일반적인 2차원 평면에서 직선의 방정식은 다음과 같이 나타낼 수 있습니다.
이 수식에서 a는 기울기(slope)이고, b는 y 절편(y intersection)입니다. 이 직선의 방정식은 가로축이 x, 세로축이 y인 2차원 xy 좌표 공간에서 정의되어 있으며, a와 b는 직선의 형태를 결정하는 파라미터입니다. 그런데 이 수식은 다음과 같이 바꿔 쓸 수 있습니다.
직선의 방정식을 앞과 같이 변경하면, 마치 ab 좌표 공간에서 기울기가 -x이고 y 절편이 y인 직선의 방정식처럼 보입니다. 이처럼 xy 공간에서 직선의 방정식을 ab 공간으로 변경하면 재미난 현상을 발견할 수 있습니다. xy 공간에서 직선은 ab 공간에서 한 점으로 표현되고, 반대로 xy 공간에서 한 점은 ab 공간에서 직선의 형태로 나타난다는 점입니다.