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

Đề tài "Hệ thống cảnh báo cháy sử dụng camera ứng dụng trí tuệ nhân tạo" (tên tiếng Anh: AI-Based Camera for Fire Detection) do sinh viên Hồng Chan Hiển thực hiện dưới sự hướng dẫn của TS. Lê Kim Hùng tại Khoa Mạng máy tính và Truyền thông, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh, thuộc chương trình đào tạo Kỹ sư ngành An toàn Thông tin (năm 2021).

Lý do chọn đề tài và bối cảnh thực tiễn

Hỏa hoạn và cháy rừng là thảm họa gây thiệt hại nghiêm trọng về tài nguyên, môi trường và tính mạng con người nếu không được phát hiện kịp thời. Tại Việt Nam, diện tích rừng trải rộng khiến công tác tuần tra, giám sát liên tục 24/7 của lực lượng kiểm lâm gặp nhiều hạn chế về nhân lực. Mặt khác, các hệ thống camera nhiệt hồng ngoại chuyên dụng có chi phí đầu tư rất lớn và phạm vi bao phủ còn hạn chế. Trong lĩnh vực Internet of Things (IoT), các phương pháp báo cháy truyền thống chủ yếu dựa vào cảm biến môi trường (nhiệt độ, độ ẩm, nồng độ khí CO, tia hồng ngoại). Mặc dù các cảm biến này có độ chính xác cục bộ cao, bán kính phát hiện lại rất hẹp, chỉ hoạt động khi khói hoặc nguồn nhiệt đã tiếp xúc gần thiết bị. Giải pháp ứng dụng thị giác máy tính kết hợp trí tuệ nhân tạo (AI) trên luồng hình ảnh từ camera thông thường mở ra khả năng giám sát không gian rộng với chi phí thấp hơn, đồng thời tận dụng được năng lực xử lý ngày càng cao của các phần cứng nhúng thế hệ mới.

Mục tiêu và nhiệm vụ nghiên cứu

Văn bản xác định các mục tiêu và nhiệm vụ cụ thể của đề tài bao gồm:

  1. Nghiên cứu, thiết kế và tối ưu hóa các mô hình trí tuệ nhân tạo nhận diện lửa để triển khai hiệu quả trên các thiết bị máy tính nhúng có tài nguyên xử lý giới hạn (Raspberry Pi, Jetson Nano, Edge TPU).
  2. Thử nghiệm, cải tiến mô hình mạng nơ-ron tích chập (CNN) dựa trên kiến trúc FireNet gốc và xây dựng mô hình phân loại dựa trên kiến trúc Vision Transformer (ViT), từ đó nâng cao độ chính xác và giảm thiểu dung lượng bộ nhớ tiêu thụ.
  3. Áp dụng các kỹ thuật nén mô hình như tỉa nhánh trọng số (Pruning) và lượng tử hóa (Quantization) thông qua TensorFlow Lite và TensorRT.
  4. Xây dựng hoàn chỉnh hệ thống giám sát và cảnh báo cháy hoạt động theo mô hình Client-Server: thiết bị nhúng tại biên xử lý luồng hình ảnh camera cục bộ, phát hiện lửa và truyền dữ liệu cảnh báo về máy chủ ThingsBoard để hiển thị giao diện thời gian thực cho người dùng cuối.

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

  • Đối tượng nghiên cứu: Các thuật toán học sâu phân loại hình ảnh đám cháy (FireNet, Vision Transformer), kỹ thuật tối ưu hóa mô hình nhúng (TensorFlow Lite, Pruning, Quantization), các công cụ và nền tảng phát triển phần mềm (TensorFlow 2.x, Keras, OpenCV, Flask, ThingsBoard IoT Platform, giao thức HTTP/HTTPS).
  • Phạm vi nghiên cứu:
    • Về phần cứng: Triển khai thực nghiệm trên máy tính nhúng Raspberry Pi 4 (phiên bản RAM 2GB), camera Raspberry Pi Camera V2 qua cổng MIPI CSI.
    • Về không gian và mạng: Hệ thống hoạt động trong mạng cục bộ (LAN), truyền dữ liệu qua giao thức HTTP/HTTPS và hiển thị trên trình duyệt web của người dùng thông qua giao diện ThingsBoard Dashboard.
    • Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 20/06/2021.

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

