Bối cảnh và vấn đề nghiên cứu

Trong công tác phòng cháy chữa cháy và quản lý an toàn, việc phát hiện sớm các đám cháy đóng vai trò quyết định nhằm giảm thiểu thiệt hại về người và tài sản. Theo khảo sát thực tiễn được tác giả trình bày trong tài liệu, các phương pháp phát hiện lửa truyền thống hiện nay bộc lộ nhiều điểm hạn chế:

  • Quan sát bằng mắt thường: Phụ thuộc vào yếu tố con người, không mang tính tự động hóa cao và không kịp thời khi sự cố bất ngờ bùng phát trên diện rộng.
  • Hệ thống cảnh báo qua vệ tinh: Đòi hỏi chu kỳ quét dài, độ trễ lớn và không thể cung cấp hình ảnh hiện trường theo thời gian thực.
  • Cảm biến khí (như cảm biến không khí MQ-135): Dễ xảy ra hiện tượng báo động nhầm giữa khói bụi môi trường thông thường và khói đám cháy; đồng thời chi phí lắp đặt, phân tán số lượng lớn cảm biến ngoài môi trường tự nhiên là không tối ưu.

Xuất phát từ các hạn chế trên, giải pháp xử lý hình ảnh dựa trên thị giác máy tính và học sâu (Deep Learning) nổi lên với nhiều ưu điểm vượt trội: chỉ cần một camera chất lượng cao là có thể giám sát diện tích lớn (như cánh rừng rộng nhiều hecta), đồng thời cho phép phân tích chi tiết các đặc trưng vật lý của ngọn lửa bao gồm màu sắc, chuyển động và kết cấu.

Nhiệm vụ và mục tiêu nghiên cứu của khóa luận được xác định cụ thể:

  1. Nghiên cứu, đánh giá và so sánh các mô hình nhận diện vật thể phổ biến thuộc họ YOLO (YOLOv3, YOLOv4, YOLOv5 cùng các phiên bản rút gọn như Tiny).
  2. Tối ưu hóa mô hình đã chọn sang các định dạng suy luận nhẹ như TensorRT và TFLite để giải quyết bài toán suy luận thời gian thực trên các máy tính nhúng có tài nguyên hạn chế.
  3. Xây dựng hoàn chỉnh ứng dụng phát hiện lửa thời gian thực qua camera và triển khai trên máy tính nhúng NVIDIA Jetson Nano.
  4. Tích hợp giao thức truyền thông MQTT và xây dựng giao diện giám sát, phát cảnh báo trên nền tảng ThingsBoard kết hợp Streaming Server qua Flask.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các kiến trúc mạng học sâu phát hiện vật thể (YOLO), kỹ thuật tối ưu hóa mô hình mạng nơ-ron (TensorRT, TFLite, ONNX, UFF), thiết bị máy tính nhúng NVIDIA Jetson Nano (bản 2GB RAM) và camera quan sát.
  • Phạm vi nghiên cứu: Ứng dụng tập trung vào bài toán phát hiện ngọn lửa (Fire Detection) tại biên mạng (Edge Computing); thời gian thực hiện đề tài từ ngày 01/03/2021 đến ngày 03/07/2021 tại Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập hệ thống cơ sở lý luận và công nghệ nền tảng dựa trên các khái niệm chuyên ngành:

  • Thị giác máy tính và Học sâu: Sử dụng bài toán nhận diện vật thể (Object Detection) để định vị và phân loại ngọn lửa trong khung hình. Đề tài vận dụng các mô hình học sâu thuộc dòng YOLO (You Only Look Once) – kiến trúc xử lý ảnh một giai đoạn với ưu thế tốc độ cao trong thời gian thực.
  • Kỹ thuật tối ưu hóa và tăng tốc phần cứng:
    • TensorRT SDK: Bộ công cụ tối ưu hóa suy luận học sâu của NVIDIA, hỗ trợ chuyển đổi các lớp mạng, lượng tử hóa và hợp nhất các tầng tính toán nhằm tối đa hóa hiệu năng GPU Maxwell.
    • ONNX (Open Neural Network Exchange) và UFF: Các định dạng đồ thị tính toán trung gian phục vụ quá trình chuyển đổi mô hình từ framework huấn luyện sang TensorRT Engine.
    • TensorFlow / TensorFlow Lite: Nền tảng học máy mã nguồn mở và định dạng rút gọn phục vụ suy luận trên thiết bị nhúng.
  • Điện toán biên (Edge Computing): Mô hình tính toán phân tán gồm 3 lớp:
    1. Lớp trung tâm dữ liệu đám mây (Cloud Data Center): Xử lý các tác vụ phức tạp, huấn luyện dữ liệu lớn.
    2. Lớp điện toán biên (Edge Computing): Đặt tại các trạm biên (Jetson Nano) để xử lý dữ liệu cục bộ, giảm thiểu độ trễ và tiết kiệm băng thông truyền tải.
    3. Lớp thiết bị IoT: Camera, cảm biến và cơ cấu chấp hành.
  • Giao thức truyền thông MQTT (Message Queuing Telemetry Transport): Giao thức truyền tin gọn nhẹ theo mô hình Publish/Subscribe qua nền tảng TCP/IP, hỗ trợ 3 mức dịch vụ (QoS 0, QoS 1, QoS 2), thích hợp cho đường truyền băng thông thấp và các thiết bị IoT bị giới hạn bộ nhớ.

