이제 까지 만든 번호판 Dataset으로 YOLO로 학습 시켜볼 차례입니다.
YOLO를 학습시킬때 Pretrained Weight는 small/medium/large/eXtra large로 나뉠 수 있습니다.
저는 RTX 3080TI 그래픽 카드를 사용하고 있는데 그래픽 카드의 RAM이 12GB 입니다.
eXtra large로 했을때 Batch size가 4정도 밖에 나오지 않아서 이번에는 Large의 Weight로 Batch size 8로 학습해 보겠습니다. epochs 100번 정도 반복하며 이미지 사이즈는 836x836 입니다.
yolov5-master 디렉토리로 이동한 다음 아래와 같이 입력합니다.
python train.py --img 832 --batch 8 --epochs 100 --data ./dataset/data.yaml --cfg ./models/yolov5l.yaml --weights yolov5l.pt --name license_plate_yolov5l_results
학습이 완료되면 아래와 같은 파일들이 만들어 집니다. (경로: ./runs/train/license_plate_yolov5l_results)
val_batch2_pred의 보면 학습이 잘 진행 된것을 확인할 수 있습니다.
Detection 할때 사용할 Weight 파일 입니다. (경로: ./runs/train/license_plate_yolov5l_results/weights)
이제 실전으로 Detection 할 차례 입니다. 아래와 같이 입력합니다. (road1.mp4 동영상 파일 - 원본)
python detect.py --source ./test_data/movies/road1.mp4 --weights ./runs/train/license_plate_yolov5l_results/weights/best.pt
Detection 작업중인 화면입니다.
Detection이 완료되면 Detection 결과물이 담겨 있는 파일이 생성됩니다. (경로: ./runs/train/detect/)
동영상을 플레이 해보면 Detection 결과를 확인할 수 있습니다.
개선점: 작은 번호판은 인식이 잘안되는 경향이 있습니다. Weight를 eXtra large로 하면 조금은 개선되지만 근본적인 해결 방법은 아닌듯합니다. 작은 사이즈의 번호판을 가진 Dataset의 이미지를 좀더 확보해서 학습해보고 차후 튜닝 작업을 해야 할것 같습니다.
긴글 읽어 주셔서 감사합니다.
'딥러닝 > Object Detection' 카테고리의 다른 글
YOLO v5 - 자동차 번호판(License Plate) 인식 - 4. Custom Dataset 만들기 (0) | 2021.11.16 |
---|---|
YOLO v5 - 자동차 번호판(License Plate) 인식 - 3. Vehicles Detection 하기 (0) | 2021.11.15 |
YOLO v5 - 자동차 번호판(License Plate) 인식 - 2. Public Dataset으로 학습 시키기 (0) | 2021.11.15 |
YOLO v5 - 자동차 번호판(License Plate) 인식 - 1. 환경 준비 (0) | 2021.11.15 |
YOLO v5를 이용한 자동차 번호판(License Plate) 인식 - Introduction (0) | 2021.11.14 |