3. QUÁ TRÌNH THỰC HIỆN
3.2. Huấn luyện mơ hình Deep Learning
3.2.2. Huấn luyện mơ hình
3.2.2.1.! Mơ hình Object Detection
- Với mục đích huấn luyện một mơ hình có khả năng nhận diện người với độ chính xác cao nhằm phát hiện người trong điều kiện mơi trường đặc thù là có nhiều vật cản như trạm biến áp, luận văn này tiến hành huấn luyện hai mơ hình Object Detection có độ chính xác cao nhất hiện nay như đã giới thiệu ở phần 2 là EfficientDet và YOLO v5.
- Sau khi đã thu thập và tăng cường dữ liệu cho các tập dữ liệu đã trình bày ở phần 3.2.1. Ta tiến hành quá trình huấn luyện mơ hình nhận diện người trên tập dữ liệu trên.
- Về phần dữ liệu huấn luyện, thực hiện kết hợp cả 3 bộ dữ liệu (Dataset) là COCO 2017, Substation và Youtube lại với nhau. Trong đó tập huấn luyện (training dataset) có tổng cộng 37,033 ảnh có người, 4000 ảnh khơng có người lấy từ bộ COCO 2017 và 1,259 ảnh khơng có người lấy từ bộ Substation. Về phía tập đánh giá ( validate dataset) có tổng cộng 5,773 ảnh trong đó có khoảng 1/4 là ảnh khơng có người. Chi tiết về các tập dữ liệu được thể hiện ở Bảng 3.1.
Bảng 3.1. Chi tiết dữ liệu dùng để huấn luyện mơ hình YOLOv5 và EfficientDet
Dataset Train Validate
COCO 2017 34,212 2,685
COCO khơng có người 4,000 2,259
YouTube 2,821 829
Substation khơng có người 1,259 0
Total 42,292 5,773
- Trước khi tiến hành huấn luyện, để dễ dàng hơn trong việc so sánh độ chính xác cũng như hiệu năng của hai mơ hình trên, ta chọn 2 loại mơ hình có cùng kích thước ảnh ngõ vào với nhau.
- EfficientDet ta chọn mơ hình EfficientDet-D1 có kích thước ngõ vào là (640x640x3). Ngõ ra của mơ hình EfficientDet-D1 là một tensor có kích thước như sau (7x100). Trong đó ma trận 7x100 gồm 100 vector (1,7) được biểu diễn như sau
Hình 3.7. Ngõ vào và ngõ ra của mơ hình EfficientDet-D1!
- YOLOv5 ta chọn mơ hình YOLOv5-m cũng có cùng kích thước ngõ vào là (640x640x3). Ngõ ra của mơ hình YOLOv5-m là một tensor có kích thước (1x6001). Trong đó vector (1x6001) biểu diễn như sau.
[n_boxes, xc, yc, wb, hb, scores, class_id, .., xc, yc, wb, hb, scores, class_id]
Hình 3.8. Ngõ vào và ngõ ra của mơ hình YOLOv5-m!
- Vì hai mơ hình trên được phát triển trên 2 framework khác nhau. EfficientDet-D1 là TensorFlow và YOLOv5-m là Pytorch, nên quá trình huấn luyện hai mơ hình này cũng được chạy trên hai mơi trường khác nhau.
- Về phần cứng, sử dụng một máy tính có cấu hình như sau CPU: AMD 32C/64T 2.35G 128M, RAM: 128GB, GPU: RTX 3090 24GB, SSD: 512 GB
Bảng 3.2. Chi tiết thông số huấn luyện mơ hình EfficientDet và YOLOv5
3.2.2.2.! Mơ hình Classification
- Với yêu cầu của bài toán đặt ra là cần phân biệt giữa ảnh người có đội nón bảo hộ và khơng đội nón bảo hộ. Nhận thấy rằng, mũ bảo hộ chuyên dụng trong các trạm biến áp thường có màu rất nổi bật (màu vàng) nên cũng rất dễ dàng cho mơ hình Deep Learning có thể phân biệt được.
- Ý tưởng ban đầu là sử dụng một mơ hình Object Detection khác tiếp sau mơ hình nhận diện người (Person Detection Model) đã huấn luyện ở phần trên để thực hiện xác định vị trí của nón bảo hộ trong khung hình chứa người, từ đó xác định người này có đội nón hay khơng.
- Tuy nhiên cách làm này gặp một khó khăn là dữ liệu đầu ra của Person Detection Model trước đó là một số liệu khơng thể xác định trước mà tuỳ thuộc vào số người xuất hiện trong bức ảnh đó. Dẫn đến thời gian tính tốn cho một khung hình sẽ phụ thuộc rất nhiều vào số lượng người trong ảnh, đồng thời cũng sẽ phức tạp hơn cho q trình tính tốn về sau khi mơ hình Object Detection nói chung cần rất nhiều tài ngun tính tốn.
- Khác với mơ hình Object Detection cần xác định cả bouding boxes của vật cần nhận dạng, mơ hình Classification chỉ cần phân loại ảnh vào các lớp dữ liệu đã được gán nhãn từ trước. Cùng với đó ngõ vào của các mơ hình Classification nói chung khơng cần ảnh có kích thước q lớn cho nên q trình xử lý sẽ nhanh hơn nhiều. Đồng thời ngõ ra chỉ có 2 lớp là “Có nón” hoặc “Khơng có nón” cũng sẽ dễ dàng hơn cho việc xử lý về sau.
Hình 3.9. So sánh tốc độ xử lý của mơ hình ResNet-50 với các mơ hình khác
- Sau khi khảo sát các tài liệu liên quan để so sánh về tốc độ xử lý của các mơ hình Classification với nhau, ta thấy ở Hình 3.9 mơ hình ResNet-50 [9] có tốc độ xử lý vượt trội hơn các mơ hình khác. Chính vì thế ở đề tài luận văn này, mơ hình Classification được chọn là mơ hình ResNet-50 đã giới thiệu ở phần 2.1.3. Với ngõ vào là ảnh có kích thước 224x224.
- Về dữ liệu huấn luyện, ta sử dụng tập dữ liệu đã thu thập ở phần trước với chi tiết từng tập như sau.
Bảng 3.3. Chi tiết dữ liệu dùng để huấn luyện mơ hình ResNet-50
Dataset Train Validation Test
Người đội mũ bảo hộ 1247 407 2654
Người không đội mũ bảo hộ 1217 410 2879
Total 2464 817 5533
- Chi tiết về các thông số huấn luyện của hai mơ hình được mơ tả ở Bảng 3.4