Phương pháp nghiên cứu thực nghiệm được triển khai tuần tự:

  1. Thu thập và tiền xử lý dữ liệu: Tập hợp các bộ dữ liệu hình ảnh về ngọn lửa từ các nguồn tin cậy; tiến hành gán nhãn thủ công (bằng công cụ gán nhãn hình ảnh) và tạo tệp cấu hình tọa độ bounding box.
  2. Huấn luyện mô hình: Tiến hành đào tạo các biến thể YOLO (v3-tiny, v4-tiny, v5) trên máy tính cá nhân (Laptop) có GPU hỗ trợ CUDA, theo dõi hàm mất mát (Loss) và các chỉ số đánh giá như mAP, IoU.
  3. Tối ưu hóa mô hình: Chuyển đổi mô hình đã huấn luyện sang ONNX/UFF, sau đó sử dụng TensorRT Builder trên Jetson Nano để biên dịch thành file .engine / .plan.
  4. Triển khai và tích hợp hệ thống: Kết nối phần cứng Jetson Nano với Camera, cài đặt hệ điều hành JetPack 4.5, xây dựng Streaming Server bằng Flask và đẩy dữ liệu cảnh báo qua MQTT Broker lên máy chủ ThingsBoard.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình xử lý phân tán tại biên, đảm bảo khả năng phát hiện sự cố cục bộ và cảnh báo từ xa:

1. Cấu hình phần cứng triển khai

Khóa luận sử dụng phiên bản bo mạch phát triển nhúng của NVIDIA với các thông số chi tiết:

  • Bo mạch: NVIDIA Jetson Nano Developer Kit Carrier Board A02 (1 cổng kết nối camera CSI/USB).
  • Bộ xử lý đồ họa (GPU): Kiến trúc Maxwell với 128 nhân tính toán.
  • Bộ xử lý trung tâm (CPU): Quad-core ARM Cortex-A57 @ 1.43 GHz.
  • Bộ nhớ hệ thống (RAM): 2 GB 64-bit LPDDR4, băng thông 25.6 GB/s.
  • Lưu trữ: Thẻ nhớ microSD tích hợp hệ điều hành JetPack 4.5.
  • Khả năng giải mã/mã hóa video: H.264/H.265 (hỗ trợ 4K @ 30fps, 4 kênh 1080p @ 30fps).

2. Quy trình chuyển đổi và tối ưu hóa TensorRT

Nhằm vượt qua rào cản giới hạn 2GB RAM trên Jetson Nano, quy trình chuyển đổi mô hình được thực hiện qua 5 giai đoạn:

  1. Huấn luyện: Đào tạo mạng YOLO trên nền tảng framework Deep Learning chuẩn.
  2. Xuất đồ thị mạng trung gian: Chuyển đổi trọng số và cấu trúc mạng sang định dạng ONNX hoặc UFF (.uff).
  3. Biên dịch Engine: Sử dụng TensorRT SDK để thực hiện tối ưu hóa cấu trúc mạng (Layer Fusion, Kernel Tuning, tối ưu hóa bộ nhớ RAM/GPU).
  4. Tạo tệp thực thi: Xuất ra file mô hình nhị phân định dạng TensorRT (.engine hoặc .plan).
  5. Nạp và suy luận: Sử dụng hàm load_model từ thư viện TensorRT trên môi trường Python để nạp trực tiếp mô hình vào bộ nhớ GPU và xử lý luồng khung hình từ camera.

