/Capstone1

[2021-1] License Plate Detection using YOLOv5 (Capstone1 Project)

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

프로젝트 설명

2-output1 딥러닝을 활용하여 실시간으로 차량 번호판을 탐지하고 번호를 인식하는 시스템을 개발한다. 번호판 위치와 차량객체 탐지에는 YOLOv5 모델을, 글자인식에는 Focal Loss가 적용된 RetinaNet 모델을 사용하여 속도와 인식률을 높이는 것을 주 목표로 한다. 해당 repository는 Yolo V5를 활용한 번호판 detection에 대한 결과물이다.

시작하기

Pretrained Checkpoints

Model size
(pixels)
mAPval
0.5:0.95
mAPtest
0.5:0.95
mAPval
0.5
Speed
V100 (ms)
params
(M)
FLOPS
640 (B)
YOLOv5s 640 36.7 36.7 55.4 2.0 7.3 17.0
YOLOv5m 640 44.5 44.5 63.1 2.7 21.4 51.3
YOLOv5l 640 48.2 48.2 66.9 3.8 47.0 115.4
YOLOv5x 640 50.4 50.4 68.8 6.1 87.7 218.8
YOLOv5s6 1280 43.3 43.3 61.9 4.3 12.7 17.4
YOLOv5m6 1280 50.5 50.5 68.7 8.4 35.9 52.4
YOLOv5l6 1280 53.4 53.4 71.1 12.3 77.2 117.7
YOLOv5x6 1280 54.4 54.4 72.0 22.4 141.8 222.9
YOLOv5x6 TTA 1280 55.0 55.0 72.0 70.8 - -

Environment Setting

  1. 해당 repository를 clone 받는다.
$ git clone https://github.com/yeonsssu26/Capstone1
  1. 가상환경을 구축하고 실행한다.
$ conda create -n {가상환경 이름} python=3.8
$ conda activate {가상환경 이름}
  1. 필수 라이브러리들을 설치한다.
$ pip install -r requirements.txt

Detection

$ python detect.py --source 0  # webcam
                            file.jpg  # image 
                            file.mp4  # video
                            path/  # directory
                            path/*.jpg  # glob
                            'https://youtu.be/NUsoVlDFqZg'  # YouTube video
                            'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

Training

$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
                                         yolov5m                                40
                                         yolov5l                                24
                                         yolov5x                                16

Tutorials