Giải pháp nhận dạng khuôn mặt dựa trên giải thuật Adaboost và các đặc trưng Haar-like
BÀI TOÁN NHẬN DẠNG MẶT NGƯỜI
Hệ thống nhận dạng mặt người là một hệ thống khi đưa vào một ảnh hoặc một đoạn video (thông qua các camera giám sát), qua xử lý tính toán, hệ thống xác định được vị trí mặt người và xác định là người nào trong số những người trong kho dữ liệu mà hệ thống đã biết hoặc là đối tượng lạ.
Hình 1. Mô hình tổng quan bài toán nhận diện khuôn mặt
Quá trình phân tích và đưa ra kết quả nhận diện khuôn mặt được thực hiện như trên Hình 1, cụ thể:
- Phát hiện khuôn mặt (Detection): Tìm kiếm khuôn mặt trong ảnh sau đó đánh dấu lại khuôn mặt đó.
- Tiền xử lý (Preprocessing): Tăng cường chất lượng của dữ liệu thô bằng các biện pháp như căn chỉnh kích thước ảnh, cân bằng mức xám,...
- Trích chọn đặc trưng (Feature Extraction): Chỉ lấy các thông tin ổn định và duy nhất, dùng cho việc nhận dạng sau này.
- Đối sánh (Feature Matching): Hệ thống thực hiện so sánh giữa ảnh khuôn mặt đầu vào và mẫu đã lưu trong cơ sở dữ liệu để đưa ra quyết định phù hợp.
GIẢI PHÁP
Như vậy để giải quyết bài toán nhận dạng mặt người, cần phải xử lý 2 công việc. Thứ nhất, là phát hiện được khuôn mặt trong phạm vi dò quét và thứ hai là nhận dạng khuôn mặt đó với cơ sở dữ liệu đã có.
Để giải quyết việc phát hiện khuôn mặt, chúng ta sử dụng giải thuật Adaboost kết hợp với các đặc trưng Haar-like [4]. Có thể hình dung trực quan như sau: để biết một ảnh có phải khuôn mặt không, ta hỏi T người (tương đương với T bộ phân loại yếu xây dựng từ T vòng lặp của boosting - là một giải thuật lặp lại quá trình học của một bộ phân lớp yếu nhiều lần), đánh giá của mỗi người (tương đương với một bộ phân loại yếu) chỉ cần tốt hơn ngẫu nhiên một chút (tỉ lệ sai dưới 50%). Sau đó ta sẽ đánh trọng số cho đánh giá của từng người, người nào có khả năng đánh giá tốt các mẫu khó thì mức độ quan trọng của người đó trong kết luận cuối cùng sẽ cao hơn những người chỉ đánh giá tốt được các mẫu dễ.
Hình 2. Mô hình phân tầng kết hợp các bộ phân loại yếu để xác định khuôn mặt
Hình 3. Các đặc trưng Haar-like cơ bản
Lợi ích của các đặc trưng Haar-like là nó diễn đạt được tri thức về các đối tượng trong ảnh (bởi vì nó biểu diễn mối liên hệ giữa các bộ phận của đối tượng), điều mà bản thân từng điểm ảnh không diễn đạt được. Để tính giá trị các đặc trưng Haar-like, ta tính sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng theo công thức sau:
f(x) = Tổngvùng đen(pixel) - Tổngvùng trắng(pixel)
Chi tiết bài viết Quý độc giả vui lòng tham khảo tại đây.
TÀI LIỆU THAM KHẢO [1]. [Online], “Keras: the Python deep learning API,” https://keras.io/, (accessed on 15.07.2022). [2]. T. Yu and H. Zhu, “Hyper-Parameter Optimization: A Review of Algorithms and Applications,” arXiv:2003.05689 [cs.LG], 12 Mar 2020, https://arxiv. org/abs/2003.05689, (accessed on 15.07.2022). [3]. Phillip Ian Wilson, Dr.John Fernandez, Facial feature detection using haar classifiers 2006. [4]. Ole Helvig Jensen, Implementing the Viola-Jones face detection algorithm, 2008. |
TS. Lê Hải Việt, TS. Nguyễn Huy Trung (Học viện An ninh nhân dân)