3. Triển khai phần mềm và hệ thống cảnh báo

  • Video Streaming Server: Ứng dụng thư viện Flask của Python để tạo máy chủ cục bộ phát trực tiếp luồng video kèm khung nhận diện (bounding box) ngọn lửa.
  • Nền tảng ThingsBoard & MQTT: Thiết bị Jetson Nano đóng vai trò là MQTT Client (Publisher), liên tục đẩy dữ liệu trạng thái và xác suất phát hiện lửa qua chuỗi tin nhắn có định dạng chuẩn đến MQTT Broker của ThingsBoard.
  • Rule Chain cảnh báo: Trên giao diện ThingsBoard, một chuỗi quy tắc (Rule chain) được thiết lập để bắt các điều kiện ngưỡng (threshold). Khi phát hiện tín hiệu lửa đạt độ tin cậy theo quy định, hệ thống tự động kích hoạt cảnh báo trên Dashboard quản trị.

Nội dung chính theo từng chương

Bố cục khóa luận gồm 5 chương chính với các nội dung trọng tâm sau:

Chương 1: Mở đầu

Trình bày tổng quan về thực trạng hỏa hoạn và sự cần thiết của các hệ thống cảnh báo tự động. Chương này phân tích chi tiết ưu nhược điểm của các giải pháp quan sát mắt thường, vệ tinh và cảm biến khói khí. Tác giả đặt ra mục tiêu nghiên cứu, xác định đối tượng là mô hình học sâu kết hợp phần cứng Jetson Nano, đồng thời lập kế hoạch thực hiện đề tài gồm 4 giai đoạn cụ thể từ tháng 03/2021 đến tháng 07/2021.

Chương 2: Cơ sở lý thuyết

Cung cấp toàn bộ nền tảng lý thuyết học thuật:

  • Khái niệm về thị giác máy tính, phân biệt Machine Learning và Deep Learning.
  • Bài toán Object Detection, các chỉ số đánh giá (IoU, Localization Loss, mAP).
  • Lịch sử phát triển và cấu trúc mạng nơ-ron YOLO.
  • Tổng quan về framework TensorFlow, TensorRT và chu trình chuyển đổi mạng qua ONNX/UFF.
  • Giới thiệu phần cứng NVIDIA Jetson Nano, giao thức MQTT với các cơ chế QoS, Session, Subscription, Topic, và kiến trúc Điện toán biên (Edge Computing).

Chương 3: Mô hình ứng dụng

Chi tiết hóa quá trình kỹ thuật xây dựng hệ thống:

  • Thiết lập môi trường, tệp Makefile và cài đặt các thư viện tiên quyết trên hệ điều hành JetPack.
  • Quy trình chuẩn bị dữ liệu: thu thập ảnh ngọn lửa, xử lý lọc nhiễu, sử dụng phần mềm gán nhãn dữ liệu và phân chia tập Train/Test.
  • Cấu hình các tham số huấn luyện mô hình (batch size, subdivisions, learning rate, filters).
  • Các bước chuyển đổi sang TensorRT nhằm giải phóng tài nguyên bộ nhớ cho Jetson Nano 2GB.
  • Khởi tạo và thiết lập giao diện quản lý trên nền tảng ThingsBoard.

Chương 4: Triển khai thực nghiệm và đánh giá kết quả

Trình bày kết quả thử nghiệm thực tế:

  • Sơ đồ tích hợp toàn diện giữa Jetson Nano, Camera, Flask Streaming Server và ThingsBoard Dashboard.
  • Cấu hình các nút xử lý trong Rule chain để tự động phát hiện sự kiện bất thường.
  • So sánh hiệu năng thực nghiệm giữa các mô hình: YOLOv3-tiny, YOLOv4-tiny, YOLOv5 và phiên bản tối ưu TensorRT trên hai môi trường phần cứng: Laptop và Jetson Nano.
  • Đánh giá khả năng xử lý khung hình (FPS), độ ổn định của luồng dữ liệu và mức tiêu thụ tài nguyên (RAM, CPU, GPU).

Chương 5: Tổng kết quá trình và hướng phát triển đề tài

Tổng hợp toàn bộ các kết quả đạt được về mặt mô hình, tốc độ xử lý thời gian thực và hệ thống cảnh báo; đồng thời chỉ rõ những điểm hạn chế về phần cứng và đề xuất phương hướng phát triển tiếp theo của đề tài.


Kết quả và đóng góp

1. Kết quả thực nghiệm và so sánh hiệu năng

