Bối cảnh và vấn đề nghiên cứu
Phát hiện sớm đám cháy là yêu cầu cấp thiết nhằm giảm thiểu thiệt hại về người và tài sản trong công tác phòng cháy chữa cháy cũng như quản lý tài nguyên rừng. Trong thực tế, các phương pháp phát hiện lửa truyền thống tồn tại nhiều nhược điểm:
- Quan sát bằng mắt thường: Không đảm bảo tính kịp thời khi sự cố hỏa hoạn bùng phát trên diện rộng hoặc tại các khu vực xa xôi.
- Hệ thống vệ tinh: Chu kỳ quét dài, độ phân giải bị ảnh hưởng bởi thời tiết và không thể cung cấp luồng hình ảnh giám sát theo thời gian thực.
- Cảm biến không khí (như module MQ-135): Thường xuyên nhầm lẫn giữa khói bụi môi trường bình thường và khói cháy thực tế; đồng thời, chi phí triển khai số lượng lớn cảm biến ngoài tự nhiên không bảo đảm tính kinh tế.
- Hệ thống xử lý hình ảnh quang học: Mang lại ưu thế rõ rệt khi một thiết bị máy quay chất lượng cao có thể giám sát không gian rộng nhiều hecta, đồng thời cung cấp đầy đủ ba đặc trưng cơ bản của đám cháy gồm màu sắc, chuyển động và kết cấu.
Tuy nhiên, việc triển khai các mô hình học sâu (Deep Learning) phát hiện vật thể phục vụ thị giác máy tính thường đòi hỏi các hệ thống máy tính có cấu hình phần cứng mạnh, trang bị CPU và GPU công suất cao. Khi đưa mô hình vào vận hành trên các máy tính nhúng biên có tài nguyên hạn chế, cụ thể là bo mạch NVIDIA Jetson Nano phiên bản 2GB RAM, thiết bị thường xuyên gặp hiện tượng quá tải bộ nhớ và gián đoạn hoạt động. Bên cạnh đó, mô hình phát hiện vật thể YOLO (You Only Look Once) tiêu chuẩn thường có độ chính xác thấp đối với các vật thể có kích thước nhỏ và dễ bị nhầm lẫn giữa ánh sáng đèn điện với ngọn lửa.
Mục tiêu nghiên cứu của đề tài:
- Xây dựng ứng dụng nhận dạng và phát hiện lửa dựa trên các thuật toán học sâu, có khả năng xử lý luồng dữ liệu hình ảnh trực tiếp từ camera theo thời gian thực trên phần cứng máy tính nhúng cấu hình thấp.
- Phân tích, đánh giá hiệu năng giữa các phiên bản mô hình nhận diện vật thể phổ biến (YOLOv3, YOLOv4, YOLOv5 và các biến thể rút gọn tiny); từ đó lựa chọn mô hình tối ưu nhất để chuyển đổi sang định dạng TensorRT và tích hợp hệ thống giám sát từ xa qua Web Server và nền tảng IoT.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các mô hình học sâu phát hiện vật thể thuộc họ YOLO; kỹ thuật tối ưu hóa mô hình với TensorRT và TensorFlow Lite (TFLite); thiết bị máy tính nhúng NVIDIA Jetson Nano Developer Kit và camera thu nhận hình ảnh.
- Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 01/03/2021 đến ngày 03/07/2021.
- Phạm vi không gian và thực nghiệm: Quá trình huấn luyện, chuẩn bị dữ liệu và đánh giá sơ bộ thực hiện trên môi trường máy tính cá nhân (Laptop); quá trình tối ưu hóa, nạp mô hình và đo đạc thực nghiệm thực hiện trực tiếp trên bo mạch nhúng Jetson Nano 2GB kết nối giao thức mạng với nền tảng quản lý IoT ThingsBoard.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khóa luận thiết lập nền tảng lý thuyết dựa trên các trụ cột công nghệ về thị giác máy tính, kiến trúc học sâu, kỹ thuật tăng tốc phần cứng và giao thức mạng IoT:
- Thị giác máy tính và bài toán Phát hiện vật thể (Object Detection): Tác giả phân định ranh giới giữa ba tác vụ cơ bản gồm Phân loại ảnh (Image Classification - chỉ dự đoán nhãn), Định vị đối tượng (Object Localization - xác định tọa độ khung bao quanh một hoặc nhiều vật thể) và Phát hiện vật thể (Object Detection - kết hợp đồng thời việc phân loại nhãn và xác định vị trí các khung bao Bounding Box).
- Mô hình mạng YOLO: Hoạt động dựa trên kiến trúc tích chập (CNN) duy nhất theo cơ chế end-to-end. Ảnh đầu vào được chuẩn hóa và chia thành lưới ô vuông kích thước $S \times S$. Mỗi ô dự đoán $N$ khung bao (Bounding Box) kèm độ tin cậy và phân phối xác suất của $M$ lớp đối tượng. Tọa độ đầu ra của mỗi khung gồm 5 thành phần: $(x, y, w, h, \text{prediction})$, trong đó $(x, y)$ là tọa độ tâm đã chuẩn hóa về đoạn $[0, 1]$, $(w, h)$ là chiều rộng và chiều cao, còn $\text{prediction} = \Pr(\text{Object}) \times \text{IoU}(\text{pred}, \text{truth})$. Thuật toán Non-Maximum Suppression (NMS) được sử dụng ở tầng hậu xử lý để loại bỏ các khung trùng lặp.
- Các công thức và hàm mất mát trong YOLO:
- Chỉ số IoU (Intersection Over Union): Đo lường mức độ trùng khớp giữa khung dự đoán ($B_{\text{pred}}$) và khung nhãn thực tế ($B_{\text{truth}}$):
$$\text{IoU} = \frac{\text{Area of Overlap}}{\text{Area of Union}}$$
Ngưỡng $\text{IoU} > 0.5$ được lấy làm chuẩn đánh giá kết quả nhận diện đạt yêu cầu.
- Hàm mất mát tổng (Total Loss): Hợp thành từ ba hàm lỗi thành phần: Lỗi phân loại nhãn (Classification loss - chỉ tính trên các ô thực sự có chứa đối tượng), Lỗi định vị (Localization loss - tính độ lệch tâm và kích thước khung bao), và Lỗi độ tin cậy (Confidence loss).
- Nền tảng tối ưu hóa và suy luận học sâu:
- TensorFlow: Thư viện mã nguồn mở hỗ trợ tính toán số học trên cấu trúc đồ thị luồng dữ liệu (Dataflow Graph), thao tác trên các đối tượng Tensor đa chiều qua hai giai đoạn: xây dựng mô hình tính toán (Construction phase) và thực thi tính toán (Execute phase).
- Bộ công cụ NVIDIA TensorRT: Bộ phát triển phần mềm (SDK) tối ưu hóa các mô hình học sâu đã huấn luyện, thực hiện tổng hợp các lớp mạng (layer fusion), lượng tử hóa trọng số và tối ưu hóa bộ nhớ nhằm gia tăng số khung hình trên giây (FPS), giảm chiếm dụng RAM và GPU trên phần cứng NVIDIA.
- Kiến trúc phần cứng và giao thức truyền thông:
- Bo mạch NVIDIA Jetson Nano Developer Kit Carrier Board A02: Trang bị GPU 128 nhân Maxwell, CPU Quad-core ARM A57 xung nhịp 1.43 GHz, bộ nhớ 2GB LPDDR4 băng thông 25.6 GB/s, chạy hệ điều hành JetPack 4.5 tích hợp sẵn bộ công cụ CUDA và TensorRT.
- Giao thức MQTT (Message Queuing Telemetry Transport): Hoạt động theo mô hình Publish/Subscribe qua máy chủ môi giới trung gian (Broker), hỗ trợ ba cấp độ chất lượng dịch vụ (QoS 0, QoS 1, QoS 2), giảm thiểu chi phí tiêu hao băng thông đường truyền mạng.
- Mô hình Điện toán biên (Edge Computing): Phân tầng hệ thống thành ba lớp: Lớp trung tâm dữ liệu đám mây (Cloud Data Center), Lớp tính toán biên (Edge Computing tại Jetson Nano) và Lớp thiết bị IoT (Camera, bộ điều khiển). Toàn bộ tác vụ suy luận hình ảnh nặng được xử lý tại biên, chỉ gửi dữ liệu cảnh báo và trạng thái về máy chủ.
- Nền tảng ThingsBoard: Hệ thống IoT mã nguồn mở phục vụ thu thập telemetry, hiển thị bảng điều khiển (Dashboard) và định cấu hình chuỗi quy tắc (Rule chain) kích hoạt cảnh báo khi phát hiện ngọn lửa.
Phương pháp nghiên cứu thực nghiệm:
- Thu thập và chuẩn hóa dữ liệu: Tập hợp các mẫu hình ảnh ngọn lửa từ các bộ dữ liệu phổ biến; áp dụng phần mềm gán nhãn chuyên dụng để định vị khung bao ngọn lửa; chọn lọc loại bỏ các hình ảnh ánh sáng nhân tạo gây nhiễu và bổ sung các hình ảnh ngọn lửa kích thước nhỏ.
- Huấn luyện và chuyển đổi mô hình: Tiến hành huấn luyện các cấu hình mô hình YOLOv3-tiny, YOLOv4-tiny trên nền tảng Darknet và YOLOv5 trên PyTorch; chuyển đổi trung gian qua định dạng ONNX/UFF sang TensorRT engine (
.trt) và định dạng TensorFlow Lite (.tflite).
- Đo lường đối sánh: Đánh giá thực nghiệm các chỉ số tốc độ khung hình (FPS), thời gian trễ và mức tiêu thụ tài nguyên phần cứng trên máy tính cá nhân và bo mạch Jetson Nano 2GB.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo mô hình tích hợp giữa thiết bị xử lý biên và máy chủ giám sát tập trung, bảo đảm khả năng phát hiện ngọn lửa cục bộ và truyền thông tin cảnh báo qua mạng:
| Thành phần hệ thống |
Công nghệ / Phần cứng sử dụng |
Vai trò và chức năng chính |
| Thiết bị thu nhận hình ảnh |
Camera quang học kết nối cổng CSI/USB |
Thu nhận luồng khung hình video liên tục từ môi trường cần giám sát. |
| Thiết bị xử lý biên |
NVIDIA Jetson Nano 2GB, OS JetPack 4.5 |
Chạy mô hình học sâu định dạng TensorRT để nhận diện ngọn lửa theo thời gian thực. |
| Máy chủ phát luồng video |
Thư viện Flask (Python) |
Đóng gói luồng video đã xử lý kèm Bounding Box thành Web Streaming Server. |
| Giao thức truyền thông |
Giao thức MQTT (Client-Broker) |
Gửi dữ liệu trạng thái phát hiện lửa (telemetry/alerts) từ Jetson Nano lên máy chủ trung tâm. |
| Nền tảng quản lý IoT |
ThingsBoard Community Edition |
Cung cấp giao diện Dashboard giám sát, quản lý Token thiết bị và định tuyến cảnh báo qua Rule chain. |
Quy trình chuyển đổi và nạp mô hình TensorRT trên Jetson Nano:
- Huấn luyện mô hình: Huấn luyện cấu hình mạng rút gọn (YOLOv4-tiny) trên máy tính bằng tập dữ liệu ảnh lửa đã gán nhãn, xuất ra tệp trọng số huấn luyện.
- Chuyển đổi sang định dạng mạng trung gian: Chuyển đổi mô hình đã huấn luyện sang định dạng mở ONNX (Open Neural Network Exchange) hoặc định dạng UFF.
- Biên dịch engine TensorRT: Sử dụng bộ chuyển đổi của TensorRT SDK trên môi trường JetPack 4.5 để biên dịch mạng trung gian thành tệp mô hình tối ưu có định dạng
.trt, tinh chỉnh cấu trúc các tầng tính chập và tối ưu hóa tính toán ma trận tương thích trực tiếp với vi kiến trúc GPU Maxwell.
- Nạp và thực thi ứng dụng: Sử dụng hàm
load_model từ thư viện TensorRT của Python để nạp mô hình vào bộ nhớ RAM của Jetson Nano, liên kết luồng đọc ảnh từ Camera và xuất tọa độ Bounding Box trực tiếp lên từng khung hình.
Nội dung chính theo từng chương
Chương 1: Mở đầu
Tác giả phân tích lý do chọn đề tài dựa trên việc đối sánh các phương pháp cảnh báo hỏa hoạn truyền thống và hiện đại, chỉ ra sự cần thiết của giải pháp thị giác máy tính trên thiết bị nhúng. Nội dung xác định mục tiêu xây dựng ứng dụng phát hiện lửa thời gian thực, xác lập đối tượng nghiên cứu gồm các mô hình YOLO, thiết bị Jetson Nano 2GB và camera. Chương này cũng tổng quan hai nghiên cứu liên quan gồm:
- Đề tài "Fire Detection CNN" của Toby Breckon: Sử dụng mạng tích chập dựa trên TensorFlow 1.5 giải quyết bài toán phân loại (Classification), chỉ nhận diện được khung ảnh có lửa hay không mà không xác định được vị trí ngọn lửa.
- Đề tài "Fire Net" của Olafenwa Moses: Sử dụng mô hình YOLOv3 trên Keras và thư viện ImageAI; mô hình này bị hạn chế về độ trễ, không đáp ứng được yêu cầu phát hiện vật thể theo thời gian thực.
Chương 2: Cơ sở lý thuyết
Trình bày hệ thống khái niệm về thị giác máy tính, phân loại học máy (học có giám sát và học không giám sát) và cơ chế trích xuất đặc trưng của mạng học sâu. Tác giả đi sâu vào nguyên lý hoạt động của mạng YOLO:
- Phân tích cấu trúc phân lớp từ ảnh đầu vào $256 \times 256$, qua các khối Convolutional, Residual và Max pooling để hạ kích thước không gian và trích xuất đặc trưng trên Feature map.
- Trình bày chi tiết cách biểu diễn đầu ra kích thước $S \times S \times (5 \times N + M)$, công thức tính chỉ số IoU và cơ chế tối ưu hóa hàm lỗi tổng hợp (Total loss).
- Khái quát nguyên lý của TensorFlow, quy trình chuyển đổi mô hình qua SDK TensorRT, thông số kỹ thuật của Jetson Nano, cơ chế truyền thông điệp Publish/Subscribe của MQTT và kiến trúc 3 tầng của Điện toán biên (Edge Computing).
Chương 3: Mô hình ứng dụng
Mô tả chi tiết các bước xây dựng hệ thống phần mềm và cấu hình phần cứng:
- Cài đặt hệ điều hành JetPack 4.5 cho Jetson Nano qua thẻ nhớ microSD, thiết lập các thư viện phụ thuộc và trình biên dịch.
- Quy trình chuẩn bị dữ liệu: Lựa chọn hình ảnh đám cháy từ nhiều nguồn tin cậy; thực hiện gán nhãn thủ công bằng phần mềm chuyên dụng để tạo tệp chú thích tọa độ; liên kết đường dẫn dữ liệu huấn luyện và kiểm thử.
- Thiết lập tệp cấu hình mô hình (
.cfg), xác lập các siêu tham số huấn luyện (batch, subdivisions, filters, classes) và theo dõi độ suy giảm của hàm mất mát.
- Tiến hành các bước tối ưu hóa mô hình từ cấu trúc gốc sang định dạng TensorRT; cài đặt máy chủ ThingsBoard và cấu hình Token nhận diện cho thiết bị Jetson Nano.
Chương 4: Triển khai thực nghiệm và đánh giá kết quả
Triển khai hệ thống hoàn chỉnh trong điều kiện thực tế:
- Kết nối luồng camera vào Jetson Nano, khởi chạy máy chủ Streaming Server bằng Flask để người dùng có thể xem trực tiếp hình ảnh giám sát qua trình duyệt web.
- Cấu hình chuỗi quy tắc (Rule chain) trên ThingsBoard để tự động gửi thông báo báo động khi nhận được dữ liệu phát hiện ngọn lửa từ thiết bị gửi qua giao thức MQTT.
- Thực hiện kiểm thử và ghi nhận thông số hoạt động của các mô hình YOLOv3-tiny, YOLOv4-tiny, YOLOv5 và các biến thể TFLite, TensorRT trên hai nền tảng: Laptop và Jetson Nano 2GB.
- Chạy thực nghiệm với các tình huống ngọn lửa thực tế nhằm kiểm chứng độ ổn định và thời gian phản hồi của toàn bộ hệ sinh thái giám sát.
Chương 5: Tổng kết quá trình và hướng phát triển đề tài
Tổng kết các mục tiêu đã hoàn thành, bao gồm việc giải quyết bài toán phát hiện lửa thời gian thực trên phần cứng hạn chế tài nguyên 2GB RAM và thiết lập kênh truyền thông giám sát IoT. Tác giả vạch ra các định hướng mở rộng nghiên cứu về mặt thuật toán và khả năng tương thích phần cứng đa nền tảng.
Kết quả và đóng góp của đề tài
Kết quả thực nghiệm:
- Khóa luận đã thử nghiệm và đo lường định lượng các mô hình nhận diện vật thể trên hai môi trường phần cứng, ghi nhận các đặc tính vận hành như sau:
| Mô hình thử nghiệm |
Định dạng mô hình |
Môi trường thử nghiệm |
Đánh giá hiệu năng và tính phù hợp |
| YOLOv3-tiny |
Trọng số Darknet gốc |
Laptop / Jetson Nano |
Thời gian huấn luyện nhanh nhưng độ chính xác và FPS trên Jetson Nano thấp hơn các bản mới. |
| YOLOv4-tiny |
Trọng số Darknet gốc |
Laptop / Jetson Nano |
Cải thiện độ chính xác và tốc độ khung hình so với YOLOv3-tiny; tiết kiệm tài nguyên phần cứng. |
| YOLOv5 |
PyTorch (.pt) |
Laptop / Jetson Nano |
Kiến trúc gọn nhẹ, hiệu năng xử lý cao trên môi trường máy tính nhưng chưa tối ưu chuyên biệt cho phần cứng nhúng. |
| YOLOv4-tiny (TFLite) |
.tflite |
Jetson Nano / Thiết bị nhúng |
Hoạt động ổn định, kích thước mô hình rút gọn, có khả năng mở rộng tốt sang các thiết bị nhúng của các hãng khác ngoài NVIDIA. |
| YOLOv4-tiny (TensorRT) |
.trt / .engine |
Jetson Nano 2GB |
Đạt hiệu năng tối ưu nhất về FPS và mức tiêu hao bộ nhớ; loại bỏ hiện tượng tràn RAM 2GB, duy trì khả năng phát hiện lửa thời gian thực ổn định. |
- Xây dựng thành công chu trình truyền phát hình ảnh qua Flask Web Server và cơ chế gửi cảnh báo tức thời lên giao diện Dashboard của ThingsBoard thông qua giao thức MQTT khi xuất hiện ngọn lửa.
- Khắc phục nhược điểm phát hiện vật thể nhỏ của kiến trúc YOLO tiêu chuẩn bằng kỹ thuật bổ sung hình ảnh ngọn lửa kích thước nhỏ vào tập dữ liệu huấn luyện và điều chỉnh bộ lọc ảnh; đồng thời hạn chế tình trạng báo động giả do ánh sáng bóng đèn điện gây ra thông qua việc sàng lọc dữ liệu đầu vào cẩn thận.
Đóng góp so với các công trình liên quan:
- So với đề tài "Fire Detection CNN" của Toby Breckon (chỉ phân loại nhị phân có lửa hoặc không có lửa), khóa luận cung cấp giải pháp xác định chính xác vị trí và tọa độ khung bao (Bounding Box) của từng ngọn lửa trong khung hình.
- So với đề tài "Fire Net" của Olafenwa Moses (triển khai YOLOv3 qua thư viện ImageAI gặp độ trễ lớn, không đạt thời gian thực), đề tài đã tinh gọn mô hình sang dạng tiny và chuyển đổi thành công sang định dạng TensorRT, giúp hệ thống vận hành mượt mà theo thời gian thực trên bo mạch nhúng Jetson Nano giá thành thấp.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài:
- Bo mạch NVIDIA Jetson Nano phiên bản sử dụng chỉ có dung lượng RAM 2GB, dẫn đến việc thiết bị luôn ở trong tình trạng thiếu hụt bộ nhớ nếu phải xử lý các tác vụ phức tạp liên tục hoặc khi nạp các mô hình mạng có số lượng tầng tính chập lớn.
- Mô hình tối ưu hóa bằng TensorRT chỉ có khả năng tương thích và chạy độc quyền trên các dòng phần cứng trang bị GPU của hãng NVIDIA, không thể chuyển giao trực tiếp sang các dòng vi xử lý nhúng thông dụng khác.
- Việc xử lý hiện tượng nhận diện nhầm ánh đèn điện phụ thuộc hoàn toàn vào tập dữ liệu ảnh tĩnh được chọn lọc thủ công, chưa tích hợp các thuật toán phân tích biến thiên chuyển động ngọn lửa đa khung hình.
Hướng nghiên cứu tiếp:
- Mở rộng thử nghiệm và tối ưu hóa sâu hơn định dạng TensorFlow Lite (TFLite) trên các bo mạch nhúng của các nhà sản xuất khác ngoài NVIDIA nhằm gia tăng tính linh hoạt khi triển khai thực tế.
- Tối ưu hóa sâu hơn cấu trúc mạng neural để giảm thiểu dung lượng mô hình, cho phép ứng dụng vận hành trong thời gian dài mà không gây quá tải bộ nhớ trên các hệ thống nhúng biên siêu nhỏ gọn.
- Nâng cấp quy mô hệ thống, cho phép một máy chủ ThingsBoard quản lý đồng thời nhiều nút camera Jetson Nano giám sát tại nhiều khu vực phân tán.
Giá trị tham khảo
Tài liệu khóa luận mang lại giá trị tham khảo thiết thực cho sinh viên, giảng viên và kỹ sư kỹ thuật thuộc các chuyên ngành Công nghệ thông tin, Mạng máy tính và Truyền thông, Kỹ thuật máy tính và Trí tuệ nhân tạo:
- Kỹ thuật tối ưu hóa mô hình học sâu cho thiết bị biên: Quy trình chuyển đổi mô hình từ các framework thông dụng sang ONNX và biên dịch sang TensorRT engine trên hệ điều hành JetPack là tài liệu thực hành hữu ích cho những ai nghiên cứu triển khai Edge AI trên dòng máy tính nhúng Jetson.
- Tích hợp hệ thống IoT và thị giác máy tính: Phần cấu hình giao thức MQTT kết hợp máy chủ truyền phát Flask và nền tảng ThingsBoard (cách tạo thiết bị, cấu hình Token, tạo Dashboard và thiết lập Rule chain cảnh báo) là mẫu tham khảo hoàn chỉnh cho các đồ án xây dựng hệ thống giám sát cảnh báo sớm từ xa.
- Phương pháp xử lý dữ liệu cho bài toán nhận diện lửa: Các ghi chú về việc lựa chọn tập dữ liệu ngọn lửa nhỏ và khử nhiễu ánh sáng đèn điện là kinh nghiệm thực tế giá trị cho các nghiên cứu tiếp theo về nhận dạng các hiện tượng cháy nổ.
Câu hỏi thường gặp
1. Tại sao khóa luận không sử dụng mô hình YOLO đầy đủ (full model) mà phải dùng các phiên bản rút gọn (tiny)?
Thiết bị Jetson Nano sử dụng trong đề tài là phiên bản có bộ nhớ RAM chỉ 2GB. Các mô hình YOLO tiêu chuẩn đầy đủ đòi hỏi dung lượng bộ nhớ lớn và khả năng tính toán cao của GPU chuyên dụng, nên khi nạp vào Jetson Nano 2GB sẽ lập tức gây ra hiện tượng tràn bộ nhớ (Out of Memory) hoặc sụt giảm tốc độ khung hình nghiêm trọng. Các phiên bản rút gọn (tiny) được cắt giảm số lớp mạng nơ-ron, giúp tiết kiệm tài nguyên máy tính, rút ngắn thời gian huấn luyện và cho phép chạy ổn định trên phần cứng cấu hình thấp.
2. Quá trình chuyển đổi mô hình sang định dạng TensorRT trên Jetson Nano diễn ra qua những bước trung gian nào?
Quá trình chuyển đổi không thực hiện trực tiếp từ mô hình gốc sang TensorRT mà phải trải qua một định dạng mạng nơ-ron trung gian. Tác giả sử dụng định dạng trung gian ONNX (Open Neural Network Exchange) hoặc UFF. Sau khi mô hình được xuất sang tệp .onnx hoặc .uff, trình biên dịch của TensorRT SDK trên JetPack 4.5 sẽ thực hiện tối ưu hóa cấu trúc mạng và lượng tử hóa để tạo ra tệp động cơ suy luận TensorRT có định dạng .trt (hoặc .engine).
3. Tác giả đã giải quyết hiện tượng nhận diện nhầm ánh đèn điện và ngọn lửa kích thước nhỏ như thế nào?
Đối với nhược điểm nhận diện ngọn lửa nhỏ, tác giả bổ sung có chủ đích các hình ảnh ngọn lửa có kích thước nhỏ vào tập dữ liệu huấn luyện và điều chỉnh lại kích thước ảnh cùng các thông số độ lọc. Đối với hiện tượng nhận diện nhầm bóng đèn điện thành ngọn lửa, tác giả kiểm soát chặt chẽ quá trình thu thập và chuẩn bị dữ liệu, chủ động loại bỏ các hình ảnh gây hiểu nhầm để mô hình học chính xác các đặc trưng phân biệt giữa ngọn lửa thật và nguồn sáng nhân tạo.
4. Cơ chế truyền tín hiệu cảnh báo từ camera trên Jetson Nano đến bảng điều khiển ThingsBoard hoạt động ra sao?
Khi mô hình TensorRT trên Jetson Nano phát hiện có sự xuất hiện của ngọn lửa trong khung hình camera, ứng dụng sẽ đóng gói thông tin phát hiện lửa thành thông điệp telemetry và gửi qua giao thức MQTT (dưới vai trò Publisher) đến máy chủ ThingsBoard (Broker). Trên ThingsBoard, tác giả định cấu hình chuỗi quy tắc (Rule chain) để kiểm tra điều kiện dữ liệu nhận được; khi giá trị chỉ báo phát hiện lửa được kích hoạt, hệ thống sẽ tự động bật cảnh báo hiển thị trên Dashboard giám sát.
5. Điểm khác biệt mấu chốt giữa giải pháp của khóa luận so với đề tài "Fire Detection CNN" của tác giả Toby Breckon là gì?
Đề tài của Toby Breckon giải quyết bài toán Phân loại ảnh (Image Classification) dựa trên mạng CNN thuần túy, kết quả đầu ra chỉ cho biết toàn bộ bức ảnh có chứa lửa hay không mà hoàn toàn không định vị được vị trí ngọn lửa. Trong khi đó, khóa luận của tác giả Vũ Hà Anh giải quyết bài toán Phát hiện vật thể (Object Detection), vừa xác định được nhãn ngọn lửa vừa vẽ chính xác khung bao (Bounding Box) xác định tọa độ và kích thước của từng ngọn lửa trong thời gian thực.
Kết luận
Khóa luận tốt nghiệp của tác giả Vũ Hà Anh đã xây dựng hoàn chỉnh ứng dụng phát hiện ngọn lửa thời gian thực thông qua camera, giải quyết thành công bài toán hạn chế tài nguyên phần cứng trên máy tính nhúng NVIDIA Jetson Nano bản 2GB RAM. Bằng việc kết hợp kiến trúc mạng YOLO rút gọn với quy trình tối ưu hóa qua bộ công cụ TensorRT, mô hình duy trì được độ chính xác nhận diện ổn định đồng thời loại bỏ triệt để hiện tượng tràn bộ nhớ. Việc tích hợp hệ thống phát luồng video qua Flask và thiết lập kênh cảnh báo qua giao thức MQTT trên nền tảng ThingsBoard mang lại một giải pháp kỹ thuật có tính ứng dụng thực tiễn cao cho các hệ thống giám sát hỏa hoạn tự động tại biên mạng.