Khóa luận: Xây dựng ứng dụng phát hiện lửa bằng Deep Learning trên Jetson Nano

Luận văn tốt nghiệp kỹ thuật nghiên cứu 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, điều tra thực trạng, phân tích số liệu, đề xuất biện pháp cải

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2021

94
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: MỞ ĐẦU

1.1. Đặt vấn đề

1.2. Mục tiêu của đề tài

1.3. Đối tượng nghiên cứu và kết quả mong muốn

1.4. Các đề tài liên quan đến nghiên cứu

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Các khái niệm về thị giác máy tính và máy học

2.2. Bài toán phát hiện vật thể (Object Detection)

2.3. Giới thiệu về thị giác máy tính

2.4. Định nghĩa Object Detection

2.5. Khái niệm về Deep Learning và Machine Learning

2.6. Các thuật ngữ cơ bản trong đề tài

2.7. Mô hình Yolo

2.7.1. Giới thiệu về mạng Yolo (Yolo Network)

2.7.2. Lịch sử phát triển của Yolo

2.7.3. Các đánh giá về Yolo

2.7.4. Kiến trúc mạng Yolo

2.7.5. Nguyên lý hoạt động Yolo

2.7.5.1. Các công thức tính toán trong Yolo

2.8. Giới thiệu về Tensorflow

2.9. Định nghĩa TensorRT

2.9.1. Chu trình chuyển đổi sang TensorRT

2.10. Thiết bị Jetson Nano

2.10.1. Giới thiệu chung

2.10.2. Cấu hình chi tiết

2.11. Giao thức MQTT (Message Queuing Telemetry)

2.11.1. Khái niệm về MQTT

2.11.2. Tính năng và đặc điểm nổi bật

2.11.3. Mô hình hoạt động của MQTT

2.11.3.1. Thành phần và cơ chế hoạt động
2.11.3.2. Kiến trúc MQTT

2.12. Điện toán biên (Edge Computing)

2.12.1. Giới thiệu về Edge Computing

2.12.2. Nguyên lý hoạt động

3. CHƯƠNG 3: MÔ HÌNH ỨNG DỤNG

3.1. Mô tả mô hình

3.1.1. Cách thành phần chính

3.1.2. Nguyên lý hoạt động

3.1.3. Lý do thực hiện ứng dụng trên thiết bị nhúng

3.2. Cài đặt các thư viện và môi trường cần thiết

3.2.1. Cài đặt các thư viện tiên quyết

3.3. Chuẩn bị và gán nhãn dữ liệu đầu vào

3.3.1. Gán nhãn dữ liệu

3.4. Cấu hình và huấn luyện mô hình

3.4.1. Nguyên lý hoạt động của quá trình huấn luyện mô hình

3.4.2. Cấu hình mô hình huấn luyện

3.4.3. Kiểm thử mô hình

3.5. Thiết lập cho Jetson Nano

3.5.1. Cài đặt hệ điều hành

3.6. Tối ưu hóa mô hình

3.6.1. Các bước thực hiện tối ưu hóa mô hình

3.6.2. Kết quả đạt được sau khi tối ưu

3.7. Cài đặt Dashboard dựa trên nền tảng Thingsboard

4. CHƯƠNG 4: TRIỂN KHAI THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

4.1. Sơ đồ triển khai ứng dụng trên thiết bị

4.2. Thiết lập Streaming Server

4.3. Thiết lập trên Thingsboard

4.4. Thiết lập Rule chain (điều kiện để phát cảnh báo)

4.5. Đánh giá kết quả các mô hình

4.5.1. Chạy thử nghiệm các mô hình

4.5.2. Thông số chi tiết các mô hình thử nghiệm

4.6. Chạy thực nghiệm

5. CHƯƠNG 5: TỔNG KẾT QUÁ TRÌNH VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

5.1. Kết quả đạt được

5.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về ứng dụng phát hiện lửa trên Jetson Nano