Khóa luận đã tiến hành đánh giá thực nghiệm toàn diện các mô hình nhận diện vật thể trên hai môi trường tính toán khác nhau.

Tiêu chí / Mô hình YOLOv3-tiny YOLOv4-tiny YOLOv5 Bản tối ưu TensorRT (trên Jetson Nano)
Môi trường thử nghiệm Laptop / Jetson Nano Laptop / Jetson Nano Laptop / Jetson Nano NVIDIA Jetson Nano (2GB)
Mức tiêu tốn tài nguyên Trung bình Tương đối thấp Cao Rất thấp (đã tối ưu hóa bộ nhớ)
Khả năng chạy Real-time Có thể chạy Khá mượt mà Hạn chế trên Nano 2GB Hoạt động mượt mà, ổn định
Xử lý ngọn lửa nhỏ Hạn chế Được cải thiện Tốt Đạt độ chính xác ổn định

2. Đóng góp kỹ thuật chính của khóa luận

  • Giải quyết bài toán tài nguyên hạn chế: Ứng dụng thành công TensorRT trên nền tảng JetPack 4.5, giúp vận hành trơn tru mô hình học sâu nhận diện lửa trên bo mạch Jetson Nano bản 2GB RAM – vốn thường xuyên gặp lỗi tràn bộ nhớ (Out of Memory) khi chạy các framework thông thường.
  • Cải thiện độ chính xác đối với vật thể nhỏ: Khắc phục nhược điểm nhận diện kém của YOLO đối với các mục tiêu kích thước nhỏ bằng cách chủ động bổ sung tập dữ liệu ngọn lửa nhỏ từ xa và tinh chỉnh các bộ lọc (filter) cùng kích thước đầu vào trong tệp cấu hình.
  • Giảm thiểu báo động giả: Lựa chọn kỹ lưỡng tập dữ liệu đầu vào nhằm loại bỏ sự nhầm lẫn giữa ánh sáng đèn điện nhân tạo với ngọn lửa thật.
  • Xây dựng hệ thống IoT hoàn chỉnh: Tích hợp trọn vẹn chuỗi liên kết từ khâu thu nhận hình ảnh biên (Camera + Jetson Nano) $\rightarrow$ suy luận cục bộ $\rightarrow$ phát luồng video (Flask) $\rightarrow$ truyền tin tức thời (MQTT) $\rightarrow$ hiển thị và cảnh báo tập trung (ThingsBoard Dashboard).

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế được ghi nhận

  • Bộ nhớ RAM vật lý của thiết bị Jetson Nano chỉ có 2GB, dẫn đến việc thiết bị dễ rơi vào trạng thái quá tải bộ nhớ nếu cấu hình mô hình chưa được tinh giản triệt để.
  • Trong một số môi trường có nguồn sáng phức tạp, các bóng đèn điện có màu sắc và cường độ tương đồng với ngọn lửa vẫn có nguy cơ gây nhầm lẫn cho mô hình nếu góc quay không thuận lợi.
  • Ứng dụng mới tập trung vào nhận diện ngọn lửa, chưa kết hợp nhận diện khói hoặc phân tích nhiệt độ đa cảm biến trên cùng một hệ thống.

2. Hướng nghiên cứu tiếp

  • Nâng cấp và thử nghiệm trên các phần cứng có cấu hình cao hơn (như các dòng Jetson dung lượng RAM lớn hơn hoặc dòng vi xử lý mới) để tăng tốc độ khung hình và nâng cao độ phân giải đầu vào.
  • Tiếp tục mở rộng tập dữ liệu huấn luyện trong các điều kiện thời tiết, ánh sáng ban đêm và góc quay phức tạp nhằm tăng cường độ chính xác tổng thể.
  • Mở rộng hệ thống cảnh báo đa kênh (gửi tin nhắn, email cảnh báo tự động) và tích hợp thêm mô hình nhận diện khói đồng thời để tăng độ tin cậy khi phát hiện cháy rừng hoặc hỏa hoạn công nghiệp.

Giá trị tham khảo

Tài liệu khóa luận mang lại giá trị học thuật và ứng dụng thực tiễn cho nhiều nhóm đối tượng:

  • Sinh viên và nghiên cứu sinh ngành Mạng máy tính, CNTT và IoT: Nguồn tài liệu tham khảo chi tiết về quy trình triển khai mô hình học sâu thực tế từ máy tính huấn luyện xuống thiết bị tính toán biên.
  • Kỹ sư phát triển hệ thống nhúng và AIoT: Cung cấp hướng dẫn từng bước về việc chuyển đổi đồ thị mạng nơ-ron qua ONNX/UFF và tối ưu hóa bằng NVIDIA TensorRT trên hệ điều hành JetPack.
  • Nhà phát triển giải pháp an toàn thông minh: Cung cấp mô hình kiến trúc mẫu tích hợp giữa suy luận AI biên, máy chủ Streaming Flask, giao thức MQTT và giao diện điều khiển trung tâm ThingsBoard.

