Luận văn Tóm tắt Nghiên cứu ứng dụng Eigenfaces và đặc trưng cục bộ LBP cho bài toán nhận dạng mặt người
Trong những năm gần đây, các nghiên cứu và ứng dụng của trí
tuệ nhận tạo (Artificial Intellegence) và học máy (Machine Learning)
thu hút được sự quan tâm của rất nhiều nhà khoa học. Một trong
những lĩnh vực liên quan tới công nghệ tri thức mà hiện nay được
ứng dụng rất nhiều vào trong cuộc sống là nhận dạng mẫu (Pattern
Recognition). Các hệ thống nhận dạng phổ biến hiện nay như: nhận
dạng chữ viết (đánh máy hoặc viết tay), nhận dạng chữ ký, nhận
dạng vân tay, nhận dạng tròng mắt (iris), nhận dạng mặt người,.
Một trong các bài toán được khá nhiều người quan tâm cho
đến thời điểm này là nhận dạng khuôn mặt (Face Recognition).
Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa
người với người và cũng mang một lượng thông tin giàu có, chẳng
hạn như có thể xác định giới tính, tuổi tác, chủng tộc hay trạng thái
cảm xúc,. Nhận dạng khuôn mặt không phải là bài toán mới nhưng
nó vẫn là một thách thức lớn vì một bài toán nhận dạng mặt người
chứa nhiều các bài toán khác như: phát hiện mặt người (face
detection), đánh dấu (facial landmarking), rút trích đặc trưng
(feature extraction), gán nhãn, phân lớp (classification). Ngoài ra,
ảnh khuôn mặt trong thực tế chứa đựng nhiều vấn đề như: độ sáng,
độ nhòe/mờ, độ nhiễu, độ phân giải, góc ảnh,.
LBP bất biến với phép quay Giả sử Iα(x, y) là ảnh quay góc (α) của ảnh I(x, y). Với phép quay này điểm ảnh (x, y) sẽ nằm tại vị trí (x', y') như hình vẽ sau đây (hình trái). Trong ví dụ này (hình phải): tất cả 8 mẫu LBP bên dưới được ánh xạ về mẫu LBP đầu tiên vì mẫu đầu tiên cho giá trị nhỏ nhất. Hình 2.8. Minh họa về các trường hợp của LBP sau khi quay với góc 15 độ Khả năng bất biến với phép quay của đặc trưng này được minh họa qua ví dụ sau (hình 2.3 trái). Rút trích đặc trưng này trên ảnh khuôn mặt được thể hiện trong hình 2.3 phải 16 Hình 2.2. Minh họa đặc trưng LBP bất biến với phép quay trên khuôn mặt LBP đồng dạng có khả năng bất biến với phép quay Kết hợp của mẫu LBP đồng dạng và LBP bất biến với phép quay có thể tạo nên một dạng biến thể khác của LBP (uniform rotation – invariant LBP). Dựa trên định nghĩa này, bảng ánh xạ cho bán kính làm việc P-neighbors sẽ có P + 2 nhãn (label). Có nghĩa là có 10 nhãn trong trường hợp làm việc với 8-neighbour Hình 2.3. Minh họa đặc trưng LBP đồng dạng và bất biến với phép quay 2.2.4. Tính chất của LBP trong nhận dạng 2.3. PHƯƠNG PHÁP PCA 2.3.1. Giới thiệu về PCA 17 Phương pháp phân tích thành phần chính (PCA) là một công cụ rất phổ biến trong việc nhận dạng, được biết đến như là Eigenfaces trong ứng dụng nhận dạng mặt người sử dụng PCA. Cụm từ Eigenfaces được hình thành dựa trên ứng dụng nhận dạng mặt người và bài toán PCA giải bài phương pháp phân tích eigenvalue. PCA được xem như là phương pháp chuẩn dùng để đánh giá mức độ hiệu quả của các phương pháp khác (baseline benchmark). Có hai phương pháp cơ bản dùng để giải quyết bài toán PCA là: phân tích eigenvalue và Singular Value Decomposition (SVD). Trong khi SVD giải quyết bài toán PCA dựa trên ma trận dữ liệu (data matrix) thì phương pháp phân tích eigenvalue làm việc trên hiệp phương sai của dữ liệu. Trong khuôn khổ luận văn, bài toán PCA được giải quyết dựa trên phương pháp phân tích eigenvalue. 2.3.2. Các khái niệm trong PCA Trị trung bình (mean) của 1 vector là một giá trị đơn (scalar) và được tính theo công thức: 1 1 N i i X X N . Độ lệch chuẩn (standard deviation): cho biết độ khác biệt hay độ lệch của các phần tử trong dữ liệu so với trị trung bình. Cho trước dữ liệu X và trị trung bình của X là μ, độ lệch chuẩn của X được tính như sau: 2[ ]σ E X μ . Ma trận hiệp phương sai (covariance matrix): Giả sử cho trước một ma trận 1 2[ ... ]NX X X X , trong đó Xi là vector . Ma trận hiệp phương sai, ký hiệu là , được định nghĩa như sau: cov( , ) [( )( )]i j i i j jX X E X μ X μ . 2.3.3. Bài toán Eigen 18 Trong ngữ cảnh của bài toán eigen, nếu tồn tại vector x thỏa điều kiện song song với Ax thì x được gọi là eigenvectors của ma trận A. Tính song song được biểu diễn như sau: Ax xl= , trong đó là 1 trị đơn (scalar) và được xem là eigenvalue của ma trận A. Các tính eigenvectors và eigenvalues được tổng quát như sau: Tính định thức (determinant) của A Il- . Tìm eigenvalues bằng cách giải quyết det( ) 0A I , trong đó λ là nghiệm. Tương ứng với mỗi giá trị eigenvalue i , ta tính được eigenvector bằng cách giải phương trình Ax xl= . 2.3.4. Đặt vấn đề và giải pháp của PCA Đặt vấn đề Một trong những câu hỏi cơ bản trong bài toán PCA là: cho trước 1 tập dữ liệu, tìm trục chiếu mà có thể phân biệt được dữ liệu tốt nhất, tức là biến thể (variation) lớn nhất. Xem xét ví dụ sau đây: Mục đích của bài toán PCA là đi tìm trục chiếu tốt nhất ở hình vẽ bên phải. Hình 2.4. Ví dụ về phép chiếu từ không gian 2D xuống 1D Giải quyết vấn đề: Gọi ω là trục chiếu cần tìm. Phép chiếu của dữ liệu x trên trục chiếu này là ωTx. Mục đích của PCA là tìm ω sao cho biến thiên của ωTx lớn nhất. Bài toán được biểu diễn như sau: ( ) arg max{var( )}T x w w . 19 Giá trị biến thiên của phép chiếu dữ liệu x lên trục ω được thể hiện như sau: 2a ( ) ( ( ))T T TV r x E x E xw w w= - ( ( )) ( ( ))T TE x E x x E xw w= - ´ - (**). Trong đó E[x] là trị trung bình của x. Đặt ( ( )) ( ( ))TE x E x x E xå = - ´ - là ma trận hiệp phương sai (covariance matrix). Công thức (**) tương đương a ( )T TV r xw w w= å , với ( ( )) ( ( ))TE x E x x E xå = - ´ - và 1Tw w= Lưu ý là trong ngữ cảnh của bài toán, wđược chuẩn hóa về vector đơn vị (unit norm), có nghĩa là 1Tw w= . Mục tiêu của bài toán PCA là đi tìm tìm 1 trục chiếu w sao cho giá trị biến thiên của phép chiếu ωTx lớn nhất (tức là đi tìm max( a ( ))TV r xw . Như vậy ta có thể phát biểu bài toán như sau: ( ) arg max{var( )}, . . 1T Tx s t w w w w= (***) Giải pháp đơn giản nhất để giải quyết (***) là sử dụng phương pháp tối ưu Lagrangian (Lagrangian optimization). Từ (***) ta đưa về dạng hàm số Lagrangian: ( , ) ( 1) T T L w l w w l w w= å - - , trong đó λ là hệ số Lagrangian. Lấy đạo hàm theow , đặt nó có giá trị bằng không (0), ta có công thức sau: ( , ) 0 L w l w ¶ = ¶ 2 2 0 0 Đây chính là bài toán eigen, trong đó l là eigenvalues, PCA subspace w là eigenvector của ma trận hiệp phương sai ( ( )) ( ( ))TE x E x x E xå = - ´ - . 2.3.5. Dùng PCA để xây dựng subspace 20 Cho trước tập huấn luyện (training data) gồm N ảnh (x1, x2, ... xN) mỗi ảnh được biểu diễn dưới dạng vector cột có M chiều ( M ix Î ). Sắp xếp các ảnh lại ta được 1 ma trận X. PCA subspace được xây dựng qua các bước như sau: Bước 1: Chuẩn hóa dữ liệu: 1 1 N i i X x N = = å và 1 2( ) . . . NX X X x X x X x X é ù= - = - - -ë û, Bước 2: Tính ma trận hiệp phương sai của X: TX Xå = . Bước 3: Tìm nghiệm của phương trình w l wå = và được giải bằng phương pháp eigen. Ma trận hiệp phương sai å kích thước NxN nên sẽ có N nghiệm khi tìm lời giải cho bài toán eigen. Tập hơp của các eigenvector sẽ hình thành 1 PCA subspace. 2.3.6. Ứng dụng PCA trong bài toán nhận dạng mặt người Bước 1: Thực hiện xây dựng không gian con PCA (PCA subspace): [ ]1 2... m M mw ww w ´= Î từ tập ảnh huấn luyện X. Bước 2: Thực hiện nhận dạng. Đầu vào: Dữ liệu huấn luyện Y (khác với dữ liệu huấn luyện X) và ảnh cần kiển chứng y. Tiến hành: Chiếu tập huấn luyện Y lên PCA subspace ω, ta sẽ có S hệ số α1, α2, ... αS, trong đó 1 11 1 2 2 , ,..,T T Tn nY Y Ya w a w a w= = = và S là tổng số các mẫu có trong tập huấn luyện Y. Chiếu dữ liệu được kiểm tra y lên PCA subspace ω: T y ya w= . Thực hiện so sánh hệ số (coefficients) giữa ya và 1 2... sa a a . 21 CHƯƠNG 3. HỆ THỐNG NHẬN DẠNG MẶT NGƯỜI DỰA TRÊN LBP VÀ PCA 3.1. MÔ TẢ ỨNG DỤNG 3.1.1. Công cụ và ngôn ngữ phát triển Công cụ: MASM để dò tìm khuôn mặt và xác định điểm khuôn mặt. Là một công cụ hỗ trợ đắc lực cho thế thống nhận dạng được FBI đầu tư (do giáo viên hướng dẫn cung cấp). Ngôn ngữ: Matlab 2012b (32 bit) chạy trên hệ điều hành Windows 7. Hình 3.1. MASM cho việc phát hiện các đặc điểm trên khuôn mặt 3.1.2. Minh họa cho chương trình thử nghiệm Hình 3.2. Giao diện của chương trình thử nghiệm (rút trích đặc trưng và nhận dạng) 22 Hình 3.3. Minh họa cho PCA subpsace dùng trong chương trình 3.2. DỮ LIỆU VÀ ĐỘ ĐO 3.2.1. Dữ liệu chuẩn MGBC Dữ liệu: Dữ liệu tạo PCA Subpace: 10.000 ảnh từ MBGC Dữ liệu học mẫu (train) và thử nghiệm (test) được tiến hành trên hai bộ: MBGC: 860 ảnh học mẫu và 213 ảnh thử nghiệm của 43 đối tượng khác nhau. 3.2.2. Dữ liệu thực tế Do sinh viên thu thập: 150 ảnh học mẫu và 53 ảnh thử nghiệm của 13 đối tượng khác nhau. 3.2.3 Độ đo: Độ chính xác (Accuracy): được xác định dựa trên số lượng ảnh nhận dạng đúng so với tổng số lượng ảnh có trong database. Thông thường khi nói đến độ chính xác, ta thường nói kết quả nhận dạng đầu tiên RANK-1. 23 ROC curve - Reciver Operating Characteristic: là một bảng tương quan (mapping) giữa tỷ lệ dương tính giả (false positive rate - FPR) và tỷ lệ dương tính thật (true positive rate - TPR). 3.3. KẾT QUẢ THỰC HIỆN 3.3.1. Kết quả trên dữ liệu chuẩn 3.3.2. Kết quả trên dữ liệu thực tế 3.3.3. Một số sai sót trong quá trình nhận dạng 3.3.4. So sánh đánh giá Như đã phân tích và trình bày ngay từ Chương 1, PCA là thật toán tốt, chạy ổn định trên mọi kiểu dữ liệu, chính là vì PCA được chọn làm baseline. Độ chính xác (%) Thời gian học mẫu Thời gian nhận dạng 24 KẾT LUẬN Mục đích của đề tài là tìm hiểu và đánh giá một số thuật toán về xử lý ảnh, nhận dạng để từ đó xây dựng một hệ thống nhận dạng khuôn mặt hoàn chỉnh nhằm phục vụ cho ứng dụng trong thực tế. Nội dung đề tài đã thực hiện đầy đủ việc tìm hiểu và nghiên cứu một số thuật toán tiêu biểu tại từng giai đoạn xử lý của quá trình nhận dạng khuôn mặt. Trọng tâm nghiên cứu là các thuật toán có khả năng thực hiện một cách chính xác nhất cho quá trình nhận dạng. Cụ thể là tìm hiểu và trình bày hai thuật toán quan trọng nhất là nhị phân cục bộ LBP nhằm rút trích đặc trưng cho khuôn mặt và bộ phân lớp PCA cho quá trình nhận dạng. Về thực tế thì luận văn đã xây dựng được một công cụ nhận dạng khuôn mặt hoàn chỉnh xác, có thể đem ứng dụng trực tiếp vào thực tế. Hệ thống nhận dạng đã hoạt động khá chính, cho kết quả đạt được là hơn 90% với bộ thư viện chuẩn MBGC và đạt yêu cầu đề ra là từ 70-80% cho bộ dữ liệu mà sinh viên tự mình thu thập được. Mặc dù đã có nhiều cố gắng, nhưng do thời gian nghiên cứu chưa đủ, kinh nghiệm nghiên cứu chưa có nhiều, vì vậy luận văn này không tránh khỏi một số sai sót, hạn chế nhất định như: việc thu thập dữ liệu còn ít, ảnh chụp chưa được tốt, demo chương trình còn mang tính minh họa. Tuy nhiên, xử lý ảnh hay nhận dạng khuôn mặt vẫn còn là một hướng nghiên cứu khá mới mẻ.Vì vậy, trong tương lại, đề tài này hứa hẹn có thể được phát tiển thêm và triển khai rộng rãi trong nhiều ứng dụng nhận dạng các cá nhân, gương mặt khác nhau, phục vụ cho các nhu cầu mới phát sinh, đáp ứng được yêu cầu ngày càng tăng về tính bảo mật.
File đính kèm:
- Luận văn tóm tắt Nghiên cứu ứng dụng Eigenfaces và đặc trưng cục bộ LBP cho bài toán nhận dạng mặt người.pdf