1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người

96 1,6K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 4,71 MB

Nội dung

Gần đây, lĩnh vực nhận dạng đang dành được nhiều sự quan tâm nghiên cứu và thử nghiệm như nhận dạng khuôn mặt, nhận dạng vân tay, giọng nói, mắt,... Trong đó nhận dạng khuôn mặt chiếm một vị trí khá quan trọng. Nhận dạng khuôn mặt được ứng dụng trong nhiều lĩnh vực như: hình sự (nhận dạng tội phạm), các hệ thống an toàn, bảo mật (dùng xác nhận các nhân viên của tổ chức), và nhiều lĩnh vực khác nữa.Trong nhận dạng khuôn mặt, đầu tiên ta phải lấy các khuôn mặt ra một cách thủ công, rồi sau đó đem đi nhận dạng xem đó là ai. Để việc nhận dạng khuôn mặt được thực hiện một cách tự động, tức là đưa vào một bức ảnh phải xác định xem trong ảnh có những ai, rõ ràng cần thực hiện một bước trước đó là phát hiện khuôn mặt.Việc phát hiện khuôn mặt còn được ứng dụng trong đếm số người. Bao nhiêu khuôn mặt được phát hiện là có bấy nhiêu người. Việc đếm số người có ý nghĩa trong giao thông (xác định lưu lượng người qua lại trên đường), trong thương mại (xác định số lượng khách hàng ra vào siêu thị),...Chính vì thế mà việc nghiên cứu về phát hiện mặt người là hết sức cần thiết. Với đề tài “Xây dựng ứng dụng phát hiện mặt người dựa trên màu da” em cũng đã đạt được một số kết quả nhất định. Đó sẽ là hành trang giúp em rất nhiều trong thời gian học tập và làm việc sau này.Để có thể hoàn thành được đồ án là nhờ công lao to lớn của các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thầy cô trong khoa Công nghệ Thông tin, bộ môn Công nghệ phần mềm nói riêng. Các thầy cô đã tận tình giảng dạy, truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong suốt 5 năm học tập và rèn luyện tại trường. Xin được gửi tới các thầy, các cô lời cảm ơn chân thành nhất. Em xin được bày tỏ long biết ơn của mình đến thầy Lương Mạnh Bá Giảng viên bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội đã hết lòng giúp đỡ, hướng dẫn và chỉ bảo tận tình trong quá trình em làm đồ án tốt nghiệp.Em cũng xin được gửi lời cảm ơn của mình đến thầy Lê Tấn Hùng đã cho em mượn web cam để thực hành. Cảm ơn anh Mai Anh Tuấn K47, nhờ tham khảo đồ án của anh mà em có được những kiến thức ban đầu, tổng quan về lĩnh vực này, để từ đó có được sự thuận lợi, nhanh chóng và định hướng tốt hơn trong quá trình làm đồ án.Cuối cùng, em xin được gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, chăm sóc, đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu và hoàn thành đồ án tốt nghiệp.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

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á

Hà nội 5-2008

Trang 2

1 Định hướng đề tài tốt nghiệp

Tìm hiểu các phương pháp phát hiện mặt người dựa trên đặc trưng và xây dựng ứng dụng phát hiện khuôn mặt dựa trên màu da.

2 Các nhiệm vụ cụ thể của đồ án tốt nghiệp

- Tìm hiểu các phương pháp phát hiện khuôn mặt dựa trên đặc trưng.

- Nghiên cứu 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.

3 Lời cam đoan của sinh viên:

Tôi – Nguyễn Hoài Sơn - cam kết đồ án tốt nghiệp là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Ths Lương Mạnh Bá

Các kết quả nêu trong đồ án tốt nghiệp là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác.

Hà Nội, ngày tháng năm 2008

Tác giả đồ án tốt nghiệp

Nguyễn Hoài Sơn

4 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của đồ án tốt nghiệp vàcho phép bảo vệ

Hà Nội, ngày tháng năm 2008

Giáo viên hướng dẫn

ThS Lương Mạnh Bá

Trang 3

LỜI NÓI ĐẦU

Gần đây, lĩnh vực nhận dạng đang dành được nhiều sự quan tâm nghiên cứu và thử nghiệm như nhận dạng khuôn mặt, nhận dạng vân tay, giọng nói, mắt, Trong đó nhận dạng khuôn mặt chiếm một vị trí khá quan trọng Nhận dạng khuôn mặt được ứng dụng trong nhiều lĩnh vực như: hình sự (nhận dạng tội phạm), các hệ thống an toàn, bảo mật (dùng xác nhận các nhân viên của tổ chức), và nhiều lĩnh vực khác nữa.

Trong nhận dạng khuôn mặt, đầu tiên ta phải lấy các khuôn mặt ra một cách thủ công, rồi sau đó đem đi nhận dạng xem đó là ai Để việc nhận dạng khuôn mặt được thực hiện một cách tự động, tức là đưa vào một bức ảnh phải xác định xem

trong ảnh có những ai, rõ ràng cần thực hiện một bước trước đó là phát hiện khuôn mặt.

Việc phát hiện khuôn mặt còn được ứng dụng trong đếm số người Bao nhiêu khuôn mặt được phát hiện là có bấy nhiêu người Việc đếm số người có ý nghĩa trong giao thông (xác định lưu lượng người qua lại trên đường), trong thương mại (xác định

số lượng khách hàng ra vào siêu thị),

Chính vì thế mà việc nghiên cứu về phát hiện mặt người là hết sức cần thiết Với đề

tài “Xây dựng ứng dụng phát hiện mặt người dựa trên màu da” em cũng đã đạt

được một số kết quả nhất định Đó sẽ là hành trang giúp em rất nhiều trong thời gian học tập và làm việc sau này.

Để có thể hoàn thành được đồ án là nhờ công lao to lớn của các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thầy cô trong khoa Công nghệ Thông tin, bộ môn Công nghệ phần mềm nói riêng Các thầy cô đã tận tình

giảng dạy, truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong suốt 5 năm học tập và rèn luyện tại trường Xin được gửi tới các thầy, các cô lời

cảm ơn chân thành nhất Em xin được bày tỏ long biết ơn của mình đến thầy Lương Mạnh Bá - Giảng viên bộ môn Công nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội đã hết lòng giúp đỡ, hướng dẫn và

chỉ bảo tận tình trong quá trình em làm đồ án tốt nghiệp.

Em cũng xin được gửi lời cảm ơn của mình đến thầy Lê Tấn Hùng đã cho em mượn web cam để thực hành Cảm ơn anh Mai Anh Tuấn K47, nhờ tham khảo đồ

án của anh mà em có được những kiến thức ban đầu, tổng quan về lĩnh vực này, để

từ đó có được sự thuận lợi, nhanh chóng và định hướng tốt hơn trong quá trình làm

đồ án.

Cuối cùng, em xin được gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động

viên, chăm sóc, đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu

và hoàn thành đồ án tốt nghiệp.

Hà Nội, tháng 5 năm 2008 Sinh viên: Nguyễn Hoài Sơn

Trang 4

BỐ CỤC ĐỒ ÁN

Chương 1:

Tổng quan về lĩnh vực phát hiện mặt người.

Trình bày một số hệ màu được dùng trong phát hiện mặt người.

Trình bày một số phương pháp phát hiện mặt người dựa trên đặc trưng khuôn mặt.

Chương 2:

Tổng quan phương pháp phát hiện mặt người dựa trên màu da.

Phương pháp phát hiện màu da.

Thuật toán phân vùng trong ảnh nhị phân.

Thiết kế, xây dựng chương trình phát hiện mặt người.

Thử nghiệm chương trình và đánh giá phương pháp phát hiện mặt người được áp dụng.

Trang 5

MỤC LỤC

DANH MỤC HÌNH VẼ 8

CHƯƠNG 1: TỔNG QUAN PHÁT HIỆN MẶT NGƯỜI 10

1.1 Tổng quan 10

1.2 Giới thiệu về một số hệ màu 11

1.2.1 Hệ màu HSV 11

1.2.2 Hệ màu HSL 14

1.2.3 Hệ màu YCrCb 16

1.3 Một số phương pháp phát hiện mặt người dựa trên đặc trưng và trên màu da 17

1.3.1 Phương pháp dựa trên màu da và thông tin biên của K Sandeep và A.N Rajagopalan 17

1.3.1.1 Xác định 1 điểm có là màu da hay không 17

1.3.1.2 Xác định vị trí và kích thước các vùng trong ảnh màu da (A3) 18

1.3.1.3 Quyết định có phải là vùng mặt hay không 19

1.3.1.4 Kết quả thử nghiệm 19

1.3.1.5 Đánh giá 20

1.3.2 Phương pháp dựa trên nhiều chứng cứ của Manoj Seshadrinathan và Jezekiel Ben – Arie 21

1.3.2.1 Xác định màu da 21

1.3.2.2 Dựa trên hình dạng 22

1.3.2.3 Dùng các bộ lọc Gabor 22

1.3.2.4 Tổng hợp các kết quả 23

1.3.2.5 Kết quả thực hiện 24

1.3.2.6 Đánh giá 25

1.3.3 Phương pháp sử dụng khoảng cách Hausdorff của Oliver Jesorsky, Klaus J Kirchberg và Robert W Frischholz 25

1.3.3.1 Khoảng cách Hausdorff 25

1.3.3.2 Kĩ thuật phát hiện đối tượng dựa trên mô hình 26

1.3.3.3 Quá trình thực hiện phát hiện mặt người 27

1.3.4 Phương pháp dựa trên phân tích bó sóng (wavelet packet analysis) của C Garcia, G Zikos, G Tziritas 27

1.3.4.1 Xác định các vùng có màu da mặt 28

1.3.4.2 Xác định các ứng cử viên vùng mặt 29

1.3.4.3 Phân lớp các ứng cử viên dựa vào phân tích bó sóng 30

1.3.4.4 Kết quả thử nghiệm 32

1.3.5 Phương pháp sử dụng các khung sóng (wavelet frames) của C Garcia, G Simandiris và G Tziritas 33

1.3.5.1 Tổng quan 33

1.3.5.2 Xác định các thành phần trên khuôn mặt (2 mắt, mũi, miệng) 33

1.3.5.3 Mô hình hóa khuôn mặt bằng một mẫu biến đổi 34

1.3.5.4 Phân lớp nội dung mẫu 36

Trang 6

1.3.5.5 Kết quả thực nghiệm 37

CHƯƠNG 2: PHÁT HIỆN MẶT NGƯỜI DỰA TRÊN MÀU DA 39

2.1 Nội dung phương pháp 39

2.2 Chi tiết các bước 40

2.2.1 Phát hiện màu da 40

2.2.1.1 Công thức màu da 41

2.2.1.2 Histogram 43

2.2.1.3 Kết hợp 2 tiêu chí 44

2.2.2 Lọc nhiễu 46

2.2.3 Xác định các vùng trắng 47

