README.md 2.87 KB

자율 주행차의 영상 기반 차간거리 유지 개발

Table of Contents

프로젝트 소개

1
2
  • 딥러닝을 이용하여 저렴하고 데이터 처리가 용이한 카메라를 통한 영상인식 기술을 활용해 차간 거리를 일정하게 유지하며 주행하는 Adaptive Cruise Control 기능을 제공한다.

디렉토리 구조

HEN_Project2
├── dataset
│   ├── ver_1
│   ├── ver_2
│   └── ver_3
│
├── docs
│   ├── 기초보고서
│   ├── 면담보고서
│   ├── 중간보고서
│   └── 최종보고서
│
└── src
    ├── cart
    │   ├── main_arm.c
    │   └── main_cart.c
    │
    ├── weights
    │   ├── cart_model_v1.pt
    │   ├── cart_model_v2.pt
    │   ├── cart_model_v3.pt
    │   ├── cart_model_v4.pt
    │   └── cart_model_v5.pt
    │
    └── detect.py

실행 방법

YOLO 설치

라즈베리파이에서 git clone https://github.com/ultralytics/yolov5 후 안내에 따라 필요한 모듈 설치

YOLO 구성 및 구동 방법

  1. car_data 폴더 : yolov5 모델 학습에 사용된 커스텀 이미지파일 포함 (label파일도 포함되어 있음)

  2. yolov5 : yolov5 모델의 전체 구성파일이 포함

  3. 주요파일 1) best.pt : 커스텀 이미지로 학습된 yolov5모델 2) detect.py : 객체인식을 구동시키기 위한 파이썬 파일 3) /data/car_data.yaml : 학습할 이미지파일들의 정보가 포함된 파일 4) /models/yolov5s.yaml : 학습할 데이터셋의 뼈대

  • train을 위한 명령어 (yolov5 폴더에서) 다음 명령어 실행
    python3 train.py --img 64 --batch 3 --epochs 30 --data car_data.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt --name custom3_car_yolov5s
  • 파라미터 설명 1) img : 학습할 img size 2) batch : 한번에 처리되는 이미지 개수 3) epochs : 학습 반복 횟수 4) data : custom yaml 파일 5) cfg : 뼈대 yaml 파일 6) weights : 기초 가중치 파일 7) name : 학습한 가중치 파일과 관련 내용들이 들어갈 폴더명 (runs/train/에 생성된다)

  • 객체인식을 위한 명령어 (yolov5 폴더에서) 다음 명령어 실행
    python3 detect.py --weights best.pt --img 128 --conf 0.4 --source 0

  • 파라미터 설명 1) weights : 학습된 가중치 파일 2) img : 인식할 이미지 크기 3) conf : 인식할 객체의 최저 인식률 4) source : 인식할 이미지 및 영상 파일 (라즈베리파이에서 웹캠을 source로 하고 싶다면 '0'을 넣으면 된다)

Reference

팀원

  • 권동영 (2016110307)
  • 신동해 (2018110651)