Khung lý thuyết và mô hình tham chiếu

Khóa luận phát triển dựa trên nền tảng lý thuyết học sâu thị giác máy tính và kiến trúc phân loại hình ảnh:

  • Kiến trúc Mạng nơ-ron tích chập (CNN): Sử dụng các lớp tích chập (Conv2D) với hàm kích hoạt Rectified Linear Unit (ReLU), lớp lấy mẫu cực đại (MaxPooling2D), lớp chuẩn hóa theo batch (Batch Normalization) và các lớp kết nối đầy đủ (Dense) với hàm kích hoạt Tanh và Softmax.
  • Mô hình FireNet gốc: Mô hình CNN phân loại lửa do Andrew J. Dunnings và Tony P. Breckon (Đại học Durham, Vương quốc Anh) công bố năm 2018. Mô hình gốc được thiết kế trên TensorFlow 1.x / TFLearn, sử dụng lớp Local Response Normalization (LRN), đạt độ chính xác trung bình 92%, tốc độ xử lý trên Raspberry Pi 4 đạt 2 khung hình/giây (fps) và Jetson Nano 4GB đạt 20 fps nhưng chiếm dụng toàn bộ tài nguyên CPU/GPU.
  • Mô hình Vision Transformer (ViT): Ứng dụng cơ chế Multi-Head Attention (dựa trên công trình "Attention Is All You Need") cho tác vụ phân loại hình ảnh. Hình ảnh đầu vào được chia thành các mảnh nhỏ (patches), chuyển đổi tuyến tính (Linear Projection) và đưa qua các khối Transformer Encoder kết hợp mạng nơ-ron nhiều lớp (MLP).
  • Kỹ thuật chống quá khớp (Regularization): Áp dụng kỹ thuật ngắt ngẫu nhiên nơ-ron (Dropout với tỉ lệ 50%), tăng cường dữ liệu (Data Augmentation bằng cách xoay, lật hình ngẫu nhiên) và Batch Normalization.
  • Kỹ thuật tối ưu hóa mô hình nhúng:
    • Tỉa nhánh trọng số (Weight Pruning): Sử dụng lịch trình suy giảm đa thức (Polynomial Decay) để đưa các trọng số có giá trị gần bằng 0 về 0, giúp nén cấu trúc tensor.
    • Lượng tử hóa (Quantization): Sử dụng phương pháp Dynamic Range Quantization để chuyển đổi trọng số từ dạng số thực dấu phẩy động 32-bit (float32) sang số nguyên 8-bit (int8), và lượng tử hóa số thực dấu phẩy động 16-bit (float16).

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp thực nghiệm kỹ thuật: Thiết kế lại kiến trúc mô hình trên TensorFlow 2.x, lập trình đường ống huấn luyện, đánh giá độ mất mát (Sparse Categorical Crossentropy) và độ chính xác qua TensorBoard; sau đó chuyển đổi và tối ưu mô hình sang định dạng .tflite bằng TensorFlow Model Optimization Toolkit.
  • Phương pháp xây dựng hệ thống: Lập trình phân luồng đa nhiệm (multithreading) trên thiết bị biên bằng Python, kết hợp OpenCV đọc camera, Flask làm máy chủ phát hình trực tiếp và ThingsBoard tiếp nhận dữ liệu telemetry qua POST Request.
  • Nguồn dữ liệu: Bộ dữ liệu Fire Detection Datasets của Đại học Durham gồm 38.522 hình ảnh kích thước 224x224 pixel, chia làm 2 lớp:
    • Lớp fire (có lửa): 19.882 ảnh.
    • Lớp nofire (không có lửa hoặc vật thể dễ nhầm lẫn với lửa): 18.640 ảnh.
    • Phân chia dữ liệu: 80% cho tập huấn luyện (Training: 30.818 ảnh) và 20% cho tập kiểm chứng (Validation).

Thiết kế và triển khai hệ thống

Kiến trúc tổng thể hệ thống