Câu hỏi thường gặp

1. Phần cứng chính được sử dụng để thực thi mô hình phát hiện lửa là gì và có thông số ra sao?

Khóa luận sử dụng thiết bị máy tính nhúng NVIDIA Jetson Nano Developer Kit Carrier Board A02 (phiên bản 2GB RAM). Thiết bị được trang bị vi xử lý CPU Quad-core ARM A57 tốc độ 1.43 GHz, GPU 128-core kiến trúc Maxwell, bộ nhớ 2 GB 64-bit LPDDR4 băng thông 25.6 GB/s, sử dụng thẻ nhớ microSD để lưu trữ hệ điều hành JetPack 4.5.

2. Quy trình chuyển đổi mô hình học sâu sang định dạng TensorRT được tác giả thực hiện như thế nào?

Quy trình chuyển đổi gồm các bước:

  1. Đào tạo mô hình nhận diện lửa trên framework học sâu (Darknet/TensorFlow).
  2. Chuyển đổi mô hình sang định dạng trung gian là .onnx hoặc .uff.
  3. Sử dụng TensorRT SDK để tối ưu hóa và biên dịch đồ thị mạng thành file định dạng TensorRT (.engine hoặc .plan).
  4. Sử dụng hàm load_model từ thư viện TensorRT để nạp mô hình vào bộ nhớ GPU của Jetson Nano và thực thi suy luận.

3. Giao thức MQTT đóng vai trò gì trong kiến trúc của hệ thống?

MQTT được sử dụng để truyền tải các thông điệp cảnh báo và dữ liệu trạng thái từ Jetson Nano (Publisher) đến máy chủ ThingsBoard (Broker/Subscriber). Nhờ đặc tính chiếm ít băng thông, độ trễ thấp và có các mức dịch vụ tin cậy (QoS 0, 1, 2), MQTT đảm bảo việc truyền tin ổn định ngay cả trong điều kiện mạng chập chờn.

4. Tác giả đã xử lý những khó khăn nào liên quan đến dữ liệu và hiện tượng nhận diện nhầm?

Tác giả đã chọn lọc kỹ lưỡng tập dữ liệu đầu vào, bổ sung các hình ảnh ngọn lửa có kích thước nhỏ ở khoảng cách xa, tinh chỉnh các bộ lọc và kích thước ảnh để mô hình nhận diện tốt đám cháy nhỏ. Đồng thời, các hình ảnh có nguồn sáng gây nhiễu (như ánh đèn điện) được đưa vào đối chiếu để tránh việc mô hình nhận dạng nhầm bóng đèn thành ngọn lửa.

5. Nền tảng nào được sử dụng để xây dựng Dashboard quản trị và cơ chế cảnh báo?

Tác giả sử dụng nền tảng mã nguồn mở ThingsBoard. Trên ThingsBoard, giao diện Dashboard hiển thị trạng thái hoạt động của hệ thống theo thời gian thực và tích hợp Rule chain (chuỗi quy tắc) để thiết lập điều kiện phát tín hiệu cảnh báo tự động khi phát hiện đám cháy.


Kết luận

Khóa luận tốt nghiệp của tác giả Vũ Hà Anh đã nghiên cứu và triển khai thành công ứng dụng phát hiện ngọn lửa thời gian thực dựa trên các mô hình học sâu họ YOLO và kỹ thuật tối ưu hóa TensorRT trên thiết bị nhúng NVIDIA Jetson Nano 2GB. Công trình giải quyết tốt bài toán thiếu hụt tài nguyên phần cứng tại biên mạng, đồng thời thiết lập một luồng kiến trúc hoàn chỉnh từ thu nhận video, suy luận AI cục bộ đến truyền thông cảnh báo qua MQTT và quản trị tập trung trên ThingsBoard. Kết quả nghiên cứu có giá trị thực tiễn cao, đóng vai trò là tài liệu tham khảo kỹ thuật hữu ích cho việc xây dựng các giải pháp giám sát an toàn và phòng cháy chữa cháy thông minh.