2.2.3.1 Thuật toán phân vùng cơ bản 48

2.2.3.2 Thuật toán phân vùng nâng cao 54

2.2.4 Phân loại các vùng trắng 57

CHƯƠNG 3: CÁC CÔNG CỤ ĐƯỢC XÂY DỰNG 61

3.1 Công cụ lấy khuôn mặt 61

3.1.1 Mục đích 61

3.1.2 Các chức năng 61

3.1.3 Giao diện 62

3.1.4 Chi tiết các chức năng 63

3.1.4.1 Lấy khuôn mặt từ file ảnh 63

3.1.4.2 Lấy khuôn mặt từ file phim 65

3.2 Công cụ tổng hợp histogram 66

3.2.1 Mục đích 66

3.2.2 Các chức năng 66

3.2.3 Giao diện 67

3.2.4 Chi tiết các chức năng 68

CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH VÀ MỘT SỐ KẾT QUẢ MINH HỌA 70

4.1 Mục đích 70

4.2 Các chức năng 70

4.3 Giao diện chương trình 71

4.4 Các kĩ thuật xử lý 72

4.4.1 Thu hình từ camera 72

4.4.2 Phát 1 file phim 74

4.4.2.1 Khởi tạo cho phim 74

4.4.2.2 Lấy frame 78

4.4.3 Chạy bất đồng bộ 80

4.5 Các lớp được xây dựng 82

4.5.1 YPrPb 82

4.5.1.1 Mục đích 82

4.5.1.2 Các thuộc tính 82

Trang 7

4.5.1.3 Các phương thức 82

4.5.1.4 Vị trí 83

4.5.2 HSV 83

4.5.2.1 Mục đích 83

4.5.2.2 Các thuộc tính 84

4.5.2.3 Các phương thức 84

4.5.2.4 Vị trí 84

4.5.3 Vùng trắng 84

4.5.3.1 Mục đích 85

4.5.3.2 Các thuộc tính 85

4.5.3.3 Các phương thức 85

4.5.3.4 Vị trí 86

4.5.4 Bộ lọc phân vùng 86

4.5.4.1 Mục đích 86

4.5.4.2 Các thuộc tính 86

4.5.4.3 Các phương thức 86

4.5.4.4 Vị trí 87

4.5.5 Bộ phát hiện mặt 87

4.5.5.1 Mục đích 87

4.5.5.2 Các thuộc tính 88

4.5.5.3 Các phương thức 88

4.5.5.4 Vị trí 89

4.6 Các kết quả thí nghiệm 89

KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 96

TÀI LIỆU THAM KHẢO 97

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1: Mô hình biểu diễn 2 thành phần màu H,S trong HSV 12

Hình 1.2: Mô hình hóa hệ màu HSV 13

Hình 1.3: Mô hình hệ màu HSL 15

Hình 1.4: Một số mặt người trong tổng hợp Histogram của màu da mặt 18

Hình 1.5: Một số ảnh kết quả của phương pháp 20

Hình 1.6: Biểu đồ hội tụ của phương pháp học RPROP 22

Hình 1.7: Các hướng đầu khác nhau trong học dấu hiệu Gabor 23

Hình 1.8: Sơ đồ biểu diễn phương pháp 24

Hình 1.9: Một số ảnh kết quả của phương pháp Từ trái sang phải: ảnh nhị phân, ảnh kết quả với ngưỡng 0,7, ảnh kết quả với ngưỡng 0,8 25

Hình 1.10: Ví dụ mô phỏng quá trình nhận ra đối tượng dựa trên mô hình 26

Hình 1.11: Quá trình phát hiện mặt người của phương pháp 27

Hình 1.12: Sự phân bố các điểm màu da mặt trong không gian HSV và YCrCb 28

Hình 1.13: Minh họa phát hiện màu da trong ảnh 29

Hình 1.14: Sự phân chia vùng ứng cử viên khuôn mặt trong phương pháp 30

Hình 1.15: Một số ảnh kết quả 32

Hình 1.16: Từ trái sang phải và từ trên xuống: ảnh gốc, băng AHH, tín hiệu AHH của mắt và tín hiệu được lấy ra 34

Hình 1.17: Các tham số của mô hình khuôn mặt 35

Hình 1.18: Vùng xung quanh các đặc trưng khuôn mặt 36

Hình 1.19: Một số ảnh kết quả của phương pháp 38

Hình 2.1: Sơ đồ khối của phương pháp 40

Hình 2.2: Vị trí của khâu trong phương pháp 41

Hình 2.3: Sự phân bố các điểm màu da trong không gian YCrCb 42

Hình 2.4: Sự phân bố các điểm màu da trong hệ màu HSV 42

Hình 2.5: Một số mặt người được dùng trong tổng hợp histogram màu da 44

Hình 2.6: Một số kết quả minh họa trong phát hiện màu da 45

Hình 2.7: Minh họa phát hiện màu da theo từng tiêu chí Từ trái sang phải: ảnh vào, ảnh màu da theo công thức, ảnh màu da theo histogram 46

Hình 2.8: Vị trí của khâu lọc nhiễu trong phương pháp 46

Hình 2.9: Minh họa kết quả lọc nhiễu 47

Hình 2.10: Vị trí của khâu xác đinh vùng trắng trong phương pháp 48

Trang 9

Hình 2.11: Thuật toán phân vùng cơ bản 51

Hình 2.12: Vị trí tương đối của 1 điểm trắng so với vùng trắng hiện tại 52

Hình 2.13: Duyệt qua các điểm hàng xóm 52

Hình 2.14: Kết quả minh họa thuật toán phân vùng cơ bản 53

Hình 2.15: Minh họa các liên kết yếu giữa các vùng trắng 53

Hình 2.16: Ví dụ về liên kết yếu gặp phải trong phát hiện mặt 54

Hình 2.17: Lưu đồ thuật toán phát hiện liên kết yếu theo chiều dọc 56

Hình 2.18: Kết quả minh họa phân vùng nâng cao 57

Hình 2.19: Vị trí của khâu phân loại vùng trắng trong phương pháp 58

Hình 2.20: Trường hợp phát hiện nhầm nếu chỉ dựa vào tỉ lệ kích thước 59

Hình 2.21: Trường hợp phát hiện nhầm nếu không có cận trên của tỉ lệ điểm trắng59 Hình 2.22: Kết quả phân loại vùng trắng Từ trái sang phải: danh sách vùng trắng, phân loại theo tỉ lệ kích thước, phân loại theo cả kích thước và tỉ lệ điểm trắng 60

Hình 3.1: Giao diện công cụ lấy vùng mặt - đầu vào ảnh tĩnh 62

Hình 3.2: Giao diện công cụ lấy vùng mặt - đầu vào file phim 63

Hình 3.3: Ảnh báo lỗi khi mở file không phải là file ảnh 64

Hình 3.4: Minh họa khoanh vùng mặt 64

Hình 3.5: Các điều khiển trên form dùng cho di chuyển frame trong phim 66

Hình 3.6: Giao diện công cụ tổng hợp histogram khi khởi động chương trình 67

Hình 3.7: Giao diện công cụ tổng hợp histogram khi đang soạn thảo 1 histogram .67 Hình 3.8: Giao diện khi thêm ảnh vào histogram 68

Hình 4.1: Giao diện chương trình với đầu vào là file ảnh 71

Hình 4.2: Giao diện chương trình với đầu vào là file phim 72

Hình4.3: Giao diện chương trình với đầu vào camera 72

Hình 4.4: Một số kết quả minh họa phát hiện mặt người 94

Trang 10

CHƯƠNG 1: TỔNG QUAN PHÁT HIỆN MẶT NGƯỜI

Chương này trình bày một số lý thuyết cơ bản trong phát hiện mặt người cũng như một số phương pháp phát hiện mặt người Cụ thể, chương này trình bày các vấn đề sau:

Các hướng tiếp cận trong phát hiện mặt người.

Một số hệ màu sử dụng trong phát hiện mặt người; HSV, YCrCb.

Một số phương pháp phát hiện mặt người dựa trên đặc trưng khuôn mặt.

1.1 Tổng quan

Lĩnh vực nhận dạng đang dành được nhiều sự quan tâm trong giai đoạn hiện nay

Nó được ứng dụng trong các hệ thống giám sát, an ninh, trong các máy tính thế hệmới mà con người có thể tương tác với máy tính qua cử chỉ hoặc lời nói,… Nhậndạng mặt người là một trong số đó Và phát hiện mặt người là một khâu tiền xử lýcho nhận dạng mặt người Ý tưởng của nó là: từ một ảnh chụp cảnh đám đông, taphải tách ra được các khuôn mặt trong đó Các khuôn mặt được tách ra sẽ đượcchuyển cho khâu nhận dạng

Có nhiều hướng tiếp cận và các phương pháp khác nhau trong phát hiện mặt người.Cũng có nhiều cách phân chia, gom nhóm khác nhau Sau đây la một số hướng tiếpcận:

 Giải pháp dựa trên mô hình (top-down model-based approach): trong hướngtiếp cận này, người ta sử dụng các mô hình mặt người khác nhau có tỉ lệ khácnhau từ thô nhất đến tốt nhất Đầu tiên, ảnh sẽ được quét bởi mô hình có tỉ lệthô nhất Sau đó ảnh được quét với mô hình có tỉ lệ tốt hơn Và cuối cùngđược quét với mô hình có tỉ lệ tốt nhất Ứng với mỗi tỉ lệ chỉ có 1 mô hìnhkhuôn mặt Mà 1 mô hình khuôn mặt ứng với 1 góc nhìn khuôn mặt cụ thể

Do đó, nhìn chung, phương pháp này khó khăn trong việc đưa vào nhiều gócnhìn khuôn mặt khác nhau

 Giải pháp dựa trên đặc trưng (bottom-up feature-based approach): tronghướng tiếp cận này, người ta sẽ tiến hành tìm kiếm trong ảnh các đặc trưngcủa khuôn mặt (như mắt, mũi, miệng,…), sau đó gom nhóm chúng lại vớinhau (dựa trên mối quan hệ hình học giữa chúng) tạo thành các ứng cử viêncho khuôn mặt Giải pháp này có thể dễ dàng mở rộng cho nhiều góc nhìnkhuôn mặt khác nhau

 Giải pháp dựa trên bề mặt (texture-based approach): trong hướng tiếp cậnnày, các khuôn mặt được phát hiện dựa trên sự phân bố không gian các mứcxám của các điểm trong ma trận ảnh con Phương pháp này khó mở rộng chonhiều góc nhìn

Trang 11

 Giải pháp dựa trên mạng nơron (neural network approach): trong giải phápnày, người ta tiến hành huấn luyện trên 1 tập ảnh khuôn mặt và không phảikhuôn mặt Sau khi huấn luyện xong, sẽ được dùng vào nhận ra khuôn mặt.Ảnh sẽ được quét bằng 1 cửa sổ Tại mỗi vị trí cửa sổ, nội dung ảnh được lấy