Hệ thống được thiết kế theo mô hình Client-Server phân tán:

[ Raspberry Pi Camera V2 ] 
  - OpenCV tiền xử lý
  - TensorFlow Lite Interpreter
  - Luồng phát hiện lửa (FireNet Lite)
[ Server: Raspberry Pi 4 ]
  - Nền tảng ThingsBoard IoT
  - Rule Chains (Root & Fire Detection)
  - Cơ sở dữ liệu PostgreSQL / Cassandra
  - Bảo mật HTTPS / Apache2 SSL

Triển khai tại thiết bị Client (Thiết bị biên)

  • Phần cứng: Bo mạch Raspberry Pi 4 (SoC Broadcom BCM2711, 4 nhân Cortex-A72 64-bit @ 1.5 GHz, GPU VideoCore VI @ 500 MHz, RAM 2GB LPDDR4-3200), gắn mô-đun tản nhiệt cưỡng bức để ngăn hiện tượng giảm xung do quá nhiệt (thermal throttling khi nhiệt độ > 60°C), sử dụng nguồn cấp chuẩn 15W.
  • Xử lý hình ảnh và suy luận AI:
    • Module cv2.VideoCapture từ thư viện OpenCV thu nhận khung hình từ camera.
    • Khung hình được chuyển đổi hệ màu sang BGR/RGB và chuẩn hóa kích thước (224x224 cho FireNet Lite, 72x72 cho ViT).
    • Khởi tạo tf.lite.Interpreter với tham số num_threads=4 để phân phối tính toán đều trên cả 4 nhân CPU của Raspberry Pi 4.
    • Mô hình xuất ra 2 giá trị xác suất tương ứng với lớp có lửa và không có lửa.
  • Truyền thông và phân luồng:
    • Sử dụng thư viện threading để chia tách luồng chạy suy luận AI và luồng dịch vụ mạng.
    • Khởi tạo micro-web server bằng Flask (chạy ở cổng mặc định 5000, cấu hình debug=False, binding địa chỉ 0.0.0.0) để phục vụ luồng truyền hình ảnh dạng JPEG qua HTTP Response.
    • Sử dụng thư viện requests đóng gói dữ liệu kết quả phân loại thành chuỗi định dạng JSON và gửi bản tin HTTP POST đến địa chỉ API của máy chủ ThingsBoard.

Triển khai tại máy chủ Server (ThingsBoard Platform)

  • Nền tảng ThingsBoard: Cài đặt trên một thiết bị Raspberry Pi 4 độc lập, kết nối chung mạng LAN với Client. Nền tảng tiếp nhận gói tin thông qua ThingsBoard Transport HTTP, lưu trữ dữ liệu tại cơ sở dữ liệu PostgreSQL và Cassandra.
  • Xử lý cảnh báo bằng Rule Engine:
    • Root Rule Chain: Tiếp nhận và phân loại thông điệp từ thiết bị IoT.
    • Fire Detection Rule Chain: Sử dụng các script kiểm tra nội dung gói tin telemetry. Khi trường dữ liệu phát hiện lửa mang giá trị xác nhận có đám cháy, hệ thống tự động kích hoạt trạng thái báo động (Create Alarm).
  • Phân quyền và giao diện người dùng:
    • Cấu hình 3 cấp tài khoản: System Administrator (quản trị toàn hệ thống), Tenant Administrator (quản lý thiết bị, rule chain, khách hàng và dashboard), Customer User (người dùng cuối giám sát camera và nhận cảnh báo).
    • Xây dựng Dashboard gồm các widget trực quan hóa: khung hiển thị video trực tiếp từ URL của Flask Server, thẻ trạng thái báo cháy, bảng danh sách cảnh báo thời gian thực và nút xác nhận đã xử lý cảnh báo.
  • Bảo mật hệ thống: Thiết lập máy chủ web Apache2 làm reverse proxy, cài đặt chứng chỉ SSL/TLS để mã hóa toàn bộ dữ liệu trao đổi giữa người dùng và máy chủ qua giao thức HTTPS.

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

Chương 1: Mở đầu

