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. 2 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 3 Chương 2 CƠ SỞ LÝ THUYẾT 2.1 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 trong thị giác máy tính và trí tuệ nhân tạo.
Được tạo ra vào năm 2016 bởi Joseph Redmon và nhóm nghiên cứu, YOLO đã trở thành một trong nhưng phương pháp phát hiện đối tượng rộng rãi và hiệu quả. Phương pháp YOLO có một cách tiếp cận độc đáo và hiệu quả so với các phương pháp truyền thống khác. Thay vì chia ảnh thành nhiều vùng nhỏ và áp dụng phân loại đối tượng lên từng vùng đó như các phương pháp R-CNN, YOLO nhìn vào toàn bộ ảnh một lần duy nhất. Điều này cho phép YOLO đồng thời dự đoán vị trí và lớp của các đối tượng trong ảnh một cách nhanh chóng.
YOLO sử dụng mạng nơ-ron tích chập để tạo ra các dự đoán. Mạng nơ-ron này được chia thành nhiều lớp và sử dụng kết nối tích chập để trích xuất đặc trưng từ ảnh. Sau đó, thông qua các lớp kết nối đầy đủ, YOLO dự đoán các hộp giới hạn và xác suất của các lớp đối tượng trong các hộp đó. [1] YOLO là một phương pháp đơn giản và hiệu quả để phát hiện đối tượng.
Thay vì sử dụng nhiều mạng chập riêng biệt, YOLO sử dụng một mạng chập duy nhất để dự đoán cùng lúc nhiều hộp giới hạn và xác suất lớp cho các đối tượng (Hình 2.1: Hệ thống phát hiện YOLO [1] 4 Trong quá trình phát triển, YOLO đã có nhưng phiên bản tiếp theo như YOLOv3, YOLOv4, YOLOv5, YOLOv7 và YOLOv8 …, nhằm liên tục cải tiến và nâng cao hiệu suất của phương pháp này. Nhờ nhưng cải tiến này, YOLO đã trở thành một công cụ quan trọng trong lĩnh vực phát hiện đối tượng và tác động lớn đến sự phát triển của trí tuệ nhân tạo.2 Tổng quan về các phiên bản YOLO Trong YOLO, hình ảnh đầu vào được chia thành một lưới có kích thước SxS. Mỗi ô trong lưới đó sẽ đại diện cho tâm của một đối tượng và được sử dụng để phát hiện đối tượng đó. Trong mỗi ô, sẽ có dự đoán về một số hộp giới hạn (B) và điểm tin cậy tương ứng.
Nhưng điểm tin cậy này thể hiện xác suất có một vật thể nằm trong hộp và độ chính xác của dự đoán. Mỗi hộp giới hạn sẽ chứa 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 một điểm tin cậy.2: Hình ảnh đầu vào chia thành lưới SxS [2] Mô hình này sử dụng một kiến trúc mạng với 24 lớp tích chập và hai lớp kết nối đầy đủ. Lớp tích chập được dùng để trích xuất đặc trưng, trong khi lớp kết nối đầy đủ được sử dụng để dự đoán vị trí và xác suất của các hộp giới hạn. Trong quá trình, ảnh đầu vào được chia thành một lưới có kích thước S x S, như được mô tả trong Hình 2.
Mỗi ô trong lưới chứa hai hộp giới hạn và độ tin cậy tương ứng. Điều này cho phép phát hiện tối đa hai đối tượng trong một ô. Nếu một đối tượng mở rộng 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ác hộp giới hạn chứa đối tượng 5 và có giá trị tin cậy khác 0.
Các hộp giới hạn lân cận cũng 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. [3] Phiên bản YOLO-v2 được giới thiệu vào năm 2016 bởi Joseph Redmon. Mục tiêu của phiên bản này là cải thiện hiệu suất của YOLO gốc mà vẫn giư được tốc độ nhanh. Đã có một số cải tiến được thực hiện bằng cách áp dụng các kỹ thuật khác nhau.
Trong phiên bản YOLO-v2, có sự thay đổi kiến trúc 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. Trong quá trình đào tạo, YOLO-v2 sử dụng kiến trúc VGG-16 và GoogleNet [4]. Tuy nhiên, phiên bản này gặp khó khăn trong việc phát hiện các vật thể nhỏ hơn. Để giải quyết vấn đề này, phiên bản đã áp dụng kiến trúc ResNet, với mục tiêu chính là đối phó với hiện tượng biến mất độ dốc bằng cách sử dụng kết nối bỏ qua để truyền thông tin, như được mô tả trong Hình 2.3: Cấu hình bỏ qua kết nối [4] YOLO-v3 là một phiên bản kết hợp các khía cạnh của YOLO-v2, Darknet-53 và khái niệm ResNet về mạng dư.
Kiến trúc này giúp duy trì các đặc điểm chi tiết 6 bằng cách truyền độ dốc từ các lớp nông đến các lớp sâu hơn. Để trích xuất đặc điểm, YOLO-v3 sử dụng 53 lớp có sẵn trong Darknet-53 và thêm vào một tập hợp 53 lớp bổ sung, tổng cộng là 106 lớp tích chập [4]. Ngoài ra, YOLO-v3 hỗ trợ phát hiện đa quy mô bằng cách tạo ra dự đoán ở ba quy mô chi tiết khác nhau, từ đó cải thiện hiệu suất và khả năng phát hiện các đối tượng nhỏ hơn. YOLO-v4 là kết quả của quá trình tinh chỉnh và cải tiến các kỹ thuật phát hiện đối tượng, nhằm tạo ra một trình phát hiện đối tượng nhẹ và hoạt động thời gian thực.
Trong YOLO-v4, sự tập trung vào việc phát hiện đối tượng đóng vai trò quan trọng trong việc trích xuất các đặc trưng chất lượng. Ba kiến trúc đã được thử nghiệm: CSPResNext-50, CSPDarknet-53 và EfficientNet-B3 [4], với mục tiêu giải quyết vấn đề biến mất độ dốc và tối ưu hóa truyền thông tin đặc trưng. Trong YOLOv4, CSPDarknet-53 được sử dụng làm kiến trúc chính. Để tổng hợp các đặc trưng, đã tích hợp một số kỹ thuật cổ điển bao gồm Mạng Kim tự tháp Đặc trưng (FPN) và Mạng Tổng hợp Đường dẫn (PANet), như được mô tả trong Hình 2.
Trong số các kỹ thuật này, PANet được chọn làm công cụ tổng hợp đặc trưng chính. Để tăng cường khả năng nhận diện và phân tách các đặc trưng quan trọng, tác giả đã giới thiệu khối SPP (Spatial Pyramid Pooling) sau khối CSPDarknet-53. Khối SPP giúp 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.4: (a) PAN gốc, (b) PAN sửa đổi. [4] Trong YOLOv4, kiến trúc chính đã được thay đổi thành CSPDarknet-53, và kiến trúc này đã được thay thế bằng PyTorch trong phiên bản YOLOv5.
Lý do cho 7 việc thay đổi này là 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ỏ hơn do nhưng thách thức về cấu hình. Trong YOLOv5, có năm hộp neo được điều chỉnh chặt chẽ dựa trên tập dư liệu COCO và chúng được triển khai như là hộp neo mặc định. YOLOv5 có nhiều biến thể khác nhau, được mô tả trong Bảng 2.1: So sánh biến thể nội bộ YOLO-v5.7B YOLO-v6 đã được phát triển với một loạt các biến thể khác nhau để đáp ứng nhu cầu đa dạng trong các ứng dụng công nghiệp. YOLO-v6-nano là phiên bản nhanh nhất và có số lượng tham số ít nhất, nhằm tối ưu hiệu suất trong các tình huống đòi hỏi xử lý nhanh.
Trong khi đó, YOLO-v6-large mang lại độ chính xác cao hơn nhưng đánh đổi bằng việc giảm tốc độ xử lý, như ta thấy trong Bảng 2.2: So sánh biến thể YOLO-v6.95 Mô hình FPS Tesla T4 Tham số (M) (COCO- val) YOLOv6N 35.5 YOLO-v6 đã được cải tiến với các tính năng mới để cải thiện hiệu suất và tăng tốc độ xử lý. Đầu tiên, nó loại bỏ điểm neo, không giống như các phiên bản trước đó, dẫn đến tăng tốc độ xử lý lên đến 51% so với các phương pháp sử dụng điểm neo. Thay đổi tiếp theo là sử dụng xương sống EfficientRep và Rep-Cổ PAN, cho phép phần đầu tách riêng tính năng và cải thiện hiệu suất. Ngoài ra, YOLO-v6 sử dụng hai chức năng tổn thất, bao gồm Mất biến thể (VFL) và mất tiêu điểm phân phối (DFL), cùng với SIoU/GIoU để cải thiện quá trình học tập và hồi quy.
Cuối cùng, YOLO-v6 xử lý việc phân phối các vị trí hộp dưới dạng phân phối xác suất rời rạc, đặc biệt hiệu quả khi xử lý ranh giới chân lý trên mặt đất mờ. Tất cả nhưng cải tiến này đã đóng góp vào hiệu suất và khả năng của YOLO-v6 trong việc phát hiện đối tượng. Trên cơ sở nghiên cứu về hiệu quả của mạng, YOLO-v7 đã được phát triển dựa trên nhưng tiến bộ đó để tạo ra một phiên bản mới. Thiết kế E-ELAN của nó được xác định dựa trên việc phân tích các yếu tố ảnh hưởng đến độ chính xác và tốc độ, như chi phí truy cập bộ nhớ, tỷ lệ kênh đầu vào/đầu ra và đường dẫn gradient [3].
Một cơ chế chia tỷ lệ kết hợp cũng được áp dụng để đảm bảo việc chia tỷ lệ giưa chiều rộng và chiều sâu trong mạng dựa trên kết nối, từ đó bảo đảm kiến trúc mạng tối ưu khi mở rộng quy mô cho các kích thước khác nhau một cách nhất quán.5: Chia tỷ lệ hỗn hợp YOLO-v7 [4] 9 So sánh biến thể trong YOLO-v7, nhìn vào Bảng 2.3, chúng ta có thể thấy rõ sự khác biệt đáng kể về hiệu suất giưa YOLO-v7-tiny và YOLO-v7-D6, đặc biệt là trong việc tính toán phức tạp.3: So sánh biến thể của YOLO-v7 [4] Kích thước Mô hình mAP (@50) Tham số (M) FLOPs (Pixels) YOLOv7-tiny 640 52.8G Ultralytics đã giới thiệu phiên bản mới nhất của dòng YOLO, được gọi là YOLO-v8.6 cho thấy tất cả các phiên bản YOLO-v8 đều cung cấp thông lượng tốt hơn so với YOLO-v5 và YOLO-v6, với cùng số lượng tham số, khi được đào tạo trên hình ảnh có độ phân giải 640 [4]. Mục tiêu của YOLOv8 là cải cách kiến trúc và tối ưu hiệu suất phần cứng.