Phát Hiện Khuôn Mặt Trong Ảnh Nhóm thực hiện: Nhóm 4 Face DetectionUsing Haar – Like & AdaBoost Xử lý ảnh... Nội Dung Giới thiệu thư viện đồ họa Open CV Bài toán phát hiện khuôn m
Trang 1Phát Hiện Khuôn Mặt
Trong Ảnh
Nhóm thực hiện: Nhóm 4
Face DetectionUsing Haar – Like & AdaBoost
Xử lý ảnh
Trang 2Nội Dung
Giới thiệu thư viện đồ họa Open CV
Bài toán phát hiện khuôn mặt
Các đặc trưng Haar - Like
Integral Image
AdaBoost
Trang 3Sơ lược về OpenCV
• OpenCV là một thư viện xử lý ảnh mã nguồn mở của Intel
• Có nhiều tác dụng : dò tìm,
theo dõi và phát hiện khuôn
mặt, lọc Kalman
• Chứa các hàm cơ bản để xử lý ảnh và thị giác máy
Trang 4Nội Dung
Giới thiệu thư viện đồ họa Open CV
Bài toán phát hiện khuôn mặt
Các đặc trưng Haar - Like
Integral Image
AdaBoost
Trang 5Bài toán phát hiện khuôn mặt
• Face detection là 1 kĩ thuật để máy tính xác định vị trí, kích
thước của khuôn mặt trong ảnh bất kì
• Face detection có nhiều ứng
dụng trong thực tế: tương tác
giữa người và máy tính, trong các hệ thống giám sát an ninh, phân tích cảm xúc…
Trang 6Khuôn Mặt
Không phải
mặt
Trang 7Dựa trên đặc trưng bất biến
Các phương pháp giải quyết
Phát hiện khuôn
mặt
Dựa trên
tri thức Dựa trên so sánh mẫu
Dựa trên diện mạo
Luật Luật
Luật
Trang 8Hoạt động
Trang 9Nội Dung
Giới thiệu thư viện đồ họa Open CV
Bài toán nhận diện khuôn mặt
Đặc trưng Haar - Like
Integral Image
AdaBoost
Trang 10Đặc trưng Haar - Like
Các đặc trưng Haar - Like
• Nhóm các đặc trưng đường
• Nhóm các đặc trưng cạnh
• Nhóm các đặc trưng xung quanh tâm
Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng
Haar – Like bằng công thức sau:
f(x) = Tổng vùng đen (các mức xám của Pixel)
- Tổng vùng trắng (các mức xám của Pixel)
Trang 11Nội Dung
Giới thiệu thư viện đồ họa Open CV
Bài toán nhận diện khuôn mặt
Đặc trưng Haar - Like
Integral Image
AdaBoost
Trang 13Nội Dung
Giới thiệu thư viện đồ họa Open CV
Bài toán nhận diện khuôn mặt
Đặc trưng Haar - Like
Integral Image
AdaBoost
Trang 14AdaBoost
AdaBoost là một bộ phân loại mạnh phi
tuyến phức dựa trên hướng tiếp cận
boosting được Freund và Schapire đưa ra vào năm 1995
Adaboost cũng hoạt động trên nguyên tắc
kết hợp tuyến tính các bộ phân loại yếu để hình thành một bộ phân loại mạnh
AdaBoost sử dụng thêm khái niệm trọng số
(weight) để đánh dấu các mẫu khó nhận
dạng
Các bộ phân loại yếu sẽ được kết hợp tùy
theo mức độ tốt của chúng để tạo nên các
bộ phân loại mạnh
Trang 15• AdaBoost sẽ kết hợp các bộ phân loại yếu thành bộ phân loại mạnh như sau:
H(x) = sign(a1h1(x) +a2h2(x) + + anhn(x)) (a = alpha)
Với: at >= 0 là hệ số chuẩn hoá cho các bộ phân loại yếu
AdaBoost
Trang 16• Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu
sử dụng các đặc trưng
Haar-like theo mô hình phân tầng
(cascade) như sau:
Trang 17Cấu trúc thác lọc (Cascade)
Stage
Tree Node
Feature
Trang 18Quá trình lọc
Stage 0 Tree 0 Root note
<_>2 7 16 4 -1.</_>
<_>2 9 16 2 2.</_>
Ngưỡn g Không phải mặt Stage 1
Trang 20Các khó khăn
Trang 21Xin chân thành cảm ơn