Chương 1 trình bày tính cấp thiết của đề tài xuất phát từ thực trạng cháy rừng và hỏa hoạn đô thị. Tác giả chỉ ra các điểm yếu của hệ thống cảm biến môi trường (phạm vi phát hiện hẹp) và camera nhiệt hồng ngoại (chi phí đắt đỏ). Mục tiêu được xác lập là nghiên cứu và tối ưu hóa mô hình học sâu phân loại lửa có khả năng hoạt động trực tiếp trên thiết bị nhúng giá thành thấp, tích hợp hoàn chỉnh hệ thống quản lý và cảnh báo từ xa 24/7. Tác giả cũng nêu rõ đối tượng thụ hưởng và phạm vi triển khai trên nền tảng mạng cục bộ.

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

Chương 2 cung cấp toàn bộ nền tảng công nghệ và lý thuyết toán học - kỹ thuật của đề tài:

  • Giới thiệu hệ sinh thái TensorFlow 2, Keras, OpenCV, NumPy, TensorBoard và Pillow.
  • Phân tích chi tiết kiến trúc mô hình FireNet gốc (2018) và chỉ ra các hạn chế về hiệu năng trên phần cứng nhúng.
  • Thiết kế mô hình FireNet Lite cải tiến trên TensorFlow 2.x:
    • Đầu vào tensor (224, 224, 3).
    • Khối trích xuất đặc trưng: 3 tầng Conv2D tuần tự với số bộ lọc tăng dần (64 bộ lọc kích thước 5x5 stride 4; 128 bộ lọc kích thước 4x4 stride 1; 256 bộ lọc kích thước 1x1 stride 1), xen kẽ là các tầng MaxPooling2D (kích thước 3x3 stride 2) và tầng Batch Normalization.
    • Tầng Flatten biến đổi ma trận tensor (5, 5, 256) thành vector phẳng kích thước 6.400 chiều.
    • Khối phân loại: 2 tầng Dense kích thước 4.096 nơ-ron (hàm kích hoạt Tanh), đi kèm 2 tầng Dropout tỉ lệ 50%, kết thúc bằng tầng Dense 2 nơ-ron với hàm Softmax.
    • Tổng số tham số có thể huấn luyện ban đầu là 43.190.275 tham số; kích thước mô hình chưa nén là 494 MB.
  • Trình bày quy trình nén mô hình:
    • Kỹ thuật Pruning sử dụng lịch trình Polynomial Decay giảm độ phân mảnh từ 0.5 đến 0.8/0.9.
    • Kỹ thuật Dynamic Range Quantization chuyển đổi trọng số sang số nguyên 8-bit. Sau tối ưu, dung lượng tệp quant_pruned_firenet.tflite giảm xuống còn 41,2 MB.
    • Huấn luyện 50 epoch trong 7 giờ với thuật toán Adam và hàm mất mát Sparse Categorical Crossentropy, đạt độ chính xác tập huấn luyện 96,01% và tập kiểm chứng 96,5%.
  • Xây dựng mô hình Vision Transformer (ViT):
    • Đầu vào ảnh kích thước 72x72 pixel, chia thành 144 mảnh kích thước 6x6 pixel.
    • Patch Encoder chuyển thành vector kết hợp nhúng vị trí (Position Embedding).
    • Cấu trúc gồm 16 khối Transformer Encoder liên tiếp; mỗi khối gồm tầng MultiHeadAttention (4 head, kích thước mỗi head là 64), chuẩn hóa LayerNormalization và tầng MLP đầu ra [128, 64]. Tầng cuối Dense 2 nơ-ron. Tổng số tham số là 22.x triệu.
    • Huấn luyện 100 epoch với optimizer AdamW, batch size 16, đạt độ chính xác kiểm chứng 97,5%. Dung lượng tệp SavedModel gốc là 260 MB; sau khi lượng tử hóa float16 bằng tf.lite.OpsSet.SELECT_TF_OPS, tệp VitModelLite.tflite có dung lượng 44,6 MB.
  • Trình bày tổng quan về nền tảng ThingsBoard, giao thức HTTP/POST, cấu trúc dữ liệu JSON và micro-framework Flask.

