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,.

pdf26 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 3088 | Lượt tải: 2download
Tóm tắt nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfLuậ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