ra (có thể phải thay đổi tỉ lệ (co, giãn) vì các ảnh được huấn luyện có kíchthước như nhau và xác định) và được cho qua bộ lọc mạng nơron Nhìnchung, phương pháp này cho kết quả tốt Tuy nhiên tốn thời gian huấn luyện

và sưu tầm mẫu

 Giải pháp dựa trên màu sắc (color-based approach): trong giải pháp này, đầutiên người ta xác định các điểm trong ảnh có màu giống màu da mặt Sau đó,người ta khoanh vùng các điểm đó lại Các vùng này có thể là khuôn mặthoặc không Để xác định có phải là mặt không, có thể dựa vào tỉ lệ kíchthước của vùng có tương tự tỉ lệ khuôn mặt không, hoặc dựa vào tỉ lệ sốđiểm màu da trong hình chữ nhật bao vùng đó,…

 Giải pháp dựa trên chuyển động (motion-based approach): ngay cái tên của

nó cũng cho thấy giải pháp này chỉ áp dụng phát hiện mặt người trong phim,không áp dụng cho ảnh tĩnh Từ các đối tượng chuyển động trong ảnh, dựatrên một số tiêu chí, người ta sẽ xác định được vùng mặt Ví dụ như một cáilắc đầu, hay nháy mắt sẽ là cơ sở để phát hiện khuôn mặt

Trong thực tế, ngoài những phương pháp đơn thuần đi theo một hướng tiếp cận, thìcũng có những phương pháp kết hợp nhiều hướng tiếp cận để cho ra kết quả chínhxác hơn, tuy nhiên cũng phải trả giá về thời gian Trong đồ án này, em chỉ đi vàotìm hiểu các phương pháp phát hiện mặt người theo hướng dựa trên đặc trưng vàdựa trên màu sắc

Trong các phương pháp phát hiện mặt người, các tác giả thường sử dụng nhiều hệmàu khác nhau Do đó, đầu tiên em xin trình bày về một số hệ màu được sử dụngtrong các phương pháp phát hiện mặt người

1.2 Giới thiệu về một số hệ màu

Trong phát hiện mặt người, người ta thường không sử dụng hệ màu RGB, màthường sử dụng các hệ màu khác như: HSV, HSL, YCrCb Vì những hệ màu nàybiểu diễn màu sắc giống với quan điểm nhìn màu sắc của con người Sau đây, ta sẽ

đi vào diễn đạt chi tiết một số hệ màu cụ thể

Trang 12

Hình 1.1: Mô hình biểu diễn 2 thành phần màu H,S trong HSV

Ở trong hình, các giá trị của H đã được quy về dải [0,6), tương ứng với chia các góccho 60 độ Việc biểu diễn H trong dải giá trị nào không thành vấn đề

S là viết tắt của Saturation, nghĩa là độ bão hòa Ta có thể hiểu nó giống như kháiniệm nồng độ trong hóa học, với dung môi là màu trắng và chất tan là màu S có giátrị nằm trong đoạn [0,1] Khi giá trị của S lớn, lượng màu hòa trong màu trắngnhiều lên, màu sẽ đậm hơn S=1, màu đậm nhất, chiếm hoàn toàn màu trắng Vàngược lại, khi giá trị S nhỏ, lượng màu hòa trong màu trắng ít đi, màu sẽ nhạt hơn.S=0 tương ứng với không có một chút màu nào pha trong màu trắng, kết quả sẽkhông có màu (cũng không khẳng định ngay kết quả là màu trắng, vì nó còn phụthuộc vào thành phần V nữa, nhưng có thể khẳng định nó là màu xám) Ví dụ: khiH=0, ta có màu đỏ Nhưng không phải cứ H=0 là ta có được 1 màu đỏ đậm đà, nócòn phụ thuộc vào S (tức là phụ thuộc vào lượng màu đỏ hòa trong màu trắng) Khi

S nhỏ, ta có màu đỏ nhạt Khi S lớn ta có màu đỏ đậm hơn S=1 màu đỏ đậm nhất.Khi S=0, giá trị của H bằng bao nhiêu là vô nghĩa, kết quả cũng chỉ là 1 màu trắng(giả sử V=max)

Thành phần V là viết tắt của value, nó biểu thị thành phần độ sáng V có giá trị nằmtrong đoạn [0,1] Bạn mặc 1 chiếc áo hồng, nhưng nếu bạn đứng trong bóng tối, mọingười sẽ chỉ nhìn thấy chiếc áo màu đen Vai trò của V là như vậy Với 1 giá trị Hxác định, ta có 1 màu xác định Với giá trị S, ta có được độ đậm nhạt cho màu đó.Nhưng ta sẽ không thể cảm nhận đúng màu đó với độ đậm nhạt đó, nếu độ sángkhông chuẩn Khi V=1 ta mới cảm nhận được đúng bản chất vốn có của màu Khi Vtăng tương ứng với độ sáng tăng dần V=0: không có ánh sáng, tất cả chỉ là 1 màuđen với mọi H và S Như ở trên, ta đã nói, khi S=0 thì màu kết quả không phụ thuộcvào H, nhưng chưa thể nói ngay ta có màu trắng vì còn phụ thuộc vào V Nếu V=0

ta có màu đen, V=1 ta có màu trắng, còn nếu 0<V<1 thì ta có màu xám

Hệ màu có thể được mô hình hóa quá hình sau:

Trang 13

Hình 1.2: Mô hình hóa hệ màu HSV

Trong xử lý ảnh, ta luôn có nhu cầu chuyển đổi từ hệ màu RGB sang HSV và ngượclại Công thức chuyển đổi như sau:

Công thức từ RGB sang HSV:

Trong đó:

 max=max(r,g,b)

 min=min(r,g,b)

 các thành phần màu r,g,b có giá trị nằm trong đoạn [0,1]

Công thức biến đổi từ HSV sang RGB:

Trang 14

1.2.2 Hệ màu HSL

HSL (còn có tên gọi khác là HSI) là viết tắt của Hue, Saturation, Lightness Nótương tự như hệ màu HSV (L tương ứng với V cùng chỉ cường độ sáng), với Hthuộc [0,360), S thuộc [0,1], L thuộc [0,1] Tuy nhiên có một số điểm khác như sau(tất nhiên là phải có khác, không thì đã chỉ là 1 hệ màu):

 trong hệ màu HSV, ta thấy được màu đúng của nó với giá trị V=1 Còn trongHSL, màu đúng của nó được thể hiện với L=0,5 Tức là với S=0, trong HSVvới V=1 ta có màu trắng, còn trong HSL với L=0,5 ta vẫn chỉ có màu xám.Màu trắng chỉ được thể hiện khi L=1 Nhưng khi đó, dù S ≠0 thì cũng vẫn làmàu trắng, cho dù H bằng bao nhiêu Còn ở HSV khi V=1 thì nếu S≠0 thì sẽthể hiện màu sắc với màu chân thực nhất

 Hai thành phần S ở 2 mô hình, mặc dù có tên giống nhau, nhưng công thứctính khác nhau

 Mô hình màu HSV ra đời trước mô hình HSL

Mô hình HSL có thể được biểu diễn bằng hình sau:

Trang 15

Hình 1.3: Mô hình hệ màu HSL

Công thức chuyển đổi giữa 2 hệ màu RGB và HSL như sau:

Chuyển từ RGB sang HSL:

H được tính giống như trong HSV

Trong đó, các tham số được diễn đạt như trong công thức của HSV.Chuyển từ HSL sang RGB:

Trang 16

1.2.3 Hệ màu YCrCb

Hệ màu này được sử dụng trong các hệ thống ảnh số và video Nó còn dùng trongcác chuẩn nén JPEG và MPEG Vì hệ màu RGB chỉ thuận tiện cho hiển thị lên mànhình nhưng lại không thuận tiện trong lưu trữ và chuyển đổi, nên người ta đã nghĩ ra

hệ màu này thuận lợi cho nén và chuyển đổi

Hệ màu có 3 thành phần là: Y – biểu diễn thành phần độ sáng; Cr, Cb là các sắc tố

đỏ (red) và xanh lục (blue) trong màu Hệ màu này không phải là hệ màu tuyệt đối,tức là ứng với 1 giá trị của RGB, tùy theo chuẩn nào được dùng mà ta có các giá trịYCrCb khác nhau (sẽ nói rõ hơn trong phần chuyển đổi giữa 2 hệ màu này) YCrCb

là dạng biểu diễn số của hệ màu này (tức là các thành phần Y, Cr, Cb nhận các giátrị số nguyên), nó còn có dạng analog nữa, kí hiệu là YPrPb

Công thức chuyển đổi giữa 2 hệ màu như sau: đầu tiên là công thức chuyển từ RGBsang dạng analog của hệ màu YPrPb:

Trang 17

Công thức tính ngược lại RGB được suy trực tiếp từ công thức trên Rõ ràng từ 2dòng dưới, ta tính lại được B và R, sau đó thay vào dòng đầu tính ra được G.

Dạng số của hệ màu, tức là YCrCb được tính bằng cách lượng tử hóa dải giá trị củaYPrPb Ví dụ, với mã hóa 8 bít, giá trị Y được tính ra sẽ có giá trị nằm trong khoảng[16;235], còn Cr, Cb nằm trong khoảng [16;240] Bạn sẽ thắc mắc tại sao lại không

là [0;255], thực ra tôi cũng thấy thắc mắc Với giải [16;235], giá trị Y trong YCrCbđược suy từ Y trong YPrPb (tạm kí hiệu là Y’ để phân biệt) như sau (chỉ là 1 phépthay đổi dải giá trị đơn giản):

Các bước thực hiện của phương pháp này như sau:

 Ảnh đầu vào, ảnh màu (A1)

 Lọc ảnh bằng bộ lọc Sobel, thu được ảnh biên (A2)

 Duyệt qua các điểm ảnh của ảnh ban đầu A1, xác định xem điểm nào làmàu da, điểm nào không Từ đó tạo ra ảnh trong đó chỉ hiện các điểm làmàu da (giống như ảnh nhị phân vậy), gọi là ảnh A3 Trong quá trình xácđịnh điểm màu da này có sử dụng ảnh biên A2

 Xác định vị trí các vùng trong ảnh A3 về vị trí, chiều rộng, chiều cao

 Xác định xem vùng ảnh có phải là mặt không dựa trên tỉ lệ chiềurộng/chiều cao và tỉ lệ số điểm màu da trong hình chữ nhật bao vùng ảnhđó

Chi tiết các bước như sau:

1.3.1.1 Xác định 1 điểm có là màu da hay không

Để xác định 1 điểm có phải là màu da hay không, nhóm tác giả dựa trên mộtHistogram được tạo nên Quá trình tạo Histogram này như sau: các tác giả đã thựchiện quá trình học màu da dựa trên các ảnh khuôn mặt kiểu như sau:

Trang 18