Khóa luận này tập trung vào việc xây dựng một ứng dụng phát hiện lửa sử dụng mô hình học sâu trên thiết bị Jetson Nano. Ứng dụng này nhằm mục đích phát hiện và cảnh báo sớm về các đám cháy, giúp bảo vệ tài sản và tính mạng con người. Jetson Nano là một thiết bị mạnh mẽ với khả năng xử lý hình ảnh và video trong thời gian thực, rất phù hợp cho các ứng dụng IoT.

1.1. Giới thiệu về Jetson Nano và ứng dụng phát hiện lửa

Jetson Nano là một nền tảng máy tính nhúng mạnh mẽ, cho phép triển khai các mô hình học sâu. Ứng dụng phát hiện lửa sử dụng công nghệ học sâu để nhận diện các ngọn lửa trong video, từ đó đưa ra cảnh báo kịp thời.

1.2. Tầm quan trọng của việc phát hiện lửa

Việc phát hiện lửa sớm có thể cứu sống nhiều người và giảm thiểu thiệt hại tài sản. Ứng dụng này không chỉ giúp trong các tình huống khẩn cấp mà còn có thể được sử dụng trong các hệ thống giám sát an ninh.

II. Thách thức trong việc phát hiện lửa bằng công nghệ học sâu

Mặc dù công nghệ học sâu mang lại nhiều lợi ích, nhưng việc phát hiện lửa vẫn gặp phải nhiều thách thức. Các yếu tố như ánh sáng, môi trường xung quanh và độ phân giải của camera có thể ảnh hưởng đến độ chính xác của mô hình.

2.1. Ảnh hưởng của điều kiện môi trường

Điều kiện ánh sáng và môi trường xung quanh có thể làm giảm khả năng phát hiện lửa. Ví dụ, ánh sáng mạnh có thể làm cho mô hình khó phân biệt giữa lửa và các nguồn sáng khác.

2.2. Độ chính xác của mô hình học sâu

Mô hình học sâu cần được huấn luyện với một tập dữ liệu phong phú và đa dạng để đạt được độ chính xác cao. Việc thiếu dữ liệu có thể dẫn đến việc mô hình nhận diện sai lầm.

III. Phương pháp xây dựng ứng dụng phát hiện lửa trên Jetson Nano

Để xây dựng ứng dụng phát hiện lửa, một số phương pháp và kỹ thuật đã được áp dụng. Việc lựa chọn mô hình học sâu phù hợp và tối ưu hóa cho Jetson Nano là rất quan trọng.

3.1. Lựa chọn mô hình học sâu

Các mô hình như YOLO (You Only Look Once) được sử dụng để phát hiện lửa trong thời gian thực. Mô hình này có khả năng xử lý nhanh và chính xác, phù hợp với yêu cầu của ứng dụng.

3.2. Tối ưu hóa mô hình cho Jetson Nano

Mô hình cần được tối ưu hóa để chạy hiệu quả trên Jetson Nano. Việc chuyển đổi sang định dạng TensorRT giúp tăng tốc độ xử lý và giảm thiểu tài nguyên sử dụng.

IV. Kết quả nghiên cứu và ứng dụng thực tiễn

Kết quả nghiên cứu cho thấy ứng dụng phát hiện lửa hoạt động hiệu quả trên Jetson Nano. Mô hình đã được kiểm tra và cho kết quả chính xác trong việc phát hiện lửa trong các điều kiện khác nhau.

4.1. Đánh giá hiệu suất của mô hình

Mô hình đã đạt được độ chính xác cao trong việc phát hiện lửa, với tỷ lệ phát hiện lên đến 90%. Điều này cho thấy khả năng ứng dụng trong thực tế.

4.2. Ứng dụng trong các hệ thống giám sát

Ứng dụng có thể được tích hợp vào các hệ thống giám sát an ninh, giúp cảnh báo sớm về các nguy cơ cháy nổ trong các khu vực công cộng và tư nhân.

V. Kết luận và hướng phát triển tương lai

