Thuật toán nhận dạng khuôn mặt người và xây dựng chương trình thử nghiệm

54 2K 6
Thuật toán nhận dạng khuôn mặt người và xây dựng chương trình thử nghiệm

Đ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

LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn PGS.TS Lê Huy Thập trực tiếp hướng dẫn em hoàn thành khóa luận Với lời dẫn, tận tình hướng dẫn thầy giúp em vượt qua nhiều khó khăn trình hoàn thành khóa luận Em xin cảm ơn Th.S Lưu Thị Bích Hương góp ý hướng dẫn hữu ích trình thực đề tài Em xin gửi lời cảm ơn tới thầy, cô giáo khoa Công nghệ Thông tin trường Đại học sư phạm Hà Nội người giúp đỡ cho em suốt trình học tập nghiên cứu Cuối cùng, em xin bày tỏ lòng biết ơn tới gia đình bạn bè giúp đỡ, động viên em nhiều suốt trình học tập để em thực tốt khóa luận Hà Nội, ngày tháng năm 2013 Sinh viên thực hiện: Trần Mạnh Chiến LỜI CAM ĐOAN Tên em là: TRẦN MẠNH CHIẾN Sinh viên lớp: K35 – Tin học, khoa Công nghệ Thông tin, trường Đại học sư phạm Hà Nội Em xin cam đoan: Đề tài: “Thuật toán nhận dạng khuôn mặt người xây dựng chương trình thử nghiệm” nghiên cứu riêng em, hướng dẫn thầy giáo PGS.TS Lê Huy Thập Khóa luận hoàn toàn không chép tác giả khác Nếu sai em xin hoàn toàn chịu trách nhiệm Hà Nội, ngày tháng 05 năm 2013 Sinh viên thực Trần Mạnh Chiến MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG DANH MỤC CÁC TỪ VIẾT TẮT MỞ ĐẦU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu ảnh số 1.2 Biểu diễn ảnh số 1.3 Ảnh màu 1.4 Các định dạng ảnh xử lý ảnh 1.5 Giới thiệu Matlab 10 1.5.1 Chuyển đổi kiểu liệu 10 1.5.2 Các phép toán số học liệu ảnh 11 1.5.3 Các hàm hiển thị ảnh Matlab 12 CHƯƠNG 2: THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT NGƯỜI 16 2.1 Định nghĩa toán xác định khuôn mặt người 16 2.2 Ứng dụng phương pháp xác định khuôn mặt người 16 2.3 Phương pháp xác định khuôn mặt người 18 2.3.1 Hướng tiếp cận dựa tri thức 18 2.3.2 Hướng tiếp cận dựa đặc trưng không thay đổi 21 2.3.3 Hướng tiếp cận dựa so khớp mẫu 24 2.3.4 Hướng tiếp cận dựa diện mạo 28 2.4 Thuật toán PCA nhận dạng khuôn mặt người 35 2.4.1 Lịch sử phát triển 35 2.4.2 Thuật toán PCA 36 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 40 3.1 Bài toán 40 3.2 Xây dựng chương trình 41 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46 TÀI LIỆU THAM KHẢO 48 DANH MỤC HÌNH ẢNH Hình 1.1: Ảnh màu Hình 1.2: Các màu sở Hình 1.3: Mô hình màu RGB Hình 1.4: Ảnh GIF Hình 1.5: Ảnh dạng JPEG 10 Hình 2.1: Phương pháp xác định khuôn mặt điển theo hướng tiếp cận top - down 19 Hình 2.2: Phương pháp chiếu: (a) Ảnh có khuôn mặt hình đơn giản 20 Hình 2.2: Phương pháp chiếu: (b) Ảnh có khuôn mặt hình phức tạp 20 Hình 2.2: Phương pháp chiếu: (c) Ảnh có nhiều khuôn mặt 20 Hình 2.3: Mẫu khuôn mặt có kích thước 14×16 pixel sử dụng phương pháp định vị khuôn mặt Sinha 26 Hình 2.4: Các vector quan sát để huấn luyện cho HMM 32 Hình 2.5: Các trạng thái ẩn 33 Hình 2.6: Xác định khuôn mặt HMM, trạng thái lại có trạng thái nhỏ bên 33 Hình 4.1: Tổng quan hệ thống phát mặt người 40 Hình 4.2: Mở chương trình Matlab 41 Hình 4.3: Giao diện chương trình 42 Hình 4.4: Giao diện chương trình 43 Hình 4.5: Chọn ảnh cần kiểm tra 43 Hình 4.6: Ảnh cần kiểm tra 44 Hình 4.7: Ảnh trung bình 44 Hình 4.8: Hình chiếu ảnh lên không gian ảnh 45 Hình 4.9: Ảnh cần tìm 45 DANH MỤC BẢNG Bảng 1.1: Các thông tin gọi hàm imfinfo 11 Bảng 1.2: Các phép toán số học ảnh 12 Bảng 1.3: Các hàm xử lý hình ảnh khác Matlab 14 DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Ý nghĩa GIF Graphics Interchange Format BMP Better Management Practices JPEG Joint Photo – graphic Experts Group SVM Support Vector Machine PCA Principal Component Analysis ASM Active Shape Model HMM Hidden Markov Model RGB Red - Green – Blue PDM Point Distribution Model MỞ ĐẦU Lý chọn đề tài Cùng với thành tựu khoa học nhân loại, ngành Công nghệ Thông tin ngày phát triển mạnh mẽ Ở nước phát triển, hệ thống lưu trữ xử lý thông tin xây dựng sử dụng hiệu Một ứng dụng công nghệ thông tin xử lý ảnh dùng để hỗ trợ nhiều lĩnh vực khác Hơn thập kỷ qua có nhiều công trình nghiên cứu toán nhận dạng khuôn mặt người từ ảnh đen trắng đến ảnh màu ngày hôm Các nghiên cứu từ toán đơn giản, ảnh có khuôn mặt người nhìn thẳng vào thiết bị thu hình đầu tư thẳng đứng ảnh đen trắng Cho đến ngày hôm toán mở rộng cho ảnh màu, có nhiều khuôn mặt ảnh, có nhiều tư thay đổi ảnh Không mà mở rộng phạm vi môi trường xung quanh đơn giản môi trường xung quanh phức tạp nhằm đáp ứng nhu cầu người Công nghệ nhận diện khuôn mặt (face detection), hay nói xác khu biệt hóa khuôn mặt (khả tìm nhận khuôn mặt toàn khung hình), có tới 30 năm phát triển pha hệ thống nhận dạng khuôn mặt người (face recognition face identification) Ở hệ thống này, từ đầu vào ảnh, máy tính khu biệt hóa khuôn mặt nằm vị trí nào, sau dựa thuật toán phức tạp khác xác định đặc điểm mắt, mồm hay mũi, so sánh với sở liệu khuôn mặt có, từ nhận dạng khuôn mặt Công nghệ vốn dùng ngành an ninh, ứng dụng ngày rộng rãi dân dụng Có nhiều thuật toán phát triển nhằm cải thiện trình nhận dạng khuôn mặt ngày tốt hơn, có cách tiếp cận dùng -1- mạng thần kinh (neural network) xử lý vấn đề giới tính, cảm xúc Với sở liệu so sánh lớn, thuật toán phức tạp, hỗ trợ từ phần cứng hay chíp xử lý riêng, hệ thống nhận diện nhận diện mặt người quay ngang hay nhìn lên, nhìn xuống, chuyển động hay đứng yên, chí mặt chiếm phần nhỏ toàn khung hình Với mong muốn tiếp cận công nghệ mới, đồng thời bổ sung kiến thức khoa học kỹ thuật đại, tổng kết kỹ năng, kiến thức suốt trình học tập trường, em xin chọn đề tài “Thuật toán nhận dạng khuôn mặt người xây dựng chương trình thử nghiệm” Mục tiêu nghiên cứu Mục tiêu đề tài “Thuật toán nhận dạng khuôn mặt người xây dựng chương trình thử nghiệm” tìm hiểu thuật toán nhận dạng khuôn mặt PCA Đồng thời xây dựng chương trình tìm kiếm ảnh có khuôn mặt người tập ảnh sở giống với khuôn mặt người ảnh cần kiểm tra ngôn ngữ Matlab Nhiệm vụ nghiên cứu Nhiệm vụ khóa luận tìm hiểu phương pháp, thuật toán nhận dạng khuôn mặt người nắm vững thuật toán nhận dạng khuôn mặt PCA Đọc tìm hiểu ngôn ngữ Matlab, công cụ xử lý ảnh Image Processing Toolbox Matlab Từ đó, xây dựng chương trình thử nghiệm để tìm kiếm khuôn mặt có tập sở liệu ngôn ngữ Matlab Đối tượng nghiên cứu Đối tượng nghiên cứu thuật toán nhận dạng khuôn mặt dựa trích chọn đặc trưng PCA -2- Phạm vi nghiên cứu Chương trình nhận dạng khuôn mặt xây dựng để ứng dụng thiết bị nhận dạng áp dụng cho lĩnh vực an toàn, bảo mật thông tin Trong phạm vi khóa luận em xây dựng chương trình nhận dạng khuôn mặt để tìm kiếm khuôn mặt từ tập ảnh khuôn mặt có sẵn Ý nghĩa khoa học thực tiễn đề tài Ý nghĩa khoa học: thuật toán PCA tìm hiểu, nghiên cứu bổ sung thêm phương pháp nhận dạng khuôn mặt người để giải toán xác định khuôn mặt người Ý nghĩa thực tiễn: chương trình thử nghiệm thành công góp phần nhỏ việc nhận dạng khuôn mặt áp dụng lĩnh vực an toàn bảo mật thông tin Qua áp dụng rộng rãi thiết bị số Bố cục khóa luận Với mục tiêu tìm hiểu thuật toán PCA Đồng thời áp dụng vào toán nhận dạng khuôn mặt người, khóa luận trình bày ba chương với bố cục sau: Chương 1: Cơ sở lý thuyết Chương 2: Phương pháp xác định khuôn mặt người Chương 3: Xây dựng chương trình thử nghiệm -3- CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu ảnh số Ảnh số tập hợp điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Ảnh vật đại diện cho người, sinh vật hay vật v…v Ảnh động thực chất tập hợp nhiều ảnh tĩnh liên tiếp Khi ảnh số hóa trở thành ảnh số ảnh số lại tập hợp nhiều phần tử ảnh gọi điểm ảnh “pixel” Mỗi điểm ảnh lại biểu diễn dạng số hữu hạn bit Có thể chia ảnh làm ba loại khác nhau: + Ảnh đen trắng: điểm ảnh biểu diễn bit + Ảnh Gray – scale: điểm ảnh biểu diễn mức chói khác nhau, thường ảnh biểu diễn 256 mức chói bit cho điểm ảnh + Ảnh màu: điểm ảnh chia thành tín hiệu chói tín hiệu màu Hình1.1: Ảnh màu 1.2 Biểu diễn ảnh số Trong biểu diễn ảnh, người ta thường dùng phần tử đặc trưng ảnh pixel Nhìn chung xem hàm biến chứa thông tin biểu -4- hình hóa phân bố Gauss đa biến Một chuỗi quan sát bao gồm tất giá trị cường độ từ khối Kết xuất cho biết quan sát thuộc lớp Một nghiên cứu điển hình tiếp cận Samaria Samaria dùng năm trạng thái tương ứng năm vùng để mô hình hóa tiến trình xác định khuôn mặt người Ông huấn luyện vùng cho HMM Mỗi trạng thái phụ trách xem xét vùng tương ứng để đưa định phù hợp Nếu kết xem xét cuối vượt qua ngưỡng quan sát khuôn mặt người  Phân loại Bayes Bayes phân loại tuyến tính dựa xác suất Tư tưởng dựa vào xác suất đặc trưng xuất khuôn mặt Đây phương pháp đơn giản, cài đặt không phức tạp, tốc độ nhanh với tập huấn luyện lớn cho kết tương đối xác Một nghiên cứu điển hình dùng phân loại Bayes vào xác định khuôn mặt người hướng tiếp cận dựa diện mạo nghiên cứu Schneiderman Kanade Hai ông mô tả phân loại Naïve Bayes để ước lượng xác suất chung diện mạo cục vị trí mẫu (các vùng khuôn mặt) nhiều độ phân giải khác Ứng với độ phân giải, khuôn mặt người chia thành bốn vùng chữ nhật, vùng chiếu xuống không gian có số chiều bé lượng tử hóa thành tập mẫu có giới hạn Sau thống kê vùng chiếu để mã hóa diện mạo cục Nếu xác suất đạt lớn xác suất tiền nghiệm kết luận có khuôn mặt người Hướng tiếp cận cho phép xác định khuôn mặt bị xoay góc nhìn nghiêng - 34 - 2.4 Thuật toán PCA nhận dạng khuôn mặt người 2.4.1 Lịch sử phát triển Kohonen đưa phương pháp dùng vector riêng để nhận dạng khuôn mặt, ông dùng mạng neural đơn giản để chứng tỏ khả phương pháp ảnh chuẩn hóa Mạng neural tính mô tả khuôn mặt cách xấp xỉ vector riêng ma trận tương quan ảnh Các vector riêng sau biết đến với tên Eigenface Kirby Sirovich chứng tỏ ảnh có khuôn mặt mã hóa tuyến tính số lượng vừa phải ảnh sở Tính chất dựa biến đổi Karhunen - Lòeve, mà gọi tên khác PCA biến đổi Hotelling Ý tưởng xem Pearson trình bày vào năm 1901 sau Hotelling vào năm 1933 Cho tập ảnh huấn luyện có kích thước m×n mô tả vector có kích thước m×m, vector cở sở cho không gian tối ưu xác định thông qua lỗi bình phương trung bình chiếu ảnh huấn luyện vào không gian Các tác giả gọi tập vector sở tối ưu ảnh riêng sau gọi cho đơn giản vector riêng ma trận hiệp phương sai tính từ ảnh khuôn mặt vector hóa tập huấn luyện Nếu cho 100 ảnh, mà khuôn mặt có kích thước 91×50 dùng 50 ảnh riêng, trì khả giống hợp lý (giữ 95% tính chất) Turk Pentland áp dụng PCA để xác định nhận dạng khuôn mặt Tương tự, dùng PCA tập huấn luyện ảnh khuôn mặt để sinh ảnh riêng (còn gọi eigenface) để tìm không gian (không gian khuôn mặt) không gian ảnh Các ảnh khuôn mặt chiếu vào không gian gom nhóm lại Tương tự ảnh khuôn mặt dùng để huấn luyện chiếu vào không gian gom nhóm lại Các ảnh chiếu vào không gian khuôn mặt không bị thay đổi tính chất bản, chiếu ảnh khuôn mặt xuất khác không - 35 - Xác định có mặt khuôn mặt ảnh thông qua tất khoảng cách vị trí ảnh không gian ảnh Khoảng cách dùng để xem xét có hay khuôn mặt người, kết tính toán khoảng cách cho ta đồ khuôn mặt Có thể xác định từ cực tiểu địa phương đồ Có nhiều nghiên cứu xác định khuôn mặt, nhận dạng, trích đặc trưng từ ý tưởng vector riêng, phân rã, gom nhóm Sau Kim phát triển cho ảnh màu cách phân đoạn ảnh để không gian tìm kiếm bớt 2.4.2 Thuật toán PCA Khuôn mặt người có nhiều nét để nhận biết, ta gặp lại người bạn quen cũ sau thời gian dài, ta nhận người dù chi tiết cụ thể mặt thay đổi da, mái tóc Ta nhận nhớ đôi mắt, hay mũi hay môi hay tóc, lông mày người mà ta nhận nhớ diện mạo người Tức khuôn mặt tồn nét tổng thể để nhận diện, thuật toán ta ý tưởng Phân tích thành phần (Principal Component Analysis ) gọi tắt PCA thuật toán nhận dạng ảnh dựa nét tổng thể khuôn mặt, ta áp dụng thuật toán để thực hai công việc sau: + Thứ tìm khuôn mặt giống với khuôn mặt cho trước + Thứ hai xác định vị trí khuôn mặt người ảnh Ban đầu ta có tập ảnh khuôn mặt gọi tập ảnh huấn luyện (training set) Giả sử ảnh có kích thước M×N, ta coi ảnh vector không gian M×N chiều Bây khuôn mặt vector, ta thấy vector không phân bố ngẫu nhiên không gian ảnh mà phân bố theo quy luật tương đối đó, ta nói vector nằm không gian gọi không gian khuôn mặt Từ vector tập huấn luyện, ta tìm sở trực chuẩn cho không - 36 - gian khuôn mặt Những vector thuộc sở coi vector mang nét tổng thể đặc trưng khuôn mặt Giả sử tập huấn luyện có P ảnh, ta có P vector: T1, T2,…, Tp p Tính vector ảnh trung bình: m   Ti p i 1 Sự khác biệt khuôn mặt với ảnh trung bình vector: Ai = Ti – m, với i=1…P Ý tưởng việc phân tích thành phần tìm tập vector trực chuẩn uk cho vector mô tả tốt phân bố vector khuôn mặt không gian Những vector uk chọn cho:  nÕu i = j ui | u j    nÕu i  j p k   u k |Ai lớn i 1 Những vector uk giá trị vô hướng λk vector riêng trị riêng tương ứng ma trận AAT u | v tích vô hướng hai vector u, v A = [A1A2…Ap] Ta thấy ma trận A có kích thước M×N×P, ma trận AAT có kích thước (M×N)×(M×N), kích thước ma trận lớn nên ta tìm vector riêng trị riêng trực tiếp được, thay vào ta tìm vector riêng ma trận ATA có kích thước P×P Nếu v vector riêng ATA λ trị riêng tương ứng, ta có: ATAv = λv  AATA = λAv, tức Av trị riêng ma trận AAT Thông thường ta lấy số Q vector riêng ứng với Q trị riêng có giá trị lớn - 37 - Sau có vector riêng ma trận AAT, ta chuẩn hóa chúng để thu sở trực chuẩn không gian khuôn mặt Đặt L = ATA, tìm V tập hợp vector riêng L, D tập hợp trị riêng tương ứng V bao gồm Q vector riêng ứng với trị riêng lớn giá trị ứng với Q trị riêng lớn D E = AV tập vector riêng AAT Do vector riêng, mà lại có dạng khuôn mặt nên đuợc gọi Eigenfaces E ma trận M×N×Q, cột vector riêng Chuẩn hóa vector cột E (chia vector cho độ dài vector đó) Bây giờ, ta coi E sở trực chuẩn không gian khuôn mặt Với H ảnh có kích thước với ảnh tập huấn luyện Ta xét có phải ảnh khuôn mặt hay không, tìm ảnh giống với tập huấn luyện H xem vector không gian M×N chiều Đặt K = H - m với m vector ảnh trung bình Cho V không gian có tích vô hướng hữu hạn chiều W không gian Giả sử W có sở trực chuẩn {u1,…,uQ} Khi hình chiếu trực giao vector u lên W xác định sau: Q prwu  u0   u | ui ui i 1 Độ dài u  u0 gọi khoảng cách từ u đến W Tập hợp ci  u | ui , với i = 1,…,Q gọi tọa độ u0 không gian W Tìm C = ETK tọa độ hình chiếu Kf K lên không gian khuôn mặt C vector cột Q×1 - 38 - Q K f   c e i i với ci = C(i , 1); ei = E(: , i) i 1 Với cột ma trận A (tương ứng với ảnh Ti tập T huấn luyện) Ta tính ci  E Ai tọa độ hình chiếu Ai f Ai lên không gian khuôn mặt Ta tính hai đại lượng sau: - s = K  K f xem khoảng cách từ ảnh H đến không gian mặt - si = c  c i xem khoảng cách từ H đến ảnh Ti tập huấn luyện Xét α β hai ngưỡng - s < α H ảnh khuôn mặt (do H đủ gần với không gian mặt) - si < β Ti ảnh người với H (H đủ gần với Ti ) Vậy ta tìm ảnh tập huấn luyện giống với ảnh H hay xác định có phải ảnh khuôn mặt hay không Tuy nhiên ảnh H phải có kích thước với ảnh tập huấn luyện Bây ảnh lớn H có nhiều khuôn mặt, ta xác định vị trí khuôn mặt ảnh - Tại vị trí (x,y) H, đặt H(x,y) vùng ảnh H có kích thước M×N (x,y) ta xem ảnh H(x,y) vector M×N chiều K(x,y) = H(x,y) – m; - Tìm K f (x, y) hình chiếu K(x,y) lên không gian khuôn mặt f - Tính s(x,y) = K(x, y)  K (x,y) Tập hợp giá trị s(x,y) tạo thành đồ khuôn mặt (face map) H, từ ta xác định vị trí khuôn mặt ảnh - 39 - CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 3.1 Bài toán Trong chương trước đề cập đến toán nhận dạng khuôn mặt người thuật toán PCA Trong chương tìm hiểu, xây dựng chương trình demo để nhận dạng khuôn mặt người sử dụng thuật toán PCA Để áp dụng thuật toán PCA trước tiên cần có tập ảnh khuôn mặt người làm sở để tìm kiếm xem có khuôn mặt người cần tìm tập ảnh không Ngoài cần có ảnh để tìm kiếm Ảnh lấy từ tập sở ảnh khác Với yêu cầu xây dựng sở liệu ảnh Cơ sở liệu ảnh bao gồm có tập ảnh: tập ảnh test, tập ảnh train Tập ảnh test bao gồm tập ảnh khuôn mặt người, dùng thuật toán PCA, để tìm kiếm ảnh kiểm tra, xác định thành phần đặc trưng khuôn mặt người Tập ảnh train bao gồm ảnh khuôn mặt người dùng xác định khuôn mặt người nhận dạng mặt người, đưa ảnh kết sau trình phân loại Sau sơ đồ tổng quan bước nhận diện khuôn mặt người Hình 4.1: Tổng quan bước nhận diện khuôn mặt người - 40 - Về bản, từ tập ảnh gốc tính vector ảnh cho vào tập huấn luyện Tiếp theo xác định ánh xạ ảnh kiểm tra đưa vector đặc trưng ảnh kiểm tra Cuối vector đưa vào phân loại để tiến hành xác định đâu ảnh mặt người giống với ảnh kiểm tra ban đầu 3.2 Xây dựng chương trình Chương trình “Nhận dạng mặt người Matlab” chương trình thiết kế giao diện người dùng GUI phần mền Matlab 7.0 Rất đơn giản dễ dàng sử dụng Để mở chương trình bạn làm thao cách Mở trực tiếp chương trình Matlab 7.0 Ta đường dẫn đến thư mục DOAN2 sau Run file DOAN2.fig Như hình đây: Hình 4.2: Mở chương trình Matlab Hoặc bạn vào trực tiếp thư mục DOAN2 để mở file DOAN2.fig Sau chạy chương trình, xuất hợp thư thoại hình: - 41 - Hình 4.3: Giao diện chương trình Đây giao diện giới thiệu chương trình Trên giao diện có nút nhấn Next Close Nếu chọn Close thoát khỏi chương trình Nếu chọn Next, ta đến giao diện chương trình Như hình đây: - 42 - Hình 4.4: Giao diện chương trình Đây giao diện chương trình gồm hai khung hiển thị hình ảnh hai nút nhấn Browse Search Để bắt đầu tìm kiếm ta cần load ảnh khuôn mặt người cần kiểm tra cách nhấn vào phím Browse Hộp thoại mở file xuất hiện, bạn chọn file ảnh bạn muốn kiểm tra Ở ta lấy ví dụ ảnh kiểm tra ảnh “A.jpg” hình vẽ: Hình 4.5: Chọn ảnh cần kiểm tra Ảnh cần kiểm tra đưa giao diện chương trình hình: - 43 - Hình 4.6: Ảnh cần kiểm tra Để kiểm tra xem khuôn mặt người ảnh cần kiểm tra nhấn nút Search chương trình chạy tìm CSDL ảnh có khuôn mặt giống với khuôn mặt người ảnh cần kiểm tra Hiển thị giao diện chương trình Hình 4.7: Ảnh trung bình - 44 - Hình 4.8: Hình chiếu ảnh lên không gian ảnh Hình 4.9: Ảnh cần tìm Chương trình tìm khuôn mặt gần giống với khuôn mặt cần kiểm tra Và kết tìm hình có tên “7.jpg” - 45 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Trên sở nghiên cứu toán phát mặt người ảnh Đặc biệt thuật toán PCA, tập huấn luyện vector Eigenfaces Em áp dụng thành công thuật toán PCA vector Eigenfaces vào toán phát khuôn mặt người ảnh Đây bước đầu để phát triển toán nhận dạng mặt người (face recognition) sau Về chương trình demo, sau thử nghiệm với tập ảnh lớn Chương trình đạt kết tốt, thời gian phát nhanh ảnh mặt người chụp thẳng, chất lượng ảnh tốt (chụp máy kĩ thuật số) Tuy nhiên ảnh chụp nghiêng hay ảnh có màu sắc tối chương trình gần phát khuôn mặt ảnh Trong trình thực chương trình demo em tìm hiểu tiếp tục nghiên cứu nhận dạng khuôn mặt thông qua webcam Tuy nhiên, kết đạt không mong muốn Kết tìm kiếm ảnh tập sở liệu không với ảnh chụp qua webcam Nguyên nhân dẫn đến kết nhận không xác ảnh chụp chưa qua tiền xử lý Ảnh chụp thông qua webcam có nhiều yếu tố ngoại cảnh tác động nên dẫn đến không tìm ảnh sở liệu Kết hướng phát triển chương trình demo để tìm kiếm khuôn mặt chụp thông qua webcam có tập sở liệu hay không Bên cạnh đó, trình xây dựng chương trình demo, em tìm hiểu thư viện mã nguồn Matlab, qua biết cách sử dụng hàm Matlab Đồng thời, em tìm hiểu công cụ xử lý ảnh Matlab để hoàn thành chương trình demo Hướng phát triển đề tài Đề tài phát triển thành phần mềm nhận dạng khuôn mặt người tốt hơn, cách kết hợp với số thuật toán nhận dạng xử - 46 - lý ảnh đại Cho kết xác Có thể phát triển thành đề tài nhận dạng qua webcam… Ngoài phát triển chương trình theo hướng như: - Nhận diện mặt người qua tập liệu có sẵn từ camera - Nhận diện danh tính người phạm tội qua ảnh chụp - Có thể kết hợp với nhiều thuật toán khác như: ICA, Neural, để xử lý cách xác - Dò tìm nhận dạng đối tượng vi phạm kỷ luật từ xa qua thiết bị quan sát - Bảo mật hệ thống cách nhận dạng khuôn mặt hay nhiều đối tượng muốn vào công ty, xí nghiệp, hay quan - Quản lý thời gian làm việc nhân viên xí nghiệp mà cần camera quan sát Một hướng phát triển chương trình áp dụng thiết bị di động hộ gia đình phần mềm nhận dạng khuôn mặt để mở khóa di động, thiết bị cửa chống trộm có áp dụng nhận dạng khuôn mặt v…v - 47 - TÀI LIỆU THAM KHẢO Tiếng Việt Ngô Hoàng Khắc Tiến, Trần Xuân Bách, Đồ án tốt nghiệp Dò tìm ảnh mặt người dùng PCA, Khoa Công nghệ điện tử, trường Đại học Công Nghiệp TP HCM, 2009 Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập Môn Xử lý ảnh số, Nhà xuất Khoa học Kỹ thuật, 2002 Võ Đức Khánh, Hoàng Văn Kiếm Giáo trình xử lý ảnh số, Nhà xuất Đại học Quốc gia Thành phố Hồ Chi Minh, 2003 Phạm Thế Bảo, Tổng quan phương pháp xác định khuôn mặt người, Tạp chí bưu viễn thông Ngô Quốc Tạo, Ngô Phương Đông, Nguyễn Thanh Hòa, Phạm Việt Bình (2003), Báo cáo "Nhận dạng mặt người môi trường độ sáng không đồng nhất", Hội thảo Công nghệ thông tin quốc gia lần thứ VIII, Thái Nguyên, 29 - 31/8/2003 Nguyễn Hoài Sơn, Giáo trình Matlab bản, Khoa Xây dựng Cơ học ứng dụng, trường ĐHSPKT Tiếng Anh Burce A Draper, Kyungim Baek, Marian Stewart Bartlett, J Ross Beveridge, "Recognizing Faces with PCA and ICA" Stan Z Li , Anil K Jain, "Handbook of Face Recognition", 2006 IEEE Computer Society, "Automatic face and gesture recognition", 2004 Wedsite: http://www.mathworks.com/matlabcentral/fileexchange/?term=Variable http://www.picvietnam.com/forum//showthread.php?t=37 - 48 - [...]... trận và vector X - Min(X): trả về vị trí của phần tử nhỏ nhất của ma trận X - 15 - CHƯƠNG 2: THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT NGƯỜI 2.1 Định nghĩa bài toán xác định khuôn mặt người Xác định khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác định các vị trí và các kích thước của các khuôn mặt người trong các ảnh bất kỳ (ảnh kỹ thuật số) Kỹ thuật này nhận biết các đặc trưng của khuôn mặt và. .. 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ặt người theo màu da người Từ ứng viên này tác giả xác định khuôn mặt người theo hình dáng khuôn mặt và các quan hệ đặc trưng về thành phần khuôn mặt với mắt phải được chọn làm gốc tọa độ để xét quan hệ Tỷ lệ chính xác cho khuôn mặt chụp thẳng trên 80% b Kết cấu của khuôn mặt Khuôn mặt con người có những kết cấu riêng biệt... xác định mặt người được xây dựng dựa vào các luật, các luật này phụ thuộc vào tri thức của các tác giả nghiên cứu về bài toán xác định khuôn mặt Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và các quan hệ tương ứng Ví dụ, một khuôn mặt thường có hai mắt đối xứng qua trục thẳng đứng giữa khuôn mặt và có một mũi, một miệng Các quan hệ đặc trưng có thể là quan hệ về vị trí và khoảng... thành thông qua quá trình hiệu chỉnh trọng số liên kết giữa các neuron, nói cách khác là học từ tập hợp các mẫu huấn luyện Mạng Neural rất hay được sử dụng trong các bài toán nhận dạng mẫu, nhận dạng mặt người cũng có thể xem là một bài toán nhận dạng với hai loại mẫu (mặt người hoặc không phải mặt người) và như vậy có thể sử dụng mạng Neural khá hiệu quả kể cả khi các mẫu khuôn mặt có độ phức tạp cao... phương pháp định vị khuôn mặt của Sinha Một số phương pháp khác như của Froba và Zink lọc cạnh ở độ phân giải thấp rồi dùng biến đổi Hough để so khớp mẫu theo hướng cạnh để xác định hình dáng khuôn mặt ở dạng chụp hình thẳng ở dạng xám Tỷ lệ chính xác trên 91% Ngoài ra Shu và Jain còn xây dựng ngữ nghĩa khuôn mặt Ngữ nghĩa xây dựng theo hình dáng và vị trí các thành phần khuôn mặt Hai ông từ bộ ngữ... trung hay không, và hỗ trợ thông báo khi cần thiết + Phân tích cảm xúc trên khuôn mặt + Trong lĩnh vực thiết kế điều khiển robot - 17 - + Hãng máy chụp hình Canon đã ứng dụng bài toán xác định khuôn mặt người vào máy chụp hình thế hệ mới để cho kết quả hình ảnh đẹp hơn, nhất là khuôn mặt người 2.3 Phương pháp xác định khuôn mặt người Có nhiều nghiên cứu tìm phương pháp xác định khuôn mặt người, từ ảnh... Từ kết cấu của khuôn mặt xây dựng lên một bộ phân loại, gọi là kết cấu giống khuôn mặt (face - like texture) c Màu sắc da Thông thường các ảnh màu không xác định trực tiếp trên toàn bộ dữ liệu ảnh mà các tác giả dùng tính chất sắc màu của da người (khuôn mặt người) để chọn ra được các ứng viên có thể là khuôn mặt người (lúc này dữ liệu đã được thu hẹp đáng kể) để xác định khuôn mặt người - 23 - d Đa... trí ứng viên có phải là góc mắt, miệng và tâm mắt hay không để theo vết con mắt người Juan và Narciso xây dựng một không gian màu mới YCbCr để lọc 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 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ặt người Tương tự, Chang và Hwang cũng dùng không gian màu YCbCr... nhau - 18 - b Các nghiên cứu Có nhiều cách để xây dựng chương trình xác định mặt người theo hướng tiếp cận dựa trên tri thức Thông thường chương trình sẽ được xây dựng theo hướng dựa vào một phương pháp nào đấy chọn ra các ứng viên trong bức ảnh trước, sau đó sẽ áp dụng các luật để xác định ứng viên nào là khuôn mặt, ứng viên nào không phải là khuôn mặt Quá trình này có thể được áp dụng nhiều lần để giảm... mũi, miệng, phần nối giữa mũi và miệng hoặc dựa và đường viên của khuôn mặt v…v Leung đã đưa ra một mô hình xác suất để xác định khuôn mặt trong ảnh có hình nền phức tạp dựa trên việc tìm kiếm các đặc trưng không thay đổi của khuôn mặt trong ảnh, sau đó dùng đồ thị ngẫu nhiên để xác định khuôn mặt Tư tưởng của phương pháp này đó là xem bài toán xác định khuôn mặt như là bài toán tìm kiếm với mục tiêu ... tiêu đề tài Thuật toán nhận dạng khuôn mặt người xây dựng chương trình thử nghiệm tìm hiểu thuật toán nhận dạng khuôn mặt PCA Đồng thời xây dựng chương trình tìm kiếm ảnh có khuôn mặt người tập... 3.1 Bài toán Trong chương trước đề cập đến toán nhận dạng khuôn mặt người thuật toán PCA Trong chương tìm hiểu, xây dựng chương trình demo để nhận dạng khuôn mặt người sử dụng thuật toán PCA... - CHƯƠNG 2: THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT NGƯỜI 2.1 Định nghĩa toán xác định khuôn mặt người Xác định khuôn mặt người (Face Detection) kỹ thuật máy tính để xác định vị trí kích thước khuôn mặt

