NỘI DUNG• Bài toán phát hiện mặt người • Phương pháp phát hiện mặt người dựa trên màu da.. BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI• Nội dung: – Đưa vào một bức ảnh đám đông có 1 hoặc nhiều khuôn m
Trang 1XÂY DỰNG ỨNG DỤNG PHÁT HIỆN MẶT NGƯỜI DỰA TRÊN
Trang 2NỘI DUNG
• Bài toán phát hiện mặt người
• Phương pháp phát hiện mặt người dựa
trên màu da
• Xây dựng ứng dụng phát hiện mặt người.
Trang 3BÀI TOÁN PHÁT HIỆN
MẶT NGƯỜI
Trang 4BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI
• Nội dung:
– Đưa vào một bức ảnh đám đông (có 1 hoặc nhiều khuôn mặt), cần xác định vị trí và kích thước của các khuôn mặt xuất hiện trong ảnh.
Trang 5BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI
Mô hình bài toán
Trang 6BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI
Phát hiện mặt người
Trang 7BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI
• Phương pháp: có nhiều phương pháp và
hướng tiếp cận khác nhau Chia thành 2 nhóm chính:
– Các phương pháp dựa trên học máy:
adaboot, máy vector hỗ trợ (SVM),
– Các phương pháp dựa trên đặc trưng: màu
da, các bộ phận mắt, mũi, miệng,
Trang 8BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI
• Đánh giá phương pháp:
– Một số tiêu chí đánh giá:
– Không có phương pháp hoàn hảo Nó có thể phát hiện tốt trên loại ảnh này, nhưng lại kém trên loại ảnh khác.
– Có phương pháp chỉ phát hiện trên ảnh màu,
có phương pháp chỉ phát hiện trên ảnh xám.
Trang 9PHƯƠNG PHÁP PHÁT HIỆN MẶT NGƯỜI DỰA
TRÊN MÀU DA
Trang 10GIỚI THIỆU PHƯƠNG PHÁP
• Đây là phương pháp phát hiện mặt người
trong ảnh màu
• Phương pháp không đặt ra giả thiết về
hướng, kích thước cũng như số lượng
khuôn mặt trong ảnh
• Phương pháp có tốc độ thực hiện nhanh,
có thể thực hiện trong thời gian thực
Trang 12MÔ HÌNH PHƯƠNG PHÁP
Trang 13PHÁT HIỆN MÀU DA
• Xác định xem điểm nào trong ảnh màu
vào là màu da, điểm nào không Điểm
màu da được gán bằng 1, không phải màu
da gán 0 Kết quả thu được ảnh nhị phân
• Dựa trên 2 tiêu chí:
– Công thức màu da
– Histogram màu da
• 1 điểm trong ảnh được coi là màu da nếu
thỏa mãn cả 2 tiêu chí này
Trang 14PHÁT HIỆN MÀU DA
• Công thức màu da: xây dựng trên hệ màu
YCrCb:
Trang 15PHÁT HIỆN MÀU DA
Sự phân bố các điểm màu da trong không
gian màu YCrCb
Trang 16PHÁT HIỆN MÀU DA
• Dựa trên histogram màu da:
– Tổng hợp histogram trên tập ảnh màu da được chuẩn bị trước.
– Histogram trên nền H,S của hệ màu HSV – Chuẩn hóa histogram – chia chiều cao của các cột cho tổng số điểm để quy chiều cao các cột về [0; 1).
Trang 17PHÁT HIỆN MÀU DA
Một số ảnh màu da được sử dụng trong
tổng hợp histogram
Trang 18PHÁT HIỆN MÀU DA
• Xác định màu da dựa trên histogram: với
mỗi điểm ảnh trong ảnh vào:
– Chuyển sang hệ màu HSV
– Xác định giá trị của cột (H,S) đó trong
histogram Nếu lớn hơn 1 giá trị ngưỡng thì coi là màu da.
Trang 19PHÁT HIỆN MÀU DA
Ví dụ minh họa
Trang 20
LỌC NHIỄU
• Lọc nhiễu có thể dùng bộ lọc trung bình
hoặc trung vị
• Bộ lọc trung vị kích thước cao thì lọc tốt
nhưng thời gian lâu:
– Với ảnh nhị phân có cách thực hiện lọc trung
vị riêng, tiết kiệm thời gian.
– Để cân đối với thời gian thực hiện, sử dụng
bộ lọc trung vị kích thước 5 x 5
Trang 21LỌC NHIỄU
Minh họa kết quả lọc nhiễu
Trang 22XÁC ĐỊNH CÁC VÙNG TRẮNG
• Dựa trên giải thuật gán nhãn.
– Mỗi điểm trắng được gán 1 nhãn (1 số nguyên) Các điểm trong cùng 1 vùng được gán cùng 1 nhãn, nhãn
đó là chỉ số của vùng (ID) Mỗi vùng có 1 chỉ số riêng, được đánh theo trình tự tìm thấy vùng.
• Có cài đặt loại bỏ các liên kết yếu giữa các vùng
(ví dụ về liên kết yếu)
Trang 23
Điểm đang xét là điểm trắng và
chưa gán nhãn?
DSVT = Ø, SLVT 0, HangDoi = Ø Khởi tạo cho mảng nhãn Đưa con trỏ về điểm đầu tiên trong ảnh
Chuyển sang điểm tiếp theo
Tạo một vùng trắng mới SLVT SLVT + 1 Nhãn điểm đó = SLVT Đưa điểm vào vùng trắng, vào hàng đợi
HangDoi khác rỗng?
Lấy điểm ra khỏi hàng đợi
Hàng xóm có phải là điểm trắng và chưa gán nhãn?
Gán nhãn SLVT cho điểm đó Đưa vào vùng trắng, vào hàng đợi Thêm vùng trắng vào DSVT
Hết ảnh?
Lặp cho 4 hàng xóm (trái, phải, trên, dưới)
Đ S
S
Đ Đ
Trang 24End
sl 0 Điểm trắng and sl <= Nguong?
sl <= Nguong?
Là điểm trắng và
sl <= Nguong?
sl sl + 1, Nhảy lên điểm tiếp theo
sl sl + 1, Nhảy xuống điểm tiếp theo
Đưa con trỏ về vị trí điểm ngay dưới
điểm đang xét
sl <= Nguong?
Gán điểm đang xét thành đen
Đ S
S
Đ
Đ S
Trang 25XÁC ĐỊNH CÁC VÙNG TRẮNG
Kết quả minh họa
Trang 28XÂY DỰNG ỨNG DỤNG PHÁT
HIỆN MẶT NGƯỜI
Trang 29MỤC ĐÍCH
• Phát hiện các khuôn mặt trong ảnh, lưu
các khuôn mặt tìm được vào một nơi xác định phục vụ cho các công tác sau này như nhận dạng,
Trang 30CÁC ĐẦU VÀO
Trang 31MÔI TRƯỜNG PHÁT TRIỂN
• Ứng dụng được viết bằng C# trong môi
trường Visual Studio 2005
• Có sử dụng các thư viện: AForge,
DirectShow, DirectX
Trang 32GIAO DIỆN CHƯƠNG TRÌNH
• Giao diện ứng với các đầu vào khác nhau:
Trang 33KẾT QUẢ THỬ NGHIỆM
• Thử nghiệm trên 1 tập ảnh gồm 82 ảnh,
với 244 khuôn mặt với các hướng và kích thước khác nhau, nền ảnh và độ sáng đa dạng Kết quả:
– Phát hiện được: 120 khuôn mặt (50%).
Trang 34KẾT QUẢ THỬ NGHIỆM
Ảnh kết quả minh họa
Trang 35KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
• Đồ án đã đưa ra được một phương pháp
phát hiện mặt người, đã xây dựng được ứng dụng cài đặt nó
• Phương pháp này phát hiện mặt người
trên ảnh màu, không phụ thuộc vào
hướng, kích thước của mặt
• Phương pháp còn quá đơn giản nên tỉ lệ
phát hiện đúng còn thấp và còn phát hiện nhầm nhiều
Trang 36KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
• Hướng phát triển:
– Để phát hiện được nhiều hơn các khuôn mặt và
hạn chế phát hiện nhầm, rõ ràng các tiêu chí đưa ra trong phương pháp là chưa đủ, cần dựa thêm nhiều chứng cứ khác nữa Do đó, hướng phát triển tiếp
theo của đồ án là: đưa thêm một số kĩ thuật khác
nữa vào trong phương pháp Các kĩ thật dự kiến
đưa vào là: sử dụng bộ lọc Gabor.
Trang 37CẢM ƠN CÁC THẦY ĐÃ LẮNG
NGHE!
Trang 39HISTOGRAM MÀU DA
• Công thức chuyển từ RGB sang HSV:
max=max(r,g,b) min=min(r,g,b) r,g,b thuộc [0,1].
Trang 40HISTOGRAM MÀU DA
• Mô hình hệ màu HSV:
Trang 41XÁC ĐỊNH CÁC VÙNG TRẮNG
(Vấn đề liên kết yếu)
Trang 42XÁC ĐỊNH CÁC VÙNG TRẮNG
Kết quả minh họa loại bỏ liên kết yếu
Trang 43
TỈ LỆ SỐ ĐIỂM TRẮNG
• Nếu chỉ dựa trên tỉ lệ kích thước, có thể
phát hiện nhầm trong các trường hợp sau:
•Vì thế cần đưa thêm vào tiêu chí
nữa là tỉ lệ số điểm trắng trong vùng
Trang 44BỘ THAM SỐ
•Sai số tỉ lệ khuôn mặt so với tỉ lệ vàng: 0,6.
•Kích thước khuôn mặt nhỏ nhất: 20 pixel.
•Ngưỡng histogram xác định màu da: 0,0002
•Tỉ lệ số điểm màu da trong vùng mặt: [0,6; 0,9].
•Giá trị ngưỡng trong xác định liên kết yếu là 7 điểm