Khóa luận đã chứng minh tính khả thi của việc xây dựng ứng dụng phát hiện lửa trên Jetson Nano. Hướng phát triển trong tương lai có thể bao gồm việc mở rộng khả năng nhận diện và tích hợp thêm các cảm biến khác.

5.1. Hướng phát triển ứng dụng

Ứng dụng có thể được mở rộng để nhận diện thêm các loại nguy cơ khác như khói hay khí độc, từ đó nâng cao khả năng bảo vệ an toàn.

5.2. Tích hợp công nghệ IoT

Việc tích hợp công nghệ IoT sẽ giúp ứng dụng có khả năng kết nối và truyền tải dữ liệu đến các thiết bị khác, tạo ra một hệ thống giám sát thông minh hơn.

24/07/2025
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

Trích đoạn nội dung tài liệu

Đặt vấn đề Hiện nay để phát hiện lửa có rất nhiều phương pháp, ví dụ như: quan sát bằng mắt thường của con người, hệ thống vệ tinh, cảm biến không khí MQ-135, hệ thống xử lý hình ảnh,… Quan sát bằng mắt thường là một trong những phương pháp truyền thống, tuy nhiên không thiết thực khi có hỏa hoạn xảy ra. Hệ thống vệ tinh cần thời gian quét dài và không thể cung cấp hình ảnh đám cháy theo thời gian thực. Cảm biến MQ-135 mang lại sự nhầm lẫn giữa khói bụi từ môi trường bình thường và khói của đám cháy, hơn nữa việc phân biến số lượng cảm biến lớn ngoài tự nhiên không phù hợp với tính chất tiết kiệm chi phí. Từ các phương pháp này ta có thể thấy, kỹ thuật xử lý hình ảnh đem lại ưu điểm vượt trội, chỉ cần một máy quay chất lượng cao, người dùng có thể giám sát một cánh rừng vài hecta, đồng thời phương pháp này còn cung cấp chi tiết về ba yếu tố của đám cháy là màu sắc, chuyển động và kết cấu.

Trong đề tài này, nhóm đã đánh giá hiệu năng khi xây dụng mô hình Deep Learning phát hiện lửa của ba phiên bản mô hình nhận diện vật thể Yolo. Sau khi lựa chọn được mô hình có hiệu suất cao nhất, một bước tối ưu hóa nữa sẽ được thực hiện, mô hình ban đầu sẽ hoạt động dưới định dạng TensorRT- một định dạng hỗ trợ tốt cho các thiết bị của hãng Nvdia. Yolo là mô hình phát hiện vật thể nổi tiếng và khá phổ biến với khả năng xử lý hình ảnh trong thời gian thực, nhưng đối với vật thể nhỏ, nó luôn có tỷ lệ phát hiện chính xác thấp hơn. Tuy nhiên ở đề tài này, nhóm đã có khắc phục nhược điểm này bằng cách đưa hình ảnh ngọn lửa có kích thước nhỏ vào tệp huấn luyện, điều chỉnh các thông số về kích thước, độ lọc ảnh.

Ngoài ra, việc tối ưu mô hình mang đến hiệu quả đáng kể trong việc tiết kiệm tài nguyên máy tính nhúng. 2 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Đối với thiết bị Jetson Nano bản 2Gb được sử dụng trong đề tài, với bộ nhớ ít cho nên việc chạy các mô hình trong một thời gian dài là bất khả thi. Việc ra đời các mô hình rút gọn, được biết với cái tên là tiny mang lại hiệu quả cao, rút ngắn thời gian đào tạo và có khả năng chạy trên các thiết bị cấu hình thấp. Các thực nghiệm trên thiết bị Jetson Nano là các mô hình YOLOv3-tiny, YOLOv4-tiny, YOLOv5s và các bản tối ưu từ YOLOv4-tiny sang phiên bản Tflite và TensorRT.

