Nhóm đã tiến hành các quá trình huấn luyện và đánh giá kỹ lưỡng để đảm bảotính hiệu quả và độ chính xác của mô hình YOLOv8 trong việc phát hiện con ngườitrong các môi trường khác nhau sử
GIỚI THIỆU
Tổng quan
Trên hành trình phát triển công nghệ nhận dạng vật thể, nhiều mô hình đã được cải tiến để nâng cao hiệu suất và độ chính xác trong phát hiện và nhận dạng đối tượng Mô hình YOLO nổi bật với khả năng phát hiện vật thể thời gian thực và xử lý hình ảnh nhanh chóng, đã đạt được những tiến bộ đáng kể, góp phần thúc đẩy sự phát triển mạnh mẽ trong lĩnh vực này.
Bài viết không chỉ cung cấp kiến thức cơ bản về mô hình nhận dạng vật thể YOLOv8 mà còn nhấn mạnh tầm quan trọng của nó trong lĩnh vực phát hiện đối tượng Với khả năng hoạt động thời gian thực và hiệu suất ấn tượng, YOLO đã mở ra nhiều cơ hội ứng dụng phong phú, từ giám sát an ninh đến tự động hóa trong ngành công nghiệp và cứu hộ.
YOLO, kế thừa từ các phiên bản trước, không chỉ mang đến một bước tiến mới mà còn đạt được nhiều cải tiến đáng kể Mô hình này đã được tối ưu hóa, nâng cao độ chính xác và đáp ứng tốt hơn các yêu cầu ngày càng cao về hiệu suất và độ tin cậy trên thị trường.
Bài viết này sẽ đi sâu vào khái niệm YOLO, đồng thời nhấn mạnh tầm quan trọng của nó trong việc định hình tương lai của lĩnh vực nhận dạng đối tượng.
Tính cấp thiết của đề tài
Trong bối cảnh hiện nay, việc nghiên cứu và phát triển công nghệ nhận diện con người qua hình ảnh nhiệt ngày càng trở nên cần thiết Hình ảnh nhiệt không chỉ giúp nhận diện mà còn phân loại con người một cách hiệu quả, đồng thời có khả năng hoạt động tốt trong mọi điều kiện ánh sáng và thời tiết.
Trong lĩnh vực an ninh và giám sát, công nghệ nhận dạng người qua ảnh nhiệt nâng cao hiệu suất giám sát và giảm thiểu nguy cơ an ninh bằng cách phát hiện nhanh chóng các hoạt động đáng ngờ Hệ thống này có thể được triển khai trong các tình huống cứu hộ, giúp tìm kiếm và xác định vị trí con người trong các điều kiện khẩn cấp hoặc môi trường khó tiếp cận.
Mục tiêu và đối tượng nghiên cứu
Mục tiêu của nghiên cứu này là tìm hiểu phương pháp phát hiện đối tượng YOLOv8 và áp dụng nó để nhận dạng và đếm số lượng người trong hình ảnh nhiệt Nghiên cứu sẽ tập trung vào cách thức hoạt động của YOLOv8 và cách sử dụng nó hiệu quả để phát hiện và đếm người trong các bức ảnh nhiệt.
Đề tài sẽ đánh giá hiệu suất của mô hình YOLOv8 trong việc phát hiện và đếm số lượng người trên hình ảnh nhiệt Các yếu tố quan trọng như độ chính xác, độ nhạy, độ đặc hiệu và các chỉ số khác sẽ được xem xét để đánh giá khả năng nhận dạng và đếm người của mô hình một cách hiệu quả.
Nghiên cứu này nhằm phục vụ các nhà nghiên cứu, kỹ sư và sinh viên quan tâm đến phát hiện đối tượng, xử lý hình ảnh, cũng như ứng dụng trí tuệ nhân tạo trong lĩnh vực hình ảnh nhiệt.
Giới hạn đề tài
Nghiên cứu này áp dụng mô hình YOLOv8 để nhận diện con người trong hình ảnh nhiệt, nhằm nâng cao độ chính xác và hiệu suất nhận diện Dữ liệu đầu vào cho quá trình huấn luyện và kiểm thử chỉ sử dụng hình ảnh nhiệt, không bao gồm các loại dữ liệu khác như hình ảnh quang học Phương pháp này có ứng dụng trong các lĩnh vực an ninh, y tế, công nghiệp và cứu hộ, đảm bảo tính ứng dụng và đa dạng của nghiên cứu.
Bố cục đề tài
Báo cáo này được chia thành 5 chương như sau:
Chương 1: Giới thiệu: Chương này bày lý do chọn đề tài, xác định được mục tiêu đối tượng và phương pháp nghiên cứu và bố cục của đề tài.
Chương 2: Cơ sở lý thuyết:Trình bày các khái niệm, nguyên lý, phương pháp và kiến thức cơ sở liên quan đến nhận diện con người qua hình ảnh nhiệt và mô hình YOLOv8.
Chương 3: Thiết kế và thi công hệ thống: Trình bày sơ đồ khối, chức năng từng khối và thực hiện tính toán thi công hệ thống
Chương 4: Kết quả nhận xét và đánh giá:Trình bày kết quả thu được sau khi hoàn thành sản phẩm từ đó đưa ra nhưng nhận xét đánh giá chủ quan và khách quan.
Chương 5: Kết luận và hướng phát triển: Rút ra nhưng kết luận quan trọng và đề xuất các hướng phát triển để nâng cấp hệ thống trong tương lai
CƠ SỞ LÝ THUYẾT
Giới thiệu về YOLO
YOLO (You Only Look Once) là một phương pháp phát hiện đối tượng nổi bật trong lĩnh vực thị giác máy tính và trí tuệ nhân tạo Được phát triển vào năm 2016 bởi Joseph Redmon cùng nhóm nghiên cứu, YOLO đã nhanh chóng trở thành một trong những kỹ thuật phát hiện đối tượng hiệu quả và phổ biến nhất hiện nay.
Phương pháp YOLO mang đến một cách tiếp cận độc đáo và hiệu quả trong việc phát hiện đối tượng so với các phương pháp truyền thống như R-CNN Thay vì chia ảnh thành nhiều vùng nhỏ, YOLO xem xét toàn bộ ảnh một lần, cho phép dự đoán nhanh chóng vị trí và lớp của các đối tượng Sử dụng mạng nơ-ron tích chập với nhiều lớp và kết nối tích chập, YOLO trích xuất đặc trưng từ ảnh và thông qua các lớp kết nối đầy đủ, dự đoán các hộp giới hạn cùng xác suất của các lớp đối tượng.
YOLO là phương pháp phát hiện đối tượng hiệu quả, sử dụng một mạng chập duy nhất để dự đoán nhiều hộp giới hạn và xác suất lớp cho các đối tượng đồng thời, thay vì áp dụng nhiều mạng chập riêng biệt.
Hình 2.1:Hệ thống phát hiện YOLO [1]
Trong quá trình phát triển, YOLO đã ra mắt nhiều phiên bản như YOLOv3, YOLOv4, YOLOv5, YOLOv7 và YOLOv8, nhằm cải tiến và nâng cao hiệu suất phát hiện đối tượng Những cải tiến này đã giúp YOLO trở thành một công cụ quan trọng trong lĩnh vực phát hiện đối tượng, góp phần lớn vào sự phát triển của trí tuệ nhân tạo.
Tổng quan về các phiên bản YOLO
Trong YOLO, hình ảnh đầu vào được chia thành lưới SxS, với mỗi ô đại diện cho tâm của một đối tượng để phát hiện Mỗi ô dự đoán một số hộp giới hạn (B) và điểm tin cậy tương ứng, phản ánh xác suất có vật thể trong hộp và độ chính xác của dự đoán Mỗi hộp giới hạn cung cấp thông tin về tọa độ x, y, chiều rộng (w) và chiều cao (h) của vật thể cùng với điểm tin cậy.
Hình 2.2:Hình ảnh đầu vào chia thành lưới SxS [2]
Mô hình này bao gồm 24 lớp tích chập và hai lớp kết nối đầy đủ Các lớp tích chập thực hiện việc trích xuất đặc trưng, trong khi các lớp kết nối đầy đủ đảm nhiệm nhiệm vụ dự đoán vị trí và xác suất của các hộp giới hạn.
Trong quá trình xử lý, ảnh đầu vào được chia thành lưới kích thước S x S, với mỗi ô chứa hai hộp giới hạn và độ tin cậy tương ứng, cho phép phát hiện tối đa hai đối tượng trong mỗi ô Nếu một đối tượng trải dài qua nhiều ô, ô trung tâm sẽ được chọn làm vị trí dự đoán cho đối tượng đó Trong quá trình huấn luyện mạng, chỉ các hộp giới hạn có chứa đối tượng và độ tin cậy khác 0 được xem xét, trong khi các hộp giới hạn lân cận có giá trị tin cậy tương ứng với độ chồng lấn (Intersection over Union - IoU) giữa hộp giới hạn và hộp thực tế của đối tượng.
Phiên bản YOLO-v2, được giới thiệu bởi Joseph Redmon vào năm 2016, nhằm nâng cao hiệu suất so với YOLO gốc mà vẫn duy trì tốc độ nhanh Nhiều cải tiến đã được thực hiện thông qua việc áp dụng các kỹ thuật khác nhau.
Trong phiên bản YOLO-v2, kiến trúc đã được cải tiến bằng cách thêm các hộp neo để dự đoán hộp giới hạn thay vì sử dụng lớp kết nối hoàn toàn YOLO-v2 sử dụng kiến trúc VGG-16 và GoogleNet trong quá trình đào tạo, nhưng gặp khó khăn trong việc phát hiện các vật thể nhỏ Để khắc phục vấn đề này, phiên bản mới đã áp dụng kiến trúc ResNet nhằm giải quyết hiện tượng biến mất độ dốc thông qua việc sử dụng kết nối bỏ qua để truyền thông tin.
Hình 2.3:Cấu hình bỏ qua kết nối [4]
YOLO-v3 là phiên bản cải tiến kết hợp YOLO-v2, Darknet-53 và khái niệm mạng dư của ResNet, giúp duy trì chi tiết bằng cách truyền độ dốc từ lớp nông đến lớp sâu Với 53 lớp từ Darknet-53 và 53 lớp bổ sung, YOLO-v3 có tổng cộng 106 lớp tích chập, tối ưu hóa khả năng trích xuất đặc điểm Đặc biệt, YOLO-v3 hỗ trợ phát hiện đa quy mô, tạo ra dự đoán ở ba quy mô khác nhau, từ đó nâng cao hiệu suất và khả năng phát hiện các đối tượng nhỏ.
YOLO-v4 là một bước tiến quan trọng trong việc phát hiện đối tượng, nhờ vào việc tinh chỉnh và cải tiến các kỹ thuật hiện có, nhằm tạo ra một hệ thống nhẹ và có khả năng hoạt động thời gian thực Trong YOLO-v4, việc tập trung vào phát hiện đối tượng giúp trích xuất các đặc trưng chất lượng cao Ba kiến trúc chính được thử nghiệm bao gồm CSPResNext-50, CSPDarknet-53 và EfficientNet-B3, với mục tiêu giải quyết vấn đề biến mất độ dốc và tối ưu hóa việc truyền thông tin đặc trưng.
Trong YOLOv4, kiến trúc chính được sử dụng là CSPDarknet-53, kết hợp với các kỹ thuật cổ điển như Mạng Kim tự tháp Đặc trưng (FPN) và Mạng Tổng hợp Đường dẫn (PANet) để tổng hợp đặc trưng PANet được chọn làm công cụ tổng hợp đặc trưng chính, giúp cải thiện khả năng nhận diện và phân tách các đặc trưng quan trọng Để tăng cường hiệu suất, khối SPP (Spatial Pyramid Pooling) đã được giới thiệu sau khối CSPDarknet-53, mở rộng phạm vi nhận dạng và trích xuất các đặc trưng quan trọng từ các tầng trong mạng.
Hình 2.4:(a) PAN gốc, (b) PAN sửa đổi [4]
Trong YOLOv4, kiến trúc chính là CSPDarknet-53, nhưng trong YOLOv5, kiến trúc này đã được thay thế bằng PyTorch Sự thay đổi này diễn ra vì CSPDarknet-53 không phù hợp cho môi trường sản xuất với số lượng người dùng đăng ký nhỏ, do những thách thức về cấu hình.
YOLOv5 sử dụng năm hộp neo được tối ưu hóa dựa trên tập dữ liệu COCO, và chúng được thiết lập làm hộp neo mặc định Ngoài ra, YOLOv5 còn có nhiều biến thể khác nhau, được trình bày chi tiết trong Bảng 2.1.
Bảng 2.1:So sánh biến thể nội bộ YOLO-v5 [4]
Mô hình Độ chính xác trung bình (@50) Tham số (M) FLOPs
YOLO-v6 được phát triển với nhiều biến thể khác nhau để phục vụ nhu cầu ứng dụng công nghiệp đa dạng Phiên bản YOLO-v6-nano là lựa chọn nhanh nhất và có số lượng tham số tối thiểu, tối ưu cho các tình huống cần xử lý nhanh Ngược lại, YOLO-v6-large cung cấp độ chính xác cao hơn nhưng với tốc độ xử lý chậm hơn, như thể hiện trong Bảng 2.2.
Bảng 2.2:So sánh biến thể YOLO-v6 [4]
(COCO- val) FPS Tesla T4 Tham số (M)
YOLO-v6 đã được cải tiến với nhiều tính năng mới, giúp nâng cao hiệu suất và tốc độ xử lý Việc loại bỏ điểm neo đã tăng tốc độ xử lý lên đến 51% so với các phương pháp trước đó Sử dụng xương sống EfficientRep và Rep-Cổ PAN, YOLO-v6 tách riêng tính năng ở phần đầu, cải thiện hiệu suất tổng thể Đồng thời, nó áp dụng hai chức năng tổn thất là Mất biến thể (VFL) và mất tiêu điểm phân phối (DFL), kết hợp với SIoU/GIoU để tối ưu hóa quá trình học tập Cuối cùng, YOLO-v6 xử lý phân phối vị trí hộp như một phân phối xác suất rời rạc, đặc biệt hiệu quả trong việc xử lý ranh giới chân lý trên mặt đất mờ, góp phần nâng cao khả năng phát hiện đối tượng.
YOLO-v7 đã được phát triển dựa trên những tiến bộ trong nghiên cứu hiệu quả của mạng, với thiết kế E-ELAN được xác định qua phân tích các yếu tố ảnh hưởng đến độ chính xác và tốc độ, bao gồm chi phí truy cập bộ nhớ, tỷ lệ kênh đầu vào/đầu ra và đường dẫn gradient Đặc biệt, cơ chế chia tỷ lệ kết hợp được áp dụng để đảm bảo sự cân bằng giữa chiều rộng và chiều sâu trong mạng kết nối, từ đó tối ưu hóa kiến trúc mạng khi mở rộng cho các kích thước khác nhau một cách đồng nhất.
Hình 2.5:Chia tỷ lệ hỗn hợp YOLO-v7 [4]
Biến thể YOLO-v7 cho thấy sự khác biệt rõ rệt về hiệu suất, như thể hiện trong Bảng 2.3, giữa YOLO-v7-tiny và YOLO-v7-D6, đặc biệt là ở khả năng tính toán phức tạp.
Bảng 2.3:So sánh biến thể của YOLO-v7 [4]
(Pixels) mAP (@50) Tham số (M) FLOPs
Ultralytics đã ra mắt phiên bản mới nhất của dòng sản phẩm YOLO, mang tên YOLO-v8 Theo hình 2.6, tất cả các phiên bản YOLO-v8 đều cho thấy hiệu suất tốt hơn so với YOLO-v5 và YOLO-v6, khi so sánh với cùng số lượng tham số và được đào tạo trên hình ảnh có độ phân giải 640.
Kiến trúc mô hình mạng YOLOv8
YOLOv8 (You Only Look Once phiên bản 8) là một mô hình phát hiện đối tượng tiên tiến, nổi bật với hiệu quả và độ chính xác cao trong các tác vụ thời gian thực Mô hình này kế thừa thành công từ các phiên bản trước, đồng thời khắc phục những hạn chế của chúng, giữ vững sự cân bằng giữa tốc độ và độ chính xác.
Một trong những cải tiến quan trọng của YOLOv8 là thiết kế mô-đun và khả năng mở rộng, bao gồm ba thành phần chính: xương sống, cổ và đầu Xương sống, sử dụng CSPDarknet53 và EfficiencyDet, có nhiệm vụ trích xuất đặc trưng từ hình ảnh đầu vào Cổ kết nối xương sống với đầu, giúp hợp nhất các đặc trưng Cuối cùng, đầu được sử dụng để dự đoán các hộp giới hạn, lớp đối tượng và điểm tin cậy.
YOLOv8 có nhiều biến thể như YOLOv8-tiny và YOLOv8x, mỗi loại có kích thước và độ phức tạp khác nhau Điều này giúp người dùng dễ dàng chọn lựa mô hình phù hợp với các yêu cầu cụ thể, từ những môi trường có tài nguyên hạn chế đến các ứng dụng cần hiệu suất cao.
YOLOv8 sử dụng các kỹ thuật tiên tiến như tối ưu hóa Rectified Adam (RAdam) và phát hiện đối tượng dựa trên neo, nhằm tăng tốc độ hội tụ và cải thiện hiệu suất Hệ thống cấu hình linh hoạt của nó cho phép người dùng tùy chỉnh các tham số như kích thước đầu vào, hộp neo và độ phức tạp của mô hình, giúp thích ứng hiệu quả với nhiều bộ dữ liệu và kịch bản ứng dụng khác nhau.
Hình 2.7:Kiến trúc mô hình mạng YOLOv8 [12]
Phân loại nhị phân
Phân loại nhị phân là một bài toán quan trọng trong học máy, nhằm phân chia các mẫu dữ liệu thành hai lớp riêng biệt Đây là một trong những bài toán căn bản và phổ biến nhất trong lĩnh vực này.
Trong phân loại nhị phân, thuật ngữ "positive" (tích cực) được sử dụng để chỉ mẫu dữ liệu thuộc một nhãn cụ thể, trong khi "negative" (tiêu cực) ám chỉ mẫu dữ liệu không thuộc nhãn đó Chẳng hạn, trong bài toán phân loại email, email có thể được phân loại là "spam" (positive - tích cực) hoặc "không spam" (negative - tiêu cực).
Hình 2.8:Mô phỏng ma trận nhầm lẫn
In a specific situation, actual class labels can be categorized as either positive or negative Similarly, predicted class labels can also be classified as positive or negative.
Ma trận nhầm lẫn (Confusion matrix) là công cụ quan trọng trong việc đánh giá hiệu suất của mô hình phân loại, cung cấp cái nhìn tổng quan về kết quả phân loại Nó bao gồm các thành phần chính giúp phân tích mức độ chính xác và sai sót của mô hình.
True Positive (TP): Dự đoán và thực tế đều là positive (mô hình phân loại chính xác các mẫu positive).
False Positive (FP): Thực tế là positive nhưng dự đoán lại là negative (mô hình nhận nhầm các mẫu negative là positive).
True Negative (TN): Dự đoán và thực tế đều là negative (mô hình phân loại chính xác các mẫu negative).
False Negative (FN): Thực tế là negative nhưng dự đoán lại là positive (mô hình nhận nhầm các mẫu positive là negative).
Đường chéo chính của ma trận nhầm lẫn thể hiện số lượng dự đoán đúng của mô hình Nếu phần lớn các dự đoán chính xác tập trung trên đường chéo chính, điều này cho thấy mô hình đánh giá là đáng tin cậy.
False Positives (FPs) là những trường hợp báo động giả, xảy ra khi mô hình dự đoán kết quả dương tính trong khi thực tế là âm tính Mặc dù FPs có thể gây ra sự phiền toái trong một số tình huống, nhưng chúng thường không nghiêm trọng.
False Negatives (FNs) là những trường hợp mà mô hình dự đoán sai, khi kết quả cho là âm tính nhưng thực tế lại là dương tính Những FNs này có thể gây ra nguy hiểm nghiêm trọng và thường không thể chấp nhận được Chẳng hạn, trong hệ thống dự đoán cháy nổ, FNs có thể dẫn đến việc không phát hiện được hỏa hoạn thực sự, trong khi False Positives (FP) chỉ tạo ra báo động giả.
Mô hình mạng Nơ-Ron tích chập theo vùng (R-CNN)
Mạng Nơ-ron Tích Chập Theo Vùng (R-CNN) là một bộ mô hình học máy chuyên biệt cho việc xử lý hình ảnh, với trọng tâm là phát hiện đối tượng Bài viết này sẽ khám phá R-CNN và các phiên bản của nó, giúp người đọc hiểu rõ hơn về cơ chế hoạt động và ứng dụng của các mô hình này trong lĩnh vực xử lý ảnh.
R-CNN là một chuỗi các mô hình học máy được phát triển với mục đích phát hiện và định vị đối tượng trong hình ảnh Ban đầu, R-CNN được sử dụng để tạo ra các hộp giới hạn (bounding boxes) xung quanh các đối tượng và xác định loại của chúng.
Mô hình này chia ảnh thành các khu vực tiềm năng, gọi là khu vực đề xuất, và sử dụng mạng neural tích chập để trích xuất đặc trưng từ từng khu vực Những đặc trưng này sau đó được dùng để dự đoán vị trí và loại đối tượng trong ảnh.
R-CNN đã có thành công đáng kể trong nhiều lĩnh vực và có các ứng dụng quan trọng như sau:
R-CNN là một phương pháp hiệu quả trong việc phát hiện đối tượng trong hình ảnh, đã được ứng dụng rộng rãi trong các lĩnh vực quan trọng như giám sát an ninh, nhận dạng khuôn mặt, phân loại đối tượng và nhận dạng biển số xe.
Mask R-CNN là một phiên bản mở rộng của R-CNN, nổi bật với khả năng phân đoạn các đối tượng riêng biệt trong ảnh Công nghệ phân đoạn theo thể hiện này đã mang lại nhiều ứng dụng quan trọng trong lĩnh vực xử lý ảnh y tế, nhận dạng đối tượng từ ảnh chụp không gian và tạo hiệu ứng thị giác độc đáo trong nghệ thuật.
R-CNN đã chứng minh khả năng nhận dạng và phân loại đối tượng trong ảnh, bao gồm đồ vật, động vật và con người Công nghệ này có nhiều ứng dụng quan trọng, đặc biệt trong lĩnh vực công nghệ tự lái xe, giao thông thông minh, giám sát môi trường và thị trường thương mại điện tử.
Hình 2.9:Khả năng phát hiện đối tượng của mạng Nơ-Ron tích chập
Hình 2.10:Faster R-CNN cho phát hiện đối tượng
Giới thiệu về thiết bị Jetson Orin Nano [7]
Jetson Orin Nano là nền tảng tích hợp của NVIDIA, chuyên dụng cho trí tuệ nhân tạo (AI) và xe tự hành, nổi bật với hiệu suất cao và tiêu thụ năng lượng thấp Ra mắt vào năm 2021, Jetson Orin Nano cung cấp khả năng tính toán và xử lý mạnh mẽ trong một thiết kế nhỏ gọn, đáp ứng nhu cầu ngày càng cao trong lĩnh vực công nghệ hiện đại.
Jetson Orin Nano, trang bị vi xử lý NVIDIA Orin AI, sở hữu khả năng xử lý đa nhiệm ấn tượng, cho phép thực hiện các tác vụ AI phức tạp như phân loại, nhận dạng và xử lý hình ảnh thời gian thực Vi xử lý này kết hợp giữa CPU ARM Cortex-A78 và GPU NVIDIA Ampere, cùng với các thành phần xử lý AI khác, mang lại hiệu suất vượt trội và khả năng tính toán song song.
Jetson Orin Nano cung cấp khả năng kết nối đa dạng với nhiều giao tiếp như USB, HDMI, và Ethernet, giúp tích hợp dễ dàng với các thiết bị và cảm biến trong các ứng dụng xe tự hành và trí tuệ nhân tạo.
Nền tảng Jetson tích hợp mạnh mẽ giúp người dùng dễ dàng phát triển và triển khai ứng dụng AI cũng như xe tự hành Jetson SDK cung cấp các công cụ và thư viện cần thiết để xây dựng và tối ưu hóa mô hình AI, trong khi JetPack SDK hỗ trợ quản lý và cài đặt phần mềm trên Jetson Orin Nano một cách tiện lợi.
Jetson Orin Nano, với hiệu suất mạnh mẽ và khả năng tích hợp linh hoạt, là lựa chọn lý tưởng cho việc phát triển ứng dụng AI và xe tự hành Thiết bị này phù hợp cho nhiều lĩnh vực như xe tự lái, robot, IoT và các ứng dụng khác.
Hình 2.11: Thiết bị Jetson Orin Nano Thông số của NVIDIA Jetson Orin Nano:
- GPU: Kiến trúc NVIDIA AmpereTM với
- CPU: CPU 6 nhân Arm Cortex-A78AE v8.2 64-bit, 1.5 MB L2 + 4 MB L3
- Bộ nhớ: 8GB, 128-bit, LPDDR5, 68GB/s
Ngoại vi thông qua khe cắm microSD
Ổ SSD NVMe ngoại vi thông qua M.2 Key-M
Giới thiệu về thiết bị Camera nhiệt S319SPX [8]
Camera nhiệt S319SPX là thiết bị chuyên dụng cho việc quan sát và đo nhiệt độ các vật thể xung quanh Sản phẩm này ứng dụng công nghệ hồng ngoại cùng với cảm biến nhiệt, giúp hiển thị và đo đạc nhiệt độ một cách chính xác.
Camera nhiệt S319SPX với độ phân giải cao cho phép quan sát chi tiết nhiệt độ của các vật thể Thiết bị này có khả năng đo nhiệt độ trong một phạm vi rộng, từ những vùng lạnh nhất đến những vùng nóng nhất, mang lại cái nhìn toàn diện về sự biến đổi nhiệt độ trong từng tình huống cụ thể.
Camera nhiệt S319SPX có khả năng phát hiện các vùng có nhiệt độ vượt ngưỡng đã định, giúp nhận biết sự gia tăng nhiệt độ đáng kể và cảnh báo người dùng về những thay đổi này.
Camera nhiệt S319SPX sở hữu nhiều tính năng nổi bật, phù hợp cho nhiều lĩnh vực ứng dụng khác nhau Trong ngành công nghiệp, thiết bị này hỗ trợ kiểm tra và bảo dưỡng hiệu quả Nó cũng được sử dụng trong hệ thống điện để quản lý nhiệt độ, trong xây dựng để kiểm tra cách nhiệt, và trong các ứng dụng phát hiện cũng như giám sát nhiệt độ.
Hình 2.12:Thiết bị Camera nhiệt S319SPX Thông số của Camera nhiệt S319SPX:
- Độ phân giải màn hình tối đa (đơn vị điểm ảnh): 320(h) x 240(v)
- Phạm vi bước súng hồng ngoại (àm): 7.8 đến 14
- Nhiệt độ lưu trư tối thiểu (°C): -40°C ~ 80°C
- Hệ số phát xạ (Emissivity): 0.97
- Điện áp cung cấp hoạt động: 3.3V - 5V DC
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG
Yêu cầu hệ thống
Đề tài "Nhận dạng người sử dụng ảnh nhiệt trên nền tảng Jetson Orin Nano và YOLOV8" nhằm ứng dụng mô hình YOLOv8 để nhận diện con người qua hình ảnh nhiệt Mục tiêu chính là phát triển một hệ thống phát hiện và nhận dạng con người hiệu quả, chính xác trong nhiều môi trường khác nhau sử dụng công nghệ ảnh nhiệt Để đạt được điều này, hệ thống cần tuân thủ các yêu cầu cụ thể.
Cấu hình phần cứng: Hệ thống yêu cầu gồm Jetson Orin Nano làm máy tính và camera nhiệt S319SPX.
Để triển khai hệ thống nhận dạng người trên hình ảnh nhiệt, cần cài đặt mô hình YOLOv8 và sử dụng các thư viện hỗ trợ như OpenCV và Ultralytic Những thư viện này giúp xây dựng, huấn luyện mô hình và thực hiện quá trình nhận dạng hiệu quả.
Để huấn luyện mô hình nhận dạng, cần sử dụng cơ sở dữ liệu ban đầu với các hình ảnh nhiệt chứa đối tượng người Việc chuẩn bị và gán nhãn chính xác cho dữ liệu này là rất quan trọng để đảm bảo hiệu suất phát hiện tối ưu.
Sau khi hoàn tất quá trình huấn luyện, việc tối ưu hóa mô hình sẽ giúp nâng cao hiệu suất nhận dạng Mô hình này sau đó có thể được triển khai trên hệ thống thực tế để thực hiện nhận diện người dựa trên hình ảnh nhiệt.
3.2.1 Chức năng của hệ thống
Hệ thống nhận dạng người dựa trên hình ảnh nhiệt sử dụng YOLOv8 có các chức năng chính sau:
Hệ thống phát hiện người sử dụng mô hình YOLOv8 để xác định và định vị các đối tượng người trong hình ảnh nhiệt Nó không chỉ nhận diện các đối tượng người có mặt mà còn đếm số lượng người trong khung hình một cách chính xác.
Hệ thống nhận dạng người sử dụng công nghệ YOLOv8 để phát hiện và xác định vị trí người, đồng thời nhận diện họ dựa trên các đặc trưng và thông tin từ hình ảnh nhiệt Qua quá trình huấn luyện mô hình, hệ thống đã cải thiện khả năng phân loại và nhận dạng người dựa trên tập dữ liệu huấn luyện.
Hệ thống này cung cấp khả năng phát hiện người trong thời gian thực bằng cách liên tục xử lý hình ảnh nhiệt, cho phép theo dõi chuyển động và hoạt động của người trong khung hình một cách hiệu quả.
Hệ thống có khả năng đa nhiệm và phục vụ nhiều người dùng, cho phép xử lý đồng thời nhiều tác vụ Điều này giúp nhận dạng và theo dõi một số lượng lớn người trong cùng một khung hình, đáp ứng hiệu quả nhu cầu giám sát và nhận dạng trong các môi trường đông đúc.
3.2.2 Sơ đồ khối hệ thống và chức năng từng khối
Hình 3.1:Sơ đồ khối hệ thống
Hình 3.1 mô tả cấu trúc sơ đồ khối của hệ thống, gồm các khối có chức năng cụ thể như sau:
Camera nhiệt (Thermal camera): Có chức năng thu thập dư liệu về hình ảnh nhiệt của con người
Khối xử lý trung tâm sử dụng Jetson Orin Nano để chạy Yolov8, nhằm nhận diện và xử lý ảnh nhiệt từ dữ liệu thu thập được Jetson Orin Nano được trang bị CPU và GPU, cho phép tính toán và xử lý dữ liệu hiệu quả thông qua công nghệ AI và xử lý ảnh.
Màn hình hiển thị dư liệu: Dư liệu đã được xử lý sẽ được hiển thị trên màn hình máy tính
Nguyên vật liệu thực hiện dự án
Dự án này sử dụng camera nhiệt kết hợp với Jetson Orin Nano để thu thập dữ liệu hình ảnh nhiệt Camera nhiệt được sử dụng để tạo ra dataset cá nhân, trong khi Jetson Orin Nano, với khả năng kết hợp CPU và GPU, cung cấp hiệu suất tính toán cao và khả năng xử lý song song Nhờ vào sức mạnh tính toán vượt trội, Jetson Orin Nano là lựa chọn lý tưởng cho việc triển khai mô hình nhận dạng người dựa trên ảnh nhiệt.
Hình 3.2:Thermal camera Hình 3.3:Jetson Orin Nano
Tất cả hình ảnh mà nhóm chụp lại đều sử dụng bảng màu Tyrian của camera nhiệt, trong đó các kênh màu được sắp xếp theo thứ tự tăng dần của nhiệt độ.
Hình 3.4:Hình ảnh nhiệt con người Hình 3.5:Hình ảnh màu thông thường con người
Sự khác biệt giữa Hình 3.4 và Hình 3.5 cho thấy khi một tấm bọc đen che phủ, hình ảnh thông thường không thể nhìn thấy, trong khi hình ảnh nhiệt vẫn hiển thị toàn bộ hình ảnh của người Do đó, nhóm nghiên cứu đã quyết định sử dụng ảnh nhiệt làm dữ liệu cho dataset trong đề tài này thay vì ảnh màu thông thường.
Việc áp dụng ảnh nhiệt trong nghiên cứu này mang lại nhiều lợi ích, bao gồm độ phân giải cao, khả năng phát hiện trong điều kiện ánh sáng yếu và môi trường khắc nghiệt, cũng như khả năng nhận diện con người theo thời gian thực.
Việc kết hợp hình ảnh nhiệt với học sâu đã tạo ra một công cụ mạnh mẽ cho việc phát hiện con người trong nhiều tình huống khác nhau Cảm biến nhiệt độ cao cung cấp các dấu hiệu nhiệt chi tiết, nâng cao khả năng phát hiện cá nhân Sự áp dụng kiến trúc YOLO trong lĩnh vực này cho phép phát hiện đối tượng theo thời gian thực, đồng thời khắc phục những hạn chế của các phương pháp trước đây như tốc độ xử lý chậm và độ chính xác giảm trong môi trường khó khăn.
Việc sử dụng các bộ dữ liệu này gặp phải một số thách thức, bao gồm lỗi chú thích và thiếu sót trong việc chú thích Ngoài ra, các khung hình có khoảng cách gần nhau cũng dẫn đến sự tương đồng giữa các hình ảnh trong cùng một cảnh.
Tổng quan về 3 mô hình YOLOv8 để thực hiện dự án [14]
Công việc này tập trung vào việc đánh giá YOLOv8 trong phát hiện con người trên ảnh nhiệt YOLOv8 là một mô hình mạnh mẽ, được thiết kế để phát hiện, phân loại và phân đoạn đối tượng, sử dụng các tiến bộ mới nhất trong học sâu và thị giác máy tính Mô hình này mang lại hiệu suất vượt trội về tốc độ và độ chính xác Các thử nghiệm trên tập dữ liệu COCO cho thấy YOLOv8 vượt trội hơn các phiên bản trước về cả độ chính xác lẫn tốc độ phát hiện Hơn nữa, YOLOv8 dễ dàng triển khai trên nhiều nền tảng phần cứng khác nhau, từ thiết bị biên đến API dựa trên đám mây.
YOLOv8 mang đến nhiều tính năng và tối ưu hóa mới, phát triển dựa trên các cải tiến từ các phiên bản trước, làm cho nó trở thành lựa chọn ưu việt cho việc phát hiện đối tượng trong nhiều ứng dụng khác nhau Kiến trúc của YOLOv8 được xây dựng dựa trên nền tảng của các phiên bản YOLO trước đó, như được thể hiện trong Hình 3.2.
Hình 3.6:Kiến trúc của mô hình YOLOv8 [13]
Các phiên bản YOLOv8n, YOLOv8s và YOLOv8m nổi bật với các tính năng chính như tăng cường dữ liệu khảm, khả năng phát hiện không cần neo, mô-đun C2f, đầu tách rời và chức năng mất được cải tiến.
YOLOv8 sử dụng một phiên bản nâng cấp của CSPDarknet53 làm backbone, bao gồm 53 lớp tích chập với các kết nối chéo nhằm tối ưu hóa luồng thông tin giữa các lớp Backbone này đóng vai trò quan trọng trong việc trích xuất đặc trưng từ ảnh đầu vào.
Lớp SPPF (Spatial Pyramid Pooling Fusion) trong YOLOv8 giúp tăng tốc độ tính toán bằng cách kết hợp các đặc trưng từ nhiều quy mô vào một bản đồ đặc trưng có kích thước cố định, từ đó cải thiện khả năng xử lý các đặc trưng ở nhiều cấp độ khác nhau một cách hiệu quả.
Tăng cường dư liệu khảm (mosaic data augmentation) là phương pháp kết hợp nhiều hình ảnh nhằm cung cấp thông tin ngữ cảnh phong phú hơn cho mô hình Quá trình này được thực hiện trong mười giai đoạn đào tạo liên tiếp, giúp nâng cao hiệu suất của mô hình.
Phát hiện không có neo (anchor-free detection) cho phép mô hình dự đoán trực tiếp vị trí trung tâm của đối tượng, đồng thời giảm thiểu số lượng dự đoán hộp giới hạn Điều này không chỉ nâng cao tốc độ loại bỏ không tối đa mà còn giúp loại bỏ các dự đoán không chính xác hiệu quả hơn.
Mô-đun C2f được sử dụng làm xương sống của mô hình thay vì mô-đun C3, giúp giảm chi phí tính toán và tăng tốc quá trình đào tạo Việc kết nối đầu ra của tất cả các mô-đun thông qua C2f cải thiện luồng gradient Đầu tách rời cho phép thực hiện các nhiệm vụ phân loại và hồi quy riêng biệt, từ đó nâng cao hiệu suất của mô hình.
Chức năng mất được sửa đổi (modified loss function) tập trung vào việc căn chỉnh nhiệm vụ dựa trên độ chính xác của dự đoán hộp giới hạn Mô hình áp dụng các điểm căn chỉnh để lựa chọn mẫu dương, đồng thời tính toán tổn thất phân loại thông qua BCE (Binary Cross-Entropy) và tổn thất hồi quy bằng CIoU (Complete IoU) cùng với DFL (Distribution Focal Loss).
* So sánh 3 mô hình Yolov8n, Yolov8s, Yolov8m
YOLOv8n (Nano) nổi bật với tốc độ xử lý nhanh nhất và kích thước nhỏ, phù hợp cho thiết bị di động và nhúng Mô hình này yêu cầu phần cứng thấp, nhưng có nhược điểm là độ chính xác thấp hơn so với hai phiên bản khác, không phù hợp cho các ứng dụng cần độ chính xác cao YOLOv8n thường được sử dụng trong ứng dụng di động, hệ thống giám sát đơn giản và thiết bị IoT.
YOLOv8s (Small) nổi bật với sự cân bằng giữa tốc độ xử lý và độ chính xác, cùng với kích thước mô hình trung bình và yêu cầu phần cứng vừa phải Mặc dù tốc độ của nó chậm hơn YOLOv8n và độ chính xác không đạt bằng YOLOv8m, nhưng YOLOv8s vẫn được ưa chuộng trong các lĩnh vực như giám sát an ninh, lái xe tự động và các ứng dụng cần xử lý thời gian thực với độ chính xác tương đối cao.
YOLOv8m (Medium) nổi bật với độ chính xác cao nhất trong ba phiên bản, lý tưởng cho các ứng dụng yêu cầu độ chính xác cao Tuy nhiên, nó có tốc độ xử lý chậm nhất, kích thước mô hình lớn nhất và yêu cầu phần cứng cao Mô hình này thường được áp dụng rộng rãi trong các lĩnh vực như phân tích video chuyên sâu, nhận diện khuôn mặt và các hệ thống cần độ chính xác cao trong môi trường phức tạp.
Bảng 3.1:Bảng so sánh tóm tắt hiệu năng giưa 3 mô hình Đặc Điểm YOLOv8n
YOLOv8m (Medium) Tham số < 5 triệu 5-10 triệu > 10 triệu
Kích thước Nhỏ nhất Trung bình Lớn nhất
Tốc độ Nhanh nhất Nhanh Chậm nhất
FPS ~60 FPS 30-60 FPS < 30 FPS Độ chính xác Thấp nhất Trung bình Cao nhất
Yêu cầu phần cứng Thấp nhất Trung bình Cao nhất
YOLOv8n (Nano): là lựa chọn thích hợp nếu chúng ta cần đạt tốc độ xử lý cực nhanh và có tài nguyên phần cứng hạn chế.
YOLOv8s (Small) là sự lựa chọn hoàn hảo cho những ai muốn tối ưu hóa giữa tốc độ xử lý và độ chính xác, đồng thời yêu cầu phần cứng không quá cao.
YOLOv8m (Medium) là lựa chọn tối ưu cho những ai đặt ưu tiên vào độ chính xác cao, mặc dù nó yêu cầu phần cứng mạnh và có tốc độ xử lý chậm hơn.
Phương pháp huấn luyện mô hình YOLOv8 dựa trên phát hiện đối tượng
Trong dự án này, nhóm đã lựa chọn sử dụng phiên bản YOLOv8, mô hình nhận dạng vật thể tiên tiến nhất từ Ultralytics Các phiên bản YOLOv8 bao gồm Nano, Small và Medium, mỗi phiên bản được tối ưu hóa để đáp ứng nhu cầu cụ thể của dự án YOLOv8 Nano là phiên bản nhỏ gọn và nhanh nhất, trong khi YOLOv8 Medium cung cấp độ chính xác cao hơn nhưng đòi hỏi thời gian đào tạo và kích thước dữ liệu lớn hơn.
Trong dự án này, nhóm đã sử dụng ba mô hình YOLOv8 Nano, YOLOv8 Small và YOLOv8 Medium do hạn chế về dung lượng dữ liệu Mỗi mô hình được huấn luyện trong 50 epoch với batch size 16 và kích thước ảnh đầu vào 320 x 240, theo tiêu chuẩn YOLOv8, trên bộ Jetson Orin Nano Để đánh giá hiệu suất, nhóm sử dụng các chỉ số như độ chính xác (Precision), độ thu hồi (Recall) và F1-Score để so sánh giữa các mô hình Độ chính xác (Precision) đo lường tỷ lệ dự đoán tích cực đúng so với tổng số dự đoán tích cực, phản ánh khả năng của mô hình trong việc nhận diện đúng các trường hợp tích cực thực tế.
TP và FP là viết tắt của True Positive (nhận dạng đúng đối tượng) và False Positive (không nhận dạng đúng đối tượng).
Thu hồi (Recall) là một chỉ số quan trọng trong việc đánh giá hiệu suất của mô hình, thể hiện tỷ lệ giữa số lượng trường hợp dương thực tế được dự đoán chính xác và tổng số trường hợp dương thực tế, bao gồm cả dương tính thực và âm tính giả Chẳng hạn, nếu có 10 trường hợp được kiểm tra, trong đó 5 trường hợp thực sự bị ung thư và mô hình chỉ dự đoán đúng 3 trường hợp, thì thu hồi sẽ được tính dựa trên những số liệu này.
NF, viết tắt của False Negative, đề cập đến việc nhận dạng sai đối tượng đúng Điểm F1, hay F1-Score, là một chỉ số quan trọng kết hợp độ chính xác và khả năng thu hồi, thể hiện sự cân bằng giữa hai yếu tố này thông qua công thức tính toán.
Điểm F1 (F1-Score) là một chỉ số quan trọng để đánh giá hiệu suất của mô hình, với giá trị dao động từ 0 đến 1 Giá trị 1 cho thấy mô hình phân loại chính xác tất cả các quan sát, trong khi giá trị 0 chỉ ra rằng mô hình không phân loại đúng bất kỳ quan sát nào F1-Score được tính bằng trung bình hài hòa giữa độ chính xác và khả năng thu hồi, nhằm đảm bảo sự cân bằng trong hiệu suất Điểm F1 rất nhạy cảm với sự chênh lệch giữa độ chính xác và khả năng thu hồi; nếu sự chênh lệch này lớn, điểm F1 sẽ bị giảm.
Thi công hệ thống
3.6.1 Chuẩn bị phần cứng và cài đặt phần mềm Để triển khai hệ thống nhận diện người sử dụng ảnh nhiệt trên nền tảng JetsonOrin Nano và sử dụng mô hình YOLOv8, các yêu cầu cần thiết được liệt kê trong bảng 3.2.
Bảng 3.2:Thống kê phần cứng và phần mềm của tác vụ
Tác vụ Mô hình học sâu
Jetson Orin Nano Thermal camera SPX319X Bàn phím
SDK Jetpack 6.0 SDK Seek Thermal 4.4.2.20 Python 3.8.5
Sau khi có đầy đủ thiết bị thì nhóm đã hoàn thành các kết nối thiết bị như Hình 3.7 dưới đây mô tả cách kết nối của mô hình.
Hình 3.7:Mô hình kết nối phần cứng toàn mạch hệ thống
3.6.2 Triển khai quá trình huấn luyện mô hình
Nhóm đã sử dụng mã Python để điều khiển máy ảnh từ SeekThermal và áp dụng thư viện OpenCV để giải mã đầu ra video Đồng thời, mô hình YOLO được sử dụng để phân loại đối tượng trong video Để triển khai huấn luyện mô hình nhận diện người sử dụng ảnh nhiệt trên nền tảng Jetson Orin Nano và YOLOv8, nhóm đã thực hiện các bước cần thiết.
Chuẩn bị dữ liệu huấn luyện là bước quan trọng, bao gồm việc thu thập tập dữ liệu ảnh nhiệt với hình ảnh của người sử dụng Cần đảm bảo rằng các hình ảnh này được gán nhãn chính xác, với bounding box (hộp giới hạn) xác định rõ vị trí của người sử dụng trong từng bức ảnh.
Để chuẩn bị môi trường phát triển, bạn cần cài đặt JetPack SDK trên Jetson Orin Nano, nhằm tạo ra môi trường phát triển CUDA phù hợp Đồng thời, hãy cài đặt Seek Thermal SDK để thiết lập môi trường cho camera nhiệt.
Để huấn luyện mô hình, cần sử dụng dữ liệu huấn luyện cùng với các tệp cấu hình đã được chuẩn bị sẵn Quá trình này được thực hiện thông qua việc thực hiện các lệnh tương ứng trong hệ thống.
Sau khi hoàn thành quá trình đào tạo, cần kiểm tra mô hình trên tập dữ liệu kiểm tra để đánh giá hiệu suất Việc đo lường các chỉ số như độ chính xác, độ phủ và giá trị IoU sẽ giúp xác định khả năng nhận dạng của mô hình.
3.7 Xây dựng cơ sở dữ liệu để huấn luyện
Hiện nay, nhiều công cụ mã nguồn mở cho bounding box được sử dụng để gán nhãn cho mô hình YOLO Nhóm đã chọn Label Studio vì nó mang lại tính linh hoạt và nhất quán trong quá trình gán nhãn Ngoài ra, công cụ này còn giúp quản lý dự án dễ dàng, có sự hỗ trợ từ cộng đồng phát triển liên tục và tiết kiệm chi phí.
Nhóm đã sử dụng dữ liệu cá nhân để tạo ra một bộ dữ liệu hình ảnh từ camera nhiệt, gắn nhãn phù hợp nhằm mục tiêu nhận dạng con người (Hình 3.8) Bộ dữ liệu này bao gồm nhiều định dạng hình ảnh khác nhau, giúp cải thiện khả năng phát hiện trên mọi loại máy ảnh nhiệt.
Hình 3.9:Gán nhãn “person” cho đối tượng là con người
Hình 3.10:Gán nhãn “person” và “other thermal” cho ảnh nhiệt khác Ở Hình 3.9 và Hình 3.10 nhóm gắn nhãn cho hai đối tượng trong dư liệu là
Việc gắn nhãn cho hình ảnh là một bước quan trọng, mặc dù tốn thời gian, nhằm đảm bảo chất lượng đầu ra của mô hình Yolov8 Mô hình này được phát triển để nhận diện con người trong hình ảnh nhiệt, đặc biệt là phân biệt con người với các đối tượng nhiệt khác trong cùng khung hình.
Hình 3.11:Dư liệu sau khi được gán nhãn
Sau khi hoàn thành việc gán nhãn dữ liệu, nhóm chia các tập dữ liệu bao gồm hình ảnh, nhãn và các tập file khác Tiếp theo, nhóm phân chia dữ liệu thành ba phần: huấn luyện (train), đánh giá và điều chỉnh mô hình (validation), và kiểm tra độ chính xác cuối cùng của mô hình (test).
Hình 3.12:Hình ảnh mô tả quá trình phân chia dư liệu
Mục đích: Huấn luyện các mô hình học máy.
Hoạt động: Dư liệu được sử dụng để huấn luyện các mô hình như Logistic Regression, Decision Trees, K-Nearest Neighbors (KNN) …
Mục đích: Đánh giá và điều chỉnh mô hình.
Hoạt động: Sử dụng để điều chỉnh các siêu tham số của mô hình và chọn ra mô hình có hiệu suất tốt nhất.
Mục đích: Đánh giá hiệu năng cuối cùng của mô hình đã chọn.
Hoạt động: Sử dụng để đánh giá độ chính xác cuối cùng của mô hình thông qua các chỉ số đánh giá như confusion matrix, precision, recall, accuracy …
Chia nhỏ tập dữ liệu thành ba phần giúp đảm bảo mô hình được huấn luyện, kiểm định và kiểm tra một cách khoa học và chính xác, từ đó nâng cao độ tin cậy và hiệu suất của mô hình.
Để khắc phục những hạn chế về kích thước tập dữ liệu, nhóm đã áp dụng nhiều phương pháp khác nhau nhằm làm giàu dữ liệu Kết quả là nhóm đã thu thập được một bộ dữ liệu hình ảnh được phân chia thành các tỷ lệ khác nhau Bộ dữ liệu này bao gồm 300 ảnh, trong đó 70% được sử dụng cho quá trình đào tạo (training), 20% cho xác thực (validation), và 10% còn lại dành cho thử nghiệm (testing).
Hình 3.14:Dư liệu huấn luyện đầu vào
Cơ sở dư liệu mà nhóm tạo ra, như được thể hiện trong Hình 3.14, bao gồm
Nhóm đã chụp 300 ảnh nhiệt bằng camera nhiệt, kết hợp với hình ảnh cá nhân, thể hiện sự đa dạng trong tư thế Các tư thế được ghi lại bao gồm đứng, ngồi, cúi xuống và nằm, với nhiều tình huống từ một người đến nhiều người trong cùng một khung hình.
Việc tự gán nhãn và chuẩn bị dữ liệu đã nâng cao chất lượng và độ chính xác, giúp mô hình nhận diện người hoạt động hiệu quả trong các ứng dụng thực tế như an ninh, giám sát, cứu hộ và công nghiệp Với khoảng 300 ảnh huấn luyện, cơ sở dữ liệu này cung cấp đủ thông tin cho mô hình học và cải thiện độ chính xác.
3.8.1 Lưu đồ chương trình chính
Hình 3.15:Lưu đồ giải thuật chương trình chính
Để bắt đầu, cần thiết lập kết nối giữa Jetson Orin Nano và camera nhiệt S319SPX cùng các thiết bị liên quan Tiếp theo, tạo môi trường làm việc phù hợp và cài đặt các thư viện cần thiết cho việc xử lý ảnh/video và phát hiện đối tượng, bao gồm OpenCV, TensorFlow, PyTorch và các thư viện hỗ trợ khác.
Lưu đồ giải thuật
3.8.1 Lưu đồ chương trình chính
Hình 3.15:Lưu đồ giải thuật chương trình chính
Để bắt đầu, cần thiết lập kết nối giữa Jetson Orin Nano và camera nhiệt S319SPX cùng với các thiết bị liên quan Tiếp theo, tạo môi trường làm việc thích hợp và cài đặt các thư viện cần thiết cho việc xử lý ảnh/video và phát hiện đối tượng, bao gồm OpenCV, TensorFlow, PyTorch và các thư viện hỗ trợ khác.
Khởi tạo mô hình YOLOv8 đã được huấn luyện trước để nhận dạng đối tượng, hoặc sử dụng các phiên bản mô hình như YOLOv8n, YOLOv8s, YOLOv8m Nhập dữ liệu từ ảnh/video nhiệt qua camera nhiệt hoặc từ các tệp có sẵn Áp dụng kỹ thuật xử lý ảnh tiên tiến và sử dụng trí tuệ nhân tạo để phân tích dữ liệu nhiệt Nếu có sai sót trong quá trình xử lý, quay lại quy trình nhận và xử lý dữ liệu đầu vào cho đến khi đạt được kết quả mong muốn.
Cuối cùng, sau khi hoàn tất quá trình xử lý, việc giải phóng tài nguyên đã sử dụng và đóng các cửa sổ hiển thị là cần thiết để đảm bảo hệ thống hoạt động hiệu quả và tối ưu hóa bộ nhớ.
3.8.2 Lưu đồ chương trình con xử lý dữ liệu bằng AI
Hình 3.16:Lưu đồ chương trình con xử lý AI
Để thực hiện quy trình phát hiện đối tượng và hiển thị kết quả, bạn cần tuân theo các bước cụ thể nhằm đảm bảo hiệu quả và chính xác trong từng tác vụ.
Mô hình YOLOv8 được sử dụng để phát hiện đối tượng trong ảnh và video, cung cấp các hộp giới hạn (bounding boxes) cùng với nhãn cho từng đối tượng đã được nhận diện.
Sau khi phát hiện đối tượng, việc áp dụng mô hình phân loại ảnh là cần thiết để xác định loại đối tượng như người, động vật, và nhiều hơn nữa Quá trình này không chỉ giúp gán nhãn cho các đối tượng mà còn nâng cao khả năng hiểu biết về chúng.
Phân đoạn đối tượng là kỹ thuật quan trọng trong việc xác định và tách biệt các đối tượng cụ thể trong ảnh hoặc video Bằng cách áp dụng các phương pháp phân đoạn, chúng ta có thể tạo ra sự khác biệt rõ ràng giữa các đối tượng và nền xung quanh, từ đó nâng cao chất lượng phân tích hình ảnh.
Quá trình đếm số lượng đối tượng cho phép xác định tổng số lượng đối tượng được phát hiện trong dữ liệu đầu vào như ảnh hoặc video nhiệt Hệ thống sẽ hiển thị sự thay đổi về số lượng đối tượng qua từng khung hình, giúp người dùng dễ dàng theo dõi và phân tích.
Để trực quan hóa kết quả, bạn có thể vẽ các bounding boxes và nhãn đối tượng lên hình ảnh hoặc video, giúp thể hiện sự phát hiện và biến đổi của đối tượng qua từng khung hình.
KẾT QUẢ - NHẬN XÉT VÀ ĐÁNH GIÁ
Kết quả chạy thử nghiệm trên mô hình
4.1.1 Kiểm thử trên mô hình
Sau khi hoàn tất quá trình huấn luyện mô hình YOLOv8 nhằm nhận dạng người từ ảnh nhiệt trên nền tảng Jetson Orin Nano, bước tiếp theo là tiến hành kiểm thử để đánh giá độ chính xác của mô hình trong việc nhận diện người.
Kiểm thử trên Jetson Orin Nano cho phép sử dụng mô hình YOLOv8 đã được huấn luyện để nhận diện người từ hình ảnh nhiệt Để thực hiện, kết nối camera nhiệt với Jetson Orin Nano và sử dụng thư viện phù hợp để lấy hình ảnh Cuối cùng, áp dụng mô hình để dự đoán và hiển thị kết quả trên màn hình.
Hình 4.1:Hình ảnh cắt từ video kết quả kiểm thử mô hình trên YOLOv8
Nhóm nghiên cứu đã áp dụng mô hình YOLOv8 để nhận diện người từ ảnh nhiệt, cho thấy độ chính xác cao và khả năng phát hiện nhiều đối tượng trong cùng một khung hình Các khung giới hạn được vẽ rõ ràng quanh các đối tượng, chứng tỏ mô hình có độ phân giải tốt và khả năng phân biệt chính xác Độ tin cậy của các phát hiện dao động từ 0.54 đến 0.92, cho thấy khả năng phát hiện người trong nhiều điều kiện khác nhau, đặc biệt là trong môi trường ánh sáng yếu Tuy nhiên, một số đối tượng có độ tin cậy dưới 0.6, có thể dẫn đến việc bỏ sót hoặc nhận diện sai.
Kiểm thử mô hình YOLOv8 trên tập dữ liệu thẩm định là một bước quan trọng để đánh giá hiệu suất Bằng cách sử dụng các hình ảnh nhiệt từ tập dữ liệu validation, chúng ta có thể kiểm tra độ chính xác trong việc nhận diện người Kết quả từ quá trình này sẽ cho thấy khả năng của mô hình trong việc nhận diện đối tượng một cách chính xác (Hình 4.2)
Hình 4.2:Kết quả kiểm thử mô hình trên tập thẩm định
Dựa trên kết quả kiểm thử, quy trình huấn luyện mô hình đã đạt hiệu quả cao và độ chính xác tương đối tốt Mô hình sau khi được huấn luyện có khả năng nhận diện người và các vật thể nhiệt khác không phải con người.
Sau khi huấn luyện các tập dữ liệu ảnh nhiệt theo ba mô hình khác nhau, mỗi mô hình được huấn luyện 50 lần, chúng ta sẽ có bảng thống kê chi tiết để so sánh các thông số, như được trình bày trong Bảng 4.1.
Bảng 4.1:Số liệu so sánh các thông số giưa ba mô hình YOLO-v8
Mô hình Độ chính xác Độ thu hồi mAP@50 mAP@50-95 F1-score
Dựa trên dữ liệu từ Bảng 4.1, các tham số giữa các mô hình huấn luyện không có sự khác biệt lớn, nhưng nổi bật là hai mô hình YOLOv8n và YOLOv8s có giá trị Precision và mAP@50 đạt trên 80%, với YOLOv8s có giá trị cao nhất gần 86% Trong khi đó, mô hình YOLOv8m chỉ đạt gần 80% do dữ liệu dataset của nhóm chỉ có khoảng 300 ảnh, dẫn đến việc không thể phát huy hết hiệu suất của YOLOv8m.
Giá trị Recall của các mô hình YOLOv8 dao động từ 0,75 đến 0,83, cho thấy khả năng phát hiện đối tượng khá cao, với mô hình YOLOv8s đạt Recall cao nhất là 0,83 và YOLOv8m thấp nhất là 0,75 Điều này chứng tỏ YOLOv8s phát hiện đúng nhiều đối tượng hơn Mặc dù sự khác biệt giữa Precision và Recall là nhỏ, điểm F1-score của cả ba mô hình cũng nằm trong khoảng 0,75 đến 0,83, cho thấy kết quả khả quan trong phát hiện đối tượng Tuy nhiên, thông số mAP@50-95 chỉ đạt trung bình từ 0,44 đến 0,52, cho thấy cần ưu tiên cải thiện thông số này trong quá trình phát triển tiếp theo.
Mô hình YOLOv8s đạt mAP@50 gần 86% sau 50 epoch, cho thấy hiệu suất cao nhất Trong khi đó, YOLOv8n có thời gian đào tạo nhanh nhất và kích thước nhỏ nhất, nhưng độ chính xác thấp hơn Ngược lại, YOLOv8m mất nhiều thời gian hơn để huấn luyện nhưng lại có độ chính xác vượt trội hơn hai mô hình còn lại.
Mô hình YOLOv8s có các thông số cao hơn nhờ vào kích thước tập dữ liệu huấn luyện phù hợp Mặc dù YOLOv8s đạt được hiệu suất vượt trội so với các mô hình khác, nhưng kết quả có thể thay đổi do các yếu tố như đặc điểm dữ liệu và phương pháp huấn luyện áp dụng.
4.1.2 Hiệu năng của mô hình thông qua đồ thị
Nhóm đã chọn YOLOv8s làm mô hình chính cho việc nhận dạng do tính hiệu quả cao Để đánh giá hiệu năng của mô hình YOLOv8n, nhóm đã trực quan hóa các thông số quan trọng thông qua các biểu đồ minh họa.
Hình 4.3:Hiệu suất đào tạo và thẩm định của mô hình YOLOv8s.
Biểu đồ trong Hình 4.3 minh họa hiệu suất của quá trình đào tạo và thẩm định của YOLOv8s, cho thấy sự tăng trưởng nhanh chóng về hiệu suất Độ chính xác của mô hình liên tục cải thiện theo số lượt huấn luyện, cho thấy khả năng hoạt động tốt trong cả giai đoạn huấn luyện và thẩm định, với độ chính xác đạt mức rất cao.
Hình 4.3 minh họa sự cải thiện hiệu suất đào tạo của mô hình YOLOv8s, cho thấy sự gia tăng rõ rệt so với số liệu ban đầu Biểu đồ thể hiện quá trình tăng trưởng ổn định, với độ chính xác mAP50 luôn duy trì trên 80%, khẳng định hiệu suất vượt trội của mô hình.
Hình 4.4:Đường cong tin cậy F1 của mô hình YOLOv8s
Biểu đồ F1 score của mô hình YOLOv8s thể hiện mối quan hệ giữa F1 score và độ tin cậy trong các dự đoán F1 score là chỉ số đánh giá độ chính xác của mô hình, trong khi độ tin cậy phản ánh mức độ tin tưởng của mô hình vào các dự đoán của nó Đường cong cho thấy F1 score tăng khi độ tin cậy tăng, cho thấy mô hình đạt độ chính xác cao hơn khi tự tin vào các dự đoán Ngược lại, F1 score giảm khi độ tin cậy giảm, cho thấy mô hình kém chính xác hơn khi thiếu tự tin Tóm lại, đường cong khẳng định rằng YOLOv8s là một mô hình đáng tin cậy và chính xác trong phát hiện đối tượng.
Nghiên cứu này chứng minh hiệu quả của mô hình YOLOv8 trong việc phát hiện con người qua ảnh nhiệt, mở ra cơ hội ứng dụng trong tìm kiếm và cứu hộ Bộ dữ liệu hình ảnh nhiệt được tổ chức và chú thích chi tiết, bao gồm nhiều tình huống và điều kiện khác nhau, là yếu tố then chốt trong đào tạo và đánh giá mô hình Kết quả cho thấy YOLOv8 có khả năng thích ứng và độ chính xác cao trong việc xác định con người, duy trì hiệu suất ổn định trong nhiều tình huống khác nhau.
Hình 4.5:Đường cong tin cậy chính xác của mô hình YOLOv8s
Hình 4.6:Đường cong thu hồi chính xác của mẫu YOLOv8s
Kết quả thực hiện của mô hình
4.2.1 Kết quả thực hiện sử dụng ảnh nhiệt có sẵn
Trong thử nghiệm video nhiệt, mô hình YOLOv8m và YOLOv8n cho thấy độ chính xác nhận dạng và số lượng người được nhận diện thấp hơn so với YOLOv8s Để minh chứng cho điều này, Hình 4.7, Hình 4.8 và Hình 4.9 sẽ trình bày hiệu suất của ba mô hình YOLOv8m, YOLOv8s và YOLOv8n trên cùng một ảnh chụp nhiệt của đám đông.
Hình 4.7:Hình ảnh cắt từ video thử nghiệm trên YOLOv8m
Hình 4.8:Hình ảnh cắt từ video thử nghiệm trên YOLOv8s
Hình 4.9:Hình ảnh cắt từ video thử nghiệm trên YOLOv8n
Sau khi đánh giá ba mô hình nhận dạng người qua ảnh nhiệt, mô hình YOLOv8s cho thấy khả năng nhận dạng tốt nhất Nhóm nghiên cứu đã sử dụng cơ sở dữ liệu cá nhân để huấn luyện mô hình, và kết quả cho thấy số lượng người được đếm bởi cả ba mô hình đều chính xác tương đối.
Mặc dù công nghệ nhận diện đã có những tiến bộ, độ chính xác vẫn còn hạn chế do một số khu vực chưa được đánh dấu đúng cách Để nâng cao khả năng nhận diện, việc cải thiện và huấn luyện mô hình trên các tập dữ liệu đa dạng hơn là cần thiết.
4.2.2 Nhận diện con người trong điều kiện môi trường
Việc nhận diện con người trong điều kiện ánh sáng yếu là một thách thức lớn, đặc biệt khi camera thông thường không hoạt động hiệu quả Để khắc phục vấn đề này, nhóm nghiên cứu đã thực hiện thí nghiệm với công nghệ hình ảnh nhiệt, giúp nhận diện con người ngay cả trong môi trường tối hoặc ánh sáng kém.
Hình 4.10: Kết quả hình ảnh màu nhận diện trong điều kiện có ánh sáng
Hình 4.11:Kết quả hình ảnh nhiệt nhận diện trong điều kiện có ánh sáng
Theo Hình 4.10 và Hình 4.11, tỷ lệ nhận dạng người giữa ảnh thường và ảnh nhiệt không có sự khác biệt lớn trong điều kiện ánh sáng đầy đủ Tuy nhiên, khả năng nhận diện của ảnh nhiệt thấp hơn một chút so với ảnh màu thông thường.
Hình 4.12: Kết quả hình ảnh màu nhận diện trong điều kiện ánh sáng kém
Hình 4.13:Kết quả hình ảnh nhiệt nhận diện trong điều kiện ánh sáng kém
Hình 4.12 và Hình 4.13 cho thấy rằng trong điều kiện thiếu sáng, ảnh thường không thể nhận diện được con người, trong khi ảnh nhiệt vẫn có khả năng nhận diện con người dù trong điều kiện ánh sáng yếu hay đủ.
Trong điều kiện ánh sáng thường, camera truyền thống cung cấp hình ảnh rõ nét, phục vụ cho giám sát và nhận diện Tuy nhiên, trong môi trường thiếu sáng hoặc tối, camera nhiệt nổi bật với khả năng phát hiện con người dựa trên nhiệt độ cơ thể, không phụ thuộc vào ánh sáng xung quanh Công nghệ này không chỉ hữu ích trong an ninh và giám sát mà còn quan trọng trong cứu hộ và giám sát động vật hoang dã, đảm bảo hiệu quả nhận diện và an toàn trong mọi điều kiện ánh sáng.
4.2.3 Kết quả thực hiện trong thời gian thực
Nhóm nghiên cứu đã kết hợp thành công hai mô hình Jetson Orin với máy ảnh nhiệt để thực hiện các thử nghiệm Các cảnh quay thực tế đã được sử dụng cho quá trình đào tạo và kiểm tra Ba mô hình chính được áp dụng trong nghiên cứu bao gồm YOLOv8m, YOLOv8s và YOLOv8n.
Mô hình YOLOv8s cho thấy khả năng phát hiện người vượt trội so với YOLOv8n và YOLOv8m, dựa trên phân tích từ cơ sở dữ liệu cá nhân của nhóm tạo Các hình ảnh 4.14, 4.15 và 4.16 minh họa ví dụ về phát hiện người trong thời gian thực với ba mô hình này.
Hình 4.14:Hình ảnh cắt từ video thời gian thực trên YOLOv8m
Hình 4.15:Hình ảnh cắt từ video thời gian thực trên YOLOv8s
Hình 4.16:Hình ảnh cắt từ video thời gian thực trên YOLOv8n
YOLOv8s đã chứng minh độ tin cậy vượt trội hơn so với YOLOv8n và YOLOv8m trong việc phát hiện và xác định vị trí con người trong thời gian thực, dựa trên cơ sở dữ liệu do nhóm nghiên cứu phát triển.
Việc chọn mô hình phù hợp cần xem xét yêu cầu cụ thể của ứng dụng và tình huống sử dụng YOLOv8s nổi bật với hiệu suất cao trong nhận diện con người thời gian thực, nhưng YOLOv8n và YOLOv8m cũng có thể là lựa chọn hợp lý trong những trường hợp khác, tùy thuộc vào yêu cầu về tốc độ, độ chính xác và tài nguyên tính toán.
Việc nhận diện con người trong thời gian thực yêu cầu xử lý nhanh và tiết kiệm tài nguyên tính toán, dẫn đến khả năng phát hiện không chính xác hoặc bỏ sót đối tượng Ngược lại, huấn luyện trên các ảnh có sẵn cho phép sử dụng tập dữ liệu lớn hơn và thực hiện quá trình học mô hình một cách chi tiết, từ đó nâng cao độ chính xác trong nhận diện.
Mặc dù sử dụng cơ sở dữ liệu với số lượng đầu vào hạn chế, các mô hình vẫn có khả năng nhận diện con người với độ chính xác cao, đồng thời phân loại các đối tượng nhiệt khác Điều này chứng tỏ sức mạnh vượt trội của YOLOv8 trong nhận dạng con người Trong tương lai, chúng tôi sẽ tập trung vào việc triển khai các mô hình YOLOv8 đã được đào tạo trên các thiết bị nhúng với nguồn tài nguyên tính toán và ngân sách điện năng hạn chế, nhằm phát hiện con người trong thời gian thực trên hình ảnh nhiệt, đáp ứng nhu cầu cho các nhiệm vụ tìm kiếm và cứu hộ.