Bài viết tập trung vào việc ứng dụng mô hình học sâu YOLO3 (You Only Look Once version 3) để giải quyết bài toán. Một hệ thống demo cũng được xây dựng bằng cách sử dụng nền tảng Darknet-53 và thử nghiệm với các dữ liệu do nhóm tác giả tự thu thập. Kết quả cho thấy hệ thống xây dựng có độ chính xác cao và khả thi khi cần áp dụng cho các ứng dụng thực tế.
TẠP CHÍ ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI KHOA HỌC - CÔNG NGHỆ JOURNAL OF MARINE SCIENCE AND TECHNOLOGY XÂY DỰNG HỆ THỐNG PHÁT HIỆN PHƯƠNG TIỆN GIAO THƠNG SỬ DỤNG MƠ HÌNH HỌC SÂU YOLO3 BUILDING A VEHICLE DETECTION SYSTEM BY USING DEEP LEARNING MODEL YOLO3 NGUYỄN HỮU TUÂN*, NGUYỄN VĂN THUỶ Khoa Công nghệ Thông tin, Trường Đại học Hàng hải Việt Nam *Email liên hệ: huu-tuan.nguyen@vimaru.edu.vn Tóm tắt Bài tốn phát phương tiện giao thơng tốn thuộc lĩnh vực thị giác máy tính có nhiều ứng dụng hữu ích hệ thống xe tự hành, quản lý phương tiện giao thông xác định lưu lượng giao thông điểm, đường giao thơng quan trọng Có nhiều cách tiếp cận cho toán này, từ phương pháp trừ phương pháp học sâu đại Trong báo này, nhóm tác giả tập trung vào việc ứng dụng mơ hình học sâu YOLO3 (You Only Look Once version 3) để giải toán Một hệ thống demo xây dựng cách sử dụng tảng Darknet-53 thử nghiệm với liệu nhóm tác giả tự thu thập Kết cho thấy hệ thống xây dựng có độ xác cao khả thi cần áp dụng cho ứng dụng thực tế Từ khóa: Phát phương tiện giao thơng, phát xe tơ, học sâu, mơ hình YOLO3 Abstract Vehicle detection is a computer vision problem that has many useful applications in automatic driving systems, transportation vehicles management and traffic flow at important intersections and roads There are a lot of approaches for this problem, from background subtraction ones to modern deep learning methods In this paper, authors focus on applying deep learning model YOLO3 (You Only Look Once version 3) to deal with the problem A demo system is built based on Darknet-53 and tested with self-collected data The obtained results show that our system gains high accuracy and is viable in real life situations Keywords: Vehicles detection, car detection, deep learning, model YOLO3 46 Mở đầu Phát phương tiện giao thông tốn thuộc nhóm tốn phát đối tượng (một lĩnh vực ngành thị giác máy tính) có nhiều ứng dụng thực tế Bài toán nhận quan tâm nhà khoa học hãng sản xuất công nghiệp lớn nhằm phát triển hệ thống lái tự động kiểm sốt giao thơng (xác định lưu lượng giao thông điểm nút để điều chỉnh, phân luồng quy hoạch hạ tầng giao thơng) Có thể chia phương pháp giải toán phát phương tiện giao thơng thành nhóm: phương pháp dựa vào kỹ thuật trừ [1], phương pháp dựa vào hiệu frame liên tiếp liệu video [2], phương pháp dựa vào luồng quang học (optical flow) [3] phương pháp dựa vào mơ hình mạng học sâu phát đối tượng YOLO [4], Retinanet [5], SSD [6] hay Fast R-CNN [7] Các phương pháp thuộc cách tiếp cận [1], [2] [3] có ưu điểm khơng cần nhiều liệu huấn luyện hay lực xử lý mạnh mẽ hệ thống phần cứng, tốc độ nhanh hạn chế độ xác Các mơ hình học sâu ([4], [5], [6] [7]) có điểm chung cần liệu huấn luyện lớn, phần cứng triển khai phải có lực xử lý mạnh mẽ (các card đồ hoạ GPU chuyên dụng) tốc độ thực thi chậm hơn, lại có độ xác cao Trong phạm vi báo này, tập trung vào việc sử dụng mơ hình mạng học sâu YOLO3 [8] để xây dựng hệ thống phát phương tiện giao thông, chủ yếu loại phương tiện giao thông phổ biến (xe đạp, xe máy, xe con, xe tải xe buýt), dựa tảng Darknet-53 ngơn ngữ lập trình Python Hệ thống kiểm thử với liệu download từ Internet (github.com) liệu thực tế nhóm tác giả thu thập Các phần báo cấu trúc sau: phần mơ hình mạng YOLO3 trình bày chi tiết, tiếp đến phần cài đặt kiểm thử hệ thống, cuối kết luận số đề xuất SỐ 64 (11-2020) TẠP CHÍ ISSN: 1859-316X KHOA HỌC CÔNG NGHỆ HÀNG HẢI KHOA HỌC - CÔNG NGHỆ JOURNAL OF MARINE SCIENCE AND TECHNOLOGY Hình Mơ hình mạng YOLO (cịn gọi YOLO1)[4] Mơ hình mạng học sâu YOLO3 gian thực mơ hình YOLO3 (version 3) đề xuất năm 2018 [8] (xem Hình 2) 2.1 Mơ hình mạng học sâu YOLO YOLO [4] (xem Hình 1) thuật tốn phát đối tượng đề xuất năm 2015 nhằm mục đích triển khai ứng dụng thời gian thực (nhanh-Yolo3 [8] có tốc độ xử lý 28,2ms/1 ảnh, tức khoảng 35,5 FPS với ảnh 320x320) thuật toán hiệu So với toán phân lớp đối tượng (classification), phát đối tượng phức tạp phải trả lời hai câu hỏi: có loại đối tượng ảnh (bản chất ngang với tốn phân lớp) có vị trí đối tượng đâu ảnh input Để có tốc độ nhanh, YOLO thiết kế với số lớp nhỏ so với mơ hình mạng CNNs (YOLO3 có 53 lớp nhân chập) khác Mơ hình YOLO mạng nơ ron nhân chập thơng minh với lớp input ảnh đầu vào hệ thống Thuật toán chia ảnh input thành vùng dự đốn hình chữ nhật bao gói đối tượng xác suất tương ứng cho vùng Thuật toán YOLO sử dụng nhiều tốn có sử dụng bước phát đối tượng hai ngun nhân: độ xác cao tốc độ theo thời gian thực Cách làm việc mô hình mạng YOLO sử dụng phương pháp lan truyền thẳng mạng nơ ron mà sử dụng nên tác giả đặt tên hệ thống “You Only Look Once” với hàm ý thuật toán giống hệ thống thị giác người, cần nhìn lần đưa dự đốn xác đối tượng khung hình nhìn thấy 2.2 Phiên YOLO3 Từ phiên năm 2015 [4], kỹ thuật áp dụng để cải thiện độ xác thời SỐ 64 (11-2020) Hình Kiến trúc mạng YOLO3 [8] YOLO3 có liệu input lơ ảnh có kích thước (m, 416, 416, 3) với kết đầu danh sách hộp bao đối tượng (bounding box - bb) với lớp nhận dạng Mỗi bb biểu diễn giá trị (pc, bx, by, bh, bw, c) pc xác suất dự đốn, (bx, by) toạ độ điểm phía bên trái bb dự đốn, (bh, bw) kích thước chiều cao chiều rộng bb, c nhãn đối tượng phát Trong YOLO3, việc dự đoán thực cách sử dụng lớp nhân chập sử dụng phép nhân chập 1x1 Do đó, điều cần lưu ý kết đầu đồ đặc trưng (feature map) Vì có phép nhân chập 1x1, kích thước đồ dự đốn (prediction map) với kích thước 47 TẠP CHÍ KHOA HỌC - CƠNG NGHỆ feature map trước Trong YOLO3, ý nghĩa prediction map (cell) dự đoán số lượng cố định bb Chẳng hạn có B*(5+C) giá trị feature map B số bb mà cell dự đoán Mỗi số B bb chun biệt cho việc dự đốn loại đối tượng cụ thể Mỗi bb phải có 5+C thuộc tính, mơ tả giá trị toạ độ trung tâm, kích thước, giá trị điểm số C độ tin cậy cho bb YOLO3 dự đoán bb cho cell YOLO3 huấn luyện mơ hình mạng theo cách thức mà bb chịu trách nhiệm cho việc phát đối tượng Đầu tiên, cần phải xác minh ô mà bb thuộc Để làm điều đó, YOLO3 chia ảnh input thành lưới kích thước với feature map cuối Ở ví dụ minh hoạ bên (Hình 3), ảnh input 416x416, bước mạng 32 Như đề cập trước đó, kích thước feature map cuối 13x13 Do chia ảnh thành 13x13 ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI JOURNAL OF MARINE SCIENCE AND TECHNOLOGY Một điểm đáng lưu ý YOLO3 có khả phát đối tượng có kích thước tương đối bé (tốt so với phiên trước nó) Xây dựng hệ thống 3.1 Ngơn ngữ tảng lập trình Để xây dựng hệ thống demo, chúng tơi sử dụng ngơn ngữ lập trình Python thư viện Darknet [9] hệ điều hành Windows 10 Enterprise với hệ thống phần cứng có card GPU Nvidia Geforce 1050 Ti GB nhớ, CPU core i7 9750H lõi, 12 luồng, 32 GB RAM, TB ổ cứng SSD Về tảng phần mềm, sử dụng phiên Tensorflow 1.16, Spyder OpenCV 4.3 Hệ thống demo có khả phát phương tiện giao thông phổ biến đường, cụ thể là: xe máy (motorbike), xe (car), xe tải (truck), xe đạp (bicycle) xe bt (bus) Sau đó, (trên ảnh input) chứa trung tâm bb đối tượng chọn đối tượng chịu trách nhiệm cho việc dự đốn đối tượng Trong ảnh, đánh dấu đỏ, chứa trung tâm bb (đánh dấu vàng) YOLO sử dụng lớp nhân chập (minh hoạ Hình 2), mạng nơ ron nhân chập đầy đủ (FCN) YOLO3 [8] kiến trúc (so với YOLO1 [4]), sâu để trích chọn đặc trưng gọi Darknet-53 Như tên nó, Darknet-53 sử dụng 53 lớp nhân chập, lớp theo sau lớp chuẩn hố theo lơ lớp kích hoạt sử dụng hàm Leaky ReLU Khơng có lớp tổng hợp sử dụng, lớp nhân chập với giá trị bước giảm sử dụng để giảm kích thước feature map Điều giúp cho việc ngăn chặn mát đặc trưng mức thấp thường gây lớp tổng hợp Hình Các dự đốn/phát đối tượng Hình Hình ảnh kết phát phương tiện giao thơng từ camera giám sát hành trình 48 SỐ 64 (11-2020) TẠP CHÍ ISSN: 1859-316X KHOA HỌC CƠNG NGHỆ HÀNG HẢI JOURNAL OF MARINE SCIENCE AND TECHNOLOGY KHOA HỌC - CƠNG NGHỆ Hình Hình ảnh kết phát phương tiện giao thông từ đường Nguyễn Bỉnh Khiêm 3.2 Dữ liệu kết thử nghiệm TÀI LIỆU THAM KHẢO Để thử nghiệm hiệu (độ xác tốc độ) hệ thống demo, thu thập liệu (video) từ Internet [10] tự quay số hình ảnh từ khung cảnh ngồi trời (tại nút giao thông Cầu vượt Đông Hải từ camera giám sát hành trình đặt tơ) Mơ hình YOLO3 training sở liệu COCO [8] Kết thực nghiệm cho thấy: 1) hệ thống demo phát tốt loại phương tiện giao thông (xe đạp, xe máy, xe ô tơ con, xe tải, xe bt) với tỉ lệ xác 180 ảnh test [10] 94%, 2) hệ thống có khả chạy thời gian thực (vẫn chưa dùng hết tài nguyên phần cứng) đạt tốc độ xử lý 20 FPS, 3) số trường hợp nhầm lẫn xe tải xe (xem thêm Hình 4, 5) số lượng đối tượng ảnh lớn [1] Radhakrishnan, M, Video object extraction by using background subtraction techniques for sports applications, Digital Image Processing, Vol.5(9), pp.91-97, 2013 [2] Qiu-Lin, L.I., & Jia-Feng, H.E., Vehicles detection based on three-frame-difference method and cross-entropy threshold method, Computer Engineering, Vol.37(4), pp.172-174, 2011 [3] Liu, Y., Yao, L., Shi, Q., Ding, J., Optical flow based urban road vehicle tracking, Ninth International Conference on Computational Intelligence and Security, 2014 [4] J Redmon, S Divvala, R Girshick and A Farhadi, You Only Look Once: Unified, Real-Time Object Detection, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016 [5] T Lin, P Goyal, R Girshick, K He and P Dollár, Focal Loss for Dense Object Detection, IEEE International Conference on Computer Vision (ICCV), 2017 [6] Liu W et al, SSD: Single Shot MultiBox Detector, Leibe B., Matas J., Sebe N., Welling M (eds) Computer Vision - ECCV, 2016 [7] R Girshick, Fast R-CNN, IEEE International Conference on Computer Vision (ICCV), Santiago, 2015 [8] Redmon, Joseph & Farhadi, Ali., YOLOv3: An Incremental Improvement, 2018 [9] Darknet, [Online] Available: https://pjreddie.com/darknet/ [10] Test dataset, [Online] Available: https://github.com/ahmetozlu/vehicle_counting_t ensorflow/tree/master/custom_vehicle_training/i mages/train Kết luận Phát phương tiện giao thông vấn đề thực tế có nhiều ứng dụng thực tế Trong báo này, nhóm tác giả đề xuất hệ thống phát phương tiện giao thông phổ biến (xe đạp, xe máy, xe ô tô con, xe ô tô tải, xe buýt) cách sử dụng mô hình mạng học sâu YOLO3 Kết thực nghiệm cho thấy hướng tiếp cận có độ xác cao thời gian thực nhanh, có khả áp dụng vào tình thực tế Trong tương lai, nhóm tác giả mong muốn ứng dụng mơ hình YOLO3 vào tốn có u cầu phát đối tượng khác (như phát mặt người, cảnh báo tình giao thơng nguy hiểm) kết hợp với phương pháp học sâu khác retinanet hay SSD để nâng cao độ xác Lời cảm ơn Bài báo sản phẩm đề tài nghiên cứu khoa học cấp Trường năm học 2019-2020, tên đề tài: “Ứng dụng mạng nơ ron học sâu xây dựng hệ thống phát thống kê phương tiện giao thơng”, hỗ trợ kinh phí Trường Đại học Hàng hải Việt Nam SỐ 64 (11-2020) Ngày nhận bài: Ngày nhận sửa: Ngày duyệt đăng: 11/05/2020 28/05/2020 03/06/2020 49 ... nghiên cứu khoa học cấp Trường năm học 2019-2020, tên đề tài: “Ứng dụng mạng nơ ron học sâu xây dựng hệ thống phát thống kê phương tiện giao thông? ??, hỗ trợ kinh phí Trường Đại học Hàng hải Việt... đáng lưu ý YOLO3 có khả phát đối tượng có kích thước tương đối bé (tốt so với phiên trước nó) Xây dựng hệ thống 3.1 Ngôn ngữ tảng lập trình Để xây dựng hệ thống demo, chúng tơi sử dụng ngơn ngữ... ensorflow/tree/master/custom_vehicle_training/i mages/train Kết luận Phát phương tiện giao thơng vấn đề thực tế có nhiều ứng dụng thực tế Trong báo này, nhóm tác giả đề xuất hệ thống phát phương tiện giao thông phổ biến (xe đạp, xe máy,