Hình 1.4: Một số mặt người trong tổng hợp Histogram của màu da mặt

Khi đó, với mỗi điểm trong ảnh, lấy về giá trị H (hue) và S (saturation) trong môhình màu HSV Tại sao lại chỉ lấy về H,S? Vì màu da của con người trong ảnh cònphụ thuộc vào yếu tố ánh sáng, ảnh tối thì màu da sẽ hơi sẫm, ảnh sáng thì màu da

sẽ trắng hơn Cùng 1 người nhưng trong điều kiện ánh sáng khác nhau, màu da cũng

sẽ bị thay đổi Điều đó gây ra sự đa dạng, phức tạp trong màu da Do đó, ta cần loại

bỏ tác động của yếu tố ánh sáng này, để lấy về màu da đúng của mỗi người và đểhạn chế bớt sự đa dạng trong màu da Thành phần V trong mô hình màu HSV chính

là thành phần biểu thị độ sáng trong ảnh Vì thế nó bị loại bỏ Trong Histogram dựatrên (H,S), cột ứng với giá tri H,S này sẽ được tăng lên 1 Sau quá trình học,Histogram thu được sẽ được chuẩn hóa, tức là chia tỉ lệ, để có được các giá trị trongkhoảng (0,1), chứ không còn là số điểm ảnh nữa

Để xác định 1 điểm ảnh có phải là màu da hay không, ban đầu phải lấy về thànhphần H,S của điểm ảnh đó Sau đó, dựa vào histogram thu được xác định xem cộtứng với giá trị H,S này có giá trị bằng bao nhiêu, nếu nhỏ hơn 1 ngưỡng cho trứơcthì đó không phải là màu da, ngược lại thì là màu da Các tác giả thấy rằng nếu chỉdùng thông tin này thì kết quả không tốt bằng việc dựa thêm thông tin về biên nữa

để xác định 1 điểm có phải là màu da hay không Tóm lại, để xác định 1 điểm trongảnh có phải là màu da hay không, dựa trên 2 tiêu chí:

o Histogram(H,S) phải lớn hơn 1 giá trị ngưỡng - skinthreshold

o Điểm đó không nằm trên biên Để xác định nó có nằm trên biên không,cần sử dụng ảnh biên Trong ảnh biên, 1 điểm được coi là nằm trên biênnếu giá trị của nó lớn hơn 1 giá trị ngưỡng – edgethreshold

Bằng thực nghiệm, các tác giả chọn ra các giá trị cụ thể cho các giá trị ngưỡng kianhư sau:

o Skinthreshold=0,1

o Edgethreshold=125

1.3.1.2 Xác định vị trí và kích thước các vùng trong ảnh màu da (A3)

Ảnh A3 lúc này là ảnh nhị phân, các điểm màu da có giá trị 1, các điểm không phải

có giá trị 0 Để xác định vùng trong ảnh dựa trên phương pháp 8 hàng xóm Haiđiểm được coi là thuộc cùng 1 vùng nếu điểm này là 1 trong 8 hàng xóm của điểmkia

Để xác định kích thứơc của vùng, thì các tác giả làm như sau: đầu tiên là xác địnhđiểm trung tâm của vùng Nó được xác định bằng cách tính trung bình cộng tọa độcủa các điểm trong vùng Sau khi có được tọa độ của điểm này rồi, ta xác định chiềucao của vùng như sau:

Trang 19

o Lấy y của các điểm trong vùng trừ đi y của điểm trung tâm.

o Lấy trung bình cộng của các giá trị âm, và lấy trung bình cộng của các giátrị dương

o Cộng trị tuyệt đối 2 giá trị trung bình đó lại, được bao nhiêu nhân 2 rachiều cao

Với chiều rộng của vùng làm tương tự

Đó là cách làm của tác giả, với cách làm này ta thấy ngay một điều, các giá trị đượctính trung bình, điều đó có nghĩa là khung hình chữ nhật đó sẽ không bao hết cácđiểm nằm trong vùng, và quá trình duyệt đòi hỏi phải lưu lại tất cả tọa độ các điểmtrong vùng để phục vụ cho tính chiều rộng, chiều cao sau này Tôi đề xuất 1 phươngpháp đơn giản hơn giải quyết được 2 vấn đề trên là: lấy x max, x min, y max, y mincủa tất cả các điểm trong vùng Tuy nhiên có thể làm vậy lại ảnh hưởng đến chuẩnđoán vùng mặt sau này

1.3.1.3 Quyết định có phải là vùng mặt hay không

Vì vùng da tìm thấy có thể là da tay, da chân, … nên để xác định vùng đó có phải làkhuôn mặt hay không, dựa trên 2 tiêu chí:

 Cao/rộng hoặc rộng/cao phải nằm trong khoảng: tỉ lệ vàng ±delta Rộng/cao là cho trường hợp mặt nằm ngang, còn delta được đưa vào vì tấtnhiên tỉ lệ không thể nào đúng bằng tỉ lệ vàng được, và cũng vì nhữngkhuôn mặt khác nhau cũng lệch nhau đôi chút, và cuối cùng là vì nhữngtrường hợp mặt nghiêng Tỉ lệ vàng =

Số điểm ảnh được thu thập trong quá trình học là: 4.500.000 điểm ảnh

Bên cạnh các khuôn mặt được phát hiện cũng có những sự phát hiện nhầm chủ yếu

là vùng tay

Sau đây là một số kết quả:

Trang 20

(nhận ra được các khuôn mặt nhưng nhầm vùng tay)

Hình 1.5: Một số ảnh kết quả của phương pháp

 Sự dính nhau của các vùng màu da khi phân vùng, ví dụ vùng damặt và da cổ Nguyên nhân là vì thuật toán xác định vùng dựa trên

Trang 21

8 láng giềng gần, chỉ cần 1 điểm chung cũng có thể sát nhập 2vùng thành 1 Điều này dẫn đến, khung hình chữ nhật bao vùngmặt thường to Và nhiều khi làm cho không phát hiện ra khuônmặt Ví dụ khi bạn chồng tay vào cằm hoặc tay đặt ngang cổ, khi

đó vùng được phát hiện sẽ không có tỉ lệ phù hợp và không đượcxem xét là mặt

 Không phát hiện được trong trường hợp đeo kính hoặc dùng khănche mặt (nói chung là không để lộ làn da)

1.3.2 Phương pháp dựa trên nhiều chứng cứ của Manoj Seshadrinathan

và Jezekiel Ben – Arie

Trong phương pháp 1, các tác giả chỉ dựa trên màu da để xác định vùng mặt và dựavào tỉ lệ kích thước các chiều để xác định xem đó có phải là mặt hay không Còntrong phương pháp này, các tác giả sẽ đưa ra quyết định đó có phải là mặt haykhông dựa trên nhiều chứng cứ, không chỉ là màu da Các chứng cứ đó là:

Để dựa vào Cr, Cb phát hiện 1 điểm có màu da mặt hay không, các tác giả thực hiệnquá trình học màu da mặt bằng phương pháp mạng Nơron có tên là: RPROP(Resillient Propagasion) Đây là 1 thuật toán học mạng nơron cải tiến của thuật toánBackpropagasion Thuật toán RPROP cho kết quả hội tụ nhanh hơn thuật toánBackpropagasion

Trang 22

Hình 1.6: Biểu đồ hội tụ của phương pháp học RPROP

Như hình trên ta thấy, sự phát hiện sai của RPROP trong quá trình học tiến về 0nhanh hơn phương pháp kia

1.3.2.2 Dựa trên hình dạng

Sau khi xác định được điểm nào là màu da, điểm nào không, ta đưa ảnh về ảnh nhịphân, với các điểm màu da là 1 và các điểm không phải màu da là 0 Từ đó, trongảnh xuất hiện các vùng màu da Tuy nhiên, không phải vùng nào cũng là khuôn mặt

Để loại bỏ những vùng không phải là khuôn mặt, các tác giả dựa trên các tiêu chuẩn

ra công thức đánh giá cho vùng đó như sau:

l l

N i

trong đó: l1, l2 là chiều dài các trục, Ni là số điểm trong vùng i đang xem xét

Ngoài ra, tác giả còn xác định cả tỉ lệ tóc trong vùng elip này Việc xác định màutóc cũng được thực hiện bằng học mạng nơron RPROP

1.3.2.3 Dùng các bộ lọc Gabor

Trang 23

Các tác giả còn sử dụng bộ lọc Gabor để nhận ra các vùng mặt Các sóng 2 chiềuGabor (Gabor 2D wavelet) là 1 chứng cứ độc lập khác cho nhận ra khuôn mặt Nócung cấp các tính chất đáp ứng tần số của ảnh Biểu thức của hàm Gabor 2 chiềunhư sau:

Trong đó: (x,y) là các điểm trong ảnh, σx, σy là kí hiệu của các tỉ lệ Gaussian dọctheo các trục tương ứng, (xo,yo) là tọa độ tâm của hàm trong miền không gian, uo, vo

là các tần số góc

Phân tách các thành phần thực và ảo trong hàm trên theo công thức: ejφ=cosφ +jsinφ, ta được các hàm dạng sin và cosin với 2 tham số độc lập là: tỉ lệ σ và gócquay θ:

Trong thử nghiệm, các tác giả đã sử dụng 64 hàm Gabor với 4 hướng và 8 tỉ lệ (32hàm cos và 32 hàm sin) Các tác giả đã sử dụng 5 mẫu học để nhận về các dấu hiệucủa hàm Gabor cho các tư thế đầu khác nhau:

Hình 1.7: Các hướng đầu khác nhau trong học dấu hiệu Gabor

Các hình chiếu Gabor trên mỗi ảnh được nhận về Kết quả, ta có 5 tập các dấu hiệu,mỗi tập cho 1 hình mặt trên Vì tập hàm Gabor là 64, nên với mỗi hình mặt trên, ta

có 64 kết quả trả về

Áp dụng các bộ lọc Gabor lên ảnh vào, thu được 1 tập dấu hiệu Sau đó, các tác giả

sẽ tính toán sự gần gũi của tập dấu hiệu thu được đó với 5 mô hình dấu hiệu thuđược trong quá trình học ở trên, lấy về giá trị lớn nhất và gán cho điểm ảnh đangtính đó Như vậy, mỗi điểm trong ảnh vào sẽ có một điểm số Sg(x,y) thể hiện sựgiống của nó với khuôn mặt mô hình

1.3.2.4 Tổng hợp các kết quả

Qua phân tích ảnh dựa trên một loạt các tham số như trên, tác giả tiến hành tổnghợp các kết quả lại bằng 1 công thức, sau đó đưa ra 1 giá trị ngưỡng để quyết địnhxem đó có phải là mặt hay không

Quá trình thực hiện được cho trong sơ đồ sau:

Trang 24

Hình 1.8: Sơ đồ biểu diễn phương pháp

1.3.2.5 Kết quả thực hiện

