Đánh giá phương pháp:
Một số tiêu chí đánh giá:
Tỉ lệ số khuôn mặt phát hiện đúng.
Tỉ lệ phát hiện sai.
Thời gian thực hiện, tài nguyên tiêu tốn.
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.
37 trang |
Chia sẻ: vietpd | Lượt xem: 1758 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng ứng dụng phát hiện mặt người dựa trên màu da, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
XÂY DỰNG ỨNG DỤNG PHÁT HIỆN MẶT NGƯỜI DỰA TRÊN MÀU DA Sinh viên thực hiện : Nguyễn Hoài Sơn Lớp CNPM – K48 Giáo viên hướng dẫn: ThS Lương Mạnh Bá 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. Xây dựng ứng dụng phát hiện mặt người. BÀI TOÁN PHÁT HIỆNMẶT NGƯỜI 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ặ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. BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI Mô hình bài toán BÀI TOÁN PHÁT HIỆN MẶT NGƯỜI Phát hiện mặt người BÀ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,... BÀ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á: Tỉ lệ số khuôn mặt phát hiện đúng. Tỉ lệ phát hiện sai. Thời gian thực hiện, tài nguyên tiêu tốn. 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. PHƯƠNG PHÁP PHÁT HIỆN MẶT NGƯỜI DỰA TRÊN MÀU DA GIỚ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. CÁC BƯỚC THỰC HIỆN Phát hiện màu da Lọc nhiễu Xác định các vùng trắng Phân loại vùng trắng MÔ HÌNH PHƯƠNG PHÁP PHÁ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. PHÁT HIỆN MÀU DA Công thức màu da: xây dựng trên hệ màu YCrCb: PHÁT HIỆN MÀU DA Sự phân bố các điểm màu da trong không gian màu YCrCb PHÁ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). PHÁT HIỆN MÀU DA Một số ảnh màu da được sử dụng trong tổng hợp histogram. PHÁ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. PHÁT HIỆN MÀU DA Ví dụ minh họa 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 LỌC NHIỄU Minh họa kết quả lọc nhiễu XÁ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) Thuật toán gán nhãn Thuật toán xác định và loại bỏ liên kết yếu (phương dọc) XÁC ĐỊNH CÁC VÙNG TRẮNG Kết quả minh họa PHÂN LOẠI VÙNG TRẮNG Xác định xem vùng trắng nào là mặt. Dựa trên 2 tiêu chí: Tỉ lệ về kích thước: xấp xỉ tỉ lệ vàng (1+sqrt(5))/2. Tỉ lệ về số điểm trắng trong vùng: nằm trong 1 khoảng giới hạn [min, max]. PHÂN LOẠI VÙNG TRẮNG Các hình từ trái sang phải: danh sách vùng trắng, phân loại chỉ dựa vào tỉ lệ kích thước, phân loại theo cả kích thước và tỉ lệ điểm trắng XÂY DỰNG ỨNG DỤNG PHÁT HIỆN MẶT NGƯỜI MỤ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,... CÁC ĐẦU VÀO File ảnh (bmp, jpeg,...). File phim Camera MÔ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. GIAO DIỆN CHƯƠNG TRÌNH Giao diện ứng với các đầu vào khác nhau: KẾ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%). Phát hiện nhầm 112 khuôn mặt. Thời gian thực hiện (trên máy PC ram 256, chip Pen 4, 1.5GHz) với ảnh 800 x 600 khoảng 500 ms, 1600 x 1200 khoảng 1700ms. KẾT QUẢ THỬ NGHIỆM Ảnh kết quả minh họa KẾ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. KẾ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. CẢM ƠN CÁC THẦY ĐÃ LẮNG NGHE!