DonkeyCar는 소형 자동차를 위한 오픈 소스 DIY 자율 주행 플랫폼입니다.
DonkeyCar는 RC CAR, Raspberry Pi 및 Python으로 구성됩니다.
DonkeyCar는 CNN의 인공 신경망으로 학습하고 자율 주행을 수행합니다.
CNN은 이미지나 동영상 데이터에 주로 적용되는 딥러닝 기술로 컨볼루션을 이용해 입력 데이터에서 특징을 추출하고 이를 분류나 예측 등의 작업에 활용한다.
컨볼루션은 주로 이미지 데이터에서 특징을 추출하는 연산으로, 입력된 이미지와 일정 크기의 필터를 컨벌루션하여 새로운 이미지를 생성한다.
이때 필터는 학습을 통해 자동으로 학습되는 가중치로 입력 영상에서 특정 패턴이나 특징을 추출하도록 설정된다.
이 과정에서 필터는 입력 영상을 주기적으로 이동시키면서 각 위치에서 컨볼루션 연산을 수행하여 새로운 영상을 생성한다.
이 프로세스는 입력 이미지의 특정 기능이나 패턴을 강조하는 새로운 이미지를 생성합니다.
즉, DonkeyCar는 이 컨볼루션 레이어를 이용하여 입력 영상에서 차선이나 장애물의 위치 등 주행에 필요한 특징을 추출하고, 컨볼루션 레이어에서 추출된 특징은 후속 레이어에서 연산되어 차량을 운행할 수 있다.
제어 신호를 결정하는 데 사용됩니다.
이 과정에서 DonkeyCar는 Data Augmentation을 수행하여 학습 데이터의 다양성을 높이고 Overfitting을 방지합니다.
Data Augmentation은 이미지 회전, 이동, 확대/축소 등의 변환을 수행하여 훈련 데이터를 다양화하는 기술입니다.
(검색하면 나오니 설치와 환경설정은 따로 정리하지 않겠습니다.
)
설치를 완료하고 python manage.py drive 를 입력하여 DonkeyCar를 실행한 후 https://localhost:8887/drive를 입력합니다.
이 제어 페이지가 표시됩니다.
주행 속도를 15%로 설정했습니다.
오른쪽 하늘색 직사각형 부분을 당겨서 주행했습니다.
실행을 완료한 후
C:\Users\USER\projects\mycar>python train.py –model models\mypilot.h5 –tub data\tub_1_23-03-26을 입력하고 훈련합니다.
왜 100번도 하기 전에 배움이 끝나는지 모르겠어…
완료되면 python train.py –model models\mypilot.h5 –tub data\tub_1_23-03-26을 실행하세요!
운전 잘하는 법(?)을 보여줍니다.
다음에는 지도 학습 대신 강화 학습을 사용할 것입니다.