Trong quá trình học màu da mặt, các tác giả đã dùng đến hàng nghìn điểm màu damặt, và cũng 1 số lượng như vậy các điểm không phải là màu da mặt Sau đây là 1

số kết quả thử nghiệm:

Trang 25

Hình 1.9: Một số ảnh kết quả của phương pháp Từ trái sang phải: ảnh nhị phân,

ảnh kết quả với ngưỡng 0,7, ảnh kết quả với ngưỡng 0,8

Hình trên sử dụng giá trị cắt là 0,7, phát hiện được nhiều khuôn mặt hơn, nhưng lạiphát hiện nhầm 1 bàn tay góc phải dưới của ảnh Ảnh dưới sử dụng ngưỡng cắt caohơn là 0,8, không phát hiện nhầm bàn tay đó, nhưng lại bỏ xót vài khuôn mặt

Kết quả thực nghiệm cho tỉ lệ rất cao: 96%

1.3.2.6 Đánh giá

Phương pháp này có thể phát hiện được các khuôn mặt có kích thước và hướng dadạng (mà không giả định trước kích thước và hướng khuôn mặt) Phương pháp chokết quả phát hiện rất tốt (96%)

Tuy nhiên, có thể nó dùng nhiều tiêu chí để xác định khuôn mặt nên có thể thời gian

sẽ lâu hơn các phương pháp khác một chút Nhưng điều này có thể khắc phục bằngđầu tư phần cứng, sử dụng các thiết bị có cấu hình mạnh, tốc độ cao, nên nó vẫn cókhả năng sử dụng được trong hệ thống thời gian thực

1.3.3 Phương pháp sử dụng khoảng cách Hausdorff của Oliver Jesorsky, Klaus J Kirchberg và Robert W Frischholz

Phương pháp này áp dụng trên ảnh xám, không áp dụng trên ảnh màu Nhưng đókhông phải là hạn chế vì ta có thể chuyển từ ảnh màu sang ảnh xám dễ dàng Ngay

từ đầu ta thấy nói đến khoảng cách Hausdorff Có thể hiểu một cách nôm na,khoảng cách Hausdorff là 1 độ đo cho biết sự giống nhau của 2 mô hình Ta sửdụng nó để xác định xem 1 vùng trong ảnh giống với 1 mô hình mặt đưa ra đến mứcnào, để xác định xem vùng ảnh đó có phải là mặt người hay không

1.3.3.1 Khoảng cách Hausdorff

Cho 2 tập điểm:

A=a1,a2, ,a m

B=b1,b2, ,b n

Trang 26

Khi đó, khoảng cách Hausdorff được định nghĩa như sau:

H(A,B)=Max(h(A,B),h(B,A))Trong đó:

h(A,B)=maxa A minb B ||ab||

h(A,B) được gọi khoảng cách Hausdorff trực tiếp từ A tới B

||a-b|| là chuẩn của vector a-b Có nhiều dạng chuẩn khác nhau, phổ biến là chuẩnƠclit, chính là căn bậc 2 của tổng bình phương các tọa độ

Trong xử lý ảnh, người ta không áp dụng nguyên định nghĩa khoảng cách Hausdorffnày mà áp dụng 1 biến dạng của khoảng cách Hausdorff này (modified Hausdorff distance – mod), công thức như sau:

| 1

Trong đó: |A| là lực lượng của tập A, chính là số vector trong A

Công thức này khác công thức chuẩn ở chỗ: công thức chuẩn lấy max trong 1 tậpgía trị, còn ở đây lấy trung bình cộng

Thực nghiệm cho thấy rằng, trong xử lý ảnh, sử dụng công thức tính khoảng cáchHausdorff thứ 2 cho kết quả tốt hơn

1.3.3.2 Kĩ thuật phát hiện đối tượng dựa trên mô hình

Rucklidge đưa ra phương pháp phát hiện đối tượng trong ảnh số dựa vào khoảngcách Hausdorff như sau:

Cho 2 tập vector 2 chiều A, B; trong đó A đại diện cho ảnh, còn B là đối tượng cầnphát hiện Mục đích là tìm các tham số biến đổi p thuộc P sao cho khoảng cáchHausdorff giữa đối tượng được biến đổi Tp(B) và A là nhỏ nhất Các biến đổi đượcphép và không gian tham số P phụ thuộc vào từng ứng dụng cụ thể

Khoảng cách h(A, Tp(B)) được gọi là khoảng cách Hausdorff lùi, còn h(Tp(B),A)gọi là khoảng cách Hausdorff tiến

Quá trình có thể được mô phỏng qua hình vẽ sau:

Hình 1.10: Ví dụ mô phỏng quá trình nhận ra đối tượng dựa trên mô hình

Trang 27

1.3.3.3 Quá trình thực hiện phát hiện mặt người

Quá trình thực hiện gồm 2 pha: pha thô và pha tinh chỉnh Mỗi pha đều gồm 2 bước:

Sự khác nhau giữa pha thô và pha tinh chỉnh là ở chỗ: pha thô dùng mô hình cảkhuôn mặt, còn ở pha tinh chỉnh, sau khi nhận được các vùng có khả năng là khuônmặt được xác định ở pha thô, thì sẽ sử dụng mô hình chi tiết hơn là mô hình mắt, đểquyết định xem vùng đó có phải là mặt không

Quá trình được mô phỏng qua hình sau:

Hình 1.11: Quá trình phát hiện mặt người của phương pháp

AOI là viết tắt của Area of interested – vùng ảnh quan tâm

1.3.4 Phương pháp dựa trên phân tích bó sóng (wavelet packet analysis) của C Garcia, G Zikos, G Tziritas

Theo lời giới thiệu của các tác giả, phương pháp mà các tác giả đưa ra là phươngpháp phát hiện tự động và nhanh các mặt người trong ảnh màu Phương pháp khônggiả định trước về số lượng, vị trí, hướng và kích thước các khuôn mặt trong ảnh.Phương pháp có thể phát hiện tốt các khuôn mặt trên các nền ảnh phức tạp, cũngnhư trong những điều kiện ánh sáng khác nhau

Sơ lược về các bước của phương pháp như sau: Với mỗi ảnh đưa vào, đầu tiên, cáctác giả sử dụng các giá trị sắc tố da mặt để đưa ra các vùng trong ảnh có khả năng là

Trang 28

vùng mặt, gọi là các ứng cử viên vùng mặt Sau đó, các công việc phân tích hìnhdạng và phân tách các bó sóng được thực hiện trên mỗi ứng cử viên vùng mặt Mỗivùng ứng cử viên này sẽ được biểu diễn như là 1 tập con của các ảnh được lọc chứacác hệ số sóng Các hệ số này mô tả bề mặt của mặt và một tập các dữ liệu thống kêđơn giản được đưa ra trong trình tự tới hình thức cô đọng và các vector đặc trưng có

ý nghĩa Sau đó, một độ đo xác suất tin cậy và hiệu quả, được suy ra từ khoảng cáchBhattacharrya, được sử dụng để phân xác định xem các vùng ứng cử viên đó, vùngnào là khuôn mặt, vùng nào không, dựa trên các vector đặc trưng thu được từ trên.Sau đây ta sẽ đi vào cụ thể các khâu trong phương pháp

1.3.4.1 Xác định các vùng có màu da mặt

Để xác định các vùng này, các tác giả tiến hành nghiên cứu màu da mặt trong cáckhông gian màu YCrCb và HSV Khác với không gian màu RGB, biểu diễn màusắc như là tổ hợp của 3 màu cơ bản đỏ (Red), xanh lá cây (Green), xanh da trời(Blue); các không gian màu YCrCb và HSV biểu diễn màu sắc theo quan điểm nhìnmàu sắc của con người

Qua thực nghiệm (lấy mẫu các màu da mặt của nhiều chủng tộc người khác nhau,với những điều kiện ánh sáng khác nhau), các tác giả thấy rằng, các màu biểu diễnmàu da con người chỉ chiếm 1 không gian rất nhỏ trong không gian màu YCrCbhoặc HSV Minh họa qua hình sau:

Hình 1.12: Sự phân bố các điểm màu da mặt trong không gian HSV và YCrCb

Ta thấy, trong không gian màu HSV, không gian màu da mặt có vẻ kém cô đọnghơn so với YCrCb Các tác giả từ kết quả thực nghiệm cũng đã tính ra công thứccho việc xác định một màu có phải là màu da mặt hay không, như sau:

Trong không gian màu YCrCb:

Trang 29

Trong không gian màu HSV:

Có được công thức rồi, bây giờ các tác giả tiến hành xác định các vùng da mặt Đầutiên phải duyệt qua ảnh để xác định những điểm nào là màu da, điểm nào không,dựa vào 1 trong 2 công thức trên Chú ý, ở đây, các tác giả không thao tác trên từngđiểm ảnh (pixel) mà thao tác trên cả 1 khối điểm vuông kích thước 16x16 pixel, gọi

là macro-block Khi đó màu được so sánh là màu trung bình của cả khối

Sau khi xác định được các block nào là màu da, block nào không, các tác giả đưaảnh về ảnh nhị phân, với các block màu da=1 và block không phải màu da=0 Sau

đó, để xác định các vùng màu da (vùng 1), và để đảm bảo tốc độ thực hiện thuậttoán, các tác giả đã sử dụng 1 phép chiếu đơn giản lên 2 trục ngang dọc, và dựa vàocác băng 0, 1 (những giá trị 0 (1) liên tiếp được gọi là băng 0 (băng 1)), để xác địnhcác hình chữ nhật bao lấy các vùng màu da (tất nhiên với cách làm này, hình chữnhật có thể sẽ chứa 1 vùng lớn trong nó không phải là màu da) Hình minh họa sau:

Hình 1.13: Minh họa phát hiện màu da trong ảnh

Hình dòng trên là kết quả xác định vùng màu da thực hiện theo thuật toán đưa ra,còn bên dưới là kết quả cuối cùng của phương pháp này (tức là còn phải trải qua vàikhâu nữa mới đưa ra được kết quả này)

1.3.4.2 Xác định các ứng cử viên vùng mặt

Ở trên ta đã xác định được các vùng màu da được đóng khung trong các hình chữnhật, ở bước này, ta sẽ phải tìm trong các hình chữ nhật đó, những vùng có khảnăng là vùng mặt – gọi là ứng cử viên vùng mặt

Trang 30

Vì không biết trước kích thước của các khuôn mặt trong ảnh nên các tác giả bắt đầutìm những vùng ứng cử viên lớn nhất, sau đó giảm dần kích thước, tức là ta dùng 1cửa sổ quét Kích thước của cửa sổ đó được xác định thế nào? Các tác giả đưa ra 2tiêu chí là: giới hạn kích thước và tỉ lệ khuôn mặt Về giới hạn kích thước của cửa

sổ, kích thước nhỏ nhất là: 5 x 3 macro-block, tương đương với 80 x 48 pixel Cònkích thước lơn nhất, tất nhiên là cả khung hình chữ nhật đó Về tỉ lệ khuôn mặt, tức

