PilotNet을 활용한 카메라 기반 자율주차 소프트웨어 개발

본 프로젝트는 PilotNet 딥러닝 네트워크를 활용하여 카메라 기반 자율주차 소프트웨어를 개발한 연구이다. 데이터셋 불균형과 오버피팅 문제를 해결하기 위해 다양한 데이터 구성과 모델 최적화를 수행하였고, 시뮬레이션을 통해 성능을 검증하였다. 이를 통해 정확도와 일반화 성능을 향상시키며 자율주행 소프트웨어의 활용 가능성을 확인하였다.

PilotNet을 활용한 카메라 기반 자율주차 소프트웨어 개발
Start ~ End
Python PyTorch

프로젝트 목표


본 프로젝트의 목표는 카메라 입력을 활용하여 자율주차 소프트웨어를 개발하는 것이었다. PilotNet 네트워크를 기반으로 차량이 빈 주차공간을 탐지하고 주차할 수 있는 기능을 구현하고자 했다. 이를 통해 실제 자율주행 환경에서 적용 가능한 소프트웨어 기술을 확보하는 것을 최종 목표로 삼았다.

내용


PilotNet을 활용하여 자율주차 모델을 학습시키고, 데이터 전처리 및 시뮬레이션을 통해 성능 검증을 수행했다. 데이터셋을 기반으로 다양한 학습 실험을 진행하였으며, 모델 학습과 튜닝 과정을 반복하여 정확도를 높이고 최적의 성능을 확보하고자 했다. 또한 시뮬레이션 환경을 통해 실제 주행 상황을 재현하면서 안정적인 동작을 검증했다.

문제와 해결 과정


진행 과정에서 데이터셋 불균형성과 오버피팅이 가장 큰 문제였다. 특정 상황에서는 학습이 잘 이루어지지만, 다른 상황에서는 성능이 급격히 저하되는 문제가 발생했다. 이를 해결하기 위해 데이터셋을 다양하게 구성하고, 모델 구조 최적화 및 하이퍼파라미터 조정을 수행했다. 또한 반복적인 시뮬레이션 실험을 통해 모델의 일반화 성능을 강화했다.

결과


프로젝트를 통해 모델의 정확도와 안정성이 향상되었고, 기존보다 다양한 상황에서 일관된 성능을 보였다. 최적화된 PilotNet 기반 모델은 실제 자율주행 주차 시나리오에도 적용 가능성을 입증하였다. 이를 통해 본 연구가 실질적인 자율주차 소프트웨어 개발에 기여할 수 있음을 확인했다.

120 에포크 학습 곡선
Test Dataset을 가지고 조향값 테스트 해 본 결과

역할


본 프로젝트에서 데이터셋 구성, 모델 학습 및 튜닝, 하이퍼파라미터 최적화 등을 직접 수행했다. 또한 시뮬레이션 환경을 구축하여 다양한 테스트를 설계하고 결과를 분석하는 역할을 맡았다. 팀 내에서는 문제 해결 방법을 제시하고 협업을 통해 프로젝트 성과를 도출하는 데 기여했다.

참고자료


End-to-End Deep Learning for Self-Driving Cars | NVIDIA Technical Blog
We have used convolutional neural networks (CNNs) to map the raw pixels from a front-facing camera to the steering commands for a self-driving car.

NVIDIA 기술블로그

GitHub - Yunski/nvidia-cnn: End-to-End Deep Learning for Self-Driving Cars
End-to-End Deep Learning for Self-Driving Cars. Contribute to Yunski/nvidia-cnn development by creating an account on GitHub.

PilotNet 코드