Các mô hình phát hiện đối tượng thường được huấn luyện trên một nhóm các lớp cố định vì vậy mô hình sẽ định vị và chỉ phân loại các lớp trong hình ảnh đó. Ngoài ra, vị trí của đối tượng thường ở dạng hình chứ nhật bị ràng buộc. Vì vậy, phát hiện đối tượng liên quan đến cả vị trí của đối tượng trong hình ảnh và phân loại đối tượng đó.
Trong các thuật toán, các chỉ số luôn được đánh giá so với dữ liệu thật sự. Dữ liệu thật sự là vị trí của các đối tượng được cung cấp trong tập dữ liệu training, validation và test. Đối với các hệ thống phát hiện đối tượng, dữ liệu thật sự (ground truth) bao gồm hình ảnh, các lớp của đối tượng trong nó và các hộp giới hạn thực sự của mỗi đối tượng trong ảnh đó.
Hình 3.4: Xác định ground truth cho các đối tượng
Như hình trên các ground truth box được xác định trên ảnh huấn luyện và kiểm tra. Giả sử hình ảnh gốc và chú thích cho ground truth giống như ảnh trên. Dữ liệu huấn luyện và kiểm tra tất cả các hình ảnh được chú thích theo cùng một cách. Mô hình sẽ trả về rất nhiều dự đoán nhưng trong số đó hầu hết độ tin cậy rất thấp, do đó chúng ta chỉ xem xét các dự đoán trên một độ tin cậy nhất định. Chúng ta cho hình ảnh gốc qua mô hình và thuật toán phát hiện đối tượng sẽ trả về về kết quả vị trí của đối tượng có trong ảnh theo một ngưỡng của độ tin cậy.
Hình 3.5: Kết quả dự đoán của mô hình
Để đánh giá được độ chính xác, đầu tiên chúng ta cần phải đánh giá tính chính xác của từng dự đoán trên ảnh. Để tính được độ chính xác của một hộp giới hạn chúng ta sử dụng độ đo IoU – Intersection over Union thể hiện sự trùng khớp giữa hộp giới hạn dự đoán và hộp giới hạn thực sự của đối tượng trong ảnh. Như ảnh dưới, tương
ứng với mỗi lớp vùng hộp chồng chéo giữa hộp dự đoán và hộp thực sự của đối tượng là khu vực giao nhau (intersection) và tổng của các khu vực(union).
Hình 3.6: So sánh kết quả dự đoán với ground truth của đối tượng
Intersection và union của ô tô ở ảnh trên sẽ được tính như sau.
IoU sẽ được tính là
Hình 3.8: Công thức tính IoU
Để tính toán Precision và Recall, cũng giống như các bài toán học máy chúng ta cần xác định các điểm True Positives, False Positives, True Negatives và False Negatives.
- True positive (TP): Thể hiện một phát hiện chính xác. IoU của dự đoán với ground truth lớn hơn ngưỡng.
- False Positive (FP): Một dự đoán không chính xác. IoU của dự đoán với ground truth nhỏ hơn ngưỡng.
- False Negative (FN): Vùng có đối tượng(ground truth) không được phát hiện. - True Negative (TN): Tất cả các hộp giới hạn được phát hiện không chính xác. Độ chính xác là khả năng của một mô hình chỉ các định các đối tượng liên quan. Đố là tỷ lệ phần của của các dự đoán chính xác trên tổng số dự đoán:
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑃 =
𝑇𝑃
𝑇ổ𝑛𝑔 𝑠ố 𝑑ự đ𝑜á𝑛
Recall là khả năng của một mô hình để tìm tất cả các đối tượng trong ảnh. Đó là tỷ lệ phần trăm của số dự đoán chính xác trên tất cả các đối tượng có trong dữ liệu:
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑁 =
𝑇𝑃
𝑇ấ𝑡 𝑐ả 𝑐á𝑐 𝑘ℎ𝑢 𝑣ự𝑐 𝑡ℎậ𝑡 𝑠ự
Để đánh giá một mô hình phát hiện đối tượng chúng ta thương sử dụng độ chính xác trung bình của dự đoán mean average precision- mAP[9,10,11]. mAP thể hiện độ phủ
trung bình của các lớp. AP cho mỗi lớp được tính theo đường cong thể hiện sự liên quan giữa precision và recall của mô hình.
3.3 Đề xuất phương pháp cải tiến và đánh giá
3.3.1 Đề xuất phương pháp cải tiến
Qua quá trình thử nghiệm chúng ta dễ dàng thấy rằng việc thay đổi cấu trúc của một số lớp convolutional để có thể tăng tốc độ của mô hình. Mặt khác YOLO là một trong những mô hình có khả năng tùy biến cao để cần bằng giữa tốc độ và độ chính xác. Với bài toán nhận dạng các phương tiện giao thông có tốc độ di chuyển nhanh việc cần một mô hình có tốc độ xử lý nhanh và độ chính xác trong điều kiện ánh sáng tốt là cần thiết.
Trong luận văn này chúng ta sử dụng phương pháp thay đổi số lượng filter trên các convolutional của YOLO. Quá trình thay đổi này giúp tăng tốc độ dự đoán và huấn luyện của mô hình YOLO mà độ chính xác không giảm đi quá nhiều. Số lượng filter của phương pháp cải tiền này thự hiện thay đổi số lượng filter của các lớp convolutional từ lớp 27 đến lớp 66, lần lượt thay đổi số lượng filter xuống 512 và 256 filter.
3.3.2 Đánh giá phương pháp cải tiến
a. Tốc độ xử lý
Kết quả thực nghiệm cho thấy thời gian huấn luyện mô hình mới giảm 40% so với mô hình ban đầu, tốc độ xử lý trong dự đoán tăng khoảng 20% từ 10 FPS lên 12 FPS với GPU 1060 3G khi giảm số lượng filter ở các lớp xuống 256 filter.
Hình 3.9: Tốc độ xử lý
b. Thời gian huấn luyện
Việc giảm số lượng filter cũng giúp cho tốc độ hội tụ của mô hình YOLO với bài toán phát hiện phương tiện nhanh hơn.
Hình 3.10: Tốc độ hội tụ của hai cấu hình
Thời gian thực hiện mỗi epoch của mô hình mới cũng nhanh hơn giúp qua trình huấn luyện nhanh hơn đáng kể.
9 9.5 10 10.5 11 11.5 12 12.5
YOLO Full YOLO 512 YOLO 256
Speed FPS 0 20 40 60 80 100 0 20000 40000 60000 80000 To ta l l o ss Epochs Total loss
Hình 3.11: Thời gian huấn luyện của hai cấu hình
c. Độ chính xác
Hình 3.12: Kết quả mô hình YOLO sau khi thay đổi số filter
Với kết quả này, chúng ta có thể thấy việc thay đổi cấu trúc của mô hình YOLO có thể cải thiện tốc độ hoặc độ chính xác của mô hình. Tùy thuộc vào đối tượng dự đoán và yêu cầu thời gian của bài toán mà chúng ta có thể đưa ra các thay đổi phù hợp. Trong thử nghiệm với các phương tiện giao thông như ô tô con và xe máy việc thay đổi số filter đã cải thiện tốc độ dự đoán đáng kể mà không làm giảm đi độ chính xác trong điều kiện ánh sáng tốt.
0 20000 40000 60000 80000 100000 5 10 15 20 25 30 35 Epo chs Hours Time training
YOLO Full YOLO 512 YOLO 256
YOLO Full YOLO 512 YOLO 256
mAP(%) 85.71 82.8 81.5 speed(FPS) 10 10.8 12 0 10 20 30 40 50 60 70 80 90 A cc u ra cy
3.4 Kết luận chương
Chương III giới thiệu về bộ dữ liệu thử nghiệm, xây dựng mô hình, cài đặt thử nghiệm và đề xuất một phương pháp cái tiến mô hình YOLO trong bài toán phát hiện phương tiện giao thông giúp tăng tốc độ xử lý mà không làm gì đi độ chính xác của mô hình đáng kể.
KẾT LUẬN
Với mục tiêu nghiên cứu và xây dựng mô hình phát hiện phương tiện giao thông có thể áp dụng tại Việt Nam. Luận văn này tập trung nghiên cứu về các phương pháp phát hiện và nhận dạng phương tiện giao thông sử dụng kỹ thuật học sâu dựa trên mô hình YOLO. Luận văn đạt được một số kết quả sau:
- Nghiên cứu tổng quan một số vấn đề về kỹ thuật học sâu trong xử lý ảnh, giới thiệu một số mô hình được sử dụng phổ biến trong nhiều bài toán phát hiện hiện nay. - Nghiên cứu sâu mô hình YOLO, một trong những mô hình hiện đại nhất hiện nay. Thử nghiệm và đánh giá các phương pháp cải tiến cho mô hình YOLO giúp cải thiện tốc độ huấn luyện cũng như tốc độ dự đoán
- Thu thập dữ liệu huấn luyện, thử nghiệm và đánh giá kết quả của phương pháp. Kết quả thực nghiệm cho thấy việc thay đổi số filter trong các lớp convolutional của mô hình YOLO thực sự đem lại hiệu quả giúp tăng tốc độ huấn luyện và tốc độ dự đoán trong điều kiện ánh sang tốt của ảnh đầu vào.
Trong tương lai, Luận văn có thể được tiếp tục nghiên cứu theo hướng ứng dụng phục vụ cho các hệ thống giám sát giao thông tại Việt Nam.
TÀI LIỆU THAM KHẢO
[1] Agarap, Abien Fred. "Deep Learning using Rectified Linear Units (ReLU)." arXiv preprint arXiv:1803.08375 (2018).
[2] Dalal, Navneet, and Bill Triggs. "Histograms of oriented gradients for human detection." Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. Vol. 1. IEEE, 2005.
[3] Girshick, Ross, et al. "Region-based convolutional networks for accurate object detection and segmentation." IEEE transactions on pattern analysis and machine intelligence 38.1 (2016): 142-158.
[4] Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2014.
[5] Girshick, Ross. "Fast r-cnn." Proceedings of the IEEE international conference on computer vision. 2015.
[6] He, Kaiming, et al. "Spatial pyramid pooling in deep convolutional networks for visual recognition." European conference on computer vision. Springer, Cham, 2014. [7] Hearst, Marti A., et al. "Support vector machines." IEEE Intelligent Systems and their applications 13.4 (1998): 18-28.
[8] Hosang, Jan Hendrik, Rodrigo Benenson, and Bernt Schiele. "Learning non- maximum suppression." CVPR. 2017.
[9] Hsieh, Jun-Wei, et al. "Automatic traffic surveillance system for vehicle tracking and classification." IEEE Transactions on Intelligent Transportation Systems 7.2 (2006): 175-187.
[10] Liu, Wei, et al. "Ssd: Single shot multibox detector." European conference on computer vision. Springer, Cham, 2016.
[11] Oksuz, Kemal, et al. "Localization recall precision (LRP): A new performance metric for object detection." European Conference on Computer Vision (ECCV). 2018.
[12] Redmon, Joseph, and Ali Farhadi. "Yolov3: An incremental improvement." arXiv preprint arXiv:1804.02767 (2018).
[13] Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
[14] Ren, Shaoqing, et al. "Faster r-cnn: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015.
[15] Sermanet, Pierre, et al. "Overfeat: Integrated recognition, localization and detection using convolutional networks." arXiv preprint arXiv:1312.6229 (2013). [16] Wen, Xuezhi, et al. "A rapid learning algorithm for vehicle classification." Information Sciences 295 (2015): 395-406. [17] https://en.wikipedia.org/wiki/Activation_function [18] https://en.wikipedia.org/wiki/Convolutional_neural_network [19] http://host.robots.ox.ac.uk/pascal/VOC/voc2007/ [20] http://cocodataset.org/ [21] https://www.itpro.co.uk/hardware/30399/what-is-a-gpu [22] https://developer.nvidia.com/cuda-gpus [23] https://vi.wikipedia.org/wiki/H%E1%BB%8Dc_s%C3%A2u [24] http://cs231n.github.io/transfer-learning/ [25] https://pjreddie.com/darknet/imagenet/#darknet53 [26] https://pjreddie.com/darknet/