là tỉ lệ giữa chiều cao và chiều rộng, các tác giả đưa ra khoảng giá trị là: [1;1,8].Khoảng giá trị đưa ra rộng là để cho các hướng và các tư thế khác nhau của khuônmặt

Với mỗi vị trí cửa sổ quét, để xác định xem vùng đó có thể là ứng cử viên không,các tác giả sử dụng tiêu chí là độ thuần nhất, tức là tỉ lệ các điểm 1 ở trong ô đó phảilớn hơn 1 ngưỡng nào đó Các tác giả chia ô đó ra thành 2 miền là: miền ngoài(outer) và miền trong (inner) Miền ngoài là đường bao của ô đó (có kích thướckhoảng 15% mỗi chiều), còn miền trong là vùng tâm còn lại Hình minh họa nhưsau:

Hình 1.14: Sự phân chia vùng ứng cử viên khuôn mặt trong phương pháp

Khi đó, tiêu chuẩn về sự đồng nhất đặt ra cho mỗi vùng như sau: trong vùng outer,

tỉ lệ 1 phải lớn hơn 65%, còn trong vùng inner tỉ lệ 1 phải lớn hơn 1 giá trị ngưỡng pđược xác định như sau:

trong đó δ = 2, còn w, h tương ứng là chiều rộng, cao của vùng inner đó với đơn vịtính là macro-block chứ không phải pixel

1.3.4.3 Phân lớp các ứng cử viên dựa vào phân tích bó sóng

Đến bước này ta cần xác định xem vùng ứng cử viên tìm được ở trên có phải là mặthay không là mặt dựa vào phân tích bó sóng Đặc tính chính của sóng là có khảnăng cung cấp một sự phân tích ảnh nhiều độ phân giải trong hình thức các ma trận

hệ số với sự phân rã ảnh trong miền không gian và tần số cùng một lúc Trongtrường hợp 2D (ảnh số), biến đổi sóng thường được thực hiện bằng việc áp dụngcác bộ lọc riêng rẽ Cụ thể, một bộ lọc thông thấp và 1 bộ lọc dải thông được ápdụng Kết quả của việc áp dụng bộ lọc thông thấp cho ra 1 ảnh gọi là ảnh xấp xỉ.Kết quả của việc áp dụng bộ lọc dải thông cho ra nhiều ảnh, gọi là các ảnh chi tiết.Như vậy, kết quả của việc áp dụng các bộ lọc cho ra 1 ảnh xấp xỉ và nhiều ảnh chitiết Sau đó, ảnh xấp xỉ đó lại có thể phân rã tiếp thành ảnh xấp xỉ và các ảnh chi tiếtmức 2,… Trong phương pháp đưa ra của các tác giả, cả ảnh xấp xỉ và ảnh chi tiết

Trang 31

đều có thể phân rã tiếp Kết quả thu được 1 cây phân rã Qua nhiều thí nghiệm, cáctác giả đã chọn ra các bộ lọc được sử dụng là các bộ lọc cầu liên hợp.

Có một câu hỏi đặt ra là: cây phân rã sẽ có độ sâu bao nhiêu Cây phân rã cần có 1

độ sâu hợp lý để đảm bảo không mất quá nhiều chi phí cho việc phân rã và vẫn đảmbảo giữ được các thông tin có nghĩa Rõ ràng độ sâu này phụ thuộc vào kích thướcvùng ứng cử viên được xử lý

Các tác giả đã xây dựng 1 csdl gồm 50 vùng mặt được lấy ra bằng tay (tức là dùngPain cắt vùng mặt trong ảnh ra), với các kích thước, hướng, ánh sáng và vị trí khácnhau Các mẫu vùng mặt này được phân làm 2 nhóm:

 Nhóm trung bình: gồm các mẫu có chiều cao <128 pixel

 Nhóm lớn: gồm các mẫu có chiều cao >128 pixel

Qua nhiều thử nghiệm, các tác giả quyết định độ sâu của cây phân rã với các ảnh cỡlớn là 3 và với các ảnh cỡ trung bình là 2 Như vậy, một ảnh sau khi được phân rã sẽđược biểu diễn bởi một tập gồm n ma trận hệ số sóng thuộc về mức sâu nhất củaquá trình phân rã Tức là với ảnh trung bình sẽ có n=16, 1 ảnh xấp xỉ và 15 ảnh chitiết; với ảnh lớn sẽ có n=64, 1 ảnh xấp xỉ và 63 ảnh chi tiết

Để lấy ra được các vector đặc trưng của vùng mặt, các tác giả chia vùng mặt rathành 4 phần bằng nhau, và phân tích bó sóng trên mỗi phần đó để lấy về thông tin

bề mặt khuôn mặt liên quan đến các phần khác nhau của khuôn mặt như mắt, mũi,miệng Trên mỗi phần đó, sau khi phân tích, các tác giả thu được các biến, kí hiệu là

δi2, như vậy là có 4 biến Với ảnh xấp xỉ sẽ lấy về 4 biến (bằng cách phân chia ảnh

đó thành 4 phần), và với mỗi ảnh chi tiết sẽ chỉ lấy về 1 biến (không phân chia) Kếtquả thu được 1 vector đặc trưng có m+4 biến gồm 4 biến lấy từ ảnh xấp xỉ và mbiến lấy từ m ảnh chi tiết (m=15 với ảnh cỡ trung bình, và =63 với ảnh cỡ lớn) Tómlại, với ảnh cỡ lớn ta sẽ thu được 1 vector gồm 67 biến và với ảnh cỡ trung bình tathu được 1 vector gồm 19 biến

Với mỗi ảnh trong csdl, các tác giả cũng tiến hành lấy ra các vector đặc trưng Tuynhiên, nếu lấy vector đặc trưng thu được từ vùng ảnh ứng cử viên lấy được ở phatrước mà đem so sánh với từng vector đặc trưng của các ảnh trong csdl thì rõ ràng làkhả năng khớp hoàn toàn là không thể Vì vậy, các tác giả tiến hành lấy trung bìnhcác vector đặc trưng của các ảnh trong csdl để cho ra các vector đặc trưng mẫu Sau

đó, tính khoảng cách của vector đặc trưng của vùng ảnh ứng cử viên so với vectorđặc trưng mẫu để quyết định xem vùng ứng cử viên đó có phải là mặt không Vì ảnh

có 2 loại, nên cũng có 2 vector đặc trưng mẫu, 1 cho loại trung bình, 1 cho loại lớn.Công thức xác định khoảng cách như sau:

Nếu khoảng cách trên lớn hơn 1 giá trị ngưỡng (được xác định trước) thì vùng ứng

cử viên đó không phải là mặt, nếu nhỏ hơn thì đó là mặt Qua thực nghiệm, các tácgiả tìm được giá trị ngưỡng phù hợp là 7,0

Trang 32

1.3.4.4 Kết quả thử nghiệm

Các tác giả đã tiến hành thử nghiệm trên 100 ảnh gồm 104 khuôn mặt Các ảnhphần lớn được lấy từ các quảng cáo, báo chí, bộ phim hoặc tự chụp Kết quả là pháthiện được 97 khuôn mặt (chiếm tỉ lệ 93,27%), phát hiện nhầm 23 khuôn mặt, và 7khuôn mặt không phát hiện ra Các phát hiện nhầm là do nó có màu giống màu da,

và hình dạng cũng có tỉ lệ tương tự khuôn mặt Việc không phát hiện hết được cáckhuôn mặt là điều tất yếu, không có phương pháp nào có thể đạt tỉ lệ phát hiện100% Trong 7 khuôn mặt không phát hiện ra đó thì có 4 khuôn mặt quá sáng hoặcquá tối và 3 khuôn mặt quá nhỏ

Thời gian thực hiện thuật toán trên máy trạm SUN ULTRA-2 là 5,4 s; trên máytrạm SGI O2 là 2,44 s; trên máy trạm SPARC 5 là 32,6 ms Trong thuật toán thìkhâu phân rã sóng là khâu tiêu tốn nhiều thời gian nhất, chiếm phần lớn thời gianthực hiện thuật toán Sau đây là một số hình ảnh kết quả:

Hình 1.15: Một số ảnh kết quả

Trang 33

1.3.5 Phương pháp sử dụng các khung sóng (wavelet frames) của C Garcia, G Simandiris và G Tziritas

1.3.5.1 Tổng quan

Đây là 1 phương pháp mới cho phát hiện mặt người trong ảnh màu, không phụthuộc vào hướng, kích thước, vị trí, số lượng các khuôn mặt trong ảnh; cũng khôngphụ thuộc vào nền và điều kiện ánh sáng trong ảnh, tức là cho phép phát hiện đượccác khuôn mặt trong ảnh có nền ảnh phức tạp hoặc điều kiện ánh sáng đa dạng,không biết trước

Ý tưởng chung của phương pháp này như sau: đầu tiên các tác giả sử dụng cáckhung sóng để phát hiện ra các bộ phận trên khuôn mặt, gồm: 2 mắt, mũi, miệng.Tất nhiên là có thể có những phát hiện nhầm ở bước này, như phát hiện 1 con mắt,nhưng thực tế đó không phải là mắt Như vậy, sau bước này thu được 1 tập cácvùng được phát hiện là mắt, 1 tập các vùng mũi và 1 tập các vùng miệng Sau đó,các tác giả tiến hành xây dựng lên các mô hình khuôn mặt như sau: với mỗi con mắtphát hiện được, các tác giả sẽ coi đó là con mắt trái của khuôn mặt (theo hướng nhìnvào ảnh), khi đó, yêu cầu phía bên phải cũng phải có 1 con mắt (mắt phải) với 1khoảng cách và 1 góc độ xác định (có góc vì có thể mặt người nghiêng) Nếu tronggiới hạn đó mà không có con mắt nào thì bỏ qua và chuyển sang xây dựng mô hìnhmặt ứng với con mắt trái khác Nếu tồn tại con mắt phải trong giới hạn cho phép, thìtiếp đến là tìm các bộ phận khác là miệng, mũi Các bộ phận này cũng phải nằmtrong 1 giới hạn cho phép Nếu không thấy bộ phận nào thì sẽ loại bỏ luôn Nếuthấy đầy đủ, thì tức là đã xác định được 1 khuôn mặt

Trong thực hiện chi tiết, các tác giả còn xem xét thêm nhiều vùng nữa như vùng má,vùng quanh miệng, Sau đây, ta đi vào chi tiết các bước của phương pháp này

1.3.5.2 Xác định các thành phần trên khuôn mặt (2 mắt, mũi, miệng)

Để hạn chế vùng tìm kiếm trong ảnh, ảnh có thể được xử lý trước bằng cách cho lọcqua 1 bộ lọc phát hiện màu da Khi đó, ta chỉ cần tìm các bộ phận mắt, mũi, miệng,trong vùng màu da đó Nhưng đó không phải là bắt buộc, phương pháp vẫn có thểtìm ra được những bộ phận đó mà không cần phải lọc màu da

