국민대학교 자율주행 경진대회 차선인식 전처리
국민대학교 자율주행 스튜디오
국민대학교 미래관에 위치한 자율주행 스튜디오는 한 바퀴에 직선구간, 90도 커브 구간, S자 커브 구간으로 구성되어 있습니다.
Camera Issue
처음에 받은 자이카 플랫폼에서 카메라의 영상이 많이 흐릿한 상태였습니다. 그래서 차량을 색감 보정한 후에 차선인식을 하려고 했으나, 색감보정 과정에서 떨어진 화질로 인해서 차선을 인식하기가 매우 어려웠습니다. 플랫폼을 제공하는 자이트론 본사에 한달정도 문의를 드린 끝에 카메라를 새것으로 교체하여서 해결됐습니다. 이후 모터도 말썽을 많이 부렸는데, 이것은 끝까지 교체를 못받았습니다.. AS 면에서는 개선이 많이 필요한 대회인 것 같습니다
OpenCV filters
차선을 인식하기 위해서 먼저 차선으로 고려할 만한 흰색 영역을 추출하는 전처리 과정을 수행했습니다! 특히 자주스(자율주행 스튜디오)의 조명이 아래 차선에 반사되는 바람에 차선만을 추출하는 과정이 아주 어려웠습니다. 이 과정에서 5가지 필터를 실험해 보았습니다.
- GrayScale
- Blured
- HLS
- RGB Threshold
- Canny Edge
빛이 반사되는 영향을 최소화
하기 위해서 HLS -> GrayScale -> CannyEdge -> Blur 과정으로 전체 전처리를 수행하였습니다.
Birdview
이후 전처리 영상을 차선인식에 사용하기 위해서 Birdview로 변환하였습니다. 아래 사진에서 빨간색이 변환 이전, 파란색이 변환 이후 영역입니다.
Birdeyed View
BirdView Issues
Problem
버드뷰 결과 사진을 보면 3가지 문제가 있습니다.
- 직선구간인데도 차선의 기울기가 오른쪽으로 살짝 기울어져 있다.
- 여전히 빛 반사와 주변 사물들로 인한 노이즈가 심해보인다.
- 전처리 과정에서 화질이 많이 떨어졌다.
Solution
- 카메라 영상의 빨간색, 파란색 영역을 세밀하게 조절하여서 1번 문제를 해결하였습니다.
- 노이즈 문제를 해결하는데 다양한 시도를 해보았습니다. 결과적으로는
Hough Transformation
으로 영상에서 차선으로 유추되는 직선부분을 얻은 후,빈 이미지
를 만들어검출된 직선만을 영상에 띄우는 방법
으로 각종 노이즈들을 제거한 차선정보만을 얻을 수 있었습니다.- 시도한 방법중에 차선 내의 빛의 영역을 감지하여 그 부분을 검정색으로 칠하는 방법이 있었는데, 이 방법은 차선까지 지워버려서 차선 인식 성능을 떨어뜨렸습니다.
- 전처리 과정의 Parameter를 조정하여 어떻게든 좋은 영상을 얻으려고 노력했으나, 트랙의 구간별로 빛이 반사되는 정도도 다르고, 세밀하게 세팅할 수록 그때의 환경에 과적합되어서 Robustness를 잃게 되어 포기하였습니다.
- 버드뷰 과정에서 작은 크기의 영역을 크게 늘리면서 화질이 떨어진다는 것을 발견했습니다. 그래서 최종 이미지의 크기를 작게 설정하여 화질을 높였더니 탐지 성능이 더 올라갔습니다.
댓글남기기