Đồng thời, để có khả năng phát triển lên quy mô lớn hơn, nhóm đã tích hợp Flask (thư viện của ngôn ngữ Python) để có thể đưa hình ảnh từ camera stream lên Web Server và quản lý qua ThingsBoard (một phần mềm mã nguồn mở giúp quản lý các thiết bị IoT).2 Mục tiêu của đề tài  Đề tài thực hiện xây dựng úng dụng nhận dạng và phát hiện lửa, giải quyết phương pháp bằng thuật toán học sâu. Ứng dụng được xây dựng dựa trên mô hình được huấn luyện từ tập dữ liệu phổ biến được cung cấp từ nhiều nguồn tin cậy. Khi camera hoạt động, sẽ nhận diện được các ngọn lửa đang cháy.  Trong đề tài này, nhóm nhóm sẽ phân tích và đánh giá các mô hình nhận diện lửa đang phổ biến hiện nay.

Từ đó, lựa chọn mô hình có hiệu suất cao và đáng tin cậy để tối ưu hóa và thực hiện trên thiết bị nhúng.3 Đối tượng nghiên cứu và kết quả mong muốn  Đối tượng nghiên cứu: Mô hình Deep Learning, thiết bị nhúng Jetson Nano và camera  Kết quả mong muốn đạt được: Giải quyết được bài toán nhận diện lửa trên các máy tính có cấu hình thấp. Tối ưu hóa mô hình một cách hoàn thiện nhất để tiết kiệm tài nguyên máy tính. Mô hình có khả năng phát hiện lửa trong thời gian thực. 3 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.4 Các đề tài liên quan đến nghiến cứu  Đề tài “Fire Detection CNN” của tác giả Toby Breakon sử dụng mạng CNN hay còn được biết đến với tên gọi “mạng nơ-ron tính chập”, đây là một mô hình sử dụng bài toán Classification.

Đề tài này dựa vào bản Tensorflow 1.5, với cách cài đặt và triển khai dễ dàng. Mô hình này chỉ có thể nhân diện trong khung ảnh là có lửa hay không có lửa và không thể xác định vị trí ngọn lửa trong khung ảnh.  Nguồn: https://github.com/tobybreckon/fire-detection-cnn  Đề tài “Fire Net” của tác giả Olafenwa Moses sử dụng mô hình YOLOv3 trên nền tảng Keras, các tập tin sau khi được huấn luyện sẽ lưu dưới định dạng. Mô hình được chạy bằng các câu lệnh trong thư viên Python là ImageAI cũng do tác giả tạo ra, điều này giúp người dùng chỉ cần chạy mô hình với 6 dòng code.

Nhược điểm của mô hình là mô hình không đạt được yêu cầu phát hiện vật thể trong thời gian thực, thường xảy ra độ trễ giữa khả năng phát hiện vật thể và khung hình Camera đang trình chiếu trực tiếp.  Nguồn: https://github.com/OlafenwaMoses/FireNET 4 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 2.1 Các khái niệm về thị giác máy tính và máy học 2.1 Bài toán phát hiện vật thể (Object Detection) 2.1 Giới thiệu về thị giác máy tính Một trong những lĩnh vực quan trọng của Trí tuệ nhân tạo (Artificial Intelligence) là thị giác máy tính (Computer Vision). Thị giác máy tính là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy. Object Detection có lẽ là khía cạnh sâu sắc nhất của thị giác máy tính do tính chất hiệu quả có khả năng triển khai trong thực tế.

Object Detection đề cập đến khả năng của hệ thống máy tính và phần mềm để định vị các đối tượng trong một hình ảnh và xác định từng đối tượng. Object Detection đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái và các hệ thống phục vụ cho mục đích cảnh báo sớm từ xa. Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này.Việc triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ điển, giống như các thuật toán được hỗ trợ trong OpenCV - thư viện Computer Vision phổ biến nhất hiện nay. Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ để làm việc trong các điều kiện khác nhau.