Để phát hiện ra các bộ phận đó, các tác giả dựa trên các khung sóng được lấy ra từảnh Các khung sóng này được lấy ra bằng việc sử dụng 1 cặp bộ lọc thông thấp vàthông cao Áp dụng các bộ lọc đó lên ảnh gốc ta thu được 4 ảnh hệ số sóng là: A(approximation), H (horizontal details), V (vertical details), D (diagonal details).Sau đó tiếp tục áp dụng các bộ lọc đó lên các ảnh A, H, V, D đó, ta thu được cácảnh sóng là: AA, AH, AV, AD,… Áp dụng tiếp các bộ lọc này một lần nữa trên cácảnh sóng ta thu được các ảnh kết quả gọi là các băng (band): AAA, AAH,… Tómlại, sau quá trình này, ta thu được 1 cây khung sóng 3 mức Giải pháp này đưa rakhả năng phân tích tín hiệu mạnh Các độ đo thống kê sẽ được đưa ra từ các ảnh hệ

số sóng theo 1 trình tự, để xác định các tính chất của bề mặt của các thành phầnkhuôn mặt

Dựa trên nhiều thí nghiệm, các tác giả thấy rằng, băng AHH cung cấp các dấu hiệuchắc chắn cho phát hiện mắt và mồm Còn các đặc trưng của mũi thì được chứngminh là kém ổn định trong các băng sóng, bởi vì nó nghèo đặc trưng và bị thay đổimạnh khi điều kiện sáng thay đổi hoặc hướng khuôn mặt thay đổi Bởi vậy, trong

Trang 34

giai đoạn khoanh vùng các bộ phận khuôn mặt, các tác giả không thực hiện xác địnhvùng của mũi Các thông tin liên qua đến mũi sẽ được sử dụng trong giai đoạn saucủa giải thuật.

Để phát hiện ra các thành phần của khuôn mặt, các tác giả sử dụng 1 cửa sổ quét là40x40 pixel Lý do sử dụng cửa sổ quét có kích thước cố định này là: các tác giảhướng tới việc phát hiện ra tất cả các thành phần có kích thước khác nhau này chỉbằng 1 lần quét Hình dưới đây minh họa 1 tín hiệu AHH với 1 cửa sổ có tâm nằmtrên 1 con mắt:

Hình 1.16: Từ trái sang phải và từ trên xuống: ảnh gốc, băng AHH, tín hiệu AHH

của mắt và tín hiệu được lấy ra

Hình thức sóng dọc xác định các tính chất của mắt và cho phép phát hiện ra chúng,trong khi đó, tín hiệu này được giữ lại không đổi theo hướng ngang Do đó, 1 bộ lọcthông thấp theo hướng ngang được sử dụng để đưa ra tín hiệu 1 chiều, kết hợp vớicác tính chất theo hướng dọc, như thể hiện trong hình trên Chỉ các cực trị của tínhiệu mới được sử dụng trong phân lớp Sự quyết định xem trong ô cửa sổ có phải làmắt hay không dựa vào vector dữ liệu Thành phần của vector này gồm 3 cực đại và

2 cực tiểu (hình trên) Sau đó vector này sẽ được so sánh với 1 vector mẫu được tạosẵn (dựa trên 1 tập mẫu) dựa trên khoảng cách Mahalanobis Nếu khoảng cách tính

ra nhỏ hơn 1 giá trị ngưỡng thì nó sẽ được coi là mắt

Quá trình cũng được thực hiện tương tự với phát hiện mồm

1.3.5.3 Mô hình hóa khuôn mặt bằng một mẫu biến đổi

Mô hình khuôn mặt bao gồm 4 thành phần: 2 mắt, mũi, miệng với các kích thước và

vị trí tương đối giữa chúng Vì các khuôn mặt có các kích thước khác nhau nên cácthành phần này có kích thước lớn nhỏ tùy theo từng khuôn mặt, nhưng phải đảmbảo tỉ lệ về kích thước giữa chúng là không đổi Sau đây là các tham số trong môhình khuôn mặt:

Trang 35

Hình 1.17: Các tham số của mô hình khuôn mặt

Các tham số bao gồm: de, dn, dm, αe, αn Trong đó:

 de là khoảng cách giữa 2 tâm mắt Khoảng cách này thay đổi từ 20 pixel đến

60 pixel, phổ biến là 40 pixel

 αe là góc giữa đường cơ bản (đường nối 2 tâm mắt) và đường nằm ngang Nóthể hiện hướng nghiêng của khuôn mặt Nó có giá trị biến đổi trong khoảng

±200

 dn là khoảng cách từ tâm mũi đến đường cơ bản Nó được giới hạn trongkhoảng: 0,6de ≤ dn ≤0,8de

 dm là khoảng cách từ miệng đến đường cơ bản Rằng buộc: dm=2dn

 αn là góc giữa đường trục mũi và pháp tuyến với đường cơ bản Nó thay đổitrong giới hạn ±2 αe

Ta sẽ đặt mô hình mặt vào mỗi con mắt tìm thấy trong ảnh (coi đó là mắt trái trong

mô hình), sau đó biến đổi (thay đổi giá trị các tham số trên) để cố gắng đưa vàotrong mô hình con mắt phải và miệng Nếu sau khi biến đổi mô hình rồi mà khôngthể đưa vào con mắt phải hoặc miệng, thì sẽ chuyển sang con mắt trái khác

Cửa sổ của các vùng bộ phận khuôn mặt phụ thuộc vào khoảng cách giữa 2 mắt de:w=0,03w0*de, h=0,03h0*de Các tham số (wo,ho) tương ứng với mắt, mũi, miệng là:(25,20), (25,16), (35,16)

Ngoài 4 bộ phận trên của khuôn mặt, các tác giả còn đưa vào xem xét vùng giữa haimắt, xung quanh miệng, vùng má Các vùng này được xác định dựa trên gócnghiêng của khuôn mặt và khoảng cách giữa các cửa sổ của các vùng mắt mũimiệng Hình minh họa sau:

Trang 36

Hình 1.18: Vùng xung quanh các đặc trưng khuôn mặt

Sau khi có được mẫu rồi, các tác giả chuyển sang bước tiếp theo là phân lớp nộidung mẫu (tức là xác định xem mẫu đó có thực sự là khuôn mặt không)

1.3.5.4 Phân lớp nội dung mẫu

Quá trình thực hiện qua các bước sau:

 Phân tích biến đổi cục bộ: các vùng bên trong khuôn mặt được xác định tínhchất bởi các biến đổi nhỏ trong các băng con Để tăng cường độ chính xác thìcác kiểm tra sau được tiến hành:

o Dưới vùng mắt: vùng này được xác định tính chất bởi một biến đổinhỏ trong băng AH

o Các vùng má: các vùng này được xác định tính chất bởi các biến đổinhỏ trong các băng AH và AHH

o Các vùng xung quanh miệng: việc kiểm tra vùng này sẽ giúp cải thiện

sự khoanh vùng miệng, tức là có thể loại bỏ các cửa sổ vùng miệngtồi

 So sánh năng lượng cục bộ: một độ đo bất biến với điều kiện sáng và tư thếkhuôn mặt là tỉ lệ về năng lượng giữa vùng mắt và vùng má (năng lượngvùng má cao hơn) Một mối quan hệ tương tự được mong đợi khi so sánhvùng mắt với vùng giữa 2 mắt Các kiểm tra sau được tiến hành:

o Các so sánh biến đổi băng trong: các vùng mắt và miệng phải có mộtbiến đổi lớn hơn trong băng AH so với trong băng AV

o Sự tương quan giữa mắt trái và mắt phải: sự tương quan được chuẩnhóa giữa 2 cửa sổ mắt trái và mắt phải, phải lớn hơn một giá trịngưỡng

o Sự đồng nhất của da mặt: đó là một vùng zich zac xung quanh các cửa

sổ mắt và miệng Yêu cầu đặt ra là: vùng này nên có sự đồng đều vềcường độ sáng Việc này được kiểm tra bởi một giá trị ngưỡng (giá trịnày được các tác giả lấy ra từ thực nghiệm trên 100 ảnh, và không đưa

ra trong bài báo này)

Sau khi trải qua các kiểm tra trên, ứng cử viên cho khuôn mặt sẽ được đưa vào kiểmtra lần cuối cùng một cách tổng thể Sau đây, khi nói từ “đặc trưng khuôn mặt” làmuốn chỉ đến 4 bộ phận: 2 mắt, mũi, miệng Với mỗi cửa sổ đặc trưng khuôn mặt,

Trang 37

các tác giả lấy ra 1 vector thống kê Các vector thống kê này sẽ cung cấp diễn đạt về

bề mặt của các đặc trưng khuôn mặt Cho mỗi đặc trưng khuôn mặt, các tác giả xéttrên n băng sóng Và trong mỗi cửa sổ bao đặc trưng khuôn mặt trong mỗi băngsóng này, các tác giả tính ra 1 biến δi2 Như vậy, vector đặc trưng được lấy ra sẽ baogồm n biến δi2, nó diễn đạt về bề mặt của đặc trưng khuôn mặt đó Cụ thể: với mắt,các tác giả sử dụng 16 băng sóng là: AH, HA, HH, HV, AHA, AHH, AHV, HAA,HAH, HAV, HHA, HHH, HHV, HVA, HVH, HVV; với mũi, sử dụng 6 băng sónglà: AH, HA, HH, AHA, AHH, HAH; với miệng, các tác giả sử dụng 8 băng sóng là:

AH, HH, AAH, AHA, HHA, HHH, HHV

Sau đó, các vector đặc trưng này sẽ được so sánh với các vector mẫu tương ứng.Tương ứng tức là: vector đặc trưng của mắt sẽ được so sánh với vector mẫu củamắt, của mũi sẽ được so sánh với mũi,… Vector mẫu này được tính từ trước trên 1tập ảnh mẫu Mỗi đặc trưng khuôn mặt sẽ có 1 vector mẫu tương ứng: vector mẫucho mắt, vector mẫu cho mũi, vector mẫu cho miệng Việc so sánh dựa trên khoảngcách Bhattacharya Công thức như sau:

Trong công thức trên:

 n là số thành phần trong vector, ví dụ: với mắt, n=16

 δi2 là các thành phần trong vector đặc trưng được lấy ra

 si2 là các thành phần trong vector mẫu

Khi đó, khoảng cách DB phải nhỏ hơn 1 giá trị ngưỡng (giá trị này được lấy ra từthực nghiệm) thì mới được chấp nhận là đặc trưng của khuôn mặt (tức là đúng làmắt hay đúng là mũi,…) Một ứng cử viên khuôn mặt được chấp nhận nếu tất cả cácđặc trưng của nó được chấp nhận

1.3.5.5 Kết quả thực nghiệm

