Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,96 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM PHAN VĨNH LONG KHÓA LUẬN TỐT NGHIỆP PHÁT HIỆN ĐỐI TƯỢNG THEO THỜI GIAN THỰC TỪ VIDEO TRÊN KHÔNG Real-time object detection on aerial video KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM PHAN VĨNH LONG – 16520695 KHÓA LUẬN TỐT NGHIỆP PHÁT HIỆN ĐỐI TƯỢNG THEO THỜI GIAN THỰC TỪ VIDEO TRÊN KHÔNG Real-time object detection on aerial video KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN TS Ngô Đức Thành, ThS Võ Duy Ngun TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn đến quý thầy khoa Cơng nghệ Phần mềm tận tình giảng dạy, truyền đạt kiến thức quý báu cho thời gian học đại học tạo điều kiện, giúp đỡ cho thực luận văn Chúng xin gửi lời biết ơn chân thành đến TS.Ngô Đức Thành Thầy cung cấp kiến thức, tạo điều kiện, đồng thời tin tưởng, động viên chúng tơi q trình hồn thành luận văn Chúng xin gửi lời cảm ơn đến TS Nguyễn Tấn Trần Minh Khang, ThS Võ Duy Nguyên tập thể nghiên cứu viên phịng thí nghiệm Multimedia Communications Laboratory (MMLab) giúp đỡ, hướng dẫn góp ý cho luận văn Phần lớn thí nghiệm, thực nghiệm luận văn thực sử dụng thiết bị từ Multimedia Communications Laboratory hỗ trợ Chúng xin chân thành cảm ơn đội ngũ giảng viên sinh viên trường Đại học Công nghệ thông tin, Đại học Quốc gia TP.HCM nhiệt tình hỗ trợ trình hồn thành luận văn Mặc dù cố gắng hết sức, q trình hồn thành luận văn khơng thể tránh khỏi sai xót Do góp ý thầy cô bạn ý kiến quý báu để luận văn hoàn thiện Xin chân thành cám ơn Sinh viên thực Phan Vĩnh Long MỤC LỤC Chương TỔNG QUAN .2 1.1 Động lực nghiên cứu .2 1.2 Mục tiêu đề tài .3 1.3 Phát biểu toán 1.4 Đối tượng phạm vi nghiên cứu 1.5 Vấn đề giải 1.6 Đóng góp luận văn 1.7 Bố cục luận văn .6 Chương CÁC NGHIÊN CỨU LIÊN QUAN 2.1 Cơ sở lý thuyết .7 2.1.1 Perceptron 2.1.1 Hàm kích hoạt (Activation functions) 2.1.2 Artificial neural network (ANN) 2.1.3 Convolutional Neural Network (CNN) .10 2.1.4 Kernel 11 2.1.5 Max pooling 11 2.1.6 Lan truyền ngược (Backpropagation) .12 2.2 YOLO 13 2.2.1 YOLOv1 13 2.2.2 YOLOv2 14 2.2.3 YOLOv3 15 2.2.4 YOLOv4 17 Chương CẢI TIẾN YOLOV4 20 3.1 Tính tốn lại kích thước anchor box .20 3.2 Tăng cường đồ đặc trưng 21 3.3 Thay đổi tỉ lệ ảnh đầu vào 22 3.4 Tăng cường kích thước đầu vào 22 Chương THỰC NGHIỆM VÀ ĐÁNH GIÁ 23 4.1 Mô tả liệu 23 4.1.1 Tổng quan 23 4.1.2 Cấu trúc tổ chức liệu .25 4.2 Độ đo mAP 27 4.2.1 Intersection over Union (IoU) 27 4.2.2 Precision Recall 27 4.2.3 Average Precision (AP) .28 4.3 Cài đặt thực nghiệm .30 4.3.1 Môi trường thực nghiệm 30 4.3.2 Cài đặt môi trường .31 4.3.3 Thực huấn luyện 32 4.4 Kết thực nghiệm 33 Chương PHÁT TRIỂN HỆ THỐNG PHÁT HIỆN ĐỐI TƯỢNG 36 5.1 Tổng quan hệ thống .36 5.2 Use-case diagrams .37 5.2.1 Sơ đồ use-case 37 5.2.2 Danh sách actor 37 5.2.1 Danh sách use-case 38 5.3 Activity diagrams 39 5.3.1 Đăng ký .39 5.3.2 Đăng nhập 40 5.3.3 Tải lên ảnh/ video để xử lý 41 5.3.4 Tạo luồng live stream đế xử lý 42 5.3.5 Quản lý lịch sử 43 5.3.6 Quản lý thông tin hệ thống 44 5.3.7 Quản lý người dùng 45 5.3.8 Đăng xuất 46 5.4 Thiết kế sở liệu 47 5.4.1 Bảng User 47 5.4.2 Bảng Model .47 5.4.3 Bảng Detection 48 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 6.1 Kết luận 50 6.2 Kết nghiên cứu 50 6.3 Phương hướng phát triển .51 DANH MỤC HÌNH Hình 1.1: Drone (trái) hình ảnh chụp drone (phải) .4 Hình 2.1: Perceptron Hình 2.2: Artificial neural network .9 Hình 2.3: Ví dụ Convolutional Neural Network 10 Hình 2.4: Cách hoạt động kernel 11 Hình 2.5: Ví dụ max pooling 12 Hình 2.6: Các bước lan truyển ngược .12 Hình 2.7: Các hoạt động YOLO [1] 13 Hình 2.8: Cấu trúc mạng YOLO [1] 14 Hình 2.9: Thời gian độ xác YOLOv3 [4] 16 Hình 2.10: Kiến trúc Darknet-53 17 Hình 2.11: Kiến trúc YOLOv4 [6] 18 Hình 2.12: Độ xác tốc độ xử lý YOLOv4 [6] 19 Hình 3.1: Trực quan hố anchor box mặc định YOLOv4, tính tốn lại sử dụng k-mean trung bình phương pháp (trái qua phải) 20 Hình 3.2: Kiến trúc mạng mặc định YOLOv4 21 Hình 3.3: Kiến trúc mạng YOLOv4 tăng cường đồ đặc trưng 21 Hình 3.4: Hình ảnh tỉ lệ 16:9 (trái) hình ảnh tỉ lệ 1:1 (phải) 22 Hình 4.1: Một số hình ảnh liệu VisDrone-DET 23 Hình 4.2: Sự phân bố số lượng đối tượng tập liệu huấn luyện, đánh giá kiểm thử (trái sang phải, xuống dưới) 24 Hình 4.3: Ví dụ đường cong Precision-Recall .28 Hình 4.4: Đường cong Precision-Recall làm mượt 29 Hình 4.5: Đường cong Precision-Recall với 11 điểm Recall 29 Hình 5.1: Activity diagram cho use-case Đăng ký 39 Hình 5.2: Activity diagram cho use-case đăng ký 40 Hình 5.3: Activity diagram cho use-case Tải lên ảnh/ video 41 Hình 5.4: Activity diagram cho use-case Tạo luồng live stream 42 Hình 5.5: Activity diagram cho use-case Quản lý lịch sử 43 Hình 5.6: Activity diagram cho use-case Quản lý thông tin hệ thống 44 Hình 5.7: Activity diagram cho use-case Quản lý thơng tin người dùng 45 Hình 5.8: Activity diagram cho use-case Đăng xuất 46 DANH MỤC BẢNG Bảng 4.1: Kết mơ hình YOLOv4 cải tiến liệu VisDroneDET với lớp đối tượng .33 Bảng 4.2: Kết mơ hình YOLOv4 cải tiến liệu VisDroneDET với lớp đối tượng cuối mAP FPS 34 Bảng 4.3: So sánh phương pháp tiên tiến [19] mơ hình đề xuất 34 Bảng 5.1: Danh sách actor 37 Bảng 5.2: Danh sách use-case 38 Bảng 5.3: Thiết kế liệu bảng User 47 Bảng 5.4: Thiết kế liệu bảng Model 48 Bảng 5.5: Thiết kế liệu bảng Detection 49 Đăng nhập 5.3.2 Đăng nhập Người dùng System Nhập thông tin đăng nhập submit Kiểm tra thông tin đăng nhập Khách hàng chuyển đến trang chức Chuyển hướng đển trang chức Thông tin đăng nhập đúng? Đúng Phase Sai Khách hàng thấy thông báo thôgn tin không Thông báo thông tin đăng nhập khơng Hình 5.2: Activity diagram cho use-case đăng ký 40 5.3.3 Tải lên ảnh/ video để xử lý Tải lên ảnh/ video Người dùng Chọn ảnh/ video cần tải lên submit System Kiểm tra liệu Thông báo liệu không phù hợp Kiểu liệu phù hợp? Phù hợp Không Lưu ảnh/ video vào hệ thống Lưu thông tin vào sở liệu Phase Xử lý phát đối tượng Gửi thông tin hiển thị đến khách hàng Sinh ảnh/ video kết Hình 5.3: Activity diagram cho use-case Tải lên ảnh/ video 41 5.3.4 Tạo luồng live stream đế xử lý Tải lên ảnh/ video Người dùng Chọn tính tạo live stream System Kiểm tra phần cứng có khả dụng khơng Thông báo phần cứng không khả dụng Người dùng sử dụng đường dẫn key để stream đến server Phần cứng khả dụng? Khả dụng Không Tạo stream key sinh đường dẫn cho người dùng Nhận thông tin liệu từ stream Người dùng xem kết nhấn kết thúc Phát đối tượng Tạo/ cập nhận luồng stream trả kết Hết thời gian stream tối đa người dùng nhấn kết thúc? Sai Phase Hiển thị thông tin thống kê cho người dùng Hình 5.4: Activity diagram cho use-case Tạo luồng live stream 42 5.3.5 Quản lý lịch sử Quản lý lịch sử Người dùng Chọn tính xem lịch sử System Hiển thị lịch sử cho người dùng Lấy thông tin lịch sử Người dùng xoá chuyển hướng Người dùng xoá lịch sử? Xoá Xoá liệu DB Chuyển hướng Phase Chuyển hướng Hình 5.5: Activity diagram cho use-case Quản lý lịch sử 43 5.3.6 Quản lý thông tin hệ thống Quản lý hệ thống Người quản lý Chọn tính quản lý hệ thống System Hiển thị thông tin hệ thống cho người dùng Lấy thông tin hệ thống Người dùng chuyển hướng thay đôi thông tin Người dùng thay đổi thơng tin? Xố Thay đổi liệu DB Chuyển hướng Phase Chuyển hướng Hình 5.6: Activity diagram cho use-case Quản lý thông tin hệ thống 44 5.3.7 Quản lý người dùng Quản lý người sử dụng Người quản lý Chọn tính quản lý người dùng System Lấy thông tin người dùng Hiển thị thông tin người dùng Người dùng chuyển hướng thay đôi thông tin Người dùng thay đổi thơng tin? Xố Thay đổi liệu DB Chuyển hướng Phase Chuyển hướng Hình 5.7: Activity diagram cho use-case Quản lý thông tin người dùng 45 5.3.8 Đăng xuất Đăng xuất Người dùng Chọn tính đăng xuất System Lấy thơng tin người dùng Xoá cookie/ localstorage Phase Chuyển hướng đến trang đăng nhập Hình 5.8: Activity diagram cho use-case Đăng xuất 46 5.4 Thiết kế sở liệu 5.4.1 Bảng User Lưu trữ danh sách người dùng tồn hệ thống số thông tin liên quan STT Thuộc tính Kiểu liệu Ý nghĩa UserID Integer ID user hệ thống FullName NVARCHAR(50) Họ tên người dùng Email NVARCHAR(50) Email người dùng Phone NVARCHAR(20) Số điện thoại người dùng BirthDay Date Username NVARCHAR(50) Tên đăng nhập người dùng Password NVARCHAR(50) Mật mã hoá người dùng IsActivate Boolean Người dùng có kích hoạt hay chưa IsAdmin Boolean Người dùng có phải quản trị viên hay Ngày sinh người dùng không 10 CreatedTime DateTime Thời gian tài khoản tạo Bảng 5.3: Thiết kế liệu bảng User 5.4.2 Bảng Model Lưu trữ danh sách mơ hình hệ thống STT Thuộc tính Kiểu liệu Ý nghĩa Integer ID mơ hình hệ ModelID thống 47 Name Tên mơ hình hệ NVARCHAR(50) thống WeightsPath NVARCHAR(1000) Đường dẫn đến tệp tin chứa weights mơ hình hệ thống Config Tên cấu hình mơ NVARCHAR(50) hình lưu tệp tin config hệ thống Thời gian mô hình CreatedTime DateTime tạo hệ thống IsActive Mơ hình có kích Boolean hoạt để sử dụng hay không Type ENUM(‘darknet’, ’yolo-pytorch’, Thư viện sử dụng cho ’yolo-tensor’, ’pytorch’, ’tensor’) mơ hình Bảng 5.4: Thiết kế liệu bảng Model 5.4.3 Bảng Detection Lưu trữ liệu đầu vào hệ thống STT Thuộc tính Kiểu liệu Ý nghĩa ID detection hệ DetectionID Integer thống Type ENUM(‘image’,’video’,’stream’) Kiểu liệu đầu vào InputPath NVARCHAR(1000) Đường dẫn đến tệp tin đầu vào hệ thống 48 OutputPath NVARCHAR(1000) Đường dẫn đến tệp tin kết sau phát đổi tượng Thời gian tạo yêu cầu CreatedTime DateTime phát đối tượng CreatedBy ID người dùng gửi Integer yêu cầu ResultPath NVARCHAR(1000) Đường dẫn đến tệp tin chứa kết dạng văn sau phát đối tượng Bảng 5.5: Thiết kế liệu bảng Detection 5.5 Cài đặt hệ thống Các thành phần cần thiết môi trường cài đặt xây dựng tảng docker với script tự động cài đặt Để cài đặt hệ thống cần mơi trường sau: • Phần cứng hỗ trợ tương tự phần cứng cho phần thực nghiệm • Docker nvidia cài đặt sẵn Sau chuẩn bị môi trường cần thiết, sử dụng lệnh sau để cài đặt hệ thống: git clone https://github.com/PhanVinhLong/ml-detection-web cd ml-detection-web chmod +x /build.sh /build.sh Sau cài đặt, người dùng truy cập vào hệ thống qua địa chỉ: http://:8000 49 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Trong luận văn này, nghiên cứu toán phát đối tượng video từ không theo thời gian thực Cụ thể chúng tơi phân tích liệu VisDrone-DET thử nghiệm thuật toán YOLOv4 liệu Từ liệu thu được, phân tích, đánh giá từ đưa phương pháp cải tiến độ xác thuật tốn Thực tế cho thấy phương pháp cải tiến cải thiện đáng độ xác, cho mơ hình với độ xác cao mơ hình ban đầu, cụ thể độ đo AP tăng từ 39.30% lên 46.26% Đồng thời tạo hệ thống phát đối tượng tảng website, thực chức phát đối tượng mơ hình từ luận văn Hệ thống có đa dạng tính đáp ứng nhu cầu người sử dụng, với đa dạng liệu đầu vào ảnh, video luồng phát trực tuyến 6.2 Kết nghiên cứu • Tìm hiểu kiến thức tốn phát đổi tượng cho ảnh video khơng • Nghiên cứu phương pháp giải toán phát đối tượng, đặc biệt thuật tốn YOLOv4 • Đưa mơ hình cải tiến độ xác thuật tốn • Một báo khoa học Hội thảo Quốc gia lần thứ XXIII Điện tử, Truyền thông Công nghệ Thông tin Hội Vô tuyến Điện tử Việt Nam (REV) tổ chức • Một báo khoa học duyệt Hội nghị Innovation and Vision for the Future on Computing and Communication Technologies (RIVF 2021) • Hệ thống phát đối tượng với đa dạng chức phục vụ nhu cầu người dùng 50 6.3 Phương hướng phát triển • Áp dụng thuật toán cho bước tiền xử lý ảnh hậu xử lý kết thuật tốn tăng cường chất lượng ảnh, sinh ảnh,… • Tăng cường liệu sử dụng thuật toán sinh ảnh, kỹ thuật tăng cường liệu (xoay ảnh, lật ảnh, thêm nhiễu,…) • Xây dựng thêm liệu cho tốn • Phát triển theo hướng tăng tốc độ xử lý thuật tốn • Hồn thiện tính hệ thống phát đối tượng, thêm tính cho hệ thống 51 TÀI LIỆU THAM KHẢO [1] J Redmon, S Divvala, R Girshick and A Farhadi, "You only look once: Unified, real-time object detection," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2016 [2] J Redmon and A Farhadi, "YOLO9000: better, faster, stronger," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2017 [3] W Liu, D Anguelov, D Erhan, C Szegedy, S Reed, C.-Y Fu and A C Berg, "Ssd: Single shot multibox detector," in European conference on computer vision, 2016 [4] J Redmon and A Farhadi, "Yolov3: An incremental improvement," in arXiv preprint arXiv:1804.02767, 2018 [5] K He, X Zhang, S Ren and J Sun, "Deep residual learning for image recognition," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2016 [6] A Bochkovskiy, C.-Y Wang and H.-Y M Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," in arXiv preprint arXiv:2004.10934, 2020 [7] K Simonyan and A Zisserman, "Very deep convolutional networks for largescale image recognition," in arXiv preprint arXiv:1409.1556, 2014 [8] X Du, T.-Y Lin, P Jin, G Ghiasi, M Tan, Y Cui, Q V Le and X Song, "SpineNet: Learning scale-permuted backbone for recognition and localization," in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020 52 [9] M Tan and Q V Le, "Efficientnet: Rethinking model scaling for convolutional neural networks," in arXiv preprint arXiv:1905.11946, 2019 [10] C.-Y Wang, H.-Y Mark Liao, Y.-H Wu, P.-Y Chen, J.-W Hsieh and I.-H Yeh, "CSPNet: A new backbone that can enhance learning capability of cnn," in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 2020 [11] T.-Y Lin, P Dollar, R Girshick, K He, B Hariharan and S Belongie, "Feature pyramid networks for object detection," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2017 [12] S Liu, L Qi, H Qin, J Shi and J Jia, "Path aggregation network for instance segmentation," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2018 [13] S Liu and D Huang, "Receptive field block net for accurate and fast object detection," in Proceedings of the European Conference on Computer Vision (ECCV), 2018 [14] L.-C Chen, G Papandreou, I Kokkinos, K Murphy and A L Yuille, "Semantic image segmentation with deep convolutional nets and fully connected crfs," in arXiv preprint arXiv:1412.7062, 2014 [15] S Woo, J Park, J.-Y Lee and I So Kweon, "Cbam: Convolutional block attention module," in Proceedings of the European conference on computer vision (ECCV), 2018 [16] S Ren, K He, R Girshick and J Sun, "Faster r-cnn: Towards real-time object detection with region proposal networks," in IEEE transactions on pattern analysis and machine intelligence, 2016 53 [17] K He, G Gkioxari, P Dollar and R Girshick, "Mask r-cnn," in Proceedings of the IEEE international conference on computer vision, 2017 [18] J Dai, Y Li, K He and J Sun, "R-fcn: Object detection via region-based fully convolutional networks," in Advances in neural information processing systems, 2016 [19] K Nguyen, N Huynh, P Nguyen, K.-D Nguyen, N D Vo and T V Nguyen, "Detecting Objects from Space: An Evaluation of Deep-Learning Modern Approaches," Electronics, vol 9, p 583, 2020 [20] Z Tian, C Shen, H Chen and T He, "Fcos: Fully convolutional one-stage object detection," in Proceedings of the IEEE international conference on computer vision, 2019 [21] P Zhu, L Wen, D Du, X Bian, Q Hu and H Ling, "Vision Meets Drones: Past, Present and Future," in arXiv preprint arXiv:2001.06303, 2020 [22] S Xie, R Girshick, P Dollar, Z Tu and K He, "Aggregated residual transformations for deep neural networks," in Proceedings of the IEEE conference on computer vision and pattern recognition, 2017 [23] H Yu, G Li, W Zhang, Q Huang, D Du, Q Tian and N Sebe, "The unmanned aerial vehicle benchmark: Object detection, tracking and baseline," International Journal of Computer Vision, vol 128, pp 1141 1159, 2020 [24] H Wu, W Li, W Li and G Liu, "A Real-Time Robust Approach for Tracking UAVs in Infrared Videos," in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 2020 54 ... toán phát đối tượng ảnh, đầu tốn vị trí đối tượng ảnh Bài tốn phát đối tượng video tương tự toán phát đối tượng ảnh, nhiên đầu vào tập ảnh theo thứ tự Bài toán phát đối tượng video từ không tốn phát. .. NGHỆ PHẦN MỀM PHAN VĨNH LONG – 16520695 KHÓA LUẬN TỐT NGHIỆP PHÁT HIỆN ĐỐI TƯỢNG THEO THỜI GIAN THỰC TỪ VIDEO TRÊN KHÔNG Real-time object detection on aerial video KỸ SƯ NGÀNH CƠNG NGHỆ PHẦN MỀM... xác đối tượng nhỏ đồng thời chuyển YOLO từ phương pháp phát phân loại đối tượng sang phát phân loại đối tượng đa nhãn, tức đối tượng phát có xác suất cho loại đối tượng thay chọn loại đối tượng