Việc áp dụng đột phát và nhanh chóng của deep learning vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đối tượng hiện đại và chính xác cao như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet và nhanh hơn nhưng rất chính xác như SSD và YOLO. Sử dụng các phương pháp và thuật toán này, dựa trên deep learning và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc học sâu. 5 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.2 Định nghĩa Object Detection Nhận dạng đối tượng là một thuật ngữ chung để mô tả một tập hợp các nhiệm vụ thị giác máy tính có liên quan liên quan đến việc xác định các đối tượng trong khung ảnh kỹ thuật số. Phân loại hình ảnh liên quan đến việc dự đoán lớp của một đối tượng trong một hình ảnh.

Định vị vật thể đề cập đến việc xác định vị trí của một hoặc nhiều đối tượng trong một hình ảnh và vẽ bounding box xung quanh chúng. Phát hiện đối tượng kết hợp hai nhiệm vụ trên và thực hiện cho một hoặc nhiều đối tượng trong hình ảnh. Chúng ta có thể phân biệt giữa ba nhiệm vụ thị giác máy tính cơ bản trên thông qua input và output của chúng như sau:  Phân loại hình ảnh (Image Classification): Dự đoán nhãn của một đối tượng trong một hình ảnh. o Input: Một hình ảnh với một đối tượng, chẳng hạn như một bức ảnh.

o Output: Nhãn hình ảnh.  Định vị đối tượng (Object Localization): Xác định vị trí hiện diện của các đối tượng trong ảnh và cho biết vị trí của chúng bằng bounding box. o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh. o Output: Một hoặc nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao.

 Phát hiện đối tượng (Object Detection): Xác định vị trí hiện diện của các đối tượng trong bounding box và nhãn của các đối tượng nằm trong một hình ảnh. o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh. o Output: Một hoặc nhiều bounding box và nhãn cho mỗi bounding box. 6 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Hình 2.1 Sơ đồ tác vụ thị giác máy tính 2.2 Khái niệm về Deep Learning và Machine Learning 2.1 Machine Learning (Máy học) Machine Learning (Máy học) là phương pháp AI tự tìm kiếm phương pháp giải quyết các bài toàn được đặt ra sau khi đã được lập trình viên huấn luyện nhằm phục vụ một số công việc cụ thể.

Bài toán machine learning thường được chia làm hai loại là dự đoán (prediction) và phân loại (classification):  Dự đoán (Prediction): Phục vụ giải quyết cho các vấn đề dự đoán sự biến động của một thông số cụ thể. Ví dụ, từ tập dữ liệu chỉ số chứng khoán qua các phiên giao dịch, máy tính có thể dự đoán giá trị cổ phiếu tại phiên giao dịch tiếp theo.  Phân loại (Classification): Các bài toán phân loại được áp dụng nhiều trong lĩnh vực thị giác máy tính, dùng để lọc các loại vật thể. Machine Learning hoạt động theo luồng như sau: 7 Downloaded by Nguynhavy Ha Vy (Ntkphuong205@gmail.com) lOMoARcPSD|16911414 Hình 2.2 Luồng hoạt động của Machine Learning 1.

Data collection – thu thập dữ liệu: máy tính chỉ có khả năng học tập khi được cung cấp đầy đủ các dữ liệu đầu vào ( dataset ), các dữ liệu đầu vào phải đảm bảo các yêu tố: chính xác và sát với nhu cầu giải quyết vấn đề của mô hình, không trộn lẫn với các dữ liệu sai, được gán nhãn một cách cẩn thận. Mô hình có đủ thông minh hay không phụ thuộc vào độ tin cậy của dữ liệu đầu vào. Preprocessing – tiền xử lý: bước này dùng để chuẩn hóa dữ liệu, loại bỏ các thuộc tính không cần thiết, gán nhãn dữ liệu, mã hóa một số đặc trưng, trích xuất đặc trưng, rút gọn dữ liệu nhưng vẫn đảm bảo kết quả… Bước này tốn thời gian nhất tỉ lệ thuận với số lượng dữ liệu đưa vào.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