신동해

(update) README.md

Showing 1 changed file with 51 additions and 28 deletions
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
2 2
3 ## Table of Contents 3 ## Table of Contents
4 - [프로젝트 소개](#프로젝트-소개) 4 - [프로젝트 소개](#프로젝트-소개)
5 + - [시스템 구조](#시스템-구조)
5 - [디렉토리 구조](#디렉토리-구조) 6 - [디렉토리 구조](#디렉토리-구조)
6 - [실행 방법](#실행-방법) 7 - [실행 방법](#실행-방법)
7 - [참조](#참조) 8 - [참조](#참조)
...@@ -16,10 +17,25 @@ ...@@ -16,10 +17,25 @@
16 17
17 <br> 18 <br>
18 19
19 -**딥러닝을 이용하여 저렴하고 데이터 처리가 용이한 카메라를 통한 영상인식 기술을 활용해 차간 거리를 일정하게 유지하며 주행하는** 20 +**딥러닝을 기반으로 단안 카메라의 영상을 활용해 차간 거리를 일정하게 유지하며 주행하는**
20 **Adaptive Cruise Control 기능을 제공한다.** 21 **Adaptive Cruise Control 기능을 제공한다.**
21 <br><br> 22 <br><br>
22 23
24 +## 시스템 구조
25 +
26 +### 거리유지 시스템 구조
27 +![image](/uploads/10564939ae66017569ad7e7e70d9c815/image.png)
28 +<br>
29 +
30 +### 겍체 인식 및 거리측정 시스템 구조
31 +![image](/uploads/6e70810da0113cb50664938bc93f09ce/image.png)
32 +<br>
33 +
34 +### 거리측정 알고리즘
35 +![image](/uploads/1ea9036613c135a7edfd81eb1afece70/image.png)<br>
36 +- 카메라의 해상도에 따라 1m에서 기준이 되는 bound box의 width와 height의 크기가 달라진다
37 +<br><br>
38 +
23 ## 디렉토리 구조 39 ## 디렉토리 구조
24 ```shell 40 ```shell
25 HEN_Project2 41 HEN_Project2
...@@ -60,36 +76,41 @@ HEN_Project2 ...@@ -60,36 +76,41 @@ HEN_Project2
60 <br> 76 <br>
61 77
62 ### YOLO 구성 및 구동 방법 78 ### YOLO 구성 및 구동 방법
63 -1. car_data 폴더 : yolov5 모델 학습에 사용된 커스텀 이미지파일 포함 79 +**1.** custom_dataset 폴더 : yolov5 모델 학습에 사용된 커스텀 이미지파일 포함
64 -(label파일도 포함되어 있음) 80 +(label파일도 포함되어 있음)<br>
81 +-> 직접 제작 해야 함
82 +<br><br>
65 83
66 -2. yolov5 : yolov5 모델의 전체 구성파일이 포함 84 +**2.** yolov5 : yolov5 모델의 전체 구성파일이 포함<br>
67 -- 주요파일 85 + - 주요파일<br>
68 - 1) best.pt : 커스텀 이미지로 학습된 yolov5모델 86 + **1)** best.pt : 커스텀 이미지로 학습된 yolov5모델<br>
69 - 2) detect.py : 객체인식을 구동시키기 위한 파이썬 파일 87 + **2)** detect.py : 객체인식을 구동시키기 위한 파이썬 파일<br>
70 - 3) /data/car_data.yaml : 학습할 이미지파일들의 정보가 포함된 파일 88 + **3)** /data/car_data.yaml : 학습할 이미지파일들의 정보가 포함된 파일<br>
71 - 4) /models/yolov5s.yaml : 학습할 데이터셋의 뼈대 89 + **4)** /models/yolov5s.yaml : 학습할 데이터셋의 뼈대<br>
90 + **5)** yolov5s.pt : Pre-Trained 모델<br><br>
72 91
73 -- train을 위한 명령어 92 +**3.** train을 위한 명령어<br>
74 (yolov5 폴더에서) 다음 명령어 실행 93 (yolov5 폴더에서) 다음 명령어 실행
75 -`python3 train.py --img 128 --batch 3 --epochs 50 --data car_data.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt --name custom3_car_yolov5s` 94 +`python3 train.py --img 128 --batch 3 --epochs 50 --data car_data.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt --name custom3_car_yolov5s`<br>
76 -- 파라미터 설명 95 + - 파라미터 설명<br>
77 - 1) img : 학습할 img size 96 + **1)** img : 학습할 img size<br>
78 - 2) batch : 한번에 처리되는 이미지 개수 97 + **2)** batch : 한번에 처리되는 이미지 개수<br>
79 - 3) epochs : 학습 반복 횟수 98 + **3)** epochs : 학습 반복 횟수<br>
80 - 4) data : custom yaml 파일 99 + **4)** data : custom yaml 파일<br>
81 - 5) cfg : 뼈대 yaml 파일 100 + **5)** cfg : 뼈대 yaml 파일<br>
82 - 6) weights : 기초 가중치 파일 101 + **6)** weights : Pre-Trained 모델 파일 경로 (pt 형식 파일)<br>
83 - 7) name : 학습한 가중치 파일과 관련 내용들이 들어갈 폴더명 (runs/train/에 생성된다) 102 + 아무런 값을 적지 않으면 ('') 랜덤한 weight 값으로 초기화 및 학습 진행 (깃헙 공식 오피셜, pre-train을 추천)<br>
84 - 103 + pre-trained 파일이란? : 학습 파라미터(weight와 bias)가 잘 초기화된 파일<br>
85 -- 객체인식을 위한 명령어 104 + **7)** name : 학습한 가중치 파일과 관련 내용들이 들어갈 폴더명 (runs/train/에 생성된다)<br><br>
86 -(yolov5 폴더에서) 다음 명령어 실행 105 +
87 -`python3 detect.py --weights best.pt --img 128 --conf 0.4 --source 0` 106 +**4.** 객체인식을 위한 명령어<br>
88 -- 파라미터 설명 107 +(yolov5 폴더에서) 다음 명령어 실행<br>
89 - 1) weights : 학습된 가중치 파일 108 +`python3 detect.py --weights best.pt --img 128 --conf 0.4 --source 0`<br>
90 - 2) img : 인식할 이미지 크기 109 + - 파라미터 설명<br>
91 - 3) conf : 인식할 객체의 최저 인식률 110 + **1)** weights : 학습된 가중치 파일<br>
92 - 4) source : 인식할 이미지 및 영상 파일 *(라즈베리파이에서 웹캠을 source로 하고 싶다면 '0'을 넣으면 된다)* 111 + **2)** img : 인식할 이미지 크기<br>
112 + **3)** conf : 인식할 객체의 최저 인식률<br>
113 + **4)** source : 인식할 이미지 및 영상 파일 *(라즈베리파이에서 웹캠을 source로 하고 싶다면 '0'을 넣으면 된다)*
93 <br><br> 114 <br><br>
94 115
95 ## 참조 116 ## 참조
...@@ -104,6 +125,8 @@ HEN_Project2 ...@@ -104,6 +125,8 @@ HEN_Project2
104 - https://github.com/yeongin1230/Self-driving-project/tree/main/Cart 125 - https://github.com/yeongin1230/Self-driving-project/tree/main/Cart
105 126
106 - https://github.com/yeongin1230/Robot-arm 127 - https://github.com/yeongin1230/Robot-arm
128 +
129 +- https://ropiens.tistory.com/44
107 <br><br> 130 <br><br>
108 131
109 ## 팀원 132 ## 팀원
......