Các tác giả đã tiến hành thử nghiệm trên 100 ảnh, chứa 104 khuôn mặt, và có 10ảnh không có khuôn mặt nào Kết quả: tỉ lệ phát hiện đúng là 91,4%; với 9 phát hiệnsai Thời gian thực hiện trung bình trên 1 ảnh là 19 s, chương trình được chạy trênmáy trạm 690-MP, hệ điều hành SunOS 2.4 Các khuôn mặt không phát hiện đượcthường là do ánh sáng quá yếu (quá tối) hoặc quá mạnh (quá sáng) Sau đây là mộtvài ảnh kết quả khi áp dụng phương pháp này:

Trang 38

Hình 1.19: Một số ảnh kết quả của phương pháp

Trang 39

CHƯƠNG 2: PHÁT HIỆN MẶT NGƯỜI DỰA TRÊN

Tổng quan về phương pháp.

Phương pháp phát hiện màu da.

Thuật toán phân vùng.

Các tiêu chuẩn xác định vùng mặt

2.1 Nội dung phương pháp

Từ các phương pháp đã trình bày ở Chương 1, em chọn ra một phương pháp (có cảibiên và làm rõ thêm một số bước) để cài đặt trong chương trình Phương pháp thựchiện phát hiện mặt người trong ảnh màu Do thời gian ngắn, nên phương pháp đượcđưa ra tương đối đơn giản, do đó, độ chính xác cũng không cao Nhưng bù lại, nócũng có những ưu điểm là:

 Không phụ thuộc vào độ sáng của ảnh

 Không phụ thuộc vào số lượng các khuôn mặt trong ảnh

Các bước của phương pháp như sau:

Bước 1: Phát hiện màu da Đây là bước quan trọng then chốt là bước chính

trong thuật toán, vì nếu không phát hiện được màu da thì sẽ không phát hiệnđược các khuôn mặt Ngoài các điểm màu da trên cơ thể người như mặt, cổ,tay, chân, thì trong nền của ảnh cũng có nhiều điểm có màu tương tự màu da

Số lượng các điểm đó mà nhiều thì sẽ ảnh hưởng tới xác định các khuôn mặtsau này Đầu vào của bước này là ảnh màu, đầu ra là ảnh nhị phân Nhữngđiểm 1 (điểm trắng) là những điểm màu da

Trang 40

Bước 2: Lọc nhiễu Do trong quá trình xác định màu da có thể phát hiện

nhầm một số điểm gây ra những nhiễu điểm trong ảnh nhị phân Do đó, khâunày sẽ loại bỏ những nhiễu điểm đó, để việc xác định các vùng trắng đượcthuận lợi và nhanh chóng Đầu vào là ảnh nhị phân màu da ở trên, đầu ra làảnh nhị phân được lọc nhiễu

Bước 3: Xác định các vùng trắng Các điểm trắng trong ảnh nhị phân liên

kết với nhau tạo thành các vùng trắng (dựa trên quan hệ 8 hàng xóm) Trongbước này ta sẽ phải xác định các vùng đó Đầu vào của bước này là: ảnh nhịphân đã lọc nhiễu, và đầu ra là danh sách các vùng trắng tìm được Mỗi vùngtrắng được xác định bằng các tham số sau:

o Tọa độ: mỗi vùng trắng sẽ được bao bằng một hình chữ nhật Do đó,tọa độ của vùng trắng là tọa độ của hình chữ nhật bao nó, bao gồm:tọa độ góc trái trên (x,y) và chiều rộng, chiều cao

o Số điểm trắng trong vùng

Bước 4: Phân loại các vùng trắng Ở bước 3 ta đã xác định được danh sách

các vùng trắng Trong bước cuối cùng này, ta sẽ phải phân loại các vùngtrắng đó dựa trên một số tiêu chí để xác định xem vùng trắng nào là mặt Đầuvào của bước này là danh sách các vùng trắng, đầu ra là danh sách các tọa độvùng mặt (nếu 1 vùng trắng được xác định là vùng mặt, thì trong đầu ra, tachỉ giữ lại tọa độ của vùng trắng đó (hình chữ nhật bao vùng trắng), còntham số “số điểm trắng” sẽ không cần phải giữ lại trong đầu ra)

Sơ đồ khối của phương pháp như sau:

Hình 2.1: Sơ đồ khối của phương pháp

Sau đây ta sẽ đi vào chi tiết các bước trong phương pháp

2.2 Chi tiết các bước

2.2.1 Phát hiện màu da

Trong bước này ta sẽ phải duyệt qua các điểm trong ảnh vào Tại mỗi điểm, ta sẽphải xác định xem nó có phải là màu da hay không? Nếu là màu da, ta sẽ gán chogiá trị tại điểm đó bằng 1, nếu không ta sẽ gán giá trị 0 Kết quả ta có 1 ảnh nhịphân, với các điểm 1 (điểm trắng) là các điểm màu da Sơ đồ khối của bước này nhưsau:

Ngày đăng: 03/11/2014, 11:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nhập môn xử lý ảnh số - Lương Mạnh Bá, Nguyễn Thanh Thủy Khác
[2]. Đồ án tốt nghiệp của Mai Anh Tuấn K47 Khác
[3]. Human Face Detection in Cluttered Color Images Using Skin Color and Edge Information by K. Sandeep and A.N. Rajagopalan Khác
[4]. Face Detection by Integration of Evidence by Manoj Seshadrinathan and Jezekiel Ben-Arie Khác
[5]. Robust Face Detection Using the Hausdorff Distance by Oliver Jesorsky, Klaus J. Kirchberg, and Robert W. Frischholz Khác
[6]. Face Detection in Color Images using Wavelet Packet Analysis by C. Garcia, G. Zikos, G. Tziritas Khác
[7].A FEATURE-BASED FACE DETECTOR USING WAVELET FRAMES by C. Garcia, G. Simandiris and G. Tziritas Khác
[8]. Feature-based human face detection by Kin Choong Yow and Roberto Cipolla Khác
[9]. Một số file Wikipedia về các hệ màu Khác
[10]. Các file tài liệu của thư viện AForge Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Mô hình biểu diễn 2 thành phần màu H,S trong HSV - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.1 Mô hình biểu diễn 2 thành phần màu H,S trong HSV (Trang 9)
Hình 1.6: Biểu đồ hội tụ của phương pháp học RPROP - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.6 Biểu đồ hội tụ của phương pháp học RPROP (Trang 19)
Hình 1.8: Sơ đồ biểu diễn phương pháp - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.8 Sơ đồ biểu diễn phương pháp (Trang 21)
Hình 1.9: Một số ảnh kết quả của phương pháp. Từ trái sang phải: ảnh nhị phân, - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.9 Một số ảnh kết quả của phương pháp. Từ trái sang phải: ảnh nhị phân, (Trang 22)
Hình 1.10: Ví dụ mô phỏng quá trình nhận ra đối tượng dựa trên mô hình - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.10 Ví dụ mô phỏng quá trình nhận ra đối tượng dựa trên mô hình (Trang 23)
Hình 1.11: Quá trình phát hiện mặt người của phương pháp - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.11 Quá trình phát hiện mặt người của phương pháp (Trang 24)
Hình 1.12: Sự phân bố các điểm màu da mặt trong không gian HSV và YCrCb - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.12 Sự phân bố các điểm màu da mặt trong không gian HSV và YCrCb (Trang 25)
Hình 1.15: Một số ảnh kết quả - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.15 Một số ảnh kết quả (Trang 29)
Hình 1.16: Từ trái sang phải và từ trên xuống: ảnh gốc, băng AHH, tín hiệu AHH - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 1.16 Từ trái sang phải và từ trên xuống: ảnh gốc, băng AHH, tín hiệu AHH (Trang 31)
Sơ đồ khối của phương pháp như sau: - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Sơ đồ kh ối của phương pháp như sau: (Trang 37)
Hình 2.2: Vị trí của khâu trong phương pháp - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.2 Vị trí của khâu trong phương pháp (Trang 38)
Hình 2.6: Một số kết quả minh họa trong phát hiện màu da - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.6 Một số kết quả minh họa trong phát hiện màu da (Trang 42)
Hình 2.7:Minh họa phát hiện màu da theo từng tiêu chí. Từ trái sang phải: ảnh vào, - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.7 Minh họa phát hiện màu da theo từng tiêu chí. Từ trái sang phải: ảnh vào, (Trang 43)
Hình 2.9: Minh họa kết quả lọc nhiễu - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.9 Minh họa kết quả lọc nhiễu (Trang 44)
Hình 2.11: Thuật toán phân vùng cơ bản - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.11 Thuật toán phân vùng cơ bản (Trang 48)
Hình 2.14: Kết quả minh họa thuật toán phân vùng cơ bản - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.14 Kết quả minh họa thuật toán phân vùng cơ bản (Trang 50)
Hình 2.15: Minh họa các liên kết yếu giữa các vùng trắng - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.15 Minh họa các liên kết yếu giữa các vùng trắng (Trang 50)
Hình 2.16: Ví dụ về liên kết yếu gặp phải trong phát hiện mặt - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.16 Ví dụ về liên kết yếu gặp phải trong phát hiện mặt (Trang 51)
Hình 2.17: Lưu đồ thuật toán phát hiện liên kết yếu theo chiều dọc - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.17 Lưu đồ thuật toán phát hiện liên kết yếu theo chiều dọc (Trang 53)
Hình 2.21: Trường hợp phát hiện nhầm nếu không có cận trên của tỉ lệ điểm trắng - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.21 Trường hợp phát hiện nhầm nếu không có cận trên của tỉ lệ điểm trắng (Trang 56)
Hình 2.20: Trường hợp phát hiện nhầm nếu chỉ dựa vào tỉ lệ kích thước - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 2.20 Trường hợp phát hiện nhầm nếu chỉ dựa vào tỉ lệ kích thước (Trang 56)
Hình 3.1: Giao diện công cụ lấy vùng mặt - đầu vào ảnh tĩnh - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 3.1 Giao diện công cụ lấy vùng mặt - đầu vào ảnh tĩnh (Trang 59)
Hình 3.2: Giao diện công cụ lấy vùng mặt - đầu vào file phim - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 3.2 Giao diện công cụ lấy vùng mặt - đầu vào file phim (Trang 60)
Hình 3.4: Minh họa khoanh vùng mặt - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 3.4 Minh họa khoanh vùng mặt (Trang 61)
Hình 3.3: Ảnh báo lỗi  khi mở file không phải là file ảnh - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 3.3 Ảnh báo lỗi khi mở file không phải là file ảnh (Trang 61)
Hình 4.1: Giao diện chương trình với đầu vào là file ảnh - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 4.1 Giao diện chương trình với đầu vào là file ảnh (Trang 68)
Hình 4.2: Giao diện chương trình với đầu vào là file phim - Đồ án tốt nghiệp: Xử lý ảnh phát hiện khuôn mặt người
Hình 4.2 Giao diện chương trình với đầu vào là file phim (Trang 69)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w