Chương 1: Tổng quan: Đưa ra tình hình hiện tại và nêu bật tầm quan trọng và sự cấp thiết của đề tài. Giải thích nguyên do chọn đề tài và đề tài này được ứng dụng như thế nào trong thực tiễn. Chương 2: Cơ sở lý thuyết: Trình bày giới thiệu các khái niệm và lý thuyết cơ bản được áp dụng trong đề tài. Chương 3: Yolov8 và thư viện OpenCV, Pyzbar: Trình bày tổng quan về khái niệm, đặc điểm, tính năng và cách vận hành của Yolov8, cũng như giới thiệu chung về thư viện OpenCV và Pyzbar và cách kết hợp với nhau.
16 Chương 4: Thiết kế hệ thống: Phác thảo sơ đồ khối của hệ thống, chi tiết thiết kế từng khối, lựa chọn linh kiện, tính toán cần thiết, xây dựng lưu đồ giải thuật và đề xuất phương pháp vận hành hệ thống từ những tìm hiểu lý thuyết trước đó. Chương 5: Kết quả: Trình bày kết quả thu được, triển khai phần cứng thực tế, đánh giá tính ổn định của hệ thống và chỉ ra những hạn chế còn tồn tại. Chương 6: Kết luận và hướng phát triển: Trình bày các kết quả thu được và đưa ra dự kiến phát triển đề tài thời gian tới. 17 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.
Các công nghệ liên quan 2. Nhận dạng hình ảnh Nhận dạng hình ảnh là một lĩnh vực của trí tuệ nhân tạo (AI) cho phép máy tính "nhìn" và hiểu được nội dung của hình ảnh. Các thuật toán nhận dạng hình ảnh có thể phân tích hình ảnh và xác định các đối tượng, cảnh vật, khuôn mặt, v. trong hình ảnh.
Khái niệm Xử lý ảnh là việc áp dụng các kỹ thuật và phương pháp để phân tích, chuyển đổi và cải thiện chất lượng hình ảnh. Quá trình này thường nhằm trích xuất thông tin quan trọng từ hình ảnh hoặc nâng cao hình ảnh để đáp ứng các mục đích cụ thể.[1] Lĩnh vực xử lý ảnh bao gồm nhiều khía cạnh khác nhau, nhưng có thể được chia thành bốn lĩnh vực chính như hình 2.1: tạo lập ảnh, biểu diễn, phân tích và quản lý. Các lĩnh vực nghiên cứu chính trong xử lý ảnh số 18 - Tạo lập ảnh: bao gồm quá trình từ thu nhận hình ảnh đến tạo ra một biểu diễn số của ảnh dưới dạng ma trận. - Hiển thị: đòi hỏi các phương pháp xử lý trên ma trận sao cho hiệu suất là tối ưu.
- Phân tích: sử dụng các kỹ thuật và công cụ để trích xuất thông tin từ hình ảnh. Quá trình này bao gồm nhận diện các đặc điểm, đối tượng, hoặc mẫu trong ảnh và hiểu nội dung của chúng. - Quản lý: bao gồm các kỹ thuật lưu trữ, truyền thông, phục hồi và truy nhập dữ liệu hiệu quả. Trong lĩnh vực y học, việc lấy thông tin hình ảnh từ xa cũng được coi là một phần của quản lý hình ảnh.
Các vấn đề trong xử lý ảnh Điểm ảnh: Đơn vị cơ bản nhất của ảnh số là pixel, mỗi pixel chứa thông tin về màu sắc và độ sáng tại một vị trí cụ thể trên ảnh, được xác định bằng tọa độ (x, y). Độ phân giải của ảnh tăng khi có nhiều pixel hơn, từ đó chứa nhiều thông tin hơn.[1] Ảnh số: tập hợp từ vô số điểm ảnh, còn gọi là pixel, mỗi pixel biểu diễn một màu sắc hoặc độ sáng tại một vị trí cụ thể trên ảnh. Các pixel có thể được xem như các chấm nhỏ trên một tấm ảnh màu. Ảnh số được biểu diễn dưới dạng ma trận hai chiều, trong đó giá trị của mỗi pixel đại diện cho độ sáng (trong ảnh đen trắng) hoặc màu sắc (trong ảnh màu).
Phân loại ảnh: có hai dạng chính của ảnh số: ảnh màu và ảnh đen trắng (hay ảnh xám). Trong ảnh màu, mỗi pixel có thể mang các giá trị màu sắc khác nhau, trong khi ảnh đen trắng được tạo thành từ các pixel có giá trị mức xám khác nhau. Biểu diễn ảnh: là cách thức mà một hình ảnh được lưu trữ và xử lý trong máy tính. Có nhiều cách khác nhau để biểu diễn ảnh, mỗi cách có ưu nhược điểm riêng.
Dưới đây là một số cách biểu diễn ảnh phổ biến: - Biểu diễn ảnh pixel: Đây là cách biểu diễn ảnh đơn giản nhất. Mỗi pixel trong ảnh được biểu diễn bằng một giá trị số, thường là từ 0 đến 255. Giá trị này thể hiện độ sáng của pixel, với 0 là màu đen và 255 là màu trắng. - Biểu diễn ảnh vector: Biểu diễn ảnh vector sử dụng các đường thẳng và đường cong để biểu diễn các đối tượng trong ảnh.
Mỗi đường được xác định bởi một tập hợp các điểm và một màu sắc. 19 - Biểu diễn ảnh bitmap: Biểu diễn ảnh bitmap là sự kết hợp giữa biểu diễn ảnh pixel và biểu diễn ảnh vector. Mỗi pixel trong ảnh được biểu diễn bằng một giá trị số, nhưng giá trị này có thể tham chiếu đến một bảng màu để xác định màu sắc của pixel. Phân vùng ảnh: là một phần quan trọng trong quá trình xử lý ảnh, nó chia ảnh đầu vào thành các vùng có đặc tính tương tự dựa trên biên hoặc các vùng liên thông.
Quá trình này hỗ trợ việc biểu diễn, phân tích và nhận dạng các đối tượng trong ảnh. Khái niệm YOLO là một thuật toán nhận dạng đối tượng được phát triển bởi Joseph Redmon, Santosh Divvala, Ross Girshick và Ali Farhadi vào năm 2015. YOLO là một thuật toán nhận dạng đối tượng một giai đoạn, có nghĩa là nó chỉ cần một lần quét qua hình ảnh để dự đoán các đối tượng và vị trí của chúng. Điều này khiến YOLO trở thành một thuật toán nhận dạng đối tượng nhanh và hiệu quả.[5] Kiến trúc của YOLO bao gồm một mạng nơ-ron tích chập (CNN) được chia thành hai phần: - Phần trích xuất đặc trưng: Phần này sử dụng mạng nơ-ron VGG-16 để trích xuất các đặc trưng từ hình ảnh.
- Phần dự đoán: Phần này sử dụng các lớp fully-connected để dự đoán các đối tượng và vị trí của chúng. Đặc điểm - Độ chính xác cao và tốc độ nhanh: YOLO có khả năng đưa ra các dự đoán đồng thời về các đối tượng trong hình ảnh chỉ trong một lần chạy mô hình. Điều này giúp YOLO vượt trội về tốc độ so với các phương pháp truyền thống. - Sử dụng mạng nơ-ron tích chập (CNNs): YOLO sử dụng mạng nơ-ron tích chập để học và trích xuất đặc trưng từ hình ảnh, giúp cho việc phát hiện đối tượng trở nên hiệu quả và chính xác hơn.
- Phân cấp dự đoán: YOLO chia hình ảnh thành một lưới các ô (grid), và mỗi ô sẽ dự 20 đoán các bounding box và xác suất của các đối tượng trong ô đó. Quá trình này giúp giảm thiểu số lượng dự đoán sai lệch. - Học từ dữ liệu lớn: Mô hình YOLO được huấn luyện trên các bộ dữ liệu lớn, từ đó học được nhiều đặc điểm của các đối tượng và có khả năng tổng quát hóa tốt trên các tình huống thực tế. - Hỗ trợ đa lớp: YOLO có thể phát hiện nhiều lớp đối tượng khác nhau trong cùng một hình ảnh, từ người đi bộ đến các phương tiện giao thông và vật dụng.
Đánh giá hiệu suất a. Union (IoU) IoU là một chỉ số phổ biến được sử dụng để đánh giá hiệu suất của các thuật toán phát hiện đối tượng. Nó đo đạc mức độ trùng lắp giữa hộp giới hạn dự đoán (P) và hộp giới hạn thực tế (G). Giá trị IoU được tính bằng tỉ lệ diện tích của phần giao giữa P và G chia cho diện tích của phần hợp của chúng.
IoU có giá trị dao động từ 0 đến 1, trong đó 0 biểu thị không có sự trùng lắp nào và 1 biểu thị sự khớp hoàn hảo giữa hai hộp giới hạn. Giá trị IoU càng cao, cho thấy khả năng phát hiện đối tượng càng chính xác. Tính toán IoU. Độ chính xác trung bình (AP) Độ chính xác trung bình (AP) là một chỉ số quan trọng trong đánh giá các thuật toán phát hiện đối tượng, được tính bằng cách tổng hợp đường cong Precision-Recall tại các ngưỡng phát hiện khác nhau.
Precision đo lường tỷ lệ dự đoán đúng so với tổng số dự đoán dương tính, trong khi Recall đo tỷ lệ đối tượng thực tế được dự đoán đúng so với 21 tổng số đối tượng thực tế có trong hình ảnh. AP tính trung bình các giá trị precision trên các mức recall từ 0 đến 1. Điểm AP dao động từ 0 đến 1, với giá trị càng cao cho thấy hiệu suất càng tốt. Trên thực tế, độ chính xác trung bình trung bình mAP thường được tính bằng cách lấy trung bình của các giá trị AP của các lớp đối tượng khác nhau.
Hiểu rõ các chỉ số này giúp phân tích hiệu suất của các mô hình như YOLO và đưa ra những quyết định thông minh về việc áp dụng chúng trong các bối cảnh thực tế. YOLO đã đổi mới trong lĩnh vực phát hiện đối tượng bằng cách thực hiện cả hai nhiệm vụ phát hiện và phân loại trong một lần duy nhất, mang lại tốc độ và hiệu quả ấn tượng so với các phương pháp truyền thống. Kiến trúc YOLO Hình 2. Lớp tích chập Hình 2.
Cấu trúc YOLO 22 Thuật toán YOLO sử dụng một mạng nơ-ron tích chập duy nhất để chia hình ảnh thành một lưới. Mỗi ô trong lưới dự đoán một số hộp giới hạn. Đồng thời với mỗi hộp giới hạn, YOLO cũng dự đoán xác suất của lớp đối tượng, biểu thị khả năng có sự hiện diện của một đối tượng cụ thể trong hộp đó. Quy trình nhận dạng hộp giới hạn Quá trình nhận dạng khung giới hạn trong YOLO gồm các bước sau: - Tạo lưới: Hình ảnh được chia thành lưới kích thước SxS.
Mỗi ô trong lưới có nhiệm vụ dự đoán một đối tượng được nằm trong tâm ô đó. - Dự đoán hộp bao: Mỗi ô trong lưới tạo ra B hộp bao và một giá trị tin cậy cho từng hộp. Giá trị tin cậy này biểu thị mức độ tin tưởng của mô hình rằng hộp bao chứa một đối tượng và độ chính xác của dự đoán cho hộp đó. - Dự đoán xác suất lớp: Ngoài ra, mỗi ô lưới cũng dự đoán xác suất của các lớp đối tượng có điều kiện C (mỗi lớp một xác suất cho các đối tượng có thể).
Các xác suất này phụ thuộc vào việc có một đối tượng nằm trong hộp.3 Sự phát triển của YOLO Hình 2. Dòng thời gian phát triển YOLO 23 YOLOv1: Thuật toán phát hiện đối tượng thời gian thực đầu tiên Mô hình YOLO ban đầu áp dụng phương pháp hồi quy để giải quyết vấn đề phát hiện đối tượng, điều này đánh dấu sự khác biệt lớn so với phương pháp phân loại truyền thống.