Nội dung luận văn sẽ tập trung vào giải quyết các vấn đề như làm sao có thể phải hiện và nhận dạng đối tượng trong video, cũng như việc làm sao có thể phát hiện khuôn mặt và nhận dạng gư
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
***
TRẦN TRUNG KIÊN
HỆ THỐNG NHẬN DẠNG GƯƠNG MẶT
TRONG VIDEO GIÁM SÁT
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Trang 2ỜI C M ĐO N
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác
Đồng Nai, ngày tháng năm 2013
Trần Trung Kiên
Trang 3LỜI CẢM ƠN
Tôi xin chân thành cảm ơn Trường Đại học Lạc Hồng, Khoa Công nghệ thông tin, thầy Tiến sĩ Tân Hạnh đã giúp đỡ tạo điều kiện thuận lợi cho tôi trong quá trình thực hiện luận văn tốt nghiệp này
Tôi xin cảm ơn Phòng Sau Đại Học – Đại học Lạc Hồng đã tạo điều kiện tốt nhất cho em có thể học tập nghiên cứu, tiếp cận những kiến thức công nghệ mới Xin cảm ơn các thầy cô trong nhà trường đã nhiệt tình giảng dạy em trong suốt thời gian qua Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc đến thầy Tiến Sĩ Tân Hạnh đã tận tình hướng dẫn giúp đỡ tôi trong quá trình làm luận văn, để em có thể thực hiện tốt những yêu cầu đề ra
Cuối cùng tôi xin cảm ơn gia đình tôi đã làm chỗ dựa tinh thần vững chắc cho tôi, đó là nguồn động lực lớn giúp tôi vượt qua được những khó khăn trong quá trình học tập
XIN CHÂN THÀNH CẢM ƠN!
Đồng Nai, ngày tháng năm 2013
Trần Trung Kiên
Trang 4MỤC ỤC
LỜI M ĐO N
LỜI CẢM ƠN
M L
NH M K HI U, H VI T TẮT
NH M H NH
MỞ Đ U 1
hương 1 - TỔNG QUAN 3
1.1 Giới Thiệu 3
1.2 Ứng Dụng 7
1.3 Mục tiêu thực hiện của luận văn 8
1.4 Phạm vi thực hiện của luận văn 8
1.5 Kết luận chương 1 8
hương 2 - PHÁT HI N KHUÔN MẶT 9
2.1 Giới thiệu 9
2.2 ác khó khăn trong việc phát hiện khuôn mặt 9
2.3 Một số phương pháp phát hiện khuôn mặt 11
2.3.1 Neural Network 11
2.3.2 Support Vector Machine 12
2.3.3 Hidden Markov model (HMM) 13
2.3.4 Phương pháp dò tìm khuôn mặt dựa trên sắc màu da 14
2.3.4.1 Mô tả phương pháp 14
2.3.4.2 Phạm vi vùng màu da 16
2.3.5 AdaBoost 17
2.3.5.1 Đặc trưng Haar-Like 18
2.3.5.2 Cascade of Classifiers 22
2.4 Kết luận chương 2 23
hương 3 - NHẬN DẠNG GƯƠNG MẶT 25
3.1 Tổng quan 25
Trang 53.2 Eigenfaces 25
3.2.1 Tính toán eigenfaces 26
3.2.2 Cải tiến phương pháp P 29
3.2.2.1 Tính toán Eigenvector từ mẫu huấn luyện 30
3.2.2.2 Phép chiếu mẫu huấn luyện vào không gian khuôn mặt 31
3.2.2.3 Phép chiếu mẫu kiểm tra vào không gian khuôn mặt 31
3.2.2.4 Phân lớp của mẫu kiểm tra 32
3.2.3 Sử dụng eigenfaces để nhận dạng gương mặt 32
3.3 Kết luận chương 3 35
hương 4 - XÂY DỰNG ỨNG D NG 36
4.1 Giới thiệu 36
4.2 Mục Tiêu 36
4.3 Kiến trúc hệ thống 36
4.4 Xây dựng giao diện 39
4.4.1 Giao diện chương trình 39
4.4.2 Giao diện thống kê nhận dạng 40
4.5 Thu thập ơ Sở Dữ Liệu 41
4.6 Thử nghiệm ứng dụng 41
4.6.1 Thử nghiệm với góc nghiêng 41
4.6.2 Thử nghiệm với độ sáng 44
4.6.3 Thử nghiệm với các ngưỡng 45
4.6.4 Thử nghiệm với số ảnh trên tập huấn luyện 46
4.7 Kết luận chương 4 46
hương 5 - K T LUẬN 48
5.1 Kết quả đạt được 48
5.2 Hạn chế 48
5.3 Hướng phát triển 48 DANH M C TÀI LI U THAM KHẢO
Trang 6HMM Hidden Markov Model Mô hình ẩn Markov
PCA Pricipal Component Analysis Phân tích thành phần chính SVM Support Vector Machine Máy vector hỗ trợ
Trang 7NH MỤC C C H NH
Hình 1.1 Ứng dụng nhận dạng trong ID card [19] 3
Hình 1.2 Ứng dụng nhận dạng trong điều khiển truy cập (access control) [20] 4
Hình 1.3 Ứng dụng khác của hệ thống nhận dạng [20] 4
Hình 1.4 Mô hình hệ thống 6
Hình 1.5 Xử lý khuôn mặt 6
Hình 1.6 Mô hình ứng dụng 7
Hình 2.1 Phát hiện khuôn mặt [17] 9
Hình 2.2 Các trạng thái khuôn mặt [18] 10
Hình 2.3 Mạng Neural [8] 11
Hình 2.4 Minh họa thuật toán SVM, dữ liệu đầu vào (a), và kết quả (b) [5] 13
Hình 2.5 Phương pháp dò tìm khuôn mặt trên ảnh đã phân ngưỡng 15
Hình 2.6 Hoạt động theo kĩ thuật boosting 18
Hình 2.7 Egde feature – Haar-like cơ bản [9] 19
Hình 2.8 Line feature – Haar-like cơ bản [9] 19
Hình 2.9 Diagona line feature – Haar-like cơ bản [9] 19
Hình 2.10 Ví dụ đặc trưng Haar-like [9] 20
Hình 2.11 Egde features – Haar-like mở rộng [9] 20
Hình 2.12 Egde features – Haar-like mở rộng [9] 20
Hình 2.13 Center-surround features – Haar-like mở rộng [9] 21
Hình 2.14 Special Diagona line feature – Haar-like Mở rộng [9] 21
Hình 2.15 Integral Image 21
Hình 2.16 Tính các giá trị mức xám của vùng D 22
Hình 2.17 Cascade of classifiers 23
Hình 3.1 Hai giai đoạn chính của phương pháp P 26
Hình 3.2 Ảnh huấn luyện ( ơ sở dữ liệu Yale) [15] 27
Hình 3.3 Ảnh trung bình [15] 28
Hình 3.4 Eigenvectors [15] 29
Hình 3.5 Cải tiến phương pháp P 30
Hình 3.6 Face reconstruction [15] 33
Hình 3.7 Eigenfaces trong nhận dạng gương mặt [7] 34
Hình 3.8 Hình ảnh khuôn mặt trong điều kiện ánh sáng khác nhau [2] 35
Hình 4.1 Kiến trúc hệ thống nhận dạng 37
Hình 4.2 Huấn luyện từ ảnh 39
Hình 4.3 Nhận dạng từ video 40
Hình 4.4 Giao diện màn hình báo cáo 40
Trang 8Hình 4.5 Bộ dữ liệu huấn luyện 42
Hình 4.6 Nhận dạng gương mặt nhìn thẳng 42
Hình 4.7 Nhận dạng gương mặt nhìn nghiêng 43
Hình 4.8 Độ chính xác dựa vào góc nghiêng của khuôn mặt 43
Hình 4.9 nhận dạng với nguồn sáng từ mặt trời 44
Hình 4.10 Nhận dạng với nguồn sáng từ đèn điện 45
Hình 4.11 Thực nghiệm số ảnh huấn luyện 46
Trang 9MỞ ĐẦU
Trước sự phát triển của các thiết bị media, camera, smartphone, hay máy ảnh, dữ liệu ở dạng video ngày càng nhiều, do đó đặt ra nhiều thách thức cho các nhà phát triển, quản lý, làm cách nào để có thể khai thác dữ liệu trong các video này hiệu quả Một trong những yêu cầu đặt ra là làm sao có thể nhận dạng một đối tượng trong một video Điều này không hề dễ dàng, để có thể nhận dạng chính xác được một đối tượng trong hình ảnh bình thường đã khó, nhận dạng đối tượng trong video còn khó hơn Video được tạo ra từ rất nhiều hình ảnh, vấn đề đặt ra là làm sao
có thể tách được những bức ảnh từ video có nội dung mà người sử dụng đang quan tâm
Luận văn sẽ tập trung vào việc ứng dụng nhận dạng gương mặt trong video giám sát Việc nhận dạng đối tượng trong video sẽ được ứng dụng rộng rãi trong các lĩnh vực:
• Bảo mật các hệ thống thông qua nhận dạng gương mặt, I cards, điều khiển truy cập (access control)
• Ứng dụng trong việc rút tiền ở các máy ATM thông qua việc nhận dạng gương mặt
• ó thể dùng để chấm công trong các công ty, xưởng sản xuất
• ùng để nhận dạng tội phạm, các đối tượng tình nghi qua các camera giám sát
• Ứng dụng trong việc điểm danh tự động cho các công ty, trường học
Ta có thể thấy việc nhận dạng đối tượng trong video nói chung và nhận dạng gương mặt trong video nói riêng có ý nghĩa quan trọng trong tương lai Và đây cũng
là hướng luận văn mà tôi sẽ trình bày trong luận văn này
Trang 10Nội dung luận văn sẽ tập trung vào giải quyết các vấn đề như làm sao có thể phải hiện và nhận dạng đối tượng trong video, cũng như việc làm sao có thể phát hiện khuôn mặt và nhận dạng gương mặt của một người nào đó theo thời gian thực dựa vào các video giám sát
Luận văn được chia thành 5 phần như sau:
Trang 11Chương 1 - TỔNG QUAN
1.1 Giới Thiệu
Như trình bày đã được đề cập ở phần mở đầu, ứng dụng của việc nhận dạng gương mặt trong cơ sở dữ liệu video là rất lớn, nó có thể áp dụng tại các nơi công cộng để giám sát cũng như có thể tự động nhận dạng đối tượng (hình 1.2), hay có thể ứng dụng trong công việc bảo mật (hình 1.1), chấm công, nhận dạng thí sinh, kiểm tra hộ chiếu (hình 1.3)…
Hình 1.1 Ứng dụng nhận dạng trong ID card [19]
Trang 12Hình 1.2 Ứng dụng nhận dạng trong điều khiển truy cập (access control) [20]
Hình 1.3 Ứng dụng khác của hệ thống nhận dạng [20]
Trang 13Các thuật toán phát hiện khuôn mặt hay nhận dạng gương mặt hiện nay phần lớn đều áp dụng cho ảnh tĩnh, do đó để có thể áp dụng cho video thì cần thiết phải tìm cách lấy các ảnh tĩnh từ video Video thực chất được tạo từ các khung hình (frame) liên tiếp, do đó nếu tách các frame này thành các ảnh tĩnh thì có thể áp dụng các phương pháp nhận dạng cho ảnh tĩnh trên video
Sau khi có được các frame chứa đối tượng khuôn mặt mà người sử dụng quan tâm, ứng dụng sẽ tiến hành xác định vị trí khuôn mặt trong các frame này Trong một frame có thể có một hay nhiều khuôn mặt, do đó cần phải xác định được hết tất cả các khuôn mặt Có nhiều phương pháp để xác định khuôn mặt trong đó phổ biến như: Neural Network, Support Vector Machine, Hidden Markov Model, AdaBoost, … luận văn sẽ tìm hiểu những kĩ thuật này ở trong Chương 2: Phát hiện khuôn mặt Việc xác định khuôn mặt là một phần quan trọng trong việc nhận dạng, nếu việc xác định khuôn mặt không chính xác có thể sẽ dẫn đến bỏ sót một số khuôn mặt trong hình, hay xác định những hình ảnh không phải khuôn mặt là khuôn mặt hương tiếp theo và cũng là phần quan trọng nhất trong quá trình nhận dạng gương mặt dựa trên video là quá trình nhận dạng gương mặt Quá trình nhận dạng gương mặt sẽ dựa vào kết quả của quá trình phát hiện khuôn mặt Dựa vào những hình ảnh được cho là khuôn mặt, ứng sẽ xác định xem khuôn mặt này có trong cơ
sở dữ liệu hay không, nếu có thì phải xác định được các thông tin về người có khuôn mặt này ó hai phương pháp để nhận dạng gương mặt phổ biến hiện nay là Eigenface và Fisherface, mỗi cách có những ưu và nhược điểm riêng Luận văn sẽ tìm hiểu về cách nhận dạng gương mặt trong Chương 3: nhận dạng gương mặt Từ kết quả của chương 2 và chương 3, hương 4: Xây dựng ứng dụng sẽ nêu lên các
đề của việc xây dựng ứng dụng nhận dạng gương mặt trong video giám sát
Hình 1.4 mô tả mô hình của hệ thống nhận dạng, trong hình ta có hai phần chính: phần thứ nhất là phát hiện khuôn mặt và phần thứ hai là xử lý khuôn mặt
Trang 14Hình 1.4 Mô hình hệ thống
Trong phần xử lý khuôn mặt ta sẽ có các bước chính như: xác định khuôn mặt, lọc các tính chất đặc trưng, nhận dạng gương mặt (hình 1.5)
Hình 1.5 Xử lý khuôn mặt
Trang 151.2 Ứng Dụng
Trong phần ứng dụng của luận văn sẽ xây dựng một ứng dụng có các chức năng như nhận dạng gương mặt trong video thu được dựa trên cơ sở dữ liệu xây dựng sẵn hay dữ liệu được huấn luyện trực tiếp, thống kê thời gian mà đối tượng xuất hiện trong video… ứng dụng này (hình 1.6) có thể được sử dụng cho việc chấm công, điểm danh cho các công ty, trường học
Hình 1.6 Mô hình ứng dụng
Trang 161.3 Mục tiêu thực hiện của luận văn
Luận văn “Hệ thống nhận dạng gương mặt trong video giám sát” hướng tới một chương trình có chức năng phát hiện ra khuôn mặt người và nhận dạng ra đó là
ai thông qua các phương pháp phát hiện và nhận dạng Thông qua các thư viện mã nguồn mở của EmguCV, phương pháp nhận dạng và ngôn ngữ C# luận văn muốn xây dựng một chương trình có thể nhận dạng được gương mặt người thông qua camera hay video theo thời gian thực
1.4 Phạm vi thực hiện của luận văn
Với mục tiêu đã đề ra ở trên, luận văn chỉ thực hiện những vấn đề sau:
- Đối tượng nghiên cứu là các phương pháp phát hiện mặt người qua đó lựa chọn một phương pháp phù hợp Tìm hiểu và đề xuất một phương pháp nhận dạng cụ thể
Nghiên cứu và sử dụng công cụ EmguCV ứng dụng các đặc trưng Haar like trên nền tảng C# và thuật toán Adaboost nhằm nâng cao tốc độ phát hiện khuôn mặt
Phạm vi thực hiện: trên camera và video giám sát theo thời gian thực
1.5 Kết luận chương 1
Với các vấn đề đã nêu ở trên, luận văn đã sơ lược nêu ra việc phát hiện và nhận dạng mặt người với những ứng dụng trong thực tế Đồng thời cũng nêu ra mục tiêu và phạm vi thực hiện của luận văn Khi đầu vào từ camera hay file video đã được chuẩn bị thì giai đoạn phát hiện ra các khuôn mặt là rất quan trọng vì cần một phương pháp phát hiện khuôn mặt hiệu quả tránh bỏ sót Các vấn đề về phát hiện khuôn mặt sẽ được luận văn trình bày trong chương 2: Phát hiện khuôn mặt
Trang 17Chương 2 - PH T HIỆN HUÔN MẶT
2.1 Giới thiệu
Bài toán phát hiện khuôn mặt đã được nghiên cứu từ khá lâu, và đã có rất nhiều phương pháp được đưa ra, ban đầu chỉ tập trung vào xác định khuôn mặt người nhìn thẳng, với điều kiện ánh sáng ổn định như một số thiết bị thu hình kỹ thuật số hiện tại (hình 2.1), nhưng thời gian gần đây các nhà nghiên cứu đã và đang tìm cách để có thể phát hiện khuôn mặt trong những điều kiện khác nhau như gương mặt bị nghiêng, điều kiện ánh sáng kém
Hình 2.1 Phát hiện khuôn mặt [17]
2.2 Các khó khăn trong việc phát hiện khuôn mặt
Việc phát hiện khuôn mặt đối với con người là một dễ dàng, nhưng sẽ rất khó để xây dựng một hệ thống tự phân loại mà có thể phát hiện được các khuôn mặt trong một bức hình với các điều kiện khác nhau Đối tượng khuôn mặt rất khó phát hiện đối với máy tính vì nó có rất nhiều trạng thái khác nhau, không chỉ phụ thuộc vào trạng thái của khuôn mặt như vui, buồn, mà nó còn phụ thuộc vào cả các yếu
tố bên ngoài như nguồn sáng, thời tiết Chúng ta sẽ xem xét một số yếu tố chính ảnh hưởng tới việc phát hiện khuôn mặt
Trang 18 Vị trị của khuôn mặt: vị trị của người ở trước camera quyết định đến góc nhìn của khuôn mặt, đó có thể là góc nhìn thẳng, nghiêng đối với các phương pháp hiện nay với khuôn mặt có góc nhìn thẳng sẽ cho kết quả tốt nhất, nếu khuôn mặt bị nghiêng nhiều quá thì sẽ không thể phát hiện được
Trạng thái của khuôn mặt: trạng thái của khuôn mặt phụ thuộc vào tâm trạng của con người, cùng một người nhưng khi chúng ta cười và khi chúng ta khóc có sự khác nhau rất lớn (hình 2.2)
ác đối tượng khác trên khuôn mặt: việc một người có đeo kính và không đeo kính cũng ảnh hưởng rất lớn tới kết quả của việc phát hiện Khi chúng ta mang kính thì sẽ khó khăn hơn trong việc phát hiện ra cặp mắt Bên cạnh đó việc có râu quai nón hay tóc cũng là các yếu tố làm sai sót trong quá trình thực hiện
Nội dung của hình ảnh: các yếu tố như ánh sáng, chất lượng hình ảnh cũng cần được xem xét, chúng ta chỉ có thể đưa ra kết quả chính xác khi bức hình có đủ độ sáng, độ phân giải phải ở một mức độ cho phép không được quá thấp
Hình 2.2 Các trạng thái khuôn mặt [18]
Trang 192.3 Một số phương pháp phát hiện khuôn mặt
2.3.1 Neural Network
Mạng neural được phát triển bởi Rowley [3] [15], nó sử dụng một cửa sổ để quét toàn bộ bức hình và quyết định xem vùng cửa sổ đang quét có phải là khuôn mặt hay không Ngoài ra mạng neural [13] còn được áp dụng khá thành công trong các bài toán nhận dạng mẫu như: nhận dạng ký tự, đối tượng
Để có thể phát hiện được khuôn mặt, mạng neural cần phải được huấn luyện
từ các tập dữ liệu mẫu, việc huấn luyện cho mạng neural không phải là việc đơn giản đặc biệt là trong việc biểu thị ảnh không phải là khuôn mặt Dữ liệu huấn luyện cho mạng neural gồm hai tập, một tập gồm các ảnh có chứa khuôn mặt, và một tập gồm các ảnh không chứa khuôn mặt Đầu vào của mạng neural là một vùng ảnh có kích thước 20x20 pixel, dựa vào vùng ảnh này mạng neural sẽ tính toán và cho giá trị đầu ra trong khoảng từ -1 đến 1, biểu thị có hay không khuôn mặt trong vùng ảnh nhận được Vì khuôn mặt trong ảnh có thể lớn hơn kích thước 20x20 pixel do đó, ảnh đầu vào sẽ được giảm kích thước đi nhiều lần theo dạng hình chóp như hình minh hoạ bên dưới (hình 2.3)
Hình 2.3 Mạng Neural [8]
Trang 202.3.2 Support Vector Machine
Support Vector Machine (SVM) được giới thiệu bởi Vapnik [5], đây là một phương pháp học có giám sát, phương pháp này cho độ chính xác cao với lượng dữ liệu lớn Support Vector Machine dùng huấn luyện để phân loại theo hàm đa thức,
và sử dụng quy nạp để tối thiểu lỗi xảy ra trong quá trình huấn luyện Với một tập
dữ liệu huấn luyện đầu vào, thuật toán học của Support Vector Machine sẽ phân mỗi mẫu huấn luyện vào một trong hai loại, khuôn mặt và không phải khuôn mặt (hình 2.4a) Với một mẫu dữ liệu mới, Support Vector Machine sẽ biểu diễn mẫu này giống như một điểm ở trong không gian, trong quá trình huấn luyện, Support Vector Machine sẽ chia các mẫu thành hai vùng càng cách xa nhau càng tốt (hình 2.4b), mẫu mới sẽ được quyết định thuộc loại nào dựa vào điểm thể hiện nó trong không gian thuộc vùng nào
(a)
Trang 21(b)
Hình 2.4 Minh họa thuật toán SVM, dữ liệu đầu vào (a), và kết quả (b) [5]
2.3.3 Hidden Markov model (HMM)
Hidden Markov Model [12] được sử dụng để phát hiện khuôn mặt và nhận dạng gương mặt Khuôn mặt có thể được chia thành nhiều vùng khác nhau như trán, mắt, mũi, miệng và cằm, được xuất hiện theo một thứ tự nhất định khi xét từ trên xuống hay từ dưới lên trên o đó ta có thể phát hiện khuôn mặt bằng cách xem xét các vùng đặc trưng của khuôn mặt theo một trình tự nhất định ác phương pháp xác định khuôn mặt dựa vào HMM sẽ xem một mẫu khuôn mặt như là một tập các vector quan sát, các vector quan sát sẽ chứa một dãy các điểm ảnh Khi một bức hình được đưa vào, nó sẽ được quét theo một thứ tự nhất định và một vector giám sát được hình thành từ một khối các pixel Dữ liệu ảnh được thể hiện bằng phân bố Gauss nhiều biến, trạng thái của kết quả đầu ra sẽ phụ thuộc vào vector giám sát đang thuộc lớp nào Một số phương pháp sử dụng HMM đã được phát triển bởi Samaria và Young hay Rajagopolan
Trang 222.3.4 Phương pháp dò tìm khuôn mặt dựa trên sắc màu da
Phương pháp dò tìm khuôn mặt dựa trên sắc màu da gồm có 3 giai đoạn như sau:
1 Xây dựng mô hình màu da người
2 Phân ngưỡng tách các điểm ảnh màu da người ra khỏi các màu khác trong ảnh I(x,y)=1 nếu là màu da, ngược lại bằng 0
3 Dò tìm các khuôn mặt trong ảnh đã được phân ngưỡng
Việc dò tìm khuôn mặt trong ảnh đã được phân ngưỡng tương đối đơn giản Định nghĩa min_size và max_size là kích thước nhỏ nhất và lớn nhất của cửa sổ bao khuôn mặt (chỉ dò tìm các khuôn mặt có kích thước trong khoảng [min_size, max_size]) Ảnh sau khi phân ngưỡng được quét theo từng dòng, đến khi gặp vị trí nghi ngờ có khuôn mặt (gặp một đường ngang có kích thước thuộc khoảng [min_size, max_size]) thì: 1 ò lên phía trên để xác định biên trên của khuôn mặt, 2 Dò xuống dưới để xác định biên dưới và hai bên của khuôn mặt (hình 2.5)
Trang 23Hình 2.5 Phương pháp dò tìm khuôn mặt trên ảnh đã phân ngưỡng
Sau đó kiểm tra điều kiện định nghĩa khuôn mặt của khu vực vừa dò tìm được Nếu kiểm tra điều kiện đúng:
1 Khu vực đó được xác định là khuôn mặt,
2 Xoá vùng dò tìm được,
3.Tiếp tục dò tìm đến các vị trí tiếp theo
Vấn đề đặt ra của phương pháp này là làm sao để xây dựng mô hình màu da người có độ chính xác cao? Giải pháp nào để khắc phục những màu nền có cùng sắc màu với màu da người?
Phương pháp này có ưu điểm là tốc độ dò tìm nhanh, đáp ứng xử lý thời gian thực Đối với các khu vực có môi trường xung quanh không phức tạp (trong các phòng, các vị trí được thiết kế sẵn nền,…) thì hệ thống này triển khai rất hiệu quả Tuy nhiên với môi trường tự nhiên thì phương pháp này có độ chính xác không cao
Trang 24Hiện nay có rất nhiều các nghiên cứu xây dựng mô hình màu da người như thu thập và xác định một số khoảng biến thiên của da người, dựa trên phân bố Gauss, xác suất điều kiện, lý thuyết Bayes, xây dựng ngưỡng dựa trên các kỹ thuật: Goodness- of- fit, cực đại hoá khả năng, khoảng cách Mahalanobis, Histogram, cực đại triển vọng, dùng mạng Neural đã được huấn luyện, hoặc kết hợp nhiều phương pháp…
&
G R
&
15
|G-R
|
(2.1) 15B}
G,min{R,-
B}
G,max{R,
20B
&
40G
&
95
&
10Cr
(2.2) 10.3Cb
&
-60b
522Y
&
45
C
Y
Tuy nhiên các giá trị biên này không hoàn toàn chính xác, mà còn phụ thuộc rất nhiều vào thiết bị, điều kiện môi trường như: ánh sáng, khung cảnh xung quanh, quần áo đang mặc,… Nếu muốn độ chính xác cao thì phải càng nhiều điều kiện, nếu càng nhiều điều kiện thì càng phức tạp khi tính toán
- Phân tích ảnh trên các không gian màu để xác định mô hình màu da người, kết hợp với phương pháp dựa trên các kết quả thực nghiệm về phân bố của màu da
và không phải sắc màu da để phân đoạn tách khuôn mặt ra khỏi màu nền Theo
Trang 25một số các kết quả thực nghiệm các điểm ảnh có sắc màu da người có phạm vi như sau:
Trong không gian màu YCbCr: {138< Cr< 178; 299 < Cb+ 0.6Cr < 215} với 0≤ b, r≤ 255
Trong không gian màu HSL: theo các kết quả nghiên cứu các màu có giá trị nằm trong dải màu từ đỏ tươi đến màu vàng có sắc màu da
Theo một kết quả nghiên cứu cho kết quả khá tốt dùng công thức sau để xác định khoảng thuộc màu da người:
I = [L(R) + L(B) + L(G)] / 3
Rg = L(R) - L(G)
By = L(B) - [L(G) +L(R)] / 2
Trong đó L là hàm log10;
hue = atan2(Rg,By) * (180 / PI)
Theo công thức trên thì các màu có giá trị I và hue có cùng sắc màu với màu
da thuộc khoảng giá trị sau:
{ I <= 5 && hue >= 4 && hue <= 255 }
2.3.5 AdaBoost
AdaBoost được Viola và Jones [11] [14] sử dụng và kết hợp cùng với cascade để xác định khuôn mặt với các đặc trưng dạng wavelet-like Đây là phương pháp cho kết quả nhanh và vẫn còn được sử dụng đến bây giờ, nó đáp ứng được yêu cầu về thời gian thực cho các ứng dụng phát hiện và nhận dạng gương mặt, phương pháp này có thể xử lý được 15 khung hình với kích thước 384x288 pixel trong một giây với bộ xử lý Intel Pentium 700 MHz
AdaBoost hoạt động dựa trên nguyên lý tạo ra các strong classifier (phân lớp mạnh) từ các weak classifier (phân lớp yếu) kết hợp với các đặc trưng haar-like AdaBoost sử dụng một trọng số weight để đánh dấu các mẫu khó nhận dạng và cập nhật lại trọng số cho các mẫu trong quá trình tạo các weak classifier, ứng với mỗi
Trang 26mẫu nhận dạng sai trọng số weight sẽ được tăng lên, và trọng số này sẽ bị giảm đi ứng với mẫu được nhận dạng đúng bởi classifier vừa xây dựng Các weak classifier được xây dựng sau sẽ chỉ tập trung vào các mẫu mà các weak classifier trước đó chưa nhận dạng đúng Sau đó các weak classifier sẽ được kết hợp lại tuỳ theo mức
độ chính xác lúc nhận dạng để tạo ra strong classifier
Hình 2.6 Hoạt động theo kĩ thuật boosting
2.3.5.1 Đặc trưng Haar-Like
Mỗi đối tượng đều có những đặc trưng riêng biệt, do đó nếu chúng ta có thể phát hiện ra đối tượng dựa trên những đặc trưng riêng biệt này Việc phát hiện đối tượng dựa vào các đặc trưng sẽ được xử lý nhanh hơn việc chúng ta xử lý dựa trên các điểm ảnh Một ưu điểm của phương pháp này là các đặc trưng có thể dựa trên các tri thức hữu hạn của tập huấn luyện để mã hóa thành các tri thức nhận dạng
Một đặc trưng thường được sử dụng trong quá trình nhận dạng ảnh là đặc trưng Haar-like Có ba dạng của đặc trưng Haar-like cơ bản, mỗi đặc trưng là sự kết hợp giữa hai, ba hay bốn hình chữ nhật như hình vẽ (hình 2.7; hình 2.8; hình 2.9):
Trang 27Hình 2.7 Egde feature – Haar-like cơ bản [9]
Hình 2.8 Line feature – Haar-like cơ bản [9]
Hình 2.9 Diagona line feature – Haar-like cơ bản [9]
Giá trị của đặc trƣng 2 hình chữ nhật (two-rectangle) là sự khác nhau của tổng các pixel trong vùng trắng và vùng đen, giá trị đặc trƣng 3 hình chữ nhật là giá trị đƣợc tính toán bằng cách lấy tổng các pixel của hai hình chữ nhật bên ngoài trừ
đi tổng pixel của hình chữ nhật ở giữa, còn giá trị của đặc trƣng 4 hình chữ nhật đƣợc tính bằng sự khác biệt giữa hai cặp pixel nằm ở hai góc chéo nhau
Đặc trƣng Haar-like có ƣu điểm là có thể biểu điễn đƣợc tri thức về các đối tƣợng trong ảnh, hay có thể biểu diễn đƣợc mối liên hệ giữa các thành phần của đối tƣợng (hình 2.10)
Trang 28Đặc trƣng xung quanh tâm (hình 2.13)
Trang 29Hình 2.13 Center-surround features – Haar-like mở rộng [9]
Đặc trưng đường chéo (hình 2.14)
Hình 2.14 Special Diagona line feature – Haar-like Mở rộng [9]
Viola và Jones giới thiệu một kĩ thuật được gọi là “Integral Image” để đẩy nhanh việc tính toán giá trị cho các đặc trưng cơ bản Giá trị của Integral Image tại góc có toạ độ (x,y) là tổng tất cả các pixel ở trên và bên trái nó Để tính giá trị trung bình trong vùng chữ nhật này (hình 2.15), chỉ cần chia giá trị tại (x,y) cho diện tích của hình chữ nhật
( ) ∑ ( ) (2.3)
Hình 2.15 Integral Image