Chương 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ THEO VẾT ĐỐI TƯỢNG TRONG CAMERA 1. Cơ sở lý thuyết của xử lý ảnh và thị giác máy Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy tính, là quá trình biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của người sử dụng. Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch các thông tin hình ảnh của ảnh. Cũng như xử lý dữ liệu bằng đồ họa, xử lý ảnh số là một lĩnh vực của tin học ứng dụng.
Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình. Xử lý ảnh số dựa trên các khái niệm và thuật toán trong lĩnh vực thị giác máy tính và xử lý tín hiệu. Dưới đây là những khác niệm cơ bản và cơ sở lý thuyết liên quan đến xử lý ảnh. - Đại diện số hóa ảnh: Ảnh được biểu diễn bằng các giá trị số trên một màn hình 2 chiều.
Mỗi điểm ảnh trong ma trận được gọi là pixel và có thể có các giá trị đại diện cho độ xám (ảnh đen trắng) hoặc các giá trị màu (ảnh màu). - Xử lý và biến đổi ảnh: Các biến cho phép thay đổi ảnh như xoay, phóng to/thu nhỏ, cắt ghép, thay đổi màu sắc, làm mờ, làm nét và chỉnh sửa ảnh khác được thực hiện bằng cách áp dụng các phép toán học toán và thuật toán trên các pixel giá trị. - Lọc và biến đổi tín hiệu: Xử lý ảnh thông thường sử dụng các phép lọc để giảm nhiễu, tăng cường độ tương phản, hoặc tìm kiếm các đặc trưng đặc biệt. Các bộ lọc thông thường bao gồm bộ lọc trung bình, bộ lọc Gauss, bộ lọc trung vị và bộ lọc Laplace.
5 - Biểu diễn và biến đổi Fourier: Biến đổi Fourier được sử dụng để phân tích tín hiệu trong tần số. Trong xử lý ảnh, biến đổi Fourier thường được áp dụng để xử lý và loại bỏ các thành phần tần số không mong muốn, chẳng hạn như nhiễu hoặc độ nét. - Nhận dạng và phân loại: Xử lý ảnh cũng liên quan đến việc nhận dạng và phân loại các đối tượng trong ảnh. Các phương pháp như phân đoạn ảnh, phát hiện đối tượng, trích xuất đặc trưng và học máy được sử dụng để thực hiện nhiệm vụ này.
- Mạng nơ-ron và học sâu: Trong những năm gần đây, các mô hình mạng nơ-ron như mạng nơ-ron tích chập (CNN) đã chứng tỏ hiệu quả tốt trong xử lý ảnh. Học sâu (deep learning) là một lĩnh vực quan trọng trong xử lý ảnh, cho phép mô hình tự học các đặc trưng phức tạp từ dữ liệu và thực hiện nhiều nhiệm vụ như phân loại, phát hiện và phân đoạn ảnh. Thị giác máy tính là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng hình ảnh. Nói chung chúng là dữ liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tượng.
Thị giác máy tính là một môn học khoa học liên quan đến lý thuyết đằng sau các hệ thống nhân tạo có trích xuất các thông tin từ các hình ảnh. Dữ liệu hình ảnh có thể nhiều dạng, chẳng hạn như chuỗi video, các cảnh từ đa camera, hay dữ liệu đa chiều từ máy quét y học. Bài toán phát hiện và theo vết đối tượng Bài toán phát hiện và theo vết đối tượng (object detection and tracking) trong thị giác máy tính là quá trình tìm ra và xác định vị trí, định dạng và đối tượng của các đối tượng cụ thể trong một chuỗi hình ảnh hoặc video, sau đó theo dõi và theo vết chúng qua các khung hình. Bài toán phát hiện đối tượng liên quan đến việc tìm kiếm và xác định 6 vị trí các đối tượng cụ thể trong ảnh hoặc video.
Các thuật toán phát hiện đối tượng thường sử dụng các mô hình học máy và học sâu để nhận biết và phân loại các đối tượng dựa trên các đặc trưng của chúng. Các phương pháp phổ biến bao gồm R-CNN, Fast R-CNN, Faster R-CNN, YOLO (You Only Look Once), SSD (Single Shot MultiBox Detector), và RetinaNet. Các thuật toán này xử lý từng vùng ảnh hoặc nhóm vùng ảnh để xác định và phân loại đối tượng. Sau khi phát hiện được đối tượng trong mỗi khung hình, bài toán theo vết đối tượng nhằm xác định và theo dõi vị trí của các đối tượng này qua các khung hình tiếp theo.
Phương pháp theo vết đối tượng có thể dựa trên việc xác định các đặc trưng của đối tượng (như màu sắc, hình dạng, hoặc đặc trưng di chuyển) và sử dụng các thuật toán như Kalman Filter, Particle Filter, hoặc các mô hình Deep SORT (Deep Siamese Networks for Object Tracking) để theo dõi và đánh dấu các đối tượng qua các khung hình. Tổng quát, bài toán phát hiện và theo vết đối tượng là một sự kết hợp của các thuật toán phát hiện đối tượng và thuật toán theo vết. Nó có ứng dụng rộng trong nhiều lĩnh vực như giám sát an ninh, xe tự hành, theo dõi đối tượng trong video, nhận dạng gương mặt và nhiều ứng dụng khác. Các cách tiếp cận trong phát hiện và theo vết đối tượng 1.
Phát hiện đối tượng (Object Detection). + Chuẩn bị dữ liệu huấn luyện: Thu thập và chuẩn bị dữ liệu huấn luyện gồm ảnh hoặc video có đối tượng cần phát hiện, đồng thời gán nhãn vị trí và loại đối tượng cho từng hình ảnh. + Xây dựng mô hình: Sử dụng các mô hình học máy và học sâu để huấn luyện mô hình phát hiện đối tượng. Các mô hình như R-CNN, Fast R- CNN, Faster R-CNN, YOLO, SSD, RetinaNet được sử dụng phổ biến.
7 + Phát hiện đối tượng: Áp dụng mô hình đã huấn luyện lên ảnh hoặc video để xác định vị trí và loại đối tượng. Các kết quả phát hiện thường được đưa ra dưới dạng hình bounding boxes và các điểm đặc trưng của đối tượng. Theo vết đối tượng (Object Tracking) + Xác định đặc trưng: Xác định các đặc trưng của đối tượng cần theo vết như màu sắc, hình dạng, đặc trưng di chuyển, hoặc các đặc trưng học sâu (như các vector đặc trưng). Khởi tạo vết: Trong khung hình đầu tiên, xác định và đánh dấu các vùng chứa đối tượng.
Các thuật toán như Kalman Filter hoặc Particle Filter thường được sử dụng để khởi tạo vết. + Cập nhật và theo dõi: Trong các khung hình tiếp theo, sử dụng các thuật toán theo dõi để cập nhật và theo vết vị trí của đối tượng. Các thuật toán như Kalman Filter, Particle Filter, hoặc các mô hình Deep SORT thực hiện công việc này bằng cách dự đoán và điều chỉnh vị trí vật thể theo thời gian. + Xử lý các trường hợp đặc biệt: Xử lý các trường hợp như mất vết, đối tượng chồng chéo, thay đổi môi trường ánh sáng hoặc hình dạng của đối tượng để duy trì theo vết chính xác.
Kết hợp phát hiện và theo vết đối tượng + Kết hợp bước phát hiện và theo vết: Khi thực hiện phát hiện và theo vết đối tượng trên video, thông thường sử dụng phát hiện đối tượng trong các khung hình đầu tiên và sau đó sử dụng theo vết để liên tục cập nhật vị trí của đối tượng trong các khung hình tiếp theo. + Tối ưu và đánh giá: Để cải thiện hiệu suất và chính xác, có thể áp dụng các kỹ thuật tối ưu hóa như Non-maximum Suppression (NMS) để loại bỏ các bounding boxes trùng lặp và đánh giá kết quả theo các độ đo như Precision, Recall, F1-score. 8 Ngoài ra phát hiện và theo dõi đối tượng là những nhiệm vụ quan trọng trong thị giác máy tính liên quan đến việc xác định và định vị các đối tượng trong hình ảnh hoặc video và sau đó theo dõi chuyển động của chúng trên các khung hình. Nhiều cách tiếp cận khác nhau đã được phát triển trong nhiều năm để giải quyết các nhiệm vụ này, từ các kỹ thuật thị giác máy tính cổ điển đến các phương pháp dựa trên học sâu.
Dưới đây là một số cách tiếp cận thường được sử dụng trong phát hiện và theo dõi đối tượng. Kỹ thuật thị giác máy tính cổ điển Haar cascades: Phương pháp này sử dụng các tính năng giống như Haar và bộ phân loại theo tầng để phát hiện các đối tượng dựa trên các mẫu cường độ pixel. Histogram of Oriented Gradients (HOG): HOG phân tích sự phân bố của các hướng chuyển màu trong một hình ảnh để phát hiện các đối tượng. Scale-Invariant Feature Transform (SIFT): SIFT phát hiện và mô tả các tính năng cục bộ trong một hình ảnh, có thể được sử dụng để đối sánh và theo dõi đối tượng.
Phương pháp tiếp cận dựa trên deep learning Region-based Convolutional Neural Networks (R-CNN): R-CNN thực hiện phát hiện đối tượng bằng cách tạo các đề xuất khu vực và phân loại chúng bằng CNN. You Only Look Once (YOLO): YOLO chia hình ảnh thành lưới và dự đoán các hộp giới hạn và xác suất lớp trực tiếp từ các ô lưới. Single Shot MultiBox Detector (SSD): Tương tự như YOLO, SSD cũng dự đoán các hộp giới hạn đối tượng và xác suất lớp ở nhiều tỷ lệ. Phương pháp theo dõi Correlation Filters: Bộ lọc tương quan sử dụng khái niệm khớp mẫu để 9 theo dõi các đối tượng trên các khung, sử dụng các kỹ thuật như bộ lọc tương quan nhân hóa (KCF) và bộ lọc tương quan phân biệt (DCF).
Kalman Filters: Bộ lọc Kalman được sử dụng để ước tính trạng thái của một đối tượng và dự đoán vị trí tương lai của nó bằng cách kết hợp các mô hình chuyển động và phép đo từ các khung hình trước đó. Siamese Networks: Mạng Siamese học cách liên kết các đối tượng mục tiêu trên các khung bằng cách so sánh các nhúng tính năng được trích xuất từ mẫu mục tiêu và vùng tìm kiếm. Phương pháp lai Deep SORT: Deep SORT kết hợp khả năng phát hiện đối tượng dựa trên học sâu với thuật toán SORT (Theo dõi trực tuyến và thời gian thực đơn giản) để đạt được cả khả năng phát hiện chính xác và khả năng theo dõi mạnh mẽ. Mask R-CNN: Mặt nạ R-CNN mở rộng R-CNN bằng cách thêm một nhánh để dự đoán mặt nạ đối tượng bên cạnh các hộp giới hạn và nhãn lớp, cho phép phân đoạn và theo dõi phiên bản.
Phương pháp tiếp cận dựa trên tính năng Speeded-Up Robust Features (SURF): SURF phát hiện và mô tả các tính năng cục bộ bằng cách sử dụng kết hợp các thuật toán bất biến tỷ lệ và xoay.