본문 바로가기

카테고리 없음

이전에 이미지까지 구했다. 우리 눈에는 그게 도로로 보일지 모르겠지만 컴퓨터의 눈에는 그저 밝기변화가 있는 점들의 집합으로 보인. 그리고 픽셀들이 끊어져 있는 경우 단순 엣지 검출 알고리즘을 활용했을 경우 각각을 별개의 객체로 인식한다. 

 

확률적 허프변환 일반 허프 변환 차이 : 

무작위로 샘플링된 픽셀 활용, 모든 픽셀 활용

선분의 양끝점, 직선의 방정식 활용(직선의 방정식 활용의 단점 : 이 방향으로 점들이 많다는 정보만 얻지 시작과 끝에 대한 정보는 모르기 때문에 양끝점을 모두 아는 확률적 허프변환이 유리함)

빠름, 느림

 

실제 자율주행을 초당 수십프레임 처리해야하므로 확률적 허프변환(Hough Transform P) 활용

확률적 허프변환 작동 과정

작동 프로세스 : "랜덤 샘플링과 추적"

  1. 무작위 선택: 에지(Edge) 이미지에서 아직 처리되지 않은 픽셀을 무작위로 하나 뽑습니다.
  2. 누산기 투표: 그 점을 지나는 모든 $(\rho, \theta)$ 경로에 투표(+1)를 합니다. (일반 허프 변환과 동일)
  3. 최고점 확인: 만약 특정 칸의 투표수가 threshold를 넘기면, 즉시 그 직선을 후보로 올립니다.
  4. 이미지 역추적 (핵심): 후보가 된 $(\rho, \theta)$ 직선을 따라 이미지 공간에서 실제로 픽셀들이 얼마나 이어져 있는지 양방향으로 훑어봅니다.
    • 길이 검사: 연속된 픽셀의 길이가 minLineLength보다 길면 **진짜 직선(선분)**으로 확정합니다.(작으면 노이즈로 인식)
    • 끊김 허용: 중간에 픽셀이 없더라도 그 간격이 maxLineGap보다 작으면 하나의 선으로 인정하고 계속 이어갑니다. ( 하나의 선으로 인정하는 과정에서 지나는 픽셀을 다음 샘플링에서 대거 제거된채로 반복되어 수행함)
  5. 픽셀 제거: 선분으로 확정된 구간에 포함된 모든 픽셀은 이미지에서 지워버리고 누산기의 투표권도 박탈합니다.
  6. 반복: 더 이상 뽑을 픽셀이 없을 때까지 이 과정을 반복합니다.

threshold : minimum of votes needed to accept a candidate line.