1. Bài toán nhận dạng vật thể
1.1. Nhận dạng một hay nhiều vật thể - Single or Multiple Object Detection
1.1.1. Nhận dạng chỉ một vật thể duy nhất
1.1.1.1. Rõ ràng
1.1.1.2. Môi trường phức tạp
1.1.1.3. Xác định rõ trạng thái vật thể
1.1.2. Nhận dạng nhiều vật thể
1.1.2.1. Nhiều loại hoặc nhiều vật thể trong một môi trường
1.1.2.2. Nhiều vật thể chồng lấn nhau
1.1.2.3. Kích thước khác nhau
1.1.2.4. Môi trường phức tạp như nhiễu và độ sáng
1.2. Lớp đối tượng - Class of Objects
1.2.1. Một lớp đối tượng cố định và cụ thể: mặt người, mặt mèo, ...
1.2.2. Nhiều Lớp Đối Tượng
1.2.3. Đối tượng chồng lấn
1.2.4. Đối tượng phân cấp
1.3. Hộp bao định dạng đối tượng - Bounding box
1.3.1. Bounding box chính xác và ngược lại
1.3.2. Nhiều bounding box trùng lặp
1.3.3. Bounding box của nhiều đối tượng che lấp nhau
1.3.4. Kích thước bounding box khác nhau
1.3.5. Đối tượng bounding box bị nhiễu
2. Kĩ thuật nhận dạng vật thể
2.1. Sliding windows
2.1.1. Dịch chuyển các mẫu thử qua từng pixel để xác định hình ảnh tương đồng nhất
2.1.2. Thường mẫu thử có tỉ lệ 24 x 24
2.2. Binary Classifier
2.2.1. Đánh giá sự tương đồng giữa mẫu thử và hình ảnh cần nhận dạng
2.2.2. Kết quả đánh giá được tính điểm nhằm xác định hình ảnh có phải vật thể hay không theo số điểm đã có
2.3. Window scaling
2.3.1. Tăng, giảm hoặc thay đổi góc nhìn của mẫu để tương đồng với vật thể cần nhận dạng nhằm tránh bỏ qua vật thể ấy.
3. Đặc trưng Harr-like
3.1. Các đặc trưng cơ bản để xác định khuôn mặt người
3.2. Tính toán đặc trưng Harr-like dựa trên số lượng chênh lệch giữa các vùng có cường độ sáng khác nhau
3.3. Edge Feature: Phát hiện ranh giới giữa vùng sáng và vùng tối. Line Feature: Phát hiện các dải sáng và tối xen kẽ. Rectangle Feature: Phát hiện cấu trúc hình học phức tạp hơn (ví dụ: mũi hoặc mắt trong khuôn mặt).
3.4. Ưu điểm
3.4.1. Tính toán đơn giản nhờ Integral Image, giúp nhanh chóng tính tổng giá trị pixel trong một vùng bất kỳ.
3.4.2. Rất hiệu quả trong việc phát hiện các đối tượng có cấu trúc rõ ràng, như khuôn mặt.
3.5. Nhược điểm
3.5.1. Hiệu suất giảm khi đối tượng có sự biến đổi lớn về ánh sáng, góc nhìn, hoặc kích thước.
3.5.2. Cần rất nhiều đặc trưng để đạt được độ chính xác cao, do đó phụ thuộc vào thuật toán huấn luyện tốt (ví dụ: AdaBoost).
4. Thuật toán Adaboost
4.1. Thuật toán cải thiện hiệu suất của các mô hình yếu (weak learners), thông qua việc kết hợp chúng lại với nhau để tạo ra một mô hình mạnh hơn.
4.2. Nguyên lí hoạt động
4.2.1. Kết hợp nhiều mô hình yếu bằng cách điều chỉnh trọng số của các mẫu dữ liệu trong quá trình huấn luyện.
4.2.2. Các mẫu mà các mô hình yếu phân loại sai sẽ được tăng trọng số, còn các mẫu phân loại đúng thì giảm trọng số.
4.2.3. Giúp mô hình tiếp tục cải thiện và tập trung vào các mẫu khó phân loại.
4.3. Ưu điểm
4.3.1. Hiệu quả cao khi kết hợp nhiều mô hình yếu.
4.3.2. Hoạt động tốt với dữ liệu không cân bằng (tỷ lệ giữa các lớp không đều).
4.3.3. Đơn giản và dễ dàng triển khai.
4.4. Nhược điểm
4.4.1. Dễ bị ảnh hưởng bởi nhiễu trong dữ liệu vì các mẫu nhiễu có thể bị tăng trọng số quá mức.
4.4.2. Cần nhiều mô hình yếu, dẫn đến chi phí tính toán cao.
5. Cascade Classifier
5.1. Là một cấu trúc phân loại nhiều giai đoạn có mục tiêu
5.1.1. Loại bỏ các khu vực không có đối tượng (negative regions) một cách nhanh chóng
5.1.2. Giữ lại các khu vực có khả năng chứa đối tượng (positive regions) để xử lý sâu hơn.
5.2. Cách hoạt động
5.2.1. Sử dụng sliding window để quét
5.2.1.1. Mỗi mẫu được kiểm tra qua một chuỗi các bộ phân loại (stages).
5.2.1.2. Nếu mẫu bị loại ở bất kỳ giai đoạn nào, nó sẽ không được xử lý thêm.
5.2.2. Phân loại từng giai đoạn
5.2.2.1. Các giai đoạn đầu sử dụng bộ phân loại đơn giản, ít đặc trưng, để nhanh chóng loại bỏ các khu vực không cần thiết.
5.2.2.2. Các giai đoạn sau sử dụng bộ phân loại phức tạp hơn để đạt độ chính xác cao.
5.2.3. Các trường hợp multiple detections
5.2.3.1. Chỉ 1 khuôn mặt nhưng lại bị chia ra làm nhiều tập con rời rạc
5.2.3.2. Hai bounding box của 2 phát hiện nằm chồng lên nhau
5.3. Đặc điểm
5.3.1. Sử dụng các bộ phân loại yếu (weak classifiers) cho mỗi giai đoạn kết hợp với Adaboost.
5.3.2. Giai đoạn đầu giúp giảm False Negative. Giai đoạn sau giúp giảm False Positive.
5.3.3. Trong Viola-Jones Algorithm có khoảng 38 giai đoạn với tổng cộng 6061 đặc trưng. Trung bình có 10 đặc trưng được đánh giá mỗi mẫu.
5.4. Ưu điểm
5.4.1. Tăng hiệu suất
5.4.2. Tăng độ chính xác
5.4.3. Tăng tốc độ đánh giá
5.5. Nhược điểm
5.5.1. Nếu dữ liệu không đa dạng sẽ khiến False Positive tăng lên
6. Đánh giá và kiểm tra
6.1. Confusion Matrix
6.1.1. Recall = Detection rate = TP/(TP+FN)
6.1.1.1. Dễ xấp xỉ 100% khi tiêu chí xác định quá thấp
6.1.2. Precision = TP/(TP+FP)
6.1.2.1. Dễ xấp xỉ 100% khi tiêu chí đánh giá quá cao