TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
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á
Hà nội 5-2008
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
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á
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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 3/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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.
Các tiêu chí xác định vùng mặt.
Chương 3:
Trình bày về công cụ lấy mặt người trong ảnh.
Công cụ tổng hợp histogram.
Chương 4:
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 4/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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 5/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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 6/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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 7/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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 8/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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 9/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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ận
dạ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, ta
phải tách ra được các khuôn mặt trong đó. Các khuôn mặt được tách ra sẽ được
chuyể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ếp
cận:
Giải pháp dựa trên mô hình (top-down model-based approach): trong hướng
tiế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ác
nhau 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ình
khuô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óc
nhìn khuôn mặt khác nhau.
Giải pháp dựa trên đặc trưng (bottom-up feature-based approach): trong
hướ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ưng
của khuôn mặt (như mắt, mũi, miệng,…), sau đó gom nhóm chúng lại với
nhau (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ên
cho khuôn mặt. Giải pháp này có thể dễ dàng mở rộng cho nhiều góc nhìn
khuô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ận
nà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ức
xám của các điểm trong ma trận ảnh con. Phương pháp này khó mở rộng cho
nhiều góc nhìn.
Trang 10/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
Giải pháp dựa trên mạng nơron (neural network approach): trong giải pháp
nà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ải
khuô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ích
thước như nhau và xác định) và được cho qua bộ lọc mạng nơron. Nhìn
chung, 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, đầu
tiê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ặt
hoặc không. Để xác định có phải là mặt không, có thể dựa vào tỉ lệ kích
thướ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ựa
trê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ái
lắ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ính
xác hơn, tuy nhiên cũng phải trả giá về thời gian. Trong đồ án này, em chỉ đi vào
tì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ụng
trong 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ày
biể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ể.
1.2.1. Hệ màu HSV
HSV (còn có tên gọi khác là HSB) là viết tắt của Hue, Saturation, Value. Hệ màu
gồm 3 thành phần H, S, V. Trong hệ màu này, các màu đều được biểu diễn dựa trên
3 thành phần H, S, V này.
H là viết tắt của Hue, nghĩa là màu sắc. Thành phần này biểu diễn màu sắc vốn có
của màu như: đỏ, xanh da trời, da cam,… Nó có giá trị từ 0 đến 360 o. Hình sau
minh họa giá trị của H và màu tương ứng:
Trang 11/97
Xây dựng ứng dụng phát hiện mặt người dựa trên màu da
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óc
cho 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ái
niệ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ắng
nhiề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ụ: khi
H=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ằm
trong đ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ọi
ngườ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ị H
xá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áng
khô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 V
tă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ộc
và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
- Xem thêm -