Ngày đăng: 08/11/2015, 20:08

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC HÌNH ẢNH

  • DANH MỤC BẢNG

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • MỞ ĐẦU

  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

    • 1.1. Giới thiệu ảnh số

    • 1.2. Biểu diễn ảnh số

    • 1.3. Ảnh màu

    • 1.4. Các định dạng ảnh cơ bản trong xử lý ảnh

    • 1.5. Giới thiệu về Matlab

      • 1.5.1. Chuyển đổi giữa các kiểu dữ liệu

      • 1.5.2. Các phép toán số học cơ bản đối với dữ liệu ảnh

      • 1.5.3. Các hàm hiển thị ảnh trong Matlab

      • CHƯƠNG 2: THUẬT TOÁN NHẬN DẠNG KHUÔN MẶT NGƯỜI

        • 2.1. Định nghĩa bài toán xác định khuôn mặt người

        • 2.2. Ứng dụng của phương pháp xác định khuôn mặt người

        • 2.3. Phương pháp xác định khuôn mặt người

          • 2.3.1. Hướng tiếp cận dựa trên tri thức

          • 2.3.2. Hướng tiếp cận dựa trên đặc trưng không thay đổi

          • 2.3.3. Hướng tiếp cận dựa trên so khớp mẫu

          • 2.3.4. Hướng tiếp cận dựa trên diện mạo

          • 2.4. Thuật toán PCA nhận dạng khuôn mặt người

            • 2.4.1. Lịch sử phát triển

            • 2.4.2. Thuật toán PCA

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

Tài liệu liên quan