- 소개
- 알고리즘
- 1.1. 데이터 수집 알고리즘
- 1.2. 데이터 학습 알고리즘
- 데이터 수집
- 2.1. 카메라 위치 조정
- 2.2. 데이터 수집 방법론
- 2.3. 방향 전환 방법론
- 2.4. 데이터 수집에 활용한 코스
- 이미지 처리 방법
- 시행착오
- 조원의 역할 및 기여도
- 주행 영상 및 활동 사진
이 README 파일은 라즈베리파이를 이용한 교육용 자율주행 자동차 개발 프로젝트의 세부 내용을 설명하며, 알고리즘, 데이터 수집 방법론, 이미지 처리 방법, 겪은 문제와 해결 방안, 팀원들의 기여도를 다룹니다.
두 가지 주요 데이터 수집 방법을 사용했습니다:
- 트랙을 직접 운전하면서 이미지 데이터 수집.
- 자율주행 자동차의 카메라를 통해 트랙 이미지를 수집.
수집된 데이터를 처리하여 모델을 학습시키고, 차량의 내비게이션 정확도와 안정성을 개선했습니다.
- 아래쪽을 향한 카메라:
- 장점: 직진 구간에서 높은 정확도와 안정성.
- 단점: 장애물 인식에 어려움, 복잡한 트랙에서 정확도와 안정성 저하.
- 정면을 향한 카메라:
- 장점: 장애물 인식 능력 향상.
- 단점: 전체적인 주행 정확도와 안정성 저하.
- 직접 관찰 방법:
- 가설: 데이터 질이 낮지만 빠르게 대량의 데이터를 수집 가능.
- 결과: 높은 정확도의 모델 구축에 부적합.
- 카메라 기반 방법:
- 가설: 데이터 질이 높지만 수집 시간이 오래 걸림.
- 결과: 실용적인 수준의 정확도와 안정성을 제공.
- 안쪽 라인 기준 방향 전환:
- 작은 회전 반경의 트랙에서 효과적.
- 바깥쪽 라인 기준 방향 전환:
- 큰 회전 반경의 트랙에서 성능 향상.
- 꼬불꼬불 골목길: 트랙 폭이 좁음.
- D자 트랙: 큰 회전 반경.
- F1 트랙: 180도 회전 코스.
- 8자 코스: 완만한 회전.
- 직각 B자 코스: 직각 회전이 많음.
- 물방울 코스: 큰 회전 반경.
세 가지 이미지 처리 방법을 테스트했습니다:
- YUV + 블러 처리: 햇빛 노이즈 문제로 부적합.
- Threshold 130 적용: 차선 인식 향상, 노이즈 존재.
- 모폴로지 연산: 노이즈에 강건한 성능을 보여 채택.
- 직각 코스 주행 문제:
- 해결책: 약간의 우회전을 추가하여 차선 인식 개선.
- 모델 지연 시간 문제:
- 해결책: TFLite 사용으로 모델 실행 시간 단축.
- 물체 탐지 문제:
- 해결책: OpenCV DNN과 MobileNet-SSD 사용.
- 이관준: 모델 구축 및 평가 (25%)
- 김상수: 모델 구축 및 평가 (25%)
- 김지훈: 모델 구축, 보고서 작성, 평가 (25%)
- 장지원: 데이터 학습, 코스 제작, 보고서 작성, 평가 (25%)