Chương 3: Mô hình

Chương 3 chi tiết hóa giải pháp thiết kế kiến trúc hệ thống:

  • Sơ đồ nguyên lý kết nối Client-Server giữa hai bo mạch Raspberry Pi 4.
  • Lập trình ứng dụng trên Client bằng Python: đọc camera bằng OpenCV, chạy suy luận TFLite đa luồng (num_threads=4), thiết lập server Flask phát video MJPEG, đóng gói payload JSON gửi dữ liệu định kỳ và khi có sự kiện cháy qua HTTP POST.
  • Thiết lập máy chủ ThingsBoard: khởi tạo thiết bị Raspberry Pi 4 Client, cấu hình bộ sinh quy tắc (Rule Chains) phân tích gói tin, thiết kế Dashboard giao diện người dùng.
  • Triển khai giải pháp an ninh: cài đặt chứng chỉ SSL/TLS trên máy chủ web Apache2 để thiết lập kênh truyền bảo mật HTTPS cho toàn bộ hệ thống.

Chương 4: Thực nghiệm và đánh giá

Chương 4 ghi nhận kết quả vận hành thực tế của hệ thống:

  • Kiểm thử giao diện Dashboard thời gian thực: hiển thị trạng thái hoạt động bình thường, tự động chuyển đổi giao diện sang cảnh báo đỏ khi phát hiện lửa, hỗ trợ người vận hành xác nhận và đánh dấu hoàn tất xử lý sự cố.
  • Thực nghiệm độ chính xác của mô hình trong nhiều điều kiện môi trường: nhận diện chính xác các nguồn lửa từ que diêm, bật lửa, đám cháy lớn và phân biệt tốt với các nguồn sáng gây nhiễu trong nhà và ngoài trời.

Chương 5: Tổng kết và hướng phát triển

Chương 5 đúc kết các kết quả đạt được về mặt mô hình lý thuyết và hệ thống ứng dụng, đồng thời nêu rõ các điểm hạn chế về phần cứng và đề xuất các định hướng nâng cấp trong tương lai.


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

Kết quả định lượng chính

Khóa luận đã hoàn thành việc xây dựng và thực nghiệm các mô hình trí tuệ nhân tạo nhận diện cháy cùng hệ thống nhúng IoT hoàn chỉnh. Các số liệu kỹ thuật chính được tổng hợp trong các bảng dưới đây:

Bảng 1: So sánh thông số kiến trúc và hiệu năng huấn luyện giữa các mô hình

Tiêu chí FireNet gốc (2018) FireNet Lite (Đề xuất) Vision Transformer (Đề xuất)
Nền tảng framework TensorFlow 1.x / TFLearn TensorFlow 2.x TensorFlow 2.x
Kích thước đầu vào 224 x 224 x 3 224 x 224 x 3 72 x 72 x 3 (144 patches)
Số lượng tham số Không nêu cụ thể 43.190.275 tham số ~22.000.000 tham số
Dung lượng gốc Không nêu cụ thể 494 MB 260 MB
Dung lượng sau tối ưu (TFLite) Không hỗ trợ TFLite gốc 41,2 MB (Pruning + Int8 Quant) 44,6 MB (Float16 Quant)
Số epoch huấn luyện - 50 epochs (7 giờ) 100 epochs
Độ chính xác kiểm chứng (Val Acc) ~92,00% 96,50% (Train: 96,01%) 97,50%

Bảng 2: So sánh hiệu năng triển khai thực tế trên phần cứng nhúng

Phần cứng thử nghiệm Cấu hình phần cứng Tốc độ FireNet gốc Tốc độ FireNet Lite (.tflite)
Raspberry Pi 4 4 nhân Cortex-A72 @ 1.5GHz, 2GB RAM 2 fps (Chiếm 100% CPU) Xử lý mượt mà, phân phối 4 threads
Jetson Nano 4GB RAM (Bộ nhớ chia sẻ CPU/GPU) 20 fps (Nguy cơ tràn RAM) Hoạt động ổn định, tiết kiệm bộ nhớ

