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
Chuncheonian
2021-06-21 19:21:24 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b5f793eb8080ecf11cfb12ce2f0dde9cba15a245
b5f793eb
1 parent
42e7d436
(update) README.md
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
78 additions
and
17 deletions
README.md
README.md
View file @
b5f793e
...
...
@@ -2,39 +2,62 @@
## Table of Contents
-
[
프로젝트 소개
](
#프로젝트-소개
)
-
[
주요 기능
](
#주요-기능
)
-
[
시스템 구조
](
#시스템-구조
)
-
[
디렉토리 구조
](
#디렉토리-구조
)
-
[
실행 방법
](
#실행-방법
)
-
[
참조
](
#참조
)
-
[
팀원
](
#팀원
)
<br><br>
<br>
## 프로젝트 소개
<img
src=
"/uploads/2f442cc7eea9bd0f4eada9af25a1661c/1.gif"
width=
"300"
height=
"150"
/>
<br>
<img
src=
"/uploads/fe4fb3dafda1db03d437de45260a15af/2.gif"
width=
"300"
height=
"150"
/>
**YOLO-v5 기반으로 단안 카메라의 영상을 활용해 차간 거리를 일정하게 유지하며 주행하는 Adaptive Cruise Control 기능을 제공한다.**
<br>
**딥러닝을 기반으로 단안 카메라의 영상을 활용해 차간 거리를 일정하게 유지하며 주행하는**
**Adaptive Cruise Control 기능을 제공한다.**
<br><br>
## 주요 기능
1.
객체 인식
*
복도에서의 차량 카트 이미지를 촬영하여 커스텀 데이터셋을 제작
*
YOLO-v5 모델 중 가장 초당 프레임 수 가 높은 YOLO-v5s에 커스텀 데이터셋을 학습
*
라즈베리파이에 부착된 웹캠을 통해 실시간으로 전방 차량 인식
2.
거리 측정
*
객체 인식 시 나타나는 Bounding box의 좌표값을 추출하여 대상과의 거리가 1m 일 때 Bounding box의 높이와 너비값을 측정
*
이후 인식된 객체의 Bounding box 높이와 너비값과 1m 일 때의 Bounding box 높이와 너비값의 비례식을 통해 거리를 측정
3.
거리 유지
*
측정된 거리를 기반으로 동작을 나누어 시리얼 통신을 통해 동작 신호를 cart를 조작하는 STM보드에 전달
*
STM보드에서 전달받은 신호를 기반으로 PWM 제어를 통해 차간 거리가 유지되도록 속도 조절
<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>
-
카메라의 해상도에 따라 1m에서 기준이 되는 Bounding box의 width와 height의 크기가 달라진다
<br>
## 디렉토리 구조
```
shell
...
...
@@ -64,14 +87,51 @@ HEN_Project2
│
└── detect.py
```
<br><br>
<br>
## 결과
### 실시간 객체 인식 및 거리측정
<img
src=
"/uploads/fe4fb3dafda1db03d437de45260a15af/2.gif"
width=
"300"
height=
"150"
/>
*
학습된 가중치 모델을 바탕으로 단안 카메라를 이용하여 전방 차량 키트를 인식하였다.
*
인식된 차량 키트에 대한 Bounding box에서 왼쪽부터 클래스명, 예측 정확도, 단안 카메라 기준 예측 거리(cm) 를 나타낸다.
*
인식 결과, 이미지 크기 128
*
128 기준 평균적으로
`초당 약 3 프레임의 속도`
로 동작하였으며,
`최대 5m`
까지 높은 정확도로 인식됨을 확인할 수 있었다.
*
**거리 예측 오차율 측정 결과**
| 실제 거리 | 측정 최소 거리 | 측정 최대 거리 | 최대 오차율 |
| :---: | :---: | :---: | :---: |
| 0.5m | 0.47m | 0.53m | 6% |
| 1m | 0.96m | 1.02m | 3% |
| 2m | 1.98m | 2.02m | 1% |
| 3m | 2.85m | 2.94m | 5% |
| 5m | 4.65m | 5.05m | 7% |
### 거리유지
#### 동작 설정
1.
전방 차량과의 거리가 70cm보다 가까워진 경우
**차량 정지**
2.
전방 차량과의 거리가 70cm ~ 120cm인 경우
**큰 폭으로 속도 감소**
3.
전방 차량과의 거리가 120cm ~ 150cm 인 경우
**작은 폭으로 속도 감소**
4.
전방 차량이 없거나 거리가 150cm 보다 먼 경우
**원래 주행 속도로 복구**
#### 거리유지 기능 실험 결과
*
기준 주행 속도는 차량 키트가 스스로 움직일 수 있는 최저 속도로 설정하였다.
*
테스트 결과 거리가 1m에 가까워 지면 상당히 속도가 줄어들었고 70cm에 이르면 차량 키트가 완전히 정지하였으며, 전방에 가까운 차량이 없으면 원래의 주행 속도로 돌아오는 기능 또한 정상적으로 동작함을 확인 할 수 있었다
<br>
## 실행 방법
### YOLO 설치
라즈베리파이에서
`git clone https://github.com/ultralytics/yolov5`
후
안내에 따라 필요한 모듈 설치
라즈베리파이에서
`git clone https://github.com/ultralytics/yolov5`
후 안내에 따라 필요한 모듈 설치
<br>
...
...
@@ -116,20 +176,21 @@ HEN_Project2
## 참조
-
Ultralytics, YOLO v5(2020), Retrieved June, 10, 2020, from https://github.com/ultralytics/yolov5
-
https://global.honda/newsroom/news/2020/4201111eng.html
-
이동석 외 4 저, 스테레오 카메라를 이용한 이동객체의 실시간 추적과 거리 측정시스템(2009)
-
이강원 외 1 저, 지형 공간정보체계 용어사전(2016)
-
https://github.com/yeongin1230/Self-driving-project/tree/main/Cart
-
https://github.com/yeongin1230/Robot-arm
-
https://github.com/seoh02h/ICNS-Self-Driving-Test
-
https://ropiens.tistory.com/44
<br><br>
-
https://github.com/sungjuGit/Pytorch-and-Vision-for-Raspberry-Pi-4B
<br>
## 팀원
-
권동영 (2016110307)
-
신동해 (2018110651)
<br><br>
\ No newline at end of file
<br>
\ No newline at end of file
...
...
Please
register
or
login
to post a comment