ĐỒ ÁN TỐT NGHIỆP
TÌM HIỂU PCA NHẬN DẠNG MẶT
NGƯỜI
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ
DANH MỤC CÁC BẢNG BIỂU
BẢNG 4-1: SỐ LIỆU THỐNG KÊ ..................................................................25
DANH MỤC CÁC TỪ VIẾT TẮT
GUI
Graphical User Interface
ICA
Independent Component Analysis
MATLAB
PCA
Matrix Laboratory
Principal Component Analysis
Trang 5/37
CHƯƠNG 1.
-
TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu
Với sự tiến bộ của khoa học công nghệ, những thuật toán về computer vision đã
cho phép con người có thể dùng máy móc thay thế cho những việc tưởng chừng
như khó khăn thành đơn giản với , những việc đòi hỏi không những xử lý nhanh
-
mà sự hiệu quả mang lại cao gấp nhiều lần so với con người làm.
Nhận dạng mặt người là một trong những ứng dụng tuyệt vời với những giá trị
mà nó mang lại. Để tra thông tin về một người, chúng ta có thể mất hàng tiếng
đồng hồ để tìm ra được đó là khi trong phạm vi tìm kiếm nhỏ, vậy khi tìm người
nào đó ở một phạm vi quốc gia thì sao, điều đó là bất khả thi. Nhưng với một
thuật toán để nhận dạng mặt người, chỉ mất vài phút có thể lâu khi cơ sở dữ liệu
-
lớn nhưng tính hiệu quả vẫn tốt hơn.
Ứng dụng về nhận dạng mặt người đã xuất hiện trên các smartphone để mở khóa
màn hình, có thể dùng điểm danh trong trường học, công ty.
-
1.1.1 Yêu cầu của đề tài
Phát hiện khuôn mặt, tách khuôn mặt ra riêng. Sử dụng thuật toán PCA để
trainning tạo ra cơ sở dữ liệu và nhận dạng khuôn mặt.
-
1.1.2 Hướng giải quyết
Viết sơ đồ giải thuật, viết code, tạo giao diện người dùng (GUI) qua phần mềm
MATLAB.
-
1.2 Nguyên lý chung
Đầu tiên phải phát hiện khuôn mặt có trong bức ảnh hay không rồi mới tiếp tục
-
thực hiện việc nhận dạng. Việc tìm khuôn mặt là bài toán đầu tiên.
Biểu diễn các bức ảnh thành ma trận hai chiều, việc xác định bức ảnh chứa
khuôn mặt cần kiểm tra có trong cơ sở dữ liệu không thực hiện bằng việc thực
hiện phép trừ với từng tập mẫu. Khó khăn là kích thước ma trận thì lớn, cơ sở dữ
liệu thì rộng, việc này sẽ gây mất nhiều thời gian, lãng phí tài nguyên và không
có tính khả thi khi cho việc áp dụng nhận dạng khuôn mặt với số lượng người
đông.
Tìm hiểu PCA nhận dạng mặt người
Trang 6/37
-
Giải pháp là tìm thuật toán giải quyết vấn đề thực hiện nhanh việc tính toán và
thuật toán PCA được dùng trong việc nhận dạng mặt người, chiều vector giảm đi
nhiều so với ảnh đầu vào, trích xuất những đặc trưng về khuôn mặt của một
người, tính toán được ma trận hiệp phương sai là bước đệm để tìm ra các trị
riêng và vector riêng của ảnh. Các vector riêng là chìa khóa giúp tìm ra thông tin
về khuôn mặt người đó.
CHƯƠNG 2.
-
NỘI DUNG CỦA ĐỀ TÀI
2.1 Sơ đồ hoạt động
Từ yêu cầu trên, sơ đồ hoạt động của chương trình nhận dạng mặt người như
sau:
Ảnh đầu vào
Dò tìm khuôn
mặt
Tách khuôn
Tìm hiểu PCA nhận dạng mặt người mặt
Trang 7/37
Sử dụng thuật
toán PCA
So sánh với
cơ sở dữ liệu
Hiển thị kết
quả trên GUI
Hình 2-1: Sơ đồ khối
-
-
Ảnh đầu vào:
• Sử dụng những ảnh có chứa khuôn mặt.
Dò tìm khuôn mặt:
• Áp dụng thuật toán Haar Like để xác định vị trí khuôn mặt.
Tách khuôn mặt:
• Sau khi dò tìm được vị trí khuôn mặt, xác định diện tích và tiến hành cắt.
Sử dụng thuật toán PCA:
• Thuật toán giúp tìm những đặc trưng nhất của khuôn mặt và giữ chúng lại.
So sánh với cơ sở dữ liệu:
• Tạo dữ liệu cho cơ sở dữ liệu.
• Kích thước tập cần nhận dạng phải bằng với tập mẫu.
• Càng nhiều tập mẫu càng hạn chế sai sót.
Hiển thị kết quả trên GUI:
• Thiết kế giao diện người dùng với các chức năng cần thiết cho quá trình nhận
dạng.
-
2.2 Phương pháp dò tìm khuôn mặt
Một bức ảnh khi đưa vào hệ thống, con người có thể phân biệt được đâu là ảnh
quang cảnh, đâu là ảnh có chứa khuôn mặt nhưng đối với máy tính thì không thể
nhận biết như chúng ta khi nó chưa được huấn luyện. Đi từ bài toán đơn giản là
ảnh chỉ chứa mỗi khuôn mặt, cho tới vừa có người vừa có khung cảnh, hay góc
xoay của khuôn mặt. Phát hiện được khuôn mặt sẽ ứng dụng cho nhiều mục đích
sử dụng hơn là chỉ nhận dạng khuôn mặt qua bức ảnh chỉ chứa mỗi khuôn mặt.
Tìm hiểu PCA nhận dạng mặt người
Trang 8/37
-
Việc phát hiện khuôn mặt là kĩ thuật cần thiết trong việc tiền nhận dạng khuôn
mặt. Cơ sở xác định khuôn mặt trong đề tài này dùng hướng tiếp cận dựa vào
diện mạo, bằng cách dùng một bộ phân loại mạnh Adaboost là tập hợp của các
bộ phân loại yếu của đặc trưng Haar Like để tìm khuôn mặt.
-
2.2.1 Đặc trưng Haar Like
Đặc trưng này do hai người Jones và Viola công bố, để tìm khuôn mặt cần phải
có 4 đặc trưng cơ bản.
Hình 2-2: Bốn đặc trưng Haar Like cơ bản
-
Ba đặc trưng được mở rộng từ những đặc trưng cơ bản bao gồm: đặc trưng cạnh,
đường và xung quanh tâm.
Hình 2-3: Ba đặc trưng Haar Like mở rộng
-
Giá trị của đặc trưng Haar Like là hiệu giữa tổng các pixel vùng đen và vùng
trắng. Giá trị này dùng để so sánh với giá trị của các vung pixel thô trước đó.
Nhằm giúp việc phân loại diễn ra đơn giản hơn.
Tìm hiểu PCA nhận dạng mặt người
Trang 9/37
-
Tuy nhiên, việc tính tổng các pixel trên ảnh diễn ra lâu không khả thi. Do vậy
mà Jones và Viola đã đưa ra khái niệm về Integral Image, có cùng kích thước
với ảnh gốc. Mỗi phần tử trong này được tính bằng tổng của pixel ở phía trên và
bên trái của nó, bắt đầu từ pixel phía trên, bên trái xuống vị trí phía dưới, bên
phải.
Hình 2-4: Tìm Integral Image
Hình 2-5: Tính vùng xám bất kì
-
-
Giá trị mức xám tại S được tính như sau :
• S =A- B- C+ D
2.2.2 Bộ phân loại Adaboost
Adaboost hoạt động dựa trên tập hợp tuyến tính các weak classifiers để hình
thành một strong classifiers. Sử dụng việc đánh trọng số, với mỗi weak
classifiers được xây dựng sẽ được cập nhật lại trọng số để hình thành weak
classifiers kế tiếp bằng việc tăng khi nhận dạng sai và giảm khi nhận dạng đúng.
-
Mô hình phân tầng là sự kết hợp giữa bộ phân loại Adaboost với các đặc trưng
Haar Like.
Tìm hiểu PCA nhận dạng mặt người
Trang 10/37
Hình 2-6: Mô hình phân tầng Cascade
Hình 2-7: Tập hợp các weak classifiers
-
2.2.3 Xác định vị trí khuôn mặt
Từ hình gốc ban đầu, tính toán thành Integral Image để các bước sau thực thi
nhanh hơn. Sau đó, ước lượng đặc trưng thông qua các đặc trưng Haar Like và
dùng Adaboost để giảm đi một số đặc trưng không có khả năng chứa khuôn mặt.
Cuối cùng nếu bộ phân loại yếu là khuôn mặt thì hệ thống cho ra kết quả là
khuôn mặt.
-
Trong việc tìm khuôn mặt, các ảnh con sẽ được kiểm tra với các đặc trưng Haar
Like, nếu đặc trưng nào chứa khuôn mặt thì sẽ cần xét tới các đặc trưng kế tiếp.
Thứ tự các đặc trưng đó dựa vào việc đánh trọng số thông qua Adaboost.
Tìm hiểu PCA nhận dạng mặt người
Trang 11/37
Hình 2-8: Hệ thông dò tìm khuôn mặt
-
2.3 Phân tích thành phần chính PCA
Phân tích thành phần chính là một kỹ thuật phân tích đa thay đổi được nghiên
cứu khá rộng rãi và biết đến nhiều nhất. Thuật toán này lần đầu tiên được giới
thiệu bởi Pearson, và được phát triển một cách độc lập bởi Hotelling. Ý tưởng
chính của thuật toán phân tích thành phần chính là giảm số chiều của tập dữ liệu
mà chứa một sự tương quan lớn giữa các biến. Mặc dù giảm số chiều của biến
nhưng vẫn giữ được những thông tin quan trọng nhất có thể của tập dữ liệu ban
-
đầu.
Sự giảm này được thực hiện bởi phép biến đổi để hình thành tập những biến mới
hay những thành phần chính. Đặc điểm của những biến mới này là không còn
đặc tính tương quan giữa chúng. Một đặc điểm khác của các biến là chúng được
sắp xếp để một vài biến đầu tiên nhất thể hiện hầu như đặc trưng của tất cả các
-
biến ban đầu.
Trong PCA độ dư thừa có thể đo được bởi sự tương quan giữa các nhân tố dữ
liệu. Thực chất của bài toán PCA là giải quyết bài toán tìm trị riêng vector riêng
cho ma trận đối xứng.
-
2.3.1 Các khái niệm liên quan tới thuật toán PCA
2.3.1.1 Kỳ vọng Phương sai
Kỳ vọng là trung bình cộng của tất cả các giá trị.
Tìm hiểu PCA nhận dạng mặt người
Trang 12/37
•
-
X=
Phương sai là thước đo sự phân tán thống kê của biến ngẫu nhiên, nó có nghĩa là
các giá trị của biến ngẫu nhiên cách giá trị kỳ vọng bao xa. Phương sai mà càng
nhỏ thì khoảng cách đến kỳ vọng của các dữ liệu càng gần, ngược lại thì khoảng
cách càng xa. Phương sai của một biến ngẫu nhiên được biểu diễn bởi công thức
sau:
• 2=
-
2.3.1.2 Hiệp phương sai
Hiệp phương sai là thước đo sự biến thiên cùng nhau của hai biến ngẫu nhiên.
Nếu hai biến có xu hướng thay đổi cùng nhau, nghĩa là khi một biến có giá trị
cao hơn giá trị kỳ vọng thì biến kia cũng có xu hướng cao hơn giá trị kỳ vọng,
thì hiệp phương sai giữa hai biến có giá trị dương và ngược lại. Hiệp phương sai
-
giữa hai biến được tính dựa vào công thức tính phương sai của một biến.
Hiệp phương sai của biến đang xét với chính nó:
• var (X,X) =
Hiệp phương sai của hai biến khác nhau:
• var (X,Y) =
Các biến có hiệp phương sai bằng không được gọi là không tương quan.
-
2.3.1.3 Ma trận hiệp biến
Hiệp phương sai là thước đo độ biến thiên cùng nhau giữa hai biến ngẫu nhiên,
-
tuy nhiên trong trường hợp một tập hợp có nhiều hơn hai phần tử thì sẽ có nhiều
giá trị hiệp phương sai giữa các biến. Để biểu diễn các giá trị đó người ta đặt tất
-
cả các giá trị hiệp phương sai giữa các biến vào một ma trận.
Ma trận hiệp phương sai của n biến ngẫu nhiên là một ma trận vuông có kích
thước n x n, trong đó các phần tử nằm trên đường chéo chính lần lượt là hiệp
phương sai của chính phần tử đó (var(X)= cov (X,X)). Ma trận có dạng đơn giản
-
như sau:
• C=
Trong khi các phần tử còn lại không nằm trên đường chéo chính là hiệp phương
sai của một cặp biến ngẫu nhiên khác nhau trong tập hợp, các giá trị này có thể
dương, âm hay bằng 0. Nếu giá trị đó bằng 0 thì hai biến đó không tương quan
với nhau.
Tìm hiểu PCA nhận dạng mặt người
Trang 13/37
-
Trị riêng và vector riêng
Cho ma trận vuông A cấp n.λ được gọi là trị riêng của ma trận A nếu tồn tại
-
vector khác không ν thỏa mãn phương trình:
• A.v = λ.v
Vector khác không ν được gọi là vector riêng của ma trận A. Để tìm trị riêng và
2.3.1.4
vector riêng của một ma trận ta thực hiện các bước sau:
• Lập và giải phương trình đặc trưng |A - λ.I| = 0.
• Giải phương trình đặc trưng tìm các nghiệm thực. Các nghiệm này là các trị
riêng của ma trận A.
• Đối với mỗi trị riêng tìm các vector riêng tương ứng với bằng cách giải hệ
phương trình thuần nhất (A - ).ν = 0.
Khoảng cách Euclid
Là độ dài của đoạn thẳng AB được nối bởi hai điểm A (x 1,y1) và B (x2,y2). Có
2.3.1.5
-
các không gian tính khoảng cách Euclid như không gian hai chiều, ba chiều
hoặc n chiều.
-
Đối với không gian hai chiều:
•
-
Với không gian ba chiều:
•
-
D=
Cuối cùng là không gian n chiều
•
-
D=
D=
2.3.2 Các bước thực hiện trong PCA
2.3.2.1 Chuẩn hóa về kích thước
Để thuận tiện cho quá trình minh họa, ta xét một tập dữ liệu đầu vào hai chiều.
Đặc trưng của tập dữ liệu này là nó có thể cho ta thấy biểu đồ của dữ liệu và
cách thức PCA phân tích dữ liệu tại mỗi bước là rõ ràng nhất. Để đảm bảo yêu
cầu trong quá trình xử lý tất cả dữ liệu của tập huấn luyện phải được chuẩn hóa
về cùng một đầu kiện ban đầu. Với M khuôn mặt từ F1, F2, ... FM.
2.3.2.2
Thực hiện phép trừ trung bình
Tìm hiểu PCA nhận dạng mặt người
Trang 14/37
-
Các ảnh khuôn mặt có kích thước NxN được biểu diễn thành vector N 2x1.
Hình 2-9: Chuyển đổi ảnh
-
-
-
Ví dụ với tập bốn bức ảnh có giá trị sau:
• =
=
=
=
Thực hiện chuyển đổi từ ma trận có kích thước NxN thành N2x1.
• =
= = =
Với tập gồm M ảnh mặt ta tính trung bình của tập hợp đó:
•
• =
Sự khác biệt giữa mỗi ảnh so với trị trung bình của nó:
•
• = = = =
Tạo ma trận hiệp phương sai
Khi dữ liệu đưa vào là hai chiều thì ma trận hiệp phương sai được tạo ra là ma
2.3.2.3
-
trận hai chiều. Nếu khi dữ liệu đưa vào là n chiều thì ma trận hiệp phương sai
được tạo ra sẽ là n chiều. Tất cả các phần tử không nằm trên đường chéo là các
đại lương dương, và với kì vọng là cả hai biến x và y cùng tăng lên. Tập hợp
-
một số lượng lớn các vector là đối tượng chính của PCA.
Ma trận hiệp phương sai:
•
Với ma trận A là tập hợp các ảnh A = [].
Ma trận hiệp phương sai khi tìm được sẽ có kích thước là N 2xN2 vì kích thước
này quá lớn nên ta phải tính bằng cách A T.A vì ma trận này có kích thước là
MxM.
Tìm hiểu PCA nhận dạng mặt người
Trang 15/37
• C=
Tìm các trị riêng và vector riêng tương ứng
Ma trận hiệp phương sai là ma trận vuông, có thể tìm được các vector riêng mà
2.3.2.4
-
trị riêng của ma trận này dựa vào các bước đã được trình bày ở phần trên. Không
gian được tạo nên từ các vector riêng được gọi là không gian con của tập ảnh
-
huấn luyện.
• Bốn trị riêng:
= 181 = 18656 = 48837 = 78114
• Các vector riêng:
====
Khi tính được các trị riêng, vector riêng nhưng đây là của ma trận kích thước
-
MxM. Cái cần tìm là ma trận N2x1, sử dụng sau:
• u1 = A.v1
u1 = u2 = u3 = u4 =
Trị riêng thì không cần tính lại vì với M trị riêng của ma trận kích thước MxM
thì ma trận N2x1
-
2.3.2.5 Xác định các thành phần và vector đặc trưng
Công việc tiếp theo là nén dữ liệu và giảm số chiều vector. Ta xác định các
vector riêng từ ma trận hiệp phương sai và sắp xếp các trị riêng có giá trị từ lớn
đến nhỏ. Các vector riêng ứng với các trị riêng lớn nhất được chọn làm các
thành phần chính vì chúng chứa nhiều thông tin có giá trị, có thể lượt bỏ các
thành phần ít quan trọng của dữ liệu. Khi làm thế thì dữ liệu sẽ bị mất thông tin
-
nhưng với trị riêng càng nhỏ thì thông tin mất sẽ càng nhỏ.
Chỉ giữ lại K chiều vector riêng ứng với những trị riêng lớn nhất trong số M
vector riêng và tất nhiên K << N 2. Đây là mục đích của thuật toán PCA giải
quyết.
Biểu diễn trên không gian mới
Với mỗi khuôn mặt thì sẽ được biểu diễn ứng với K vector riêng tìm được trong
2.3.2.6
-
không gian mới :
•
•
=
trong đó = .
Cụ thể hơn là: =
Tìm hiểu PCA nhận dạng mặt người
Trang 16/37
-
Không gian mới tìm này chỉ còn kích thước Kx1, các bước trong việc thiết lập
cơ sở dữ liệu mới đã xong với số chiều nhỏ hơn ban đầu, thuận lợi trong việc khi
cơ sở dữ liệu có dữ liệu la rất lớn.
-
2.4 Nhận dạng khuôn mặt
Đưa một khuôn mặt bất kì vào kiểm tra. Các bước thực hiện cũng giống như
-
việc tạo cơ sở dữ liệu ở trên.
Tính chênh lệch trung bình:
•
Tìm không gian mới:
• =
Tính khoảng cách Euclid, tìm khoảng cách càng gần với ảnh thứ i trong M ảnh
-
được dùng làm cơ sở dữ liệu.
• Dr = minM ||||
Thiết lập một ngưỡng Tr để so sánh với khoảng cách vừa tìm được D r, nếu Dr <
-
Tr thì có thể đây là ảnh của khuôn mặt thứ i trong cơ sở dữ liệu.
-
2.5 Phân tích thành phần độc lập ICA
ICA là phương pháp thống kê dùng để tách dữ liệu trong các thành phần thông
tin hỗn hợp hay bị xáo trộn thành các dữ liệu riêng biệt nhau nhờ việc phân tích
các thành phần độc lập của dữ liệu đó. Nghĩa là khi biết một thành phần nào đó
ta không suy ra được thành phần còn lại. Cho thành phần x i thuộc vector x = (x1,
x2, … xm)T biểu diễn các phần tử trộn, s là vector ngẫu nhiên của các phần tử
nguồn si và s=(s1, s2, … sn)T. A là ma trận trộn chứa các hệ số aij. Các vector x, s
được hiểu như là các vector cột. Mô hình ICA trở thành:
• x = A.s
-
Mô hình này gọi là mô hình ICA tuyến tính cơ bản hay là mô hình chuẩn. Với
từng thành phần được tính theo công thức sau:
• xi = ai1.s1 + ai2.s2 +…+ ain.sn
-
i = 1…m
Cho hai đại lượng vô hướng y1 và y2, chúng sẽ được gọi là độc lập nếu thông tin
của chúng loại trừ lẫn nhau. Tính độc lập có thể được định nghĩa bởi những hàm
-
mật độ xác suất:
• P(y1,y2) = P1(y1).P2(y1)
Kỳ vọng của những biến độc lập có đặc trưng sau đây:
Tìm hiểu PCA nhận dạng mặt người
Trang 17/37
-
• E{h1(y1) h2(y2)} = E{h1(y1)}.E{h2(y2)}
ICA phân tích cơ sở đặc trưng của tập dữ liệu mà các thành phần của chúng là
độc lập. ICA tìm ma trận tách WICA để biểu thị vector đặc trưng bằng sự kết hợp
tuyến tính x = (x1, x2, … xm) với thành phần vector độc lập Y = (y1, y2, … ym). Ta
-
có thể viết:
• Y = .X
Mục đích của ICA là cực tiểu phương sai và các thống kê bậc cao hơn của dữ
liệu và nó cố gắng tìm cơ sở mà dữ liệu là độc lập với nhau. Các thành phần độc
lập là không tương quan nhau. Hiệu quả của thuật toán ICA cho nhận dạng mặt
người cũng đang được nghiên cứu khá rộng rãi và đạt được hiệu quả cao.
Hình 2-10: Sự thay đổi không gian của dữ liệu
-
Nguyên lý thực hiện phương pháp ICA là dùng tính phi Gauss. Mục đích là sẽ
tìm ma trận tách W sao cho tín hiệu đầu ra có tính phi Gauss cực đại
Hình 2-11: Định lý giới hạn trung tâm
2.6 Thiết kế giao diện
Tìm hiểu PCA nhận dạng mặt người
Trang 18/37
-
Trong MATLAB nhằm giúp người dùng dễ sử dụng đó là giao diện GUI, với
cách thiết kế gồm đầy đủ các phím chức năng để hình thành một chương trình
hoàn chỉnh.
-
Thiết kế giao diện với vùng hiển thị kết quả như Pushbutton, Axes, Panel, Edit
Text. Trong nút Pushbutton quan trọng là hai thuộc tính tag và string. Để một
hàm thực hiện khi nhấn vào Pushbutton là các tham số sau:
-
• hObject: handle của thuộc tính tag.
• Eventdata.
• handles: dùng truy xuất dữ liệu từ nơi khác.
Giao diện được thiết kế với các chức năng: truy xuất cơ sở dữ liệu, nhập ảnh đầu
vào, nhận dạng ảnh.
Hình 2-12: Giao diện thiết kế
Tìm hiểu PCA nhận dạng mặt người
Trang 19/37
Hình 2-13: Giao diện cho người dùng
CHƯƠNG 3.
3.1 Dò tìm khuôn mặt
Tìm hiểu PCA nhận dạng mặt người
GIẢI THUẬT
Trang 20/37
Hình 3-14: Giải thuật dò tìm khuôn mặt
-
-
Ảnh đầu vào:
• Các ảnh có chứa khuôn mặt.
Integral Image:
• Dùng để tính tổng mức xám tại bất kì vị trí trên ảnh trở nên dễ hơn.
Ước lượng đặc trưng Haar Like:
• Đặc trưng Haar Like được tính bằng sự chênh lệch giữa tổng mức xám vùng
đen và trắng.
Phân loại Adaboost:
• Kết hợp với đăc trưng Haar Like để tạo ra mô hình phân tầng phát hiện
khuôn mặt.
Tìm hiểu PCA nhận dạng mặt người
Trang 21/37
3.2 Tạo cơ sở dữ liệu
Hình 3-15: Khởi tạo cơ sở dữ liệu
-
Chuẩn hóa kích thước:
Tìm hiểu PCA nhận dạng mặt người
Trang 22/37
•
Đưa về cùng một chuẩn kích thước để có thể thực hiện các phép toán trên ma
trận giữa cơ sở dữ liệu và ảnh cần nhận dạng.
-
Trừ trung bình ảnh:
•
Giảm giá trị của các vector xuống, để việc tính toán không phải là những con
số quá lớn.
-
Tạo ma trận hiệp phương sai:
•
Làm cơ sở để tính các trị riêng, vector riêng.
-Trị riêng vector riêng:
•
Hai thành phần giữ vai trò quan trọng trong việc đánh giá mực độ quan trọng
của dữ liệu.
-
Sắp xếp trị riêng theo giá trị giảm dần:
•
-
Chỉ giữ lại những trị riêng có lượng thông tin quan trọng nhất.
Hình thành tập dữ liệu:
•
Tập dữ liệu tổng hợp các bức ảnh mẫu chỉ còn K chiều sau các bước trên.
3.3 Nhận dạng khuôn mặt
Tìm hiểu PCA nhận dạng mặt người
Trang 23/37
Hình 3-16: Nhận dạng khuôn mặt
-
Các bước ở phần nhận dạng giống với tạo tập dữ liệu, chỉ khác ở phần so sánh
bức ảnh cần nhận dạng với ảnh mẫu. Xét một ngưỡng tương đối và tính toán
Tìm hiểu PCA nhận dạng mặt người
Trang 24/37
khoảng cách từ ảnh đầu vào đến tập dữ liệu. Nếu khoảng cách gần hoặc bé hơn
ngưỡng thì có thể ảnh đó có trong tập dữ liệu và ngược lại.
CHƯƠNG 4.
-
KẾT QUẢ VÀ NHẬN XÉT
1.1 Kết quả
Kết quả thu được ở phép thử 80 bức ảnh trong cơ sở dữ liệu như sau:
• Thử với khuôn mặt bình thường thì tỷ lệ sai vẫn xảy ra nhưng ít và có thể
chấp nhận được. Đây là phép thử dễ nhất và tỷ lệ nhận dạng phải càng cao
càng tốt.
Tìm hiểu PCA nhận dạng mặt người
Trang 25/37
• Thử với khuôn mặt bị che một phần bằng khẩu trang, tỷ lệ nhận dạng đúng
rất thấp. Phép thử này tương đối khó vì khuôn mặt bị che đi một phần thì đặc
trưng trích xuất sẽ không đủ, dẫn đến việc nhận dạng bị sai.
• Thử với trường hợp là khuôn mặt quay ở góc 900̊, nếu có các ảnh trong cơ sở
dữ liệu thì việc nhận dạng đúng sẽ xảy ra nhưng không có thì 100% là không
nhận dạng được. Đây là phép thử khó tương tự như trên.
Bảng 4-1: Số liệu thống kê
Điều kiện Đặc trưng của Thời gian Số lượng Số lượng ảnh Tỷ lệ nhận
ánh sáng
Tốt
Tốt
Tốt
khuôn mặt
xử lý
Bình thường
0.116s
Che một phần 0.164s
Quay >90
0.206s
người
trong cơ sở dạng đúng
24
24
24
dữ liệu
80
80
80
Hình 4-17: Tìm thấy ảnh trong cơ sơ dữ liệu
Tìm hiểu PCA nhận dạng mặt người
95.83%
8.33%
0%