Giải pháp và đóng góp của tác giả

  1. Chuyển đổi thành công kiến trúc FireNet từ TensorFlow 1.x sang TensorFlow 2.x, thay thế lớp Local Response Normalization cũ bằng Batch Normalization, bổ sung các lớp Dropout (50%) giúp tăng độ chính xác phân loại từ 92% lên 96,5%.
  2. Áp dụng đồng thời hai kỹ thuật Weight Pruning (Polynomial Decay) và Dynamic Range Quantization, giúp giảm kích thước tệp mô hình từ 494 MB xuống 41,2 MB (giảm gần 92% dung lượng), cho phép mô hình chạy ổn định trên Raspberry Pi 4 mà không gây quá tải tài nguyên.
  3. Nghiên cứu thực nghiệm mô hình Vision Transformer (ViT) cho bài toán nhận diện lửa với 16 khối Transformer Encoder, đạt độ chính xác 97,5% và nén thành công sang định dạng TFLite float16 dung lượng 44,6 MB.
  4. Xây dựng hoàn chỉnh một hệ thống giám sát và báo cháy phân tán Client-Server sử dụng ThingsBoard, Flask và mã hóa SSL/HTTPS, chứng minh tính khả thi của việc ứng dụng AI biên (Edge AI) trong các bài toán giám sát an toàn thực tế.

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

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

  • Thư viện TensorFlow Lite tại thời điểm thực hiện chưa hỗ trợ chính thức toàn diện tất cả các toán tử (operators) của kiến trúc Vision Transformer mới, buộc phải sử dụng chế độ thử nghiệm SELECT_TF_OPS và lượng tử hóa float16 thay vì lượng tử hóa số nguyên 8-bit toàn phần.
  • Thiết bị Raspberry Pi 4 khi xử lý liên tục các tác vụ thị giác máy tính dễ bị tăng nhiệt độ trên 60°C, đòi hỏi phải trang bị hệ thống tản nhiệt phần cứng bổ sung để tránh hiện tượng sụt giảm xung nhịp vi xử lý (thermal throttling).
  • Bộ dữ liệu thực nghiệm chủ yếu tập trung vào bài toán phân loại hình ảnh (Image Classification - xác định khung hình có lửa hay không) mà chưa tích hợp mô hình phát hiện đối tượng (Object Detection) để khoanh vùng chính xác tọa độ đám cháy (bounding box).

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

  • Nghiên cứu và thử nghiệm triển khai các mô hình phát hiện đối tượng thế hệ mới như YOLOv4, YOLOv5 phiên bản thu gọn (Tiny/Lite) để xác định vị trí và diện tích vùng cháy trực tiếp trên khung hình camera.
  • Ứng dụng lượng tử hóa số nguyên toàn phần (Full Integer Quantization 8-bit) cho toàn bộ các mô hình để triển khai tăng tốc phần cứng chuyên dụng trên các mạch tăng tốc biên như Google Coral Edge TPU.
  • Mở rộng hệ thống quản lý tập trung trên ThingsBoard để kết nối đồng thời mạng lưới nhiều camera client phân tán tại nhiều khu vực địa lý khác nhau.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo chuyên môn đối với:

  • Sinh viên và học viên ngành An toàn Thông tin, Kỹ thuật Máy tính, Mạng máy tính & Truyền thông, Khoa học Máy tính: Tham khảo cấu trúc hoàn chỉnh của một đồ án kỹ thuật kết hợp giữa Trí tuệ nhân tạo (AI) và Hệ thống nhúng/IoT.
  • Người nghiên cứu về AI biên (Edge AI) và tối ưu hóa mô hình: Có thể tham khảo trực tiếp mã nguồn và phương pháp cấu hình TensorFlow Model Optimization Toolkit để thực hiện Pruning và Dynamic Range Quantization trên các mô hình CNN và Vision Transformer.
  • Kỹ sư triển khai hệ thống IoT: Tham khảo cách thức tích hợp bo mạch Raspberry Pi, camera MIPI CSI, web server Flask và nền tảng mã nguồn mở ThingsBoard thông qua API HTTP POST/JSON và cấu hình bảo mật Apache2 HTTPS/SSL.

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

