7. Những nội dung và kết quả nghiên cứu được trong đề tài
2.1. Dò tìm khuôn mặt nhanh theo phương pháp AdaBoost
2.1.1. Giới thiệu
Hơn một thập kỷ qua, có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, ảnh xám, đến ảnh màu như ngày nay. Các nghiên cứu đi từ bài toán đơn giản là ảnh chỉ chứa một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng, cho đến ảnh màu với nhiều khuôn mặt người trong cùng ảnh, khuôn mặt có quay một góc nhỏ, hay bị che khuất một phần, và với ảnh nền của ảnh phức tạp (ảnh chụp ngoài thiên nhiên) nhằm đáp ứng nhu cầu thật sự cần thiết của con người.
Bài toán xác định khuôn mặt người (Face detection) là một kỹ thuật máy tính để xác định các vị trí và các kích thước của khuôn mặt trong ảnh bất kỳ (ảnh kỹ thuật số). Kỹ thuật này nhận biết các đặc trưng khuôn mặt và bỏ qua những thứ khác như: toà nhà, cây cối, cơ thể...
Một số ứng dụng của bài toán xác định khuôn mặt là: hệ thống tương tác giữa người và máy (điều khiển máy tính qua các cử động của khuôn mặt), hệ thống nhận dạng người (giúp cho các cơ quan an ninh quản lý con người), hệ thống quan sát theo dõi, hệ thống quản lý việc ra vào cho các cơ quan và công ty, hệ thống kiểm tra người lái xe có ngủ gật hay không, hệ thống phân tích cảm xúc trên khuôn mặt, và hệ thống nhận dạng khuôn mặt cho các máy ảnh kỹ thuật số...
Hiện nay có rất nhiều phương pháp nhận dạng khuôn mặt người, dựa vào các tính chất của các phương pháp, ta có thể chia ra làm bốn hướng tiếp cận chính như sau: Hướng tiếp cận dựa trên tri thức: mã hoá hiểu biết của con người về các loại khuôn mặt và tạo ra các tập luật để xác định khuôn mặt. Hướng tiếp cận dựa trên đặt tả không thay đổi: mục tiêu các thuật toán tìm ra các đặt trưng mô tả cấu trúc khuôn mặt người (các đặc trưng không thay đổi với tư thế, vị trí đặt thiết bị thu hình, độ sáng tối thay đổi...). Hướng tiếp cận dựa trên so khớp mẫu: dùng các mẫu chuẩn hay các đặc trưng của khuôn mặt người. Hướng tiếp cận dựa trên diện mạo: phương pháp học từ một tập ảnh huấn luyện mẫu để xác định khuôn mặt người.
SVTH: Phan Thanh Ngọc Trang 33/ 103
Chương trình xác định vị trí khuôn mặt người trong bài viết này sử dụng hướng tiếp cận dựa trên mẫu, sử dụng bộ phân loại mạnh AdaBoost là sự kết hợp của các bộ phân loại yếu dựa trên các đặt trưng Haar-like để xác định khuôn mặt. Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80% trên ảnh xám. Mã nguồn được dựa trên thư viện mã nguồn mở OpenCV của Intel để cài đặt.
Thuật toán học máy Adaboost được phát triển thuật toán Boosting, do đó tôi sẽ trình bày một chút về thuật toán Boosting trước khi trình bày về AdaBoost.