Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2021-1-capstone-design1
/
HEN_Project2
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
신동해
2021-06-21 14:59:24 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
42e7d436b1bf88e14a5bd4eefbf73eb3ed683008
42e7d436
1 parent
cf14654c
(update) README.md
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
28 deletions
README.md
README.md
View file @
42e7d43
...
...
@@ -2,6 +2,7 @@
## Table of Contents
-
[
프로젝트 소개
](
#프로젝트-소개
)
-
[
시스템 구조
](
#시스템-구조
)
-
[
디렉토리 구조
](
#디렉토리-구조
)
-
[
실행 방법
](
#실행-방법
)
-
[
참조
](
#참조
)
...
...
@@ -16,10 +17,25 @@
<br>
**딥러닝을
이용하여 저렴하고 데이터 처리가 용이한 카메라를 통한 영상인식 기술
을 활용해 차간 거리를 일정하게 유지하며 주행하는**
**딥러닝을
기반으로 단안 카메라의 영상
을 활용해 차간 거리를 일정하게 유지하며 주행하는**
**Adaptive Cruise Control 기능을 제공한다.**
<br><br>
## 시스템 구조
### 거리유지 시스템 구조
![
image
](
/uploads/10564939ae66017569ad7e7e70d9c815/image.png
)
<br>
### 겍체 인식 및 거리측정 시스템 구조
![
image
](
/uploads/6e70810da0113cb50664938bc93f09ce/image.png
)
<br>
### 거리측정 알고리즘
![
image
](
/uploads/1ea9036613c135a7edfd81eb1afece70/image.png
)
<br>
-
카메라의 해상도에 따라 1m에서 기준이 되는 bound box의 width와 height의 크기가 달라진다
<br><br>
## 디렉토리 구조
```
shell
HEN_Project2
...
...
@@ -60,36 +76,41 @@ HEN_Project2
<br>
### YOLO 구성 및 구동 방법
1.
car_data 폴더 : yolov5 모델 학습에 사용된 커스텀 이미지파일 포함
(label파일도 포함되어 있음)
**1.**
custom_dataset 폴더 : yolov5 모델 학습에 사용된 커스텀 이미지파일 포함
(label파일도 포함되어 있음)
<br>
-> 직접 제작 해야 함
<br><br>
2.
yolov5 : yolov5 모델의 전체 구성파일이 포함
-
주요파일
1) best.pt : 커스텀 이미지로 학습된 yolov5모델
2) detect.py : 객체인식을 구동시키기 위한 파이썬 파일
3) /data/car_data.yaml : 학습할 이미지파일들의 정보가 포함된 파일
4) /models/yolov5s.yaml : 학습할 데이터셋의 뼈대
**2.**
yolov5 : yolov5 모델의 전체 구성파일이 포함
<br>
-
주요파일
<br>
**1)**
best.pt : 커스텀 이미지로 학습된 yolov5모델
<br>
**2)**
detect.py : 객체인식을 구동시키기 위한 파이썬 파일
<br>
**3)**
/data/car_data.yaml : 학습할 이미지파일들의 정보가 포함된 파일
<br>
**4)**
/models/yolov5s.yaml : 학습할 데이터셋의 뼈대
<br>
**5)**
yolov5s.pt : Pre-Trained 모델
<br><br>
-
train을 위한 명령어
**3.**
train을 위한 명령어
<br>
(yolov5 폴더에서) 다음 명령어 실행
`python3 train.py --img 128 --batch 3 --epochs 50 --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'을 넣으면 된다)*
`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>
-
파라미터 설명
<br>
**1)**
img : 학습할 img size
<br>
**2)**
batch : 한번에 처리되는 이미지 개수
<br>
**3)**
epochs : 학습 반복 횟수
<br>
**4)**
data : custom yaml 파일
<br>
**5)**
cfg : 뼈대 yaml 파일
<br>
**6)**
weights : Pre-Trained 모델 파일 경로 (pt 형식 파일)
<br>
아무런 값을 적지 않으면 ('') 랜덤한 weight 값으로 초기화 및 학습 진행 (깃헙 공식 오피셜, pre-train을 추천)
<br>
pre-trained 파일이란? : 학습 파라미터(weight와 bias)가 잘 초기화된 파일
<br>
**7)**
name : 학습한 가중치 파일과 관련 내용들이 들어갈 폴더명 (runs/train/에 생성된다)
<br><br>
**4.**
객체인식을 위한 명령어
<br>
(yolov5 폴더에서) 다음 명령어 실행
<br>
`python3 detect.py --weights best.pt --img 128 --conf 0.4 --source 0`
<br>
-
파라미터 설명
<br>
**1)**
weights : 학습된 가중치 파일
<br>
**2)**
img : 인식할 이미지 크기
<br>
**3)**
conf : 인식할 객체의 최저 인식률
<br>
**4)**
source : 인식할 이미지 및 영상 파일
*(라즈베리파이에서 웹캠을 source로 하고 싶다면 '0'을 넣으면 된다)*
<br><br>
## 참조
...
...
@@ -104,6 +125,8 @@ HEN_Project2
-
https://github.com/yeongin1230/Self-driving-project/tree/main/Cart
-
https://github.com/yeongin1230/Robot-arm
-
https://ropiens.tistory.com/44
<br><br>
## 팀원
...
...
Please
register
or
login
to post a comment