1. Khóa luận sử dụng những mô hình trí tuệ nhân tạo nào để phát hiện lửa và độ chính xác đạt được là bao nhiêu?
Tác giả nghiên cứu và thực nghiệm hai kiến trúc chính: mô hình CNN FireNet Lite (cải tiến từ FireNet 2018 trên nền TensorFlow 2) đạt độ chính xác kiểm chứng 96,5%, và mô hình Vision Transformer (ViT gồm 16 khối Transformer Encoder) đạt độ chính xác kiểm chứng 97,5%.

2. Kích thước mô hình FireNet Lite thay đổi như thế nào trước và sau khi thực hiện tối ưu hóa?
Trước khi tối ưu hóa, mô hình FireNet Lite có 43.190.275 tham số với dung lượng lưu trữ là 494 MB. Sau khi áp dụng kỹ thuật tỉa nhánh trọng số (Weight Pruning với lịch trình Polynomial Decay) và lượng tử hóa Dynamic Range Quantization, mô hình tệp .tflite giảm xuống còn 41,2 MB (giảm gần 92% dung lượng).

3. Bộ dữ liệu được sử dụng để huấn luyện mô hình có quy mô và cấu trúc ra sao?
Khóa luận sử dụng bộ dữ liệu Fire Detection Datasets của Đại học Durham với tổng cộng 38.522 hình ảnh kích thước 224x224 pixel, bao gồm 19.882 ảnh thuộc lớp fire (có lửa) và 18.640 ảnh thuộc lớp nofire (không có lửa). Dữ liệu được phân chia theo tỉ lệ 80% cho tập huấn luyện (30.818 ảnh) và 20% cho tập kiểm chứng.

4. Thiết bị Client biên sử dụng cấu hình phần cứng và phần mềm gì để vận hành luồng camera và mô hình AI?
Client sử dụng bo mạch Raspberry Pi 4 (vi xử lý Broadcom BCM2711 4 nhân Cortex-A72 @ 1.5GHz, 2GB RAM, nguồn chuẩn 15W, gắn tản nhiệt), kết hợp camera Raspberry Pi Camera V2 qua cổng MIPI CSI. Phần mềm gồm script Python chạy tf.lite.Interpreter phân bổ trên 4 luồng CPU (num_threads=4), thư viện OpenCV thu nhận hình ảnh, Flask server phát video trực tiếp qua cổng 5000 và thư viện requests gửi dữ liệu JSON cảnh báo sang ThingsBoard.

5. Hệ thống máy chủ ThingsBoard tiếp nhận dữ liệu và bảo mật kênh truyền như thế nào?
Máy chủ ThingsBoard chạy trên một bo mạch Raspberry Pi 4 riêng biệt, tiếp nhận dữ liệu telemetry từ Client qua giao thức HTTP POST dạng JSON. Dữ liệu được xử lý qua Rule Engine (Root Rule Chain và Fire Detection Rule Chain) để tự động tạo cảnh báo trên Dashboard. Toàn bộ lưu lượng web truy cập của người dùng được bảo vệ bằng máy chủ web Apache2 đóng vai trò reverse proxy với chứng chỉ SSL/TLS qua giao thức HTTPS.


Kết luận

Khóa luận tốt nghiệp của sinh viên Hồng Chan Hiển đã nghiên cứu và triển khai thành công hệ thống cảnh báo cháy tự động thời gian thực bằng camera kết hợp trí tuệ nhân tạo trên thiết bị nhúng. Bằng việc áp dụng các kỹ thuật nén mô hình Pruning và Quantization, tác giả đã tối ưu hóa hiệu quả mô hình FireNet Lite và Vision Transformer, giảm dung lượng mô hình xuống còn 41,2 MB và 44,6 MB với độ chính xác nhận diện đạt từ 96,5% đến 97,5%. Toàn bộ giải pháp được tích hợp hoàn chỉnh thành một hệ thống Client-Server phân tán qua nền tảng ThingsBoard và máy chủ nhúng Raspberry Pi 4, đáp ứng tốt yêu cầu giám sát 24/7 với chi phí phần cứng thấp.