NGHIÊN cứu và xây DỰNG hệ THỐNG NHẬN DẠNG mặt NGƯỜI dựa TRÊN ADABOOST

56 762 0
NGHIÊN cứu và xây DỰNG hệ THỐNG NHẬN DẠNG mặt NGƯỜI dựa TRÊN ADABOOST

Đ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

Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 1 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 2 Lời Cảm Ơn Em xin chân thành cảm ơn thầy Tiến sĩ Nguyễn Đình Thuân đã tận tình hướng dẫn, giúp đỡ em trong suốt thời gian thực hiện đồ án tốt nghiệp này, chân cảm ơn quý thầy cô khoa Công nghệ thông tin Trường Đại Học Nha Trang đã tận tình giảng dậy, trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập. Em cũng xin gửi lòng biết ơn đến gia đình, cha, mẹ, và bạn bè đã ủng hộ, giúp đỡ và động viên em trong suốt quá trình làm đồ án tốt nghiệp. Đề tài được thực hiện trong một thời gian tương đối gian, nên dù đã hết sức cố gắng hoàn thành nhưng chắc chắn sẽ không thể tránh khỏi những thiếu sót nhất định. Rất mong nhận được sự thông cảm và đóng góp ý kiến của các thầy cô, bạn bè nhằm tạo tiền đề thuận lợi cho việc phát triển đề tài tốt hơn nữa trong tương lai. Nha Trang, ngày 8/12/2008 Sinh viên thực hiện Nguyễn Thị Hương Lý Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 3 Lời Mở Đầu Trong những năm gần đây, các ứng dụng về nhận dạng mặt người ngày càng phát triển và được đánh giá cao. Đã có các hệ thống nhận dạng mặt người dựa trên các phương pháp dò tìm với mạng nơron nhân tạo, SVM và nhận dạng mặt người dựa trên phương pháp mạng nơron nhân tạo, ICA, SVM…Các ứng dụng vừa nêu trên mặc dù được dựa trên các lý thuyết khá cổ điển như HMM, nơron nhưng ứng dụng thực tế thì chưa được nhiều vì giới hạn về tốc độ. Hệ thống nhận dạng khuôn mặt người vốn có phạm vi ứng dụng lớn nên việc phát triển hệ thống nhận dạng khuôn mặt người theo các phương pháp mới có ý nghĩa hết sức quan trọng, đó là lý do tôi chọn đề tài: “NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG NHẬN DẠNG MẶT NGƯỜI DỰA TRÊN ADABOOST” Để có hệ thống nhận dạng khuôn mặt với chất lượng tốt trong thời gian khá nhanh, tôi đã tiếp cận mô hình học AdaBoost làm công cụ xử lý chính cho việc dò tìm mặt người dựa vào thông tin trên khuôn mặt và hai phương pháp PCA và LDA để nhận dạng. Đề tài được tổ chức thành 7 chương với nội dung:  Chương 1: Phát biểu bài toán  Chương 2: Dò tìm khuôn mặt theo phương pháp AdaBoost  Chương 3: Tổng quan về PCA và LDA  Chương 4: Ứng dụng phương pháp PCA và LDA nhận dạng mặt người.  Chương 5: Cài đặt chương trình Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 4 MỤC LỤC Trang Chương 1 6 TỔNG QUAN VỀ BÀI TOÁN 6 1.1. Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt 6 1.1.1. Hệ thống nhận dạng khuôn mặt 6 1.1.2. Hệ thống xác minh 6 1.1.3. Hệ thống nhận dạng tĩnh - tĩnh, tĩnh - động, động - động 6 1.2. Những khó khăn trong bài toán nhận dạng khuôn mặt 7 1.3. Các hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt 7 1.3.1. Các công trình nghiên cứu về phương pháp dò tìm và nhận dạng khuôn mặt 7 1.3.2. Hướng tiếp cận trong luận văn 8 1.4 Thu thập dữ liệu 9 1.5. Biểu diễn dữ liệu khuôn mặt trong máy tính 10 Chương 2 11 DÒ TÌM KHUÔN MẶT NHANH THEO PHƯƠNG PHÁP ADABOOST 11 2.1. Giới thiệu 11 2.1.1. Các vấn đề trong việc dò tìm khuôn mặt nhanh 11 2.1.2. Các hướng tiếp cận dò tìm khuôn mặt 11 2.1.3. Hướng tiếp cận theo phương pháp AdaBoost 12 2.2. Phương pháp chọn đặc trưng cho AdaBoost 12 2.3. Phương pháp AdaBoost (Adaptive Boost) 15 2.3.1. Tiếp cận Boosting 15 2.3.2. AdaBoost (Adaptive Boost) 16 2.4. Dò tìm khuôn mặt với AdaBoost 21 Chương 3 22 TỔNG QUAN VỀ PCA VÀ LDA 22 3.1. Giới thiệu về việc nhận dạng khuôn mặt người 22 3.2. Sơ lược về toán đại số tuyến tính trong thống kê 22 3.2.1. Vector riêng, trị riêng và sự chéo hóa của ma trận 22 3.1.1.1. Vector riêng và trị riêng 22 3.2.1.2. Ma trận chéo hóa 23 3.2.2. Kỳ vọng và phương sai trong thống kê đa chiều 23 3.1.2.1. Kỳ vọng 23 3.2.2.2. Phương sai trong thống kê đa chiều 23 3.3. Sơ lược về PCA và LDA 25 3.4. Trích rút đặc trưng từ không gian khuôn mặt theo PCA, LDA 27 Chương 4 30 ỨNG DỤNG PHƯƠNG PHÁP PCA VÀ LDA TRONG NHẬN DẠNG KHUÔN MẶT NGƯỜI .30 4.1. Eigenface là gì? 30 4.2. Rút trích đặc trưng chính thông qua các eigenfaces 30 4.3. Thuật toán PCA 36 4.4. Thuật toán LDA 37 4.5. PCA và LDA phân lớp một ảnh khuôn mặt 38 Chương 5 43 CÀI ĐẶT CHƯƠNG TRÌNH 43 5.1. Giới thiệu 43 Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 5 5.2. Các module của chương trình 43 5.3. Giao diện màn hình và hướng dẫn sử dụng 55 5.4. Nhận xét 55 TÀI LIỆU THAM KHẢO 56 Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 6 Chương 1 TỔNG QUAN VỀ BÀI TOÁN 1.1. Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt 1.1.1. Hệ thống nhận dạng khuôn mặt Hệ thống nhận dạng khuôn mặt là một hệ thống được thiết kế để tìm thông tin của một người. Kĩ thuật nhận dạng là kiểm tra sự phù hợp dựa trên phép so sánh một – nhiều cụ thể là tìm ra một người là ai trong số những người đã được lưu trữ trong hệ thống dựa vào thông tin khuôn mặt. 1.1.2. Hệ thống xác minh Hệ thống xác minh/ xác thực khuôn mặt là một hệ thống được thiết kế để xác minh thông tin của một người. Kĩ thuật xác minh là kiểm tra sự phù hợp trên phép so sánh một – một cụ thể là đối chiếu thông tin mới nhận về một người với thông tin đã lưu trữ về người này có khớp hay không dựa trên thông tin khuôn mặt. 1.1.3. Hệ thống nhận dạng tĩnh - tĩnh, tĩnh - động, động - động  Hệ thống nhận dạng tĩnh – tĩnh Hệ thống nhận dạng tĩnh – tĩnh là hệ thống được thiết kế bằng cách sử dụng một số ảnh tĩnh làm mẫu để nhận dạng khuôn mặt người trong ảnh tĩnh. Kĩ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một nhiều như hệ thống nhận dạng nói chung ở trên.  Hệ thống nhận dạng tĩnh – động Hệ thống nhận dạng tĩnh – động là hệ thống được thiết kế bằng cách sử dụng một số ảnh tĩnh làm mẫu để nhận dạng khuôn mặt người trong ảnh động. Kĩ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một nhiều như hệ thống nhận dạng nói chung ở trên, song ảnh cần kiểm tra là các khung ảnh động trong các đoạn phim từ các máy camera. Kĩ thuật này dĩ nhiên không thể chính xác vì chuyển động của mặt người trong phim khá phức tạp song thể hiện trong ảnh tĩnh để huấn luyện lại ít. Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 7  Hệ thống nhận dạng động – động Hệ thống nhận dạng động – động là hệ thống được thiết kế bằng cách sử dụng các ảnh động làm mẫu để nhận dạng khuôn mặt người trong ảnh động. Kĩ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một nhiều như hệ thống nhận dạng chung nói trên. Tuy nhiên, kĩ thuật này chính xác hơn kĩ thuật sử dụng trong hệ thống nhận dạng tĩnh – động do sự chuyển động phức tạp của khuôn mặt người cũng được huấn luyện bằng các khung ảnh động. 1.2. Những khó khăn trong bài toán nhận dạng khuôn mặt Những biến đổi quá lớn giữa các ảnh khuôn mặt khác nhau từ một người cần nhận dạng gồm trạng thái cảm xúc trên khuôn mặt, ánh sáng và các thay đổi vị trí của khuôn mặt Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập học không thể bao quát được tất cả các biến đổi có thể có trên khuôn mặt của một người cần nhận dạng trong thế giới thực. 1.3. Các hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt 1.3.1. Các công trình nghiên cứu về phương pháp dò tìm và nhận dạng khuôn mặt Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính: dùng thông tin nào để nhận dạng (chân mày, cặp mắt, mũi, môi, tai, hay kết hợp các thông tin trên). Và dùng phương pháp nào để huấn luyện cho máy nhận dạng dùng nguồn thông tin đó. Nhận dạng khuôn mặt trên máy tính trải qua nhiều bước thăng trầm với các kết quả như sau: Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, John Weng (1998) sử dụng phương pháp PCA (phân tích thành phần chính) kết hợp LDA (phân tích độc lập tuyến tính). Bước 1, chiếu ảnh khuôn mặt từ không gian ảnh thô sang không gian các không gian khuôn mặt (mỗi lớp khuôn mặt được nhận dạng sẽ được mô hình hóa bằng một không gian khuôn mặt) dùng PCA. Bước 2, sử dụng phương pháp LDA để tạo bộ phân loại tuyến tính có khả năng phân lớp các lớp khuôn mặt. Emmanuel Viennet và Francoise Fogelman Soulie (1998), sử dụng phương pháp mạng neural nhân tạo để xử lý và nhận dạng khuôn mặt. Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 8 Antonio J.Colmenarez và Thomas S.Huang (1998) sử dụng kỹ thuật học thị giác và phù hợp mẫu 2D. Ông quan niệm bài toán dò tìm khuôn mặt là thao tác phân loại khuôn mặt trong đó khuôn mặt thuộc về một lớp và các đối tượng khác thuộc về lớp còn lại bằng cách ước lượng mô hình xác suất cho mỗi lớp và việc dò tìm sử dụng luật quyết định Maximum- likehood. Ara V.Nefian và Monson H.Hayes III (1998) trình bày hướng tiếp cận theo mô hình Markov (HMM) trong đó ảnh mẫu khuôn mặt được lượng hóa thành chuỗi quan sát trên khuôn mặt theo quan niệm dựa trên thứ tự xuất hiện các đặc trưng khuôn mặt (hai chân mày, hai lông mi, mũi, miệng, cằm). Trong chuỗi quan sát đó, mỗi quan sát lại là một vector nhiều chiều và mỗi vector quan sát này được sử dụng để đặc trưng cho mỗi trạng thái trong chuỗi trạng thái của HMM. Mỗi người được ước lượng bằng một mô hình của HMM. Guodong Guo, Stan Z.Li, Kap Luk Chan (17 January 2001), dùng phương pháp SVM để nhận dạng khuôn mặt. Sử dụng chiến lược kết hợp nhiều bộ phân loại nhị phân để xây dựng bộ phân loại SVM đa lớp. Hichem Sahbi (7 April 2003) sử dụng phương pháp SVM để dò tìm khuôn mặt, áp dụng các chiến lược đa cấp để tối ưu hóa tốc độ. ZhenQui Zhang, Long Zhu, Stan Z.Li và HongJiang Zhang (2001) sử dụng phương pháp AdaBoost để dò tìm khuôn mặt trong thời gian thực với nhiều góc nhìn khác nhau. 1.3.2. Hướng tiếp cận trong luận văn Trong bài luận văn tốt nghiệp này đã sử dụng hai phương pháp đó là: phương pháp PCA (phân tích thành phần chính) và phương pháp LDA (Phân tích biệt số tuyến tính) để nhận dạng khuôn mặt. Việc cô lập khuôn mặt trong ảnh đầu vào (ảnh chứa khuôn mặt – cửa sổ chứa khuôn mặt) được thực hiện với phương pháp dò tìm khuôn mặt trong ảnh dùng AdaBoost. Hình dưới mô phỏng các thao tác trong hệ thống nhận dạng mặt người. Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 9 Hình 1: Sơ đồ hệ thống nhận dạng khuôn mặt 1.4 Thu thập dữ liệu Cơ sở dữ liệu ảnh khuôn mặt gồm nhiều người được thu thập từ nhiều nguồn khác nhau. Tập huấn luyện bộ dò tìm (phát hiện) khuôn mặt được lấy từ trang web http://www.ai.mit.edu/projects/cbcl của trung tâm CBCL thuộc trường đại học MIT. Tập ảnh gồm hai bộ ảnh như sau: ảnh huấn luyện (gồm khoảng trên 2000 mặt người và trên 4000 không phải mặt người) và ảnh thử nghiệm. Cơ sở dữ liệu ảnh để nhận dạng khuôn mặt: - Cho PCA: gồm 30 người, được chụp từ webcam và lấy từ các ảnh của các bạn sinh viên lớp 46TH. - Cho LDA: gồm 20 người, mỗi người bao gồm khoảng 10-15 ảnh khác nhau. Nhận xét về tập mẫu dữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh là khuôn mặt trực diện mặt phẳng và mỗi khuôn mặt đều đầy đủ thông tin đặc trưng như (hai chân mày, hai mắt, mũi, miệng, cằm). Ảnh tĩnh Webcam Phát hiện khuôn mặt bằng AdaBoost Trích chọn đặc trưng bằng eigenface … ? Nhận dạng với PCA, LDA Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 10 Kích thước chuNn hóa của mỗi mẫu trong tập huấn luyện là 250x250 pixels. 1.5. Biểu diễn dữ liệu khuôn mặt trong máy tính Dữ liệu ảnh biểu diễn trong máy tính là cường độ sáng của điểm ảnh, tại vị trí (x, y) là I(x, y). Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, ta dùng cách tổ chức dữ liệu như xau: Đọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí liên tục nhau trên một mảng số thực nhiều chiều hay chính là vector có kích thước 250x250: ), ,,( 6250011 xxxx = . Đây là cách bố trí cho phương pháp PCA và LDA. [...]... hệ thống nhận dạng mặt người Chương 3 TỔNG QUAN VỀ PCA VÀ LDA 3.1 Giới thiệu về việc nhận dạng khuôn mặt người Mặc dù việc nhận dạng mặt người là một vấn đề thuộc về mặt thị giác, có một số phương pháp lạm dụng chức năng này Chúng ta khai thác một số mô hình trên và đưa ra mô hình nhận dạng dựa vào cách tiếp cận lý thuyết thông tin, tìm kiếm những thông tin quan trọng nhất trong nhóm mặt người; nó... nghiệp: Xây dựng hệ thống nhận dạng mặt người Chương 2 DÒ TÌM KHUÔN MẶT NHANH THEO PHƯƠNG PHÁP ADABOOST 2.1 Giới thiệu Dò tìm đối tượng là bài toán cơ bản và quan trọng trong lĩnh vực thị giác máy tính Việc cô lập khuôn mặt trong ảnh đầu vào (ảnh chứa khuôn mặt) được thực hiện với phương pháp AdaBoost Dò tìm khuôn mặt nhanh theo phương pháp AdaBoost là một bài toán quan trọng vì là quá trình nhận dạng. .. việc xây dựng weak classifier kế tiếp: tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi weak classifier vừa được xây dựng Bằng cách này, các weak classifier sau có thể tập SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 16 Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người trung vào các mẫu mà các weak classifiers trước đó chưa làm tốt Sau cùng,... học và nhận dạng ảnh mặt người mới chính là phần kiểm chứng quan trọng của phương pháp này Việc nhận dạng mặt người dưới những điều kiện thay đổi là nhờ huấn luyện hướng nhìn đặc trưng (góc nhìn thẳng, góc nhìn 450 ) lợi điểm của phương pháp hơn các phương pháp nhận dạng mặt người khác là tốc độ, sự đơn giản, khả năng học , sự thay đổi từ từ của mặt người 3.2 Sơ lược về toán đại số tuyến tính trong thống. .. Trang Trang 29 Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người Chương 4 ỨNG DỤNG PHƯƠNG PHÁP PCA VÀ LDA TRONG NHẬN DẠNG KHUÔN MẶT NGƯỜI 4.1 Eigenface là gì? Eigenface là một tập hợp các vector riêng được sử dụng trong các bài toán nhận dạng của thị giác máy tính Các vector riêng này được suy ra từ ma trận hiệp phương sai của phân phối xác suất trong không gian khuôn mặt đa chiều Hình 12- Ví dụ về... mối liên hệ giữa các bộ phận của đối tượng), điều mà bản thân từng điểm ảnh không diễn đạt được • Nó phân loại mạnh trong việc xác định khuôn mặt người hay không phải khuôn mặt người • Có hiệu quả khi dùng bảng tổng các vùng hoặc các kỹ thuật ảnh đầy đủ SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 13 Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người Hình 4- Haar Feature cho mặt người Trong... sung cho C1 Bây giờ chúng ta sẽ xây dựng huấn luyện C2 từ D2 Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết SVTH: Nguyễn Thị Hương Lý – 46TH1 –ĐH Nha Trang Trang 15 Đồ án tốt nghiệp: Xây dựng hệ thống nhận dạng mặt người quả khác nhau Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không có hiệu... giữa các khuôn mặt với nhau Phương pháp này chuyển đổi những ảnh mặt người thành các chuỗi ảnh mang nét đặc trưng, chúng là các thành phần chính của dãy huấn luyện ban đầu của những ảnh mặt người Việc nhận dạng được thực hiện bằng cách chiếu bức ảnh mới vào không gian con được trải rộng bởi không gian mặt và sau đó phân loại mặt người bằng cách so sánh vị trí của nó trong không gian mặt người với vị... này có giới hạn chỉ xử lý trên ảnh màu và thường nhạy cảm với ảnh, thường chỉ sử dụng làm các bước tiền xử lý cho các hướng khác o Hướng dò tìm khuôn mặt dựa trên đặc trưng chủ yếu dựa vào các đặc trưng của khuôn mặt người được quy định trước Thành công nhất trong dò tìm khuôn mặt người trong thời gian thực là phương pháp ASM (Active shape Models) o Hướng dò tìm khuôn mặt dựa trên thông tin hình ảnh... nghiệp: Xây dựng hệ thống nhận dạng mặt người Định nghĩa: Ma trận hiệp phương sai của tập hợp m biến ngẫu nhiên là một ma trận vuông hạng (m × m ) mà mỗi phần tử cij của ma trận là hiệp phương sai giữa hai thành phần xi và xj là độc lập hay không phụ thuộc lẫn nhau ( )( 1 M C= ∑ Xi − X Xi − X M − 1 i =1 T ) (12) 3.3 Sơ lược về PCA và LDA Có nhiều phương pháp thống kê khác nhau cho việc nhận dạng khuôn mặt . triển hệ thống nhận dạng khuôn mặt người theo các phương pháp mới có ý nghĩa hết sức quan trọng, đó là lý do tôi chọn đề tài: “NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG NHẬN DẠNG MẶT NGƯỜI DỰA TRÊN ADABOOST . khuôn mặt 1.1.1. Hệ thống nhận dạng khuôn mặt Hệ thống nhận dạng khuôn mặt là một hệ thống được thiết kế để tìm thông tin của một người. Kĩ thuật nhận dạng là kiểm tra sự phù hợp dựa trên phép. mẫu để nhận dạng khuôn mặt người trong ảnh tĩnh. Kĩ thuật nhận dạng này kiểm tra sự phù hợp dựa trên phép so sánh một nhiều như hệ thống nhận dạng nói chung ở trên.  Hệ thống nhận dạng tĩnh

Ngày đăng: 31/08/2014, 10:16

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan