본문 바로가기
Project/Lane detection

2. 영상처리 기반 차선인식 (1) - ros + openCV

by Gnaseel 2021. 9. 22.
728x90
반응형
  1. 영상처리 기반 차선인식 (1) - ros + openCV
  2. 영상처리 기반 차선인식 (2) - ros + openCV
  3. 데이터셋 비교 및 평가 (1) - 데이터셋 소개 (tuSimple, CULane)
  4. 데이터셋 비교 및 평가 (2) - 데이터셋 소개 (BDD100K, KITTI)


영상처리 기반 차선인식은 오래 전부터 연구되어 왔지만, 딥러닝에 의한 방법들에 비해 정확도가 낮기 때문에 최근에는 주류로 연구되지 않는다. 특히 조명과 차폐(occlusion) 등에 매우 취약하기 때문에 안정성 또한 낮다. 이러한 이유들로 영상처리 기법 차선인식은 현재 주류로 연구되고있지 않지만, 과거 어떤 방법들로 차선인식이 이루어졌는지 흐름에 대해서는 알고있어야 하기 때문에 이 챕터를 준비했다. 이번 챕터는 ROS와 openCV 기반으로 진행된다.
챕터 2.1에서는 이론에 대해서, 챕터 2.2에서는 구현에 대해서 다루기 때문에, 구체적인 코드나 구현에 대한 글은 아래 링크에서 확인할 수 있다.

2. 영상처리 기반 차선인식 (1) - ros + openCV

영상처리 기반 차선인식은 크게 2개의 과정으로 나눌 수 있다. 첫 번째는 세그먼테이션이고, 두 번째는 모델링이다.

  • 세그먼테이션 (Segmentation)

세그먼테이션은 이미지에서 차선으로 인식된 데이터를 추출하는 역할을 한다.
보통 가우시안 필터 등을 통해 노이즈를 제거하고, 소벨필터를 통해 이미지에서 차선 데이터를 추출하거나,
HSV, RGB등의 색상채널값을 통해 이미지에서 차선 데이터를 추출한다.

 




위와 같은 작업들을 세그먼테이션이라고 한다. 이미지 데이터에서 차선으로 인식된 데이터가 산발적으로 흩어져있는 것을 볼 수 있다. 위 사진은 가우시안 필터 + 소벨필터를 사용했다. (아래 사진은 추후 포스팅할 딥러닝을 사용해서 추출함)

  • 모델링(Modeling)

두 번째는 모델링 과정인데, 모델링은 추출된 차선 데이터를 기하학적인 표현으로 나타내는 것을 말한다.
세그먼테이션된 차선 데이터는 데이터 사이에 연속성이 없어서 차선으로 인식된 개별 위치만을 표현하기 때문에,
이런 점 데이터를 선 데이터로 변환해주는 모델링 작업이 필요하다.
이런 모델링 작업에는 일반적으로 허프 변환과 랜색이 자주 사용되며, 슬라이딩 윈도우기법이나 칼만필터 계열의 필터들(UKF, 파티클 필터 등)도 많이 사용된다.

 

 

위와 같은 작업들을 모델링이라고 한다. 세그먼테이션된 데이터를 모아서 연속적인 기하학적인 선으로 변형하는 과정이다. 첫 번째 방식은 허프변환 + 랜색을 사용했고, 두 번째 방식은 슬라이딩 윈도우 기법을 사용했다.

반응형