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 | ## 팀원 | ... | ... |
-
Please register or login to post a comment