Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
0,92 MB
Nội dung
i ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI WX Lê Mạnh Tuấn PHÁTHIỆNMẶTNGƯỜITRONGẢNHVÀỨNGDỤNG KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin Hà Nội – 2009 ii ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Mạnh Tuấn PHÁTHIỆNMẶTNGƯỜITRONGẢNHVÀỨNGDỤNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Nguyễn Hải Châu HÀ NỘI - 2009 iii Lời cảm ơn Sau một thời gian dài học tập và nghiên cứu, cuối cùng em cũng đã hoàn thành khóa luận tốt nghiệp này, đây là dịp tốt nhất để em có thể gửi lời cảm ơn đến mọi người. Em xin gửi lời cảm ơn sâu sắc đến Tiến sĩ Nguyễn Hải Châu, đã tận hình hướng dẫn, định hướng cho em trong suốt thời gian thực hiện đề tài. Thầy đã cho em những lờ i khuyên quý báu giúp em hoàn thành tốt khóa luận. Em xin cảm ơn khoa Công Nghệ Thông Tin trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội, cảm ơn các thầy cô trong khoa đã tận tình giảng dậy, truyền đạt cho em những kiến thức quý báu trong những năm học vừa qua, giúp cho em có một nền tảng kiến thức vững chắc để thực hiện khóa luận cũng như nghiên cứu học tập sau này. Tôi xin cảm ơn t ất cả bạn bè, anh, chị, những người đã giúp đỡ, khích lệ cũng như phê bình, góp ý, giúp tôi hoàn thành khóa luận một cách tốt nhất. Cuối cùng, con cảm ơn bố, mẹ, những người luôn luôn quan tâm, chăm sóc cho con cả về vật chất lẫn tinh thần, luôn tạo điều kiện tốt nhất cho con có thể chuyên tâm học tập, nghiên cứu. Gia đình luôn là nguồn động viên, là chỗ dựa tinh thần vững chắc cho con. Hà nộ i, ngày 24 tháng 5 năm 2009 Sinh viên Lê Mạnh Tuấn iv TÓM TẮT Ngày nay các hệ thống nhận dạng mặtngười đang được ứngdụngtrong nhiều lĩnh vực, đặc biệt là an ninh và bảo mật. Nhận dạng mặtngười tức là đưa ra những thông tin về đối tượng được đưa vào từ một bức ảnh, hay từ camera quan sát. Bước đầu tiên của một hệ thống nhận dạng mặtngười là pháthiện khuôn mặt, tức xác định vị trí khuôn mặt trên bức ảnh, sau đấy tách khuôn mặt ra khỏi ảnh để tiến hành nhận dạng. Trong khóa luận này em xin nêu một trong những phương pháp để pháthiện khuôn mặttrong ảnh, sau đấy mở rộng ra với pháthiệnmặtngườitrong video và webcam. Sau khi đã xem xét các hướng tiếp cận khác nhau, em chọn phương pháp tiếp cận học máy bằng Adaboost và mô hình Cascade of classifiers. Điểm mạnh của Adaboost là tốc độ pháthiện khuôn mặt khá nhanh. Kết quả thử nghiệm cho thấy chương trình đạt độ chính xác khá cao với các ảnhmặtngười được chụp trực diện bằng máy kĩ thuật số. v MỤC LỤC TÓM TẮT iv MỤC LỤC v DANH SÁCH THUẬT NGỮ vii DANH MỤC HÌNH VẼ viii DANH SÁCH TỪ VIẾT TẮT ix MỞ ĐẦU 1 Chương 1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP XÁC ĐỊNH MẶTNGƯỜI 3 1. Giới thiệu về bài toán xác định mặtngườitrongảnh 3 2. Định nghĩa bài toán xác định mặt người. 3 3. Những khó khăn và thách thức đối với bài toán xác định mặt người. 3 4. Các ứngdụng của xác định mặ t người 4 4.1. Xác minh tội phạm 4 4.2. Camera chống trộm 4 4.3. Bảo mật. 4 4.4. Lưu trữ khuôn mặt 4 4.5. Các ứngdụng khác 5 5. Xác định phạm vi đề tài 5 Chương 2 CÁC CÔNG TRÌNH NGHIÊN CỨU 7 1. Các phương pháp chính để xác định mặtngười 7 1.1. Hướng tiếp cận dựa trên tri thức 8 1.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi 10 1.3. Hướng tiếp cận dựa trên so sánh khớp mẫu. 13 1.4. Hướng tiếp cận dựa trên di ện mạo 16 Chương 3 CƠ SỞ LÝ THUYẾT 23 1. Tổng quan về Adaboost 23 1.1. Tiếp cận Boosting 23 1.2. Adaboost 24 1.3. Các đặc trưng Haar-Like 28 1.4. Cascade of Classifiers 31 vi 1.5. Cascade of boosting classifiers 33 Chương 4 XÂY DỰNGỨNGDỤNG 34 1. Sơ lược về OpenCV 34 2. Tổng quan về một hệ thống pháthiệnmặtngườitrongảnh 35 3. Phân tích – thiết kế hệ thống pháthiệnmặtngười 35 3.1. Phân tích 35 3.2. Thiết kế hệ thống 36 3.3. Thiết kế cơ sở dữ liệu 38 3.4. Thiết kế giao diện 39 KẾT LUẬNVÀ HƯỚNG PHÁT TRIỂN 41 vii DANH SÁCH THUẬT NGỮ Thuật ngữ Giải thích Classifier (bộ phân loại) Một bộ phân loại được xây dựng theo một thuật toán học máy nào đấy, dùng để phân loại các đối tượng (khuôn mặt hay không phải khuôn mặt) False alarm Là tỉ lệ nhận dạng sai của các bộ phân loại Feature (đặc trưng) Các thông tin giúp nhận biết đối tượng. Haar-like feature Các đặc trưng của đối tượng trong ảnh. Các đặc trưng này thường được định nghĩa bằng các tính toán với tổng điểm ảnh của một vùng nào đó trên bức ảnh. Hit rate Là tỉ lệ nhận dạng đúng của bộ phân loại Max false alarm Đạt được tỉ lệ sai này thì bộ phân loại được xây dựng thành công, tỉ lệ sai này là một giá trị bé, có thể chấp nhận được trong bài toán phân loại. Strong classifier (bộ phân loại mạnh) Bộ phân loại được xây dựng từ nhiều bộ phân loại yếu, có độ chính xác cao. Threshold (ngưỡng) Ngưỡng là giá trị ranh giới giữa các lớp, giá trị của ngưỡng có thể điều chỉnh được thường được chọn từ thực nghiệm. (Người ta thử bộ nhận dạng với các giá trị ngưỡng khác nhau để chọn ra ngưỡng cho tỉ lệ nhận dạng đúng tốt nhất) Weak classifier (bộ phân loại yếu) Bộ phân loại đơn giản có độ chính xác khoảng 50%. viii DANH MỤC HÌNH VẼ Hình 1: Một phương pháp xác định khuôn mặt điển theo hướng tiếp cận top-down. 8 Hình 2: Phương pháp chiếu 10 Hình 3: Một mẫu khuôn mặt 15 Hình 4: các vector quan sát để huấn luyện cho HMM 20 Hình 5: Các trạng thái ẩn 21 Hình 6: Xác định khuôn mặt bằng HMM 21 Hình 7: Boosting 24 Hình 8 : 4 đặt trưng Haar-like cơ bản 28 Hình 9: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở 29 Hình 10: Cách tính Integral Image của ảnh 30 Hình 11:Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh 30 Hình 12: Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc trưng xoay 45 o 30 Hình 13: cascade of classifiers 32 Hình 14: Cascade of boosting classifiers 33 Hình 15: Cấu trúc cơ bản của OpenCV 34 Hình 16: Tổng quan về hệ thống pháthiệnmặtngườitrongảnh 35 Hình 17: Biểu đồ ngữ cảnh của hệ thống 36 Hình 18: Biểu đồ phân rã chức năng 38 Hình 19: Sơ đồ thực thể quan hệ ( ERM ) 39 Hình 20: Giao diện của chương trình 40 ix DANH SÁCH TỪ VIẾT TẮT STT Kí hiệu Từ tiếng anh Ý nghĩa 1 CSDL Database Cơ sở dữ liệu 2 HMM Hidden Markov Model Mô hình Markov ẩn 3 ML Maximum-Likelihood Phương thức cực đại khả năng 4 PCA Principal Component Analysis Phân tích thành phần chính 5 PDF Probility Density Hàm mật độ xác xuất 6 RSAT Rotated Summed Area Table Mảng hai chiều dùng để tính nhanh các đặc trưng xoay 45 o 7 SAT Summed Area Table Mảng hai chiều dùng để tính nhanh các đặc trưng haar-like cơ bản 1 MỞ ĐẦU Công nghệ thông tin đang được ứngdụngtrong mọi lĩnh vực của cuộc sống. Với một hệ thống máy tính, chúng ta có thể làm được rất nhiều việc, tiết kiện thời gian và công sức. Điển hình như công việc nhận dạng mặt người. Ngày xưa, muốn tìm kiếm một kẻ tình nghi trong siêu thị hay sân bay, các nhân viên an ninh phải tìm kiếm trên từng màn hình camera theo dõi. Ngày nay, công việc đấy đã được làm tự động nh ờ các hệ thống nhận dạng mặt người. Pháthiệnmặtngườitrongảnh là một phần quan trọng của hệ thống nhận dạng mặtngười đó, giải quyết tốt việc pháthiênmặtngười sẽ giúp tiết kiệm thời gian và nâng cao độ chính xác của việc nhận dạng khuôn mặt. Pháthiệnmặtngười cũng là một bài toán nhận dạng đơn giản, hệ thố ng chỉ cần phân loại đối tượng đưa vào có phải mặtngười hay không phải mặt người. Ở mức độ cao hơn, sau khi đã pháthiện được khuôn mặt, các khuôn mặt đó sẽ được so sánh với các khuôn mặt có trong dữ liệu để nhận dạng xem khuôn mặt đấy là của ai (thường áp dụngtrong nhận dạng khuôn mặt của người nổi tiếng hoặc của tội phạm đang b ị truy nã). Bài toán pháthiệnmặtngười được bắt đầu nghiên cứu từ những năm 1990s, và đã có rất nhiều công trình nghiên cứu về pháthiện khuôn mặttrong ảnh, tuy nhiên cho đến nay, các nhà khoa học vẫn không ngừng tìm các hướng tiếp cận mới, các thuật toán mới nhằm nâng cao hiệu suất của việc pháthiện khuôn mặt cũng như việc nhận dạng mặt người. Với mục tiêu chính là tìm hiểu giải thuậ t adaboost, các đặc trưng haar-like, mô hình Cascade of Classifiers, đồng thời áp dụng vào bài toán pháthiệnmặtngườitrong ảnh, khóa luân được trình bầy trong bốn chương với bố cục như sau: Chương 1: Tổng quan về các phương pháp xác định mặtngười : Giới thiệu tổng quan về bài toán xác định mặtngườitrong ảnh, các ứngdụngvà những khó khăn của bài toán, đồng thời xác định phạm vi của đề tài. Chương 2: Các công trình nghiên cứu : Nêu chi tiế t bài toán pháthiệnmặt người, các hướng tiếp cận giải quyết bài toán, các nghiên cứu và thành quả đạt được của các nhà nghiên cứu trong bài toán xác định mặt người. [...]... một mặtngườitrongảnh đen trắng cho đến mở rộng cho ảnh mầu và có nhiều mặtngườitrongảnh Đến nay các bài toán xác định mặtngười đã mở rộng với nhiều miền nghiên cứu như nhận dạng khuôn mặt, định vị khuôn mặt, theo dõi mặtngười hay nhận dạng cảm xúc mặt ngườiPháthiệnmặtngườitrongảnh là phần đầu tiên của một hệ thống nhận dạng mặtngười Các hệ thống nhận dạng khuôn mặt được bắt đầu xây... Cơ sở lý thuyết : Đi sâu vào hướng tiếp cận dựa theo thuật toán học máy adaboost Giới thiệu về các đặc trưng haar-like của khuôn mặt, cách tính các đặc trưng haar-like Tiếp theo là giới thiệu về mô hình cascade of classifiers và cách áp dụng vào bài toán pháthiệnmặtngườitrongảnh Chương 4: Xây dựngứngdụng : Xây dựng một chương trình demo về pháthiệnmặtngườitrongảnh Nêu lên các phân tích... luật xác định mặtngười nên chỉ được áp dụngtrong một số ứngdụng như nhận dạng thẻ căn cước Nó chỉ được phát triển mạnh mẽ từ những năm 1990 khi có những tiến bộ trong công nghệ video và ngày nay thì các ứngdụng của xác định mặtngười đã trở nên phổ biến trong cuộc sống 2 Định nghĩa bài toán xác định mặtngười Xác định khuôn mặtngười là một kỹ thuật máy tính để xác định các vị trí và kích thước... khuôn mặt của cùng một người sẽ rất khác khi người đấy cười, tức giận hay sợ hãi … 4 Các ứngdụng của xác định mặtngười Xác định mặtngười thường là một phần của một hệ thống (facial recognition system) Nó thường được dùngtrong giám sát video, giao tiếp người máy và quản lý cơ sở dữ liệu ảnh Các ứng cơ bản của xác định mặtngười có thể kể đến là: 4.1 Xác minh tội phạm Dựa vào ảnh của một người, ... kết luậnvà hướng phát triển: Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng phát triển trong tương lai 2 Chương 1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP XÁC ĐỊNH MẶTNGƯỜI 1 Giới thiệu về bài toán xác định mặtngười trong ảnhTrong nhiều năm qua, có rất nhiều công trình nghiên cứu về bài toán nhận dạng mặtngười Các nghiên cứu đi từ bài toán đơn giản, từ việc nhận dạng một mặtngười trong. .. mặt Xác định mặtngười có thể được ứngdụngtrong các trạm rút tiền tự động (ATM) để lưu trữ khuôn mặt của người rút tiền Hiện nay có những người bị người khác lấy trộm thẻ ATM và mã PIN, và bị rút tiền trộm, hoặc có những chủ tài khoản đi rút tiền nhưng lại báo với ngân hàng là bị mất thẻ và bị rút tiền trộm Nếu lưu trữ được khuôn mặt của người rút tiền, ngân hàng có thể đối chứng và xử lý dễ dàng... các vùng là ứng viên khuôn mặt dựa trên sắc thái của màu da người Sau khi có ứng viên, hai ông dùng các quan hệ về hình dáng khuôn mặt, mức độ cân đối của các thành phần khuôn mặt để xác định khuôn mặtngười Tương tự, Chang và Hwang cũng dùng không gian mầu Ycg’Cr’ với tỷ lệ chính xác hơn 80% trongảnh xám Jin xây dựng một bộ lọc để xác định ứng viên khuôn mặtngười theo màu da người Từ ứng viên này... độ cao và hình dáng chắc chắn (như mắt) Thông qua histogram để tìm các đỉnh nổi bật để xác định các ngưỡng chuyển ảnh xám thành hai ảnh nhị phân Tiếp theo, ông xác định các ứng viên khuôn mặt nhờ vào các thành phần đều xuất hiệntrong cả hai ảnh nhỉ phân, sau đó phân loại xem các ứng viên có phải là khuôn mặt không Phương pháp được kiểm tra và cho kết quả tốt trên các ảnh chỉ có đầu và vai của người. .. của các khuôn mặtngườitrong các ảnh bất kì Kỹ thuật này nhận biết các đặc trưng của khuôn mặtvà bỏ qua những thứ khác như: tòa nhà, cây cối, cơ thể … 3 Những khó khăn và thách thức đối với bài toán xác định mặtngười Việc xác định khuôn mặtngười có những khó khăn nhất định như: • Hướng của khuôn mặt đối với máy ảnh, như: nhìn thẳng, nhìn nghiêng hay nhìn từ trên xuống Cùng trong một ảnh có thể có... Các ứngdụng về bảo mật rất đa dạng, một trong số đó là công nghệ nhận dạng mặtngười của laptop, công nghệ này cho phép chủ nhân của máy tính chỉ cần ngồi trước máy là có thể đăng nhập được Để sử dụng công nghệ này, ngườidùng phải sử dụng một webcam để chụp ảnh khuôn mặt của mình và cho máy “học” thuộc các đặc điểm của khuôn mặt giúp cho quá trình đăng nhập sau này 4.4 Lưu trữ khuôn mặt Xác định mặt . xác định mặt người đã mở rộng với nhiều miền nghiên cứu như nhận dạng khuôn mặ t, định vị khuôn mặt, theo dõi mặt người hay nhận dạng cảm xúc mặt người Phát hiện mặt người trong ảnh là phần. 33 Chương 4 XÂY DỰNG ỨNG DỤNG 34 1. Sơ lược về OpenCV 34 2. Tổng quan về một hệ thống phát hiện mặt người trong ảnh 35 3. Phân tích – thiết kế hệ thống phát hiện mặt người 35 3.1. Phân tích. khuôn mặt, cách tính các đặc trưng haar-like. Tiếp theo là giới thiệu về mô hình cascade of classifiers và cách áp dụng vào bài toán phát hiện mặt người trong ảnh. Chương 4: Xây dựng ứng dụng