TÓM TẮT ĐỀ TÀI Trong đề tài này tập trung vào các vấn đề chính như sau: xây dựng mô hình , nhóm phát hiện đám cháy áp dụng công nghệ học sâu, phát hiện vật thể trong thời gian thực qua Camera, đánh giá hiệu năng giữa các mô hình nhận diện vật thể và triển khai ứng dụng lên bảng quản lý . Các mô hình được sử dụng để phát hiện lửa trên Web Server trong đề tài này bao gồm: các phiên bản của Yolo (YOLOv3, YOLOv4, YOLOv5) và các bản tối ưu hóa về định dạng TensorRT, Tflite Tuy nhiên, các mô hình này chỉ . thích hợp chạy trên các thiết bị có cấu hình cao với CPU và GPU mạnh, để đưa vào chạy trên các thiết bị cấu hình thấp ta cần phải qua các bước tối ưu, cấu hình và thiết lập khác nhau, các phương pháp sẽ được trình bày sau trong bản báo cáo này.
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THƠNG VŨ HÀ ANH KHĨA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG PHÁT HIỆN LỬA DỰA TRÊN MƠ HÌNH HỌC SÂU TRÊN JETSON NANO Fire Detection Application Based on Deep Learning for Jetson Nano KỸ SƯ NGÀNH MẠNG MÁY TÍNH VÀ TRUYỀN THƠNG TP HỒ CHÍ MINH, NĂM 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THƠNG VŨ HÀ ANH – 17520258 KHĨA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG PHÁT HIỆN LỬA DỰA TRÊN MƠ HÌNH HỌC SÂU TRÊN JETSON NANO Fire Detection Application Based on Deep Learning for Jetson Nano KỸ SƯ NGÀNH MẠNG MÁY TÍNH VÀ TRUYỀN THƠNG GIẢNG VIÊN HƯỚNG DẪN TS Lê Kim Hùng TP HỒ CHÍ MINH, NĂM 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 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày … tháng … năm 2021 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN) Tên khóa luận: XÂY DỰNG ỨNG DỤNG PHÁT HIỆN LỬA DỰA TRÊN MƠ HÌNH HỌC SÂU TRÊN JETSON NANO FIRE DETECTION APPLICATION BASED ON DEEP LEARNING FOR JETSON NANO Nhóm SV thực hiện: Vũ Hà Anh Cán hướng dẫn: 17520258 TS Lê Kim Hùng Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung: Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm sinh viên: Vũ Hà Anh /10 Người nhận xét ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày … tháng … năm 2021 NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: XÂY DỰNG ỨNG DỤNG PHÁT HIỆN LỬA DỰA TRÊN MƠ HÌNH HỌC SÂU TRÊN JETSON NANO FIRE DETECTION APPLICATION BASED ON DEEP LEARNING FOR JETSON NANO Nhóm SV thực hiện: Vũ Hà Anh Cán phản biện: 17520258 TS Phan Xuân Thiện Đánh giá Khóa luận Về báo cáo: Số trang Số chương Số bảng số liệu Số hình vẽ Số tài liệu tham khảo Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung: Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm sinh viên: Vũ Hà Anh /10 Người nhận xét Lời Cảm Ơn Lời đầu tiên, nhóm xin trân trọng cảm ơn quý thầy, cô công tác giảng dạy khoa Mạng máy tính Truyền thơng, tồn thể thầy, khác cơng tác trường Đại học Công nghệ Thông tin – ĐHQG HCM truyền đạt kiến thức, học, kinh nghiệm quý báu cho nhóm suốt quãng thời gian bốn năm vừa qua Và xếp thời gian, chương trình hợp lý để nhóm có hội hồn thành khóa luận tốt nghiệp tốt Nhóm xin kính chúc khoa Mạng máy tính Truyền thơng nói riêng trường Đại học Cơng nghệ Thơng tin nói chung ln thành công rực rỡ đường giảng dạy đào tạo nhân tài, niềm tin vững cho hệ sinh viên đường giáo dục Đặc biệt, nhóm xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn, TS Lê Kim Hùng Nhờ kinh nghiệm, học quý báu chia sẻ từ thầy, thầy quan tâm giúp đỡ nhóm giải vấn đề phát sinh, khó khăn q trình thực Nhờ có thầy, nhóm có hội hồn thành tốt khóa luận tốt nghiệp Tiếp theo, nhóm xin cảm ơn phía gia đình ln ln tin tưởng, động viên nhóm suốt trình học tập trường Đại học Cơng nghệ Thơng tin – ĐHQG HCM, giúp nhóm có thêm nguồn lượng để đến ngày hơm Cuối cùng, nhóm nhóm xin gửi lời cảm ơn đến anh, chị bạn sinh viên trường Đại học Công nghệ Thông tin – ĐHQG HCM ln nhiệt tình hỗ trợ, chia sẻ ý kiến góp ý cho nhóm quãng thời gian thực khóa luận - Mơ hình YOLOv4 nhận diện tốt tất vật thể, tất vật thể có tỉ lệ khớp liệu 80% cao nhiều so với YOLOv3-tiny - Thời gian phản hồi kết nhận diện nhanh C YOLOv5 Khác biệt với hai phiên trên, YOLOv5 phát triển tảng Pytorch cấu hình sẵn tham số để huấn luyện mơ hình Với IoU 0.5, độ xác YOLOv5 đạt 95% sau khoảng hai tiếng đồng hồ huấn luyện Kết thu được: Hình 4.13 Kết huấn luyện YOLOv5 62 Hình 4.14 Kết thử nhiệm YOLOv5 Nhận xét: - Mơ hình có hiệu suất cao độ khớp liệu vật thể xấp xỉ 90% trở lên - Xử lý khung hình 480p chưa tốt, mơ hình phù hợp phát điều kiện camera có độ phân giải cao - Tiêu thụ lượng lớn tài nguyên máy tính 63 4.5.2 Thơng số chi tiết mơ hình thử nghiệm Để đưa lựa chọn xác mơ hình, nhóm thực xây dựng nhiều mơ hình, từ hiệu biểu diễn, lựa chọn xác cải thiện chất lượng sau tiến hành sử dụng thiết bị Jetson Nano Các mơ hình ban đầu xây dựng Laptop YOLOv3, YOLOv4, YOLOv5, với kết sau đây: FPS Mô hình CPU GPU RAM Độ Độ xác mát 19.5 75.7% 3.16% 22.5 98% 2.2% 30 95% 2% trung bình YOLOv3tiny YOLOv4tiny YOLOv5s 22.10% 9% 21.70% 10% 15% 15% 1961.5 MB 1961.5 MB 2857 MB YOLOv4- thước 34Mb 23Mb 28Mb 23Mb Tflite (tối ưu từ Kích 10% 15% 1556Mb 30 98% tiny) Bảng 4.1 Các thông số thu Laptop 64 2.2% Mơ hình xây dựng Laptop có cấu hình: Memory: 16384MB RAM CPU: AMD Ryzen 4600H with Radeon Graphics (12 CPUs), ~3.0GHz GPU : NVIDIA GeForce GTX 1650 Ti, Memory: 13000MB VRAM FPS Mơ hình CPU GPU RAM Độ trung xác bình YOLOv3tiny YOLOv4tiny 96% 84% 1.41Gb 88% 64% 1,45Gb Độ Kích thước mát 75.7% 3.16% 98% 2.2% 34Mb 23Mb Không thể chạy Jetson Nano phiên 2Gb, cẩn load YOLOv5s Camera lên hệ thống báo lỗi thiếu nhớ hay bị sập nguồn TensorRT (tối ưu từ YOLOv4- 32Mb 50% 90% 1,2Gb 20 98% 2.20% tiny) Tflite (tối ưu từ YOLOv4- 23Mb 90% 0% 1,8Gb 7.5 98% 2.20% tiny) Bảng 4.2 Các thông số thu Jetson Nano 65 Nhận xét kết đánh giá mô hình: A YOLOv3 YOLOv4 - Số lượng RAM sử dụng hai mơ hình tương đương o Ngun nhân: Hai mơ hình sử dụng chung tảng Darknet để chạy đào tạo mơ hình Ngồi ra, chạy hai thiết bị Laptop Jetson Nano, số lượng khung hình giây hai mơ hình khơng chênh lệnh q nhiều, máy tính khơng cần sử dụng thêm nhớ để xử lý hình ảnh, lượng RAM sử dụng khơng có chênh lệch lớn hai phiên - Sau 10000 interation, YOLOv4 đạt hiệu cao YOLOv3 độ xác, độ mát, FPS o Nguyên nhân: Trong file cấu hình YOLOv3-tiny có 13 lớp Convolutional, YOLOv4-tiny có 21 lớp Convolutional Điều dẫn đến khả xử lý hình ảnh độ xác huấn luyện YOLOv4 cao YOLOv3 qua nhiều lớp xử lý Về kích thước: YOLOv3 có kích thước lớn nhiều so với YOLOv4 Ở phiên YOLOv4, tác giả Alexey tối ưu mơ hình Pretrain từ đầu, dẫn đến việc sau huấn luyện mơ hình tùy chỉnh, khơng sinh mơ hình có kích thước lớn YOLOv3 Độ xác vượt trội YOLOv4 ngun nhân khiến mơ hình sử dụng CPU GPU so YOLOv3 Khi khung hình có chứa lửa, YOLOv4 với độ xác cao dùng vịng lặp YOLOv3 để nhận diện vật thể vẽ Bounding Box xung quanh Từ đó, dẫn đến việc tiết kiệm tài nguyên máy tính 66 B YOLOv5 - YOLOv5 phiên mơ hình phát vật thể “You only look once” Tuy không coi phiên thứ thức, có nhiều cải tiến đạt hiệu cao với tỉ lệ xác lên đến 95% - Khác với hai phiên YOLOv3 YOLOv4, YOLOv5 chạy tảng Pytorch Đối với tảng này, việc khởi động mơ hình dẫn đến tiêu thụ lượng lớn RAM, thực thiết bị Jetson Nano phiên 2Gb khơng thể load hình ảnh từ Camera - YOLOv5s có lớp Convolutional giúp mơ hình giảm trình xử lý hình ảnh, nâng cao số khung hình giây Tuy nhiên, việc nối tiếp lớp BottleneckCSP giúp khả nhận diện vật thể đảm bảo - YOLOv5 có s/m/l, theo thứ tự nhỏ/vừa/lớn, YOLOv5 nhóm phát triển Ultralystic cấu hình sẵn thay đổi thông số YOLOv3 YOLOv4 Điều dẫn đến độ ổn định mơ hình ta thực hai lần huấn luyện khác tệp dataset số vịng huấn luyện YOLOv5 trả kết - Việc tối ưu hóa mơ hình YOLOv5 có độ khó cao, thường xảy lỗi xung đột phiên thư viện với hệ điều hành Jetpack Jetson Nano, TensorRT 5.5 (phiên nhất) tảng Pytorch mà YOLOv5 sử dụng chưa có tương thích với Khi nhóm thực nghiệm tối ưu Jetson Nano, việc Debug diễn tiếng đồng hồ mà khơng có tham số trả - Kết luận: YOLOv5 mơ hình phù hợp chạy máy tính có nhớ cao, tối thiểu 4Gb RAM 67 Hình 4.15 Kiến trúc YOLOv5 ( Nguồn : https://github.com/ultralytics/YOLOv5 ) C TensorRT Tflite - TensorRT Tflite hai mơ hình nhóm tối ưu từ mơ hình đạt hiệu suất cao YOLOv4-tiny Nhóm đạt kết có so sánh sau đây: o Về Tflite: Tflite tối ưu hóa TensorRT phát triển, phù hợp chạy thiết bị Google Coral, PC, thiết bị di động sử dụng hệ điều hành Android 68 Tflite không hãng Nvidia hỗ trợ chạy thiết bị Jetson Nano, cấu hình sử dụng GPU thiết bị, chạy ứng dụng phát lửa GPU khơng hoạt động Tuy khơng ảnh hưởng đến độ xác, chưa phải kết nhóm mong muốn Khi Tflite chạy Laptop, mơ hình đạt hiệu suất cao, với lượng tài nguyên máy tính tiêu thụ thấp lại đạt hiệu suất cao đạt tới mức 30 FPS có xu hướng tăng lên kết nối Camera chất lượng có khả bắt nhiều khung hình giây Kết luận: Tflite biện pháp tốt để tối ưu mơ hình Trong tương lại, nhóm có điều kiện sử dụng mơ hình để thực thi thiết bị Coral o Về TensorRT: TensorRT người dùng Jetson Nano đánh giá tối ưu tốt để chạy mơ hình ứng dụng học sâu thiết bị nhúng Với hỗ trợ nhà sản xuất, TensorRT hỗ trợ tương thích hệ tính tốn song song GPU (CUDA) Jetson Nano, dẫn đến việc sử dụng mơ hình này, đạt hiệu suất cao FPS, tiết kiệm tài nguyên máy tính RAM, CPU Nhược điểm mơ hình chạy thiết bị nhúng hãng Nvdia khơng có đa dạng thiết bị sử dụng 69 Lý chọn mơ hình YOLOv4-tiny để tối ưu hóa: Từ bảng thơng số, phân tích đánh giá kết thực nghiệm trên, nhận thấy mơ hình YOLOv4-tiny thích hợp để tối ưu hóa sang TensorRT mơ hình phù hợp với thiết bị Jetson Nano Mơ hình tối ưu từ YOLOv4 giúp thiết bị có cấu hình thấp nhiều lần so với máy tính, laptop xây dựng hệ thống ứng dụng chạy với hiệu cao Từ đó, đáp ứng yêu cầu khóa luận xây dựng ứng dụng phát lửa thiết bị có cấu hình thấp, phát lửa thời gian thực 4.6 Chạy thực nghiệm Tại máy tính, SSH vào thiết bị Jetson Nano hình Để thực ứng dụng, ta phải đồng thời khởi động ứng dụng lửa hệ thống Streaming lúc Hình 4.16 Khởi động hệ thống Sau hệ thống khởi động, bảng điều khiển Thingsboard xuất thơng số bao gồm hình ảnh trực tiếp từ Camera, FPS, khả xảy hỏa hoạn, số vị trí cháy ( có lửa phát ) Ta thấy hình Mặc dù mơ hình trải qua trình đưa khung hình lên Streaming Server đảm bảo khả phát đầy đủ vật thể Đảm bảo FPS cao (trung bình 20) 70 Hình ảnh 4.17 tiến hành kiểm thử hình ảnh lửa lấy từ điện thoại động hình ảnh 4.18 kiểm thử lửa thật Đồng thời hai mẫu kiểm thử đạt kết tốt Hình 4.17 Kết thử nghiệm Hình 4.18 Kết thử nghiệm 71 Hình 4.19 Thingsboard phát cảnh bảo Khi xuất hỏa hoạn Email gửi đến nhằm cảnh báo người dùng Hình 4.20 Email cảnh báo 72 CHƯƠNG : TỔNG KẾT QUÁ TRÌNH VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 5.1 Kết đạt Trong trình nghiên cứu thực khóa luận này, nhóm đạt số kết định, kể đến như: Nghiên cứu kiến thức máy học, học sâu, thị giác máy tính Hiểu cách xây dựng mơ hình phát vật thể để giải vấn đề xã hội Có thêm kiến thức lập trình ngơn ngữ Python với việc sử dụng thư viện Nắm bắt cách thức vận hành hệ thống IoT đại Tiếp cận phân tích nhiều mơ hình phát vật thể, xây dựng riêng hệ thống cảnh báo hoạt động hiệu Tạo liệu thu thập riêng cho hệ thống, tổng hợp số liệu có sẵn khác hỗ trợ cho nghiên cứu sau Sử dụng hiệu thiết bị nhúng có cấu hình thấp phục vụ việc xây dựng mơ hình Deep Learning, tiết kiệm tài ngun máy tính, có khả phát lửa thời gian thực 5.2 Hướng phát triển Sự phát triển công nghệ thời đại 4.0 tạo nên nhiều ứng dụng có khả áp dụng tốt sống người Chính thế, dự án ln phải đổi cập nhật để tối ưu hiệu suất chi phí Định hướng phát triển tương lai: Phát triển đề tài dựa nhiều mô hình khác nhau, tối ưu hóa triển khai nhiều thiết bị máy tính, nhúng, di động,… Ví dụ : Tflite thiết bị Google Coral, hệ điều hành Android Đặc biệt, mơ hình có khả chạy ổn định thiết bị có cấu hình thấp 73 Hồn thiện hệ thống cảnh báo sớm tảng tự phát triển mà không cần qua phần mềm mã nguồn mở Phát triển tập Dataset riêng, có độ xác cao, nhận diện góc cạnh đối tượng Phát lửa thời gian sớm 74 TÀI LIỆU THAM KHẢO Tiếng Anh: Alexey Bochkovskiy, Chien-Yao Wang, Hong-Yuan Mark Liao, “YOLOv4: Optimal Speed and Accuracy of Object Detection” submitted to arXiv:2004.10934, 23 Apr 2020 Glenn-Jocher, Ultralystic, “YOLOv5 Documentation”, https://github.com/ultralytics/YOLOv5 Hamilton, Eric (27 December 2018) “What is Edge Computing: The Network Edge Explained” cloudwards.net Retrieved 2019-05-14 Joseph Redmon, Ali Farhadi, “YOLOv3: An Incremental Improvement”, ”, submitted to arXiv:1804.02767, Apr 2018 Lê Việt Hùng, “Tensorflow-YOLOv4-Tflite”, https://github.com/hunglc007/tensorflow-YOLOv4-tflite Nvdia TensorRT Documentation, https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html Shixiao Wu, Libing Zhao, “Using Popular Object Detection Methods for Real Time Forest Fire Detection”, submitted to 2018 11th International Symposium on Computational Intelligence and Desgin ShreedharNiradi, AsmitaNagathan, LaxmiSampagavi, Kmounika, KrupaDandage, “Implementation of Forest Fire Detection System using IoT Neural Network”, IRJET volume:07 Iussue: 04 | Apr 2020 Thingsboard User guide, https://thingsboard.io/docs/user-guide 75 Tiếng Việt Nguyễn Việt Hồng, Tìm hiểu Yolo toán Realtime Object Detection ,https://viblo.asia/p/tim-hieu-ve-yolo-trong-bai-toan-realtime-object-detection-yMnKMdvr57P Phạm Đình Khanh, Tìm hiểu Object Detection, https://phamdinhkhanh.github.io/ Tiep Vu Huu, Machine Learning bản, tốn biên, https://machinelearningcoban.com/ Trịnh Duy Thanh, Tìm hiểu https://bkhost.vn/posts/edge-computing-la-gi 76 điện