Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh các sự cố thiên tai như động đất và các tai nạn hỏa hoạn có xu hướng gia tăng do tác động của biến đổi khí hậu cũng như hoạt động của con người, công tác tìm kiếm và cứu nạn cứu hộ đòi hỏi các biện pháp phản ứng nhanh chóng và chính xác. Tại các hiện trường khẩn cấp, việc xác định vị trí của nạn nhân bị thương hoặc mất tích là yếu tố mang tính quyết định đến khả năng sống sót. Tuy nhiên, các thiết bị ghi hình quang học truyền thống (RGB) gặp phải nhiều rào cản nghiêm trọng khi hoạt động trong môi trường thiếu sáng, khói bụi dày đặc hoặc khi đối tượng bị che khuất bởi các vật cản thông thường (như tấm bạt che).
Để giải quyết bài toán này, công nghệ ảnh nhiệt (thermal imaging) trở thành giải pháp tối ưu nhờ khả năng thu nhận bức xạ hồng ngoại phát ra từ nhiệt độ cơ thể con người, hoạt động độc lập với điều kiện ánh sáng xung quanh. Đề tài tốt nghiệp ngành Công nghệ Kỹ thuật Điện tử - Viễn thông tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh của sinh viên Nguyễn Hữu Thanh Sơn và Nguyễn Duy An (dưới sự hướng dẫn của TS. Phạm Văn Khoa) tập trung vào nghiên cứu hệ thống: "Nhận dạng người sử dụng ảnh nhiệt trên nền tảng Jetson Orin Nano và YOLOV8".
Các nhiệm vụ và mục tiêu nghiên cứu cụ thể của đề tài bao gồm:
- Tìm hiểu và nghiên cứu lý thuyết nền tảng về thuật toán phát hiện đối tượng YOLO, trọng tâm là kiến trúc YOLOv8.
- Khảo sát thông số kỹ thuật, cấu hình phần cứng của vi máy tính nhúng NVIDIA Jetson Orin Nano và Camera nhiệt Seek Thermal S319SPX để thiết kế sơ đồ khối toàn diện của hệ thống.
- Lập trình chương trình điều khiển thu nhận dữ liệu từ camera và tích hợp mô hình học sâu để xử lý, nhận dạng ảnh nhiệt trên ngôn ngữ Python.
- Xây dựng tập cơ sở dữ liệu ảnh nhiệt thực tế, tiến hành gán nhãn đối tượng và huấn luyện các biến thể mô hình YOLOv8.
- Tiến hành kiểm tra, đo lường hiệu năng của các mô hình thông qua các chỉ số định lượng (Precision, Recall, F1-Score, tốc độ khung hình FPS), từ đó đánh giá khả năng phát hiện và đếm số lượng người trong thời gian thực.
Về phạm vi và đối tượng nghiên cứu:
- Đối tượng nghiên cứu: Các thuật toán thuộc họ YOLO (v1 đến v8), trọng tâm là ba biến thể mạng nơ-ron tích chập YOLOv8n, YOLOv8s, YOLOv8m; kỹ thuật trích xuất đặc trưng và nhận diện người qua ảnh nhiệt; phần cứng nhúng Jetson Orin Nano và cảm biến nhiệt hồng ngoại S319SPX.
- Phạm vi dữ liệu: Đề tài chỉ sử dụng dữ liệu ảnh nhiệt đơn phổ (thermal image) thu nhận từ camera S319SPX theo dải màu nhiệt Tyrian, không sử dụng ảnh quang học thông thường trong tập dữ liệu huấn luyện của mô hình.
- Phạm vi ứng dụng: Ứng dụng trong các môi trường giám sát an ninh ban đêm, các tình huống cứu hộ cứu nạn khẩn cấp, môi trường công nghiệp và y tế.
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng nghiên cứu dựa trên các lý thuyết phát hiện đối tượng trong thị giác máy tính và công nghệ xử lý ảnh hồng ngoại:
- Thuật toán YOLO (You Only Look Once): Được giới thiệu lần đầu năm 2016 bởi Joseph Redmon, tiếp cận bài toán phát hiện đối tượng dưới dạng một bài toán hồi quy duy nhất từ toàn bộ ảnh đầu vào tới các tọa độ hộp bao (bounding box) và xác suất phân loại lớp, thay vì sử dụng phương pháp tạo vùng đề xuất tuần tự như họ mô hình R-CNN (Faster R-CNN, Mask R-CNN).
- Kiến trúc YOLOv8 của Ultralytics: Mô hình thế hệ mới với các cải tiến cấu trúc then chốt:
- Backbone: Cải tiến từ CSPDarknet53, tích hợp khối mô-đun C2f (thay thế mô-đun C3) giúp kết nối chéo các luồng thông tin đặc trưng, giảm tải tính toán và tối ưu hóa dòng gradient.
- Tầng SPPF (Spatial Pyramid Pooling Fusion): Nối tiếp backbone nhằm tổng hợp các đặc trưng đa quy mô về một bản đồ đặc trưng có kích thước cố định mà vẫn duy trì tốc độ tính toán cao.
- Head không điểm neo (Anchor-free Decoupled Head): Tách rời hoàn toàn nhánh phân loại (classification) và nhánh hồi quy tọa độ (regression), dự đoán trực tiếp tâm của vật thể, giúp giảm độ phức tạp khi triệt tiêu các dự đoán thừa qua thuật toán NMS.
- Hàm mất mát cải tiến: Kết hợp Binary Cross-Entropy (BCE) cho bài toán phân loại và Complete IoU (CIoU) cùng Distribution Focal Loss (DFL) cho nhánh hồi quy vị trí hộp giới hạn.
- Lý thuyết phân loại nhị phân và ma trận nhầm lẫn: Ứng dụng các đại lượng True Positive (TP), False Positive (FP), False Negative (FN) để xác định hiệu quả phân loại giữa đối tượng con người (
person) và các nguồn nhiệt ngoại lai khác (other thermal).
- Phương pháp nghiên cứu thực nghiệm:
- Phương pháp thu thập dữ liệu thực tế tại chỗ bằng camera nhiệt S319SPX.
- Phương pháp tiền xử lý và gán nhãn dữ liệu có giám sát thông qua công cụ mã nguồn mở Label Studio.
- Phương pháp kiểm thử thực nghiệm song song trên 3 cấu hình mạng (YOLOv8n, YOLOv8s, YOLOv8m) để so sánh định lượng về độ chính xác và thông lượng xử lý trên cùng một nền tảng phần cứng nhúng.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế dưới dạng một thiết bị biên (edge AI device) có khả năng hoạt động độc lập, xử lý trực tiếp tín hiệu thu nhận từ cảm biến mà không cần truyền dữ liệu về máy chủ trung tâm.
Cấu hình phần cứng và phần mềm
| Thành phần |
Đặc tả kỹ thuật trong nghiên cứu |
| Bo mạch xử lý trung tâm |
NVIDIA Jetson Orin Nano (Kiến trúc GPU NVIDIA Ampere với 1024 lõi CUDA, 32 lõi Tensor; CPU 6 nhân Arm Cortex-A78AE v8.2 64-bit; Bộ nhớ 8GB LPDDR5 128-bit đạt băng thông 68 GB/s; Công suất tiêu thụ 7W - 15W). |
| Cảm biến ảnh nhiệt |
Seek Thermal S319SPX (Độ phân giải 320x240 pixels; dải bước sóng hồng ngoại 7.8 - 14 µm; dải nhiệt độ hoạt động -10°C đến 60°C; hệ số phát xạ 0.97; sai số đo nhiệt độ ±5%; giao tiếp dữ liệu USB; bảng màu nhiệt Tyrian). |
| Phần mềm và môi trường |
JetPack SDK 6.0 (chứa hệ điều hành Linux Ubuntu, thư viện CUDA, cuDNN); Seek Thermal SDK 4.5; Thư viện PyTorch 2.1.0; TorchVision; OpenCV; Thư viện Ultralytics. |
| Công cụ gán nhãn |
Label Studio (gán nhãn hộp bao cho 2 lớp đối tượng). |
Kiến trúc luồng xử lý của hệ thống
- Khối thu nhận tín hiệu: Camera nhiệt Seek Thermal S319SPX quét bức xạ nhiệt của môi trường ở độ phân giải 320x240, xuất dữ liệu dạng khung hình màu Tyrian qua cổng USB tới Jetson Orin Nano.
- Khối giải mã và tiền xử lý: Jetson Orin Nano nhận luồng khung hình thông qua API của Seek Thermal SDK và OpenCV, chuẩn hóa định dạng ảnh đầu vào về kích thước phù hợp (320x240) tương ứng với cấu hình huấn luyện.
- Khối phân tích mô hình học sâu: Khung hình được chuyển qua mạng nơ-ron YOLOv8 đang vận hành trực tiếp trên GPU Ampere. Mô hình thực hiện trích xuất đặc trưng qua Backbone CSPDarknet, phân tách nhánh xử lý qua Decoupled Head để dự đoán vị trí hộp bao và độ tin cậy của nhãn
person.
- Khối hậu xử lý và hiển thị: Áp dụng bộ lọc ngưỡng tin cậy và thuật toán đếm đối tượng để xác định số lượng người trong khung hình. Kết quả nhận diện (hộp bao, nhãn phân loại, số lượng người đếm được) được vẽ đè lên khung hình và xuất ra màn hình máy tính theo thời gian thực.
Nội dung chính theo từng chương
Chương 1: Giới thiệu
Chương này phác thảo tính cấp thiết của đề tài xuất phát từ các thảm họa thực tế (cháy nổ, sập đổ công trình) nơi tầm nhìn bị triệt tiêu hoàn toàn. Tác giả phân tích các hạn chế của camera thông thường và khẳng định vai trò của ảnh nhiệt kết hợp AI. Chương 1 định hình rõ mục tiêu là triển khai mô hình YOLOv8 trên nền tảng nhúng Jetson Orin Nano để vừa nhận diện vừa đếm người; đồng thời xác định phạm vi giới hạn nghiên cứu chỉ sử dụng tập dữ liệu ảnh nhiệt 320x240 thu nhận từ camera S319SPX, không kết hợp ảnh RGB trong quá trình huấn luyện.
Chương 2: Cơ sở lý thuyết
Chương 2 trình bày toàn diện tiến trình phát triển của các mô hình phát hiện đối tượng:
- Phân tích sự tiến hóa của họ YOLO từ phiên bản YOLOv1 (chia lưới $S \times S$), YOLO-v2 (bổ sung anchor boxes, kiến trúc Darknet-19, liên kết bỏ qua ResNet), YOLO-v3 (Darknet-53, dự đoán đa quy mô), YOLO-v4 (CSPDarknet-53, PANet, SPP), YOLOv5, YOLO-v6 (loại bỏ neo, backbone EfficientRep, Rep-PAN, hàm mất mát VFL/DFL) cho đến YOLO-v7 (E-ELAN, scaling kết hợp) và YOLO-v8.
- Làm rõ cấu trúc của YOLOv8 bao gồm cơ chế trích xuất đặc trưng Backbone CSPDarknet53 cải tiến, khối SPPF kết hợp đa tỷ lệ, thiết kế module C2f nối ghép đầu ra và cơ chế Decoupled Head phân tách hoàn toàn tác vụ phân loại và định vị tọa độ.
- Trình bày toán học về ma trận nhầm lẫn (Confusion Matrix), khái niệm nhị phân (Positive/Negative), các lỗi loại I (False Positive) và lỗi loại II (False Negative).
- Trình bày cấu trúc phần cứng nhúng: chi tiết kiến trúc Ampere của GPU NVIDIA Jetson Orin Nano (1024 CUDA cores, 32 Tensor cores, 8GB LPDDR5) và các thông số hoạt động, giao tiếp USB của camera nhiệt Seek Thermal S319SPX.
Chương 3: Thiết kế và thi công hệ thống
Chương 3 trình bày chi tiết quy trình xây dựng hệ sinh thái phần cứng và dữ liệu:
- Phân tích lý thuyết ba biến thể YOLOv8n (Nano: <5 triệu tham số, tối ưu tài nguyên), YOLOv8s (Small: 5-10 triệu tham số, cân bằng), và YOLOv8m (Medium: >10 triệu tham số, ưu tiên độ chính xác).
- Phương pháp xây dựng tập cơ sở dữ liệu: Thu thập 300 ảnh nhiệt thực tế từ camera S319SPX với các tư thế con người đa dạng (đứng, ngồi, nằm, cúi, trường hợp một người và nhóm nhiều người).
- Dữ liệu được gán nhãn thủ công qua Label Studio cho 2 lớp đối tượng:
person (người) và other thermal (các nguồn nhiệt khác như thiết bị, vật thể tỏa nhiệt) nhằm huấn luyện mạng phân biệt chính xác.
- Quy chuẩn phân chia tập dữ liệu theo tỷ lệ khoa học: 70% tập huấn luyện (Training set: 210 ảnh), 20% tập thẩm định (Validation set: 60 ảnh), và 10% tập kiểm thử độc lập (Testing set: 30 ảnh).
- Thiết lập siêu tham số huấn luyện: 50 epochs, kích thước lô (batch size) là 16, kích thước ảnh đầu vào cố định ở mức 320x240 pixels.
- Xây dựng lưu đồ giải thuật cho toàn bộ chương trình chính và lưu đồ chương trình con phụ trách việc suy luận AI.
Chương 4: Kết quả - Nhận xét và đánh giá
Chương 4 cung cấp các kết quả thực nghiệm chi tiết:
- Đánh giá trên tập thẩm định thông qua các đường cong hiệu năng: đường cong độ tin cậy F1 (F1-confidence curve), đường cong Precision-Recall, và đường cong tin cậy chính xác của mô hình YOLOv8s.
- Thử nghiệm thực tế khả năng nhận dạng trong các môi trường khác nhau: Thực nghiệm so sánh giữa camera màu quang học và camera nhiệt trong điều kiện đủ sáng, điều kiện thiếu sáng và điều kiện có vật che chắn. Khi người bị phủ kín bởi tấm bạt/tấm bọc màu đen, camera quang học hoàn toàn mất dấu, trong khi hệ thống camera nhiệt kết hợp YOLOv8 vẫn nhận dạng và định vị chính xác vị trí cơ thể người.
- Đo lường và đánh giá thông lượng thời gian thực của 3 mô hình trên Jetson Orin Nano, ghi nhận sự đánh đổi trực tiếp giữa độ trễ xử lý (FPS) và độ chính xác phân loại.
Chương 5: Kết luận và hướng phát triển
Tóm lược các hạng mục đã hoàn thành trong toàn bộ đồ án và đề xuất các giải pháp nâng cấp kỹ thuật cho các giai đoạn tiếp theo.
Kết quả và đóng góp
Khóa luận đã hiện thực hóa thành công một mô hình nhận dạng biên hoàn chỉnh từ khâu thu thập dữ liệu, huấn luyện mô hình đến triển khai trên phần cứng thực tế.
Kết quả đo lường và so sánh 3 biến thể YOLOv8
Dựa trên kết quả thực nghiệm và dữ liệu tổng hợp của đề tài, các thông số kỹ thuật và hiệu năng của ba mô hình được xác định như sau:
| Tiêu chí đánh giá |
YOLOv8n (Nano) |
YOLOv8s (Small) |
YOLOv8m (Medium) |
| Số lượng tham số (Parameters) |
< 5 triệu (khoảng 3.2M) |
5 - 10 triệu (khoảng 11.2M) |
> 10 triệu (khoảng 25.9M) |
| Kích thước mô hình |
Nhỏ nhất |
Trung bình |
Lớn nhất |
| Tốc độ xử lý (FPS) |
~60 FPS |
30 - 60 FPS |
< 30 FPS |
| Mức độ chính xác |
Thấp nhất trong 3 mô hình |
Trung bình (cân bằng cao) |
Cao nhất trong 3 mô hình |
| Yêu cầu tài nguyên phần cứng |
Thấp nhất |
Vừa phải |
Cao nhất |
Các đóng góp cụ thể của đề tài
- Xây dựng bộ dữ liệu ảnh nhiệt chuyên biệt: Tạo lập thành công cơ sở dữ liệu gồm 300 ảnh nhiệt thực tế thu nhận từ camera S319SPX với hệ màu Tyrian, bao quát nhiều tư thế người khác nhau (nằm, ngồi, cúi, đứng) và được dán nhãn phân biệt rõ giữa đối tượng người (
person) và vật thể nhiệt gây nhiễu (other thermal).
- Khẳng định tính ưu việt của cảm biến nhiệt trong che khuất: Chứng minh bằng thực nghiệm rằng trong khi ảnh màu thông thường bị vô hiệu hóa khi nạn nhân bị bao phủ bởi tấm che tối màu hoặc trong phòng tối hoàn toàn, hệ thống ảnh nhiệt kết hợp YOLOv8 vẫn phát hiện chính xác dấu hiệu nhiệt cơ thể.
- Triển khai thành công trên phần cứng nhúng: Tích hợp trọn vẹn mô hình deep learning lên kit NVIDIA Jetson Orin Nano, đảm bảo hệ thống vận hành thời gian thực, có khả năng vừa khoanh vùng đối tượng vừa đếm tổng số lượng người xuất hiện trong khung hình.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
- Quy mô tập dữ liệu còn nhỏ: Dữ liệu huấn luyện chỉ dừng lại ở mức 300 ảnh, dù đã bao phủ nhiều tư thế nhưng vẫn còn hạn chế về tính bao quát đối với các môi trường phức tạp ngoài trời (mưa bão, thời tiết thay đổi mạnh).
- Hạn chế phần cứng đối với mô hình lớn: Khi chạy mô hình YOLOv8m trên Jetson Orin Nano, tốc độ khung hình giảm xuống dưới 30 FPS, gây khó khăn cho các ứng dụng đòi hỏi độ mượt mà cao trong thời gian thực.
- Dữ liệu đơn phổ: Đề tài chỉ sử dụng thuần túy một kênh ảnh nhiệt, chưa kết hợp thông tin tương hỗ từ kênh ảnh quang học RGB khi điều kiện ánh sáng bình thường.
Hướng nghiên cứu tiếp
- Mở rộng quy mô tập dữ liệu ảnh nhiệt lên hàng ngàn ảnh trong các điều kiện thời tiết khắc nghiệt hơn như khói lửa thực tế, sương mù dày đặc hoặc tầm xa trên 20 mét.
- Áp dụng các công cụ tối ưu hóa phần cứng sâu hơn như NVIDIA TensorRT (chuyển đổi định dạng FP16 hoặc INT8) để tăng tốc độ suy luận của YOLOv8s và YOLOv8m trên vi xử lý Jetson Orin Nano.
- Phát triển hệ thống kết hợp đa cảm biến (sensor fusion), ghép nối dữ liệu giữa camera RGB và camera nhiệt để tối ưu hóa khả năng giám sát cả ngày lẫn đêm.
- Tích hợp thêm các mô-đun truyền thông không dây (Wi-Fi/4G/LoRa) để gửi tọa độ và số lượng nạn nhân trực tiếp về trung tâm chỉ huy cứu nạn.
Giá trị tham khảo
Đồ án là tài liệu tham khảo kỹ thuật hữu ích đối với:
- Sinh viên và học viên ngành Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Máy tính, Cơ điện tử và Trí tuệ nhân tạo: Cung cấp tài liệu hướng dẫn từng bước từ việc cài đặt môi trường nhúng Linux JetPack 6.0, tích hợp SDK phần cứng camera nhiệt (Seek Thermal SDK 4.5), đến việc cấu hình mã nguồn Python gọi mô hình Ultralytics YOLOv8.
- Kỹ sư phát triển các thiết bị IoT/Edge AI: Đóng vai trò là bài kiểm thử thực tế về năng lực tính toán của nền tảng NVIDIA Jetson Orin Nano khi chạy các mô hình thị giác máy tính với kích thước mạng khác nhau.
- Các nhóm nghiên cứu về cứu hộ cứu nạn và an ninh giám sát: Phần thực nghiệm phân biệt nhiệt và phát hiện người bị che bọc là cơ sở thực tế cho việc thiết kế robot thám hiểm, thiết bị bay không người lái (UAV) tìm kiếm người gặp nạn trong hỏa hoạn.
Câu hỏi thường gặp
1. Tại sao nhóm nghiên cứu lại chọn ảnh nhiệt thay vì ảnh quang học thông thường?
Ảnh màu thông thường phụ thuộc hoàn toàn vào nguồn sáng khả kiến và bị vô hiệu hóa khi có khói bụi, đêm tối hoặc khi đối tượng bị che phủ bởi các vật liệu tối màu. Ngược lại, camera nhiệt thu nhận bức xạ hồng ngoại do cơ thể người tự phát ra, cho phép quan sát xuyên qua bóng tối và phát hiện đối tượng ngay cả khi họ bị che khuất bởi tấm bạt mỏng.
2. Tập dữ liệu 300 ảnh nhiệt được phân chia và xử lý như thế nào?
Tập dữ liệu 300 ảnh nhiệt (độ phân giải 320x240) được gán nhãn bounding box bằng Label Studio cho 2 lớp (person và other thermal). Sau đó, dữ liệu được chia theo tỷ lệ: 70% dành cho huấn luyện (Training - 210 ảnh), 20% dành cho thẩm định (Validation - 60 ảnh), và 10% dành cho kiểm tra đánh giá cuối cùng (Testing - 30 ảnh).
3. Sự khác biệt về hiệu năng thực tế giữa ba biến thể YOLOv8n, YOLOv8s và YOLOv8m trên Jetson Orin Nano là gì?
YOLOv8n đạt tốc độ xử lý nhanh nhất (~60 FPS) do dung lượng tham số dưới 5 triệu, nhưng độ chính xác thấp nhất. YOLOv8s đạt độ cân bằng tối ưu giữa độ chính xác và tốc độ (30 - 60 FPS, 5-10 triệu tham số). YOLOv8m có độ chính xác nhận dạng cao nhất nhưng thông lượng khung hình thấp nhất (< 30 FPS) và tiêu tốn nhiều tài nguyên tính toán nhất.
4. Thiết bị camera nhiệt Seek Thermal S319SPX sử dụng các thông số kỹ thuật nào trong đề tài?
Camera có độ phân giải tối đa 320x240 pixels, dải bước sóng hồng ngoại từ 7.8 đến 14 µm, dải nhiệt độ hoạt động từ -10°C đến 60°C, hệ số phát xạ thiết lập ở mức 0.97, sai số đo lường ±5%, cấp nguồn qua cổng giao tiếp USB (3.3V - 5V DC) và xuất ảnh theo bảng màu nhiệt Tyrian.
Kết luận
Đồ án tốt nghiệp của Nguyễn Hữu Thanh Sơn và Nguyễn Duy An đã thiết kế và chế tạo thành công hệ thống nhận dạng và đếm số lượng người thông qua ảnh nhiệt trong thời gian thực trên bo mạch nhúng NVIDIA Jetson Orin Nano. Bằng việc ứng dụng thuật toán học sâu YOLOv8 kết hợp với cảm biến Seek Thermal S319SPX, hệ thống đã giải quyết hiệu quả bài toán giám sát con người trong môi trường thiếu sáng và bị che khuất vật lý. Các kết quả thực nghiệm so sánh giữa ba biến thể YOLOv8n, YOLOv8s và YOLOv8m cung cấp các căn cứ kỹ thuật chính xác cho việc lựa chọn cấu hình mô hình phù hợp với các ứng dụng cứu hộ cứu nạn và an ninh giám sát biên trong thực tiễn.