[w13d4~d5] 데이터 추가작업, 주행 알고리즘

GGG·2022년 5월 15일
0
post-thumbnail

(Ubuntu 18.04.6 LTS)
2022.05.11
프로그래머스 자율주행 데브코스 3기

모델 경량화는 onnx를 이용해서 처리하였는데, 정확한 알고리즘 관련 내용은 아직 이해를 못 해서 사용만 하고, 추가적인 공부를 해야겠다고 느꼈습니다. 자이카에 경량화된 모델을 이용하여 인식을 수행했습니다. 표지판의 우측 데이터와 정지 데이터의 수가 부족하여 학습이 잘 이루어지지 않은 모습을 확인했습니다.

정지와 우회전 표지판을 위와 같은 방식으로 카메라를 가만히 둔 상태에서 여러 각도에서 점점 다가오면서 얻었고, 데이터 라벨링을 해 학습데이터를 추가하였습니다. 결과적으로, 정지와 우회전 표지판은 잘 인식하였는데, 신호등 데이터가 최종적으로 좋은 인식률을 보여주지 않아 이 때 확인해보지 않았던 것이 아쉬움이 남았습니다.

인식하는 알고리즘은 ROS 통신을 통해 /yolov3_trt_ros/detections이라는 토픽을 보냈으며, 메시지 형태는 BoundingBoxes라는 형식으로 아래의 정보를 가지는 BoundingBox를 여러개 보낼 수 있는 형태였습니다.

float64 probability
int64 xmin
int64 ymin
int64 xmax
int64 ymax
int16 id

인식 정보를 이용한 경우와 인식정보가 없을 때에 대한 알고리즘을 구성하였으며, 전체적인 흐름은 아래와 같게 알고리즘을 구성하였습니다. 이후 주행이 잘 되도록 튜닝을 계속 했습니다. 결과적으로 완벽한 주행까지는 아니었지만, 인식 기능을 추가한 차선 주행을 구현해보았습니다. 영상은 나중에 찾아서 추가하겠습니다.

profile
GGG

0개의 댓글