Tải bản đầy đủ (.pdf) (52 trang)

Đánh giá phương pháp phân tích thành phần chính và phân tích khác biệt tuyến tính cho bài toán nhận dạng mặt người

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 52 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC VINH

VÕ THÀNH LỘC

ĐÁNH GIÁ PHƢƠNG PHÁP PHÂN TÍCH THÀNH PHẦN CHÍNH VÀ
PHÂN TÍCH KHÁC BIỆT TUYẾN TÍNH CHO BÀI TỐN NHẬN
DẠNG MẶT NGƢỜI

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Nghệ An, 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC VINH

VÕ THÀNH LỘC

ĐÁNH GIÁ PHƢƠNG PHÁP PHÂN TÍCH THÀNH PHẦN CHÍNH VÀ
PHÂN TÍCH KHÁC BIỆT TUYẾN TÍNH CHO BÀI TỐN NHẬN
DẠNG MẶT NGƢỜI

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Mã ngành: 80.48.02.01

Người hướng dẫn khoa học
TS. HOÀNG HỮU VIỆT

Nghệ An, 2018



LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các Thầy, Cô giáo trong Ngành Công
nghệ thông tin, trường Đại học Vinh, Đại học Sư Phạm Kỹ Thuật Vĩnh
Long và Thầy TS. Hồng Hữu Việt đã tạo điều kiện cho tơi được học tập
và nghiên cứu để hoàn thành luận văn này.
Tôi cũng xin gửi lời cảm ơn tới quý thầy cô, đồng nghiệp trong cơ
quan nơi tôi đang công tác đã tạo điều kiện cho tôi được học tập, nghiên
cứu và hoàn thành luận văn này.
Vĩnh Long, ngày 13 tháng 7 năm 2018
Học viên

Võ Thành Lộc


2

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Đánh giá phương pháp phân tích
thành phần chính và phân tích khác biệt tuyến tính cho bài tốn nhận
dạng mặt người” này là cơng trình nghiên cứu của riêng tơi. Các số liệu
sử dụng trong luận văn là trung thực. Các kết quả nghiên cứu được trình
bày trong luận văn chưa từng được cơng bố tại bất kỳ hình thức nào trước
đây.
Vĩnh Long, ngày 13 tháng 7 năm 2018
Học viên

Võ Thành Lộc



3

MỤC LỤC
Nội dung

Trang

LỜI CẢM ƠN .................................................................................................. 1
LỜI CAM ĐOAN ............................................................................................ 2
MỤC LỤC ........................................................................................................ 4
KÝ HIỆU CÁC CHỮ VIẾT TẮT.................................................................. 5
DANH MỤC CÁC HÌNH VẼ - ĐỒ THỊ ....................................................... 6
MỞ ĐẦU .......................................................................................................... 7
1. Sự cần thiết của vấn đề nghiên cứu ............................................................... 7
2. Mục tiêu nghiên cứu ...................................................................................... 7
2.1. Mục tiêu tổng quát ................................................................................... 7
2.2. Mục tiêu cụ thể ......................................................................................... 8
3. Đối tượng và phạm vi nghiên cứu ................................................................. 8
3.1. Đối tượng nghiên cứu .............................................................................. 8
3.2. Phạm vi nghiên cứu .................................................................................. 8
4. Nội dung nghiên cứu ..................................................................................... 8
5. Cấu trúc của luận văn .................................................................................... 8
Chƣơng 1.TỔNG QUAN VỀ NHẬN DẠNG MẶT NGƢỜI ..................... 10
1.1. Đặt vấn đề................................................................................................. 10
1.2. Tổng quan về các phương pháp nhận dạng .............................................. 11
1.2.1. Học có giám sát: ................................................................................. 11
1.2.2. Học khơng có giám sát: ...................................................................... 11
1.2.3. Chu trình thiết kế hệ thống nhận dạng mẫu ........................................ 12
1.3. Các hướng tiếp cận trong nhận dạng ảnh mặt người ............................... 13
Chƣơng 2. NHẬN DẠNG ẢNH MẶT NGƢỜI DỰA TRÊN CÁC

PHƢƠNG PHÁP PCA VÀ LDA ................................................................. 15


4

2.1. Nhận dạng ảnh mặt người dựa trên PCA ................................................. 15
2.1.1. Thuật toán PCA cho nhận dạng ảnh mặt người ................................. 15
2.1.2. Ví dụ minh họa .................................................................................... 20
2.1.3. Ưu và nhược điểm của phương pháp PCA ......................................... 29
2.2. Nhận dạng ảnh mặt người dựa trên LDA ................................................. 29
2.2.1. Thuật toán LDA cho nhận dạng ảnh mặt người ................................. 29
2.2.2. Ví dụ minh họa .................................................................................... 31
2.2.3. Ưu và nhược điểm của phương pháp LDA ......................................... 33
Chƣơng 3.THỰC NGHIỆM NHẬN DẠNG ẢNH MẶT NGƢỜI DỰA
TRÊN PCA VÀ LDA .................................................................................... 34
3.1. Dữ liệu thử nghiệm .................................................................................. 34
3.2. Thực nghiệm 1 ......................................................................................... 35
3.3. Thực nghiệm 2 ......................................................................................... 36
3.4. Thực nghiệm 3 ......................................................................................... 41
3.5. Thực nghiệm 4 ......................................................................................... 43
3.6. Một số đánh giá chung bằng phương pháp PCA và LDA ....................... 46
KẾT LUẬN .................................................................................................... 46
TÀI LIỆU THAM KHẢO ............................................................................ 49


5

KÝ HIỆU CÁC CHỮ VIẾT TẮT
STT


Tên
tắt

1

IFD

2

Ý nghĩa
Indian Face Database

CNTT Công nghệ thơng tin

3

ICA

Independent Component Analysis (Phân tích thành
phần độc lập)

4

ATT

AT&T

5

LVQ


Learning Vector Quantization neural network

6

NN

7

SVM

Support Vector Machines (Máy Vector hỗ trợ)

8

ORL

(Olivetti Research Laboratory, Surrey University): Cơ
sở dữ liệu ảnh dùng trong luận văn

9

LDA

Linear Discriminant Analysis (Phân tích khác biệt
tuyến tính)

10

PCA


Principal Component Analysis (Phân tích các thành
phần chính)

Neural Network (Mạng nơron nhân tạo)


6

DANH MỤC CÁC HÌNH VẼ - ĐỒ THỊ
Hình 1.1. Chu trình hệ thống nhận dạng mẫu ................................................. 12
Hình 2.1. Biểu diễn vector của ảnh mặt người ............................................... 16
Hình 2.2. Dạng của vector mặt được tạo từ bức ảnh của khuôn mặt ............. 16
Hình 2. 3. Phân loại dựa trên Between và Within theo LDA ......................... 30
Hình 2. 4. Mơ hình hệ thống nhận dạng LDA ................................................ 33
Hình 3. 1. Ảnh của 1 người trong bộ dữ liệu 1 ............................................... 34
Hình 3.2: Ảnh của 2 người trong bộ dữ liệu 2 ................................................ 35
Hình 3. 3.Các ảnh nhận dạng bị lỗi của bộ dữ liệu 1 ở tỷ lệ 95% của PCA ... 38
Hình 3. 4. Các ảnh nhận dạng bị lỗi của bộ dữ liệu 2 ở tỷ lệ 73.77% của PCA .......40
Hình 3.5. Tỷ lệ nhận dạng của thuật tốn PCA và LDA cho các thử nghiệm 45


7

MỞ ĐẦU
1. Sự cần thiết của vấn đề nghiên cứu
Với sự phát triển nhanh chóng của các loại máy móc hiện đại như máy
ảnh số, máy quay kỹ thuật số, máy vi tính,…thì lượng thơng tin con người thu
được dưới dạng hình ảnh là khá lớn. Xử lý ảnh là 1 trong những lĩnh vực ngày
càng được phổ biến trong đời sống xã hội. Không chỉ dừng lại việc xử lý

những vết nhòe, tái chế phục hồi những ảnh cũ, ngày nay các kỹ thuật,
phương pháp xử lý ảnh đã mang lại những tiến độ vượt bậc như nhận dạng
vân tay, nhận dạng khuôn mặt, nhận dạng đối tượng khi nó kết hợp với lĩnh
vực trí tuệ nhân tạo.
Bên cạnh đó vấn đề an ninh bảo mật đang được yêu cầu khắc khe tại mọi
quốc gia trên thế giới. Các hệ thống xác định, nhận dạng con người được ra
đời với độ tin cậy cao. Một trong những bài toán nhận dạng con người được
quan tâm nhất hiện nay đó là nhận dạng khn mặt.
Có hai phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựa trên
đặc trưng của các phần tử trên khuôn mặt như biến đổi sóng Wavelet (Gabor
Wavelet) và mạng Nơron (Neural Network), Support Vector Machine
(SVN),…và nhận dạng dựa trên xét tổng thể tồn khn mặt như phương
pháp Phân tích thành phần chính (Principal Component Analysis- PCA)
phương pháp phân tích sự khác biệt tuyến tính (Linear Discriminant AnalysisLDA) mang lại hiệu quả nhận dạng cao bởi nó hoạt động ổn định và có tính
thích nghi cao khi dữ liệu đầu vào thay đổi nhiều. Đó là lý do tôi chọn đề tài:
“Đánh giá phương pháp phân tích thành phần chính và phân tích khác biệt
tuyến tính cho bài tốn nhận dạng mặt người”. Để làm luận văn tốt nghiệp.
2. Mục tiêu nghiên cứu
2.1. Mục tiêu tổng quát
- Nghiên cứu phương pháp PCA cho nhận dạng ảnh mặt người.
- Nghiên cứu phương pháp LDA cho nhận dạng ảnh mặt người.


8

2.2. Mục tiêu cụ thể
Đề tài tập trung vào các mục tiêu sau:
- Nghiên cứu tổng quan về nhận dạng ảnh mặt người.
- Nghiên cứu các phương pháp PCA và LDA cho nhận dạng ảnh mặt người.
- Cài đặt thử nghiệm phương pháp PCA và LDA cho nhận dạng ảnh mặt người.

- Đánh giá hiệu quả nhận dạng của phương pháp PCA và LDA.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Tổng quan về lý thuyết về nhận dạng mẫu.
- Các vấn đề liên quan đến các phương pháp nhận dạng khuôn mặt.
- Phương pháp nhận dạng khuôn mặt bằng PCA và LDA.
3.2. Phạm vi nghiên cứu
- Dữ liệu được xử lý là file ảnh tĩnh với ảnh được chụp với góc nghiên
khơng đáng kể.
- Ảnh được chụp trong điều kiện ánh sáng bình thường (khơng chụp
ngược sáng, chụp bằng máy kỹ thuật số).
4. Nội dung nghiên cứu
- Tìm hiểu tổng quan các phương pháp nhận dạng.
- Tìm hiểu tổng quan về bài tốn nhận dạng ảnh mặt người.
- Tìm hiểu phương phương pháp PCA cho nhận dạng ảnh mặt người.
- Tìm hiểu phương pháp LDA cho nhận dạng ảnh mặt người.
- Tìm hiểu lập trình với Matlab.
- Cài đặt thuật toán PCA, LDA cho nhận dạng ảnh mặt người.
- Đánh giá hiệu quả nhận dạng của các phương pháp PCA và LDA.
5. Cấu trúc của luận văn:
Bố cục của luận văn gồm 3 chương với các nội dung như sau:


9

Chƣơng 1. Tổng quan về nhận dạng mặt ngƣời: Nghiên cứu các
phương pháp nhận dạng, các hướng tiếp cận trong nhận dạng ảnh mặt người.
Chƣơng 2. Nhận dạng ảnh mặt ngƣời dựa trên các phƣơng pháp PCA và LDA:
Nghiên cứu cơ sở lý thuyết về nhận dạng ảnh mặt người dựa trên PCA và nhận dạng ảnh mặt
người dựa trên LDA và thể hiện các thuật toán.

Chƣơng 3. Thực nghiệm nhận dạng ảnh mặt ngƣời dựa trên PCA và
LDA: Dùng dữ liệu thử nghiệm, thực hiện xây dựng cơ sở dữ liệu cho thực
nghiệm nhận dạng ảnh mặt người với PCA và LDA và cuối cùng là so sánh
và đánh giá hiệu quả của các phương pháp nhận dạng đó.


10

Chƣơng 1.
TỔNG QUAN VỀ NHẬN DẠNG MẶT NGƢỜI
1.1. Đặt vấn đề
Vấn đề nhận dạng mặt người có thể trình bày một cách tổng quan như
sau: Cho một ảnh tĩnh hay một đoạn video, hãy phát hiện và nhận ra những
người trong đoạn video hay trong ảnh đó dựa trên một tập cho trước các dữ
liệu về các mặt người đã biết. Giải pháp cho vấn đề này bao gồm 4 vấn đề:
phát hiện các mặt người từ ảnh (video), trích chọn đặc trưng từ vùng ảnh,
nhận dạng ảnh và xác minh. Với quá trình nhận dạng, đầu vào là một ảnh
chưa biết, sau quá trình nhận dạng, hệ thống đưa ra định danh về người
trong ảnh, và trong quá trình xác minh, hệ thống phải được xác định rằng
việc nhận dạng đó là chính xác hay khơng. Về mặt tổng quát, mỗi phương
pháp nhận dạng mặt người đều có thể được chia thành 2 module: Module
phát hiện mặt người trong ảnh và module nhận dạng mặt người.
Được khởi đầu vào những năm70, nhận dạng mặt người là một trong
những ứng dụng của phân tích và xử lý ảnh đạt được nhiều thành tựu nhất.
Trong thời gian gần đây, do sự phát triển như vũ bão của khoa học máy tính
và yêu cầu thực tiễn trong các lĩnh vực kinh tế, luật pháp, …, vấn đề nhận
dạng mặt người đang được đặc biệt chú ý. Một loạt các hội thảo được tổ
chức bàn về vấn đề này như AFGR, AVBPA, và những đánh giá mang tính
hệ thống về các kỹ thuật nhận dạng mặt người (Face Recognition Techniques
– FRT), bao gồm phương pháp FERET và XM2VTS.

Nhu cầu cấp thiết về các hệ thống thân thiện với người sử dụng đã đảm
bảo cho các nghiên cứu về sau khơng bị lãng phí trong hàng loạt những
nghiên cứu đã được thực thi trước đó. Hiện nay, để rút tiền từ ATM ta phải
nhập PIN, hay để truy cập một máy tính ta phải nhập mật khẩu hay hàng loạt
phương pháp khác để truy cập vào Internet. Hiện đã có hàng loạt các phương
pháp nhận dạng có độ tin cậy cao dựa vào các kỹ thuật nhân trắc học, ví dụ


11

như kỹ thuật phát hiện vân tay hay kỹ thuật quét nhận dạng võng mạc. Tuy
nhiên, những hệ thống này có chung nhược điểm là phức tạp và yêu cầu cần
có sự phối hợp của nhiều người cùng xử lý. Bên cạnh đó, một hệ thống nhận
dạng dựa trên kỹ thuật phân tích ảnh mặt nhìn thẳng của một người sẽ đơn
giản hơn nhiều, khơng địi hỏi có nhiều người cùng xử lý và cũng khơng địi
hỏi các kiến thức chun mơn sâu.Chính vì thế, hệ thống nhận dạng người
dựa trên kỹ thuật phân tích ảnh mặt đang ngày càng được ứng dụng rộng
rãi.
1.2. Tổng quan về các phƣơng pháp nhận dạng
1.2.1. Học có giám sát:
a. Dữ liệu (data):
- D = {d1, d2, … , dn} là một tập n mẫu.
- Mỗi mẫu di = (xi, yi), i = 1, 2, … , n trong đó xi là một vector vào và
yi là đầu ra mong muốn (được đưa bởi người giám sát)
b. Mục tiêu (objective):
- Học một hàm f : X → Y sao cho yi  f (xi) với i = 1, 2, … , n.
c. Hai loại bài toán:
- Regression: (X rời rạc hoặc liên tục) và (Y liên tục).
- Classification: (X rời rạc hoặc liên tục) và (Y rời rạc)
1.2.2. Học khơng có giám sát:

a. Dữ liệu (data):
- D = {d1, d2, … ,dn} là một tập n mẫu (samples).
- Mỗi mẫu di = (xi), i = 1, 2, … , n
- xi là một vector vào khơng có giá trị đầu ra mong muốn (khơng biết
yi, i= 1,2,…,n)
b. Mục tiêu (objective): học mối quan hệ giữ các mẫu.
c. Hai loại bài tốn:
- Clustering: nhóm các mẫu có tính chất tương tự với nhau.


12

- Density estimation: Tìm mật độ xác suất phân bố của các mẫu.
1.2.3. Chu trình thiết kế hệ thống nhận dạng mẫu
 Thu thập dữ liệu
 Thu thập dữ liệu để huấn luyện và kiểm tra hệ thống
 Chọn đặc trưng
 Phụ thuộc vào bài tốn
 Lựa chọn mơ hình
 Chọn mơ hình phù hợp cho bài tốn
 Huấn luyện
 Sử dụng các mẫu dữ liệu để xác định bộ phân lớp
 Đánh giá mơ hình
 Xác định tỷ lệ lỗi của mơ hình
 Tính độ phức tạp của mơ hình
 Cần có sự thỏa hiệp giữa độ phức tạp tính tốn và hiệu quả thực hiện
Dữ liệu vào

Trích chọn đặc trƣng
Lựa chọn mơ hình


Học

Đánh giá mơ hình
Hình 1.1. Chu trình hệ thống nhận dạng mẫu

Yêu cầu biết
trước mẫu


13

1.3. Các hƣớng tiếp cận trong nhận dạng ảnh mặt ngƣời
- Discriminant Analysis (DA) là một phương pháp phân tích trong thống
kê được dùng để phân loại các đối tượng (object) vào các nhóm dựa trên việc
đo lường các đặc trưng của đối tượng. DA tìm cách phân loại các đối tượng
(người, sự vật, ...) vào một trong hai hay nhiều lớp đã được xác định trước
dựa vào các đặc trưng (feature) dùng để mổ tả đối tượng (ví dụ nhữ các đặc
trưng dùng để mô tả đối tượng khách hàng là giới tính, tuổi, nghề nghiệp, thu
nhập,...). Mục đích chính của DA là:
+ Tìm tập các thuộc tính tốt nhất để mơ tả đối tượng. Vấn đề này cịn gọi là
trích chọn đặc trưng (feature extraction) hay lựa chọn đặc trưng (feature
selection). Mục đích phần này là từ tập các thuộc tính mơ tả đối tượng ban đầu (thường rất lớn, có thể hàng trăm thuộc tính) tìm ra tập các thuộc tính tốt
nhất để biểu diễn cho đối tượng nhằm làm giảm số chiều biểu diễn đối tượng
tứ đó làm giảm chi phí tính tốn nhưng chất lượng của mơ hình khơng bị giảm
đi.
+ Tìm một mơ hình tốt nhất để phân loại (classification) các đối tượng.
- Trong phương pháp phân tích thành phần chính (PCA  cịn gọi là biến
đổi Karhunen-Loeve)[2], tập dữ liệu được biểu diễn lại với số đặc trưng ít hơn
đồng thời giữ được hầu hết các thông tin quan trọng nhất của dữ liệu. PCA

thường được sử dụng cùng phương pháp mặt riêng. Tập con các vector riêng
được dùng làm các vector cơ sở của một khơng gian con, trong đó ta có thể so
sánh với các ảnh trong cơ sở dữ liệu để nhận dạng các ảnh mới. Các vector cơ
sở này cịn được gọi là các thành phần chính của cơ sở dữ liệu ảnh. Phép biến
đổi tạo ra những ưu điểm sau đối với dữ liệu:
- Giảm số chiều của khơng gian chứa dữ liệu khi nó có số chiều lớn, không
thể thể hiện trong không gian 2 hay 3 chiều.


14

- Xây dựng những trục tọa độ mới, thay vì giữ lại các trục của khơng gian
cũ, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương, và đảm bảo độ
biến thiên của dữ liệu trên mỗi chiều mới.
- Tạo điều kiện để các liên kết tiềm ẩn của dữ liệu có thể được khám phá
trong khơng gian mới, mà nếu đặt trong khơng gian cũ thì khó phát hiện vì
những liên kết này khơng thể hiện rõ.
- Đảm bảo các trục tọa độ trong không gian mới luôn trực giao đôi một với
nhau, mặc dù trong không gian ban đầu các trục có thể khơng trực giao.


15

Chƣơng 2.
NHẬN DẠNG ẢNH MẶT NGƢỜI
DỰA TRÊN CÁC PHƢƠNG PHÁP PCA VÀ LDA
Vấn đề phát hiện mặt được đưa ra đầu tiên vào những năm 70 với việc
sử dụng các kỹ thuật nhân trắc học và các phép heuristic giản đơn. Với những
kỹ thuật này, ta chỉ có thể đạt được kết quả trong những điều kiện khá chặt,
ví dụ như nền ảnh đồng nhất, khuôn mặt chụp thẳng,... Cho đến ngày nay,

cùng với sự phát triển vượt bậc của khoa học kỹ thuật, việc yêu cầu những
giới hạn như thế là khơng cịn. Tuy nhiên, cùng với những u cầu ngày càng
cao, thì vấn đề phát hiện mặt người đang phải đối mặt với những khó khăn
mới. Trong suốt q trình từ những năm đầu tới nay, đã có rất nhiều các
hướng xử lý và tiếp cận khác nhau được đưa ra nhằm giải quyết cho những
yêu cầu cụ thể khác nhau của từng giai đoạn, từng ứng dụng cụ thể và cũng có
nhiều cách phân loại các phương pháp, hướng tiếp cận này. Trong luận văn
này, chúng ta sẽ nghiên cứu phương pháp phân tích thành phần chính và
phân tích khác biệt tuyến tính cho bài tốn nhận dạng mặt người dựa trên
phương pháp trích chọn đặc trưng PCA và biến đổi LDA.
2.1. Nhận dạng ảnh mặt ngƣời dựa trên PCA
2.1.1. Thuật toán PCA cho nhận dạng ảnh mặt người
Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập vector sao
cho vẫn đảm bảo được “tối đa thông tin quan trọng nhất”. Phương pháp PCA
sẽ giữ lại K thuộc tính “mới” từ M các thuộc tính ban đầu (KTrong thuật tốn PCA, một ảnh mặt người kích thước MN được biểu
diễn bởi 1 vector cột có kích thước (MN) x 1 như hình 2.3.
Áp dụng PCA vào trích chọn vector đặc trưng cho bài tốn nhận dạng
mặt người:


16

Ảnh khn mặt có kích
thước

Vector

Chuyển thành


MN

Dx1
với
D = MN

Hình 2.1. Biểu diễn vector của ảnh mặt người
Một bức ảnh về khuôn mặt được coi như là một vector, nếu bức ảnh có
kích thước là MN pixels thì khơng gian chứa vector này có số chiều là MN.
Mỗi pixel sẽ được mã hóa bởi một thành phần của vector. Việc xây dựng các
vector này từ một hình ảnh được thực hiện bởi một nối đơn giản - các hàng
của hình ảnh được đặt mỗi bên cạnh nhau, như thể hiện trên hình 2.4.

Hình 2.2. Dạng của vector mặt được tạo từ bức ảnh của khn mặt
Khâu quan trọng nhất trong bài tốn nhận dạng đó là trích chọn vector đặc
tính. Trong phần này, chúng tơi sẽ trình bày các bước trích chọn vector đặc
tính mang những đặc tính riêng của mặt cần nhận dạng theo thuật toán sau:
a) Thuật toán huấn luyện bộ dữ liệu tìm tập vector riêng
Bước 1: Nhận các khuôn mặt từ cơ sở dữ liệu
Sử dụng các ảnh khuôn mặt I1, I2,… In (tập các khuôn mặt huấn luyện)
với khn mặt phải chính diện và tất cả ảnh phải cùng kích thước.
Giả sử có M ảnh, khi đó i=1, 2,…, M. Sau đó tương ứng với mỗi ảnh Ii
ta biểu thành vector i


17

Bước 2: Tính tốn giá trị trung bình
Giá trị vector khn mặt trung bình  theo cơng thức:



1
M

M


i 1

i

,

(2.1)

trong đó:
- M là số ảnh trong tập luyện, Γi là vector 1 chiều (D×1) đại diện cho
mỗi ảnh.
- Ψ là vector trung bình (kích thước D×1) của tập tất cả các Γi trên; Ψ
cịn được gọi là vector trung bình mặt của tập luyện.
Bước 3: Trừ đi giá trị trung bình
Sai số của các ảnh so với giá trị vector mặt trung bình được tính tốn
theo cơng thức (2.2):
 i  i  

(2.2)

trong đó: Φi là vector sai số ứng với mỗi ảnh, Γi là vectot 1 chiều của các ảnh,
Ψ là vector trung bình mặt.
Bước 4: Tính ma trận hiệp phương sai (covariance) C


C

1
M

M

 
n 1

n

T
n

 AAT

(2.3)

trong đó: C sẽ có kích thước DxD
A

1
M

1 2  3 ... M 

trong đó:
- A là ma trận có kích thước D×M

-  n là giá trị sai số được tính ở công thức (2.2)

(2.4)


18

Bước 5: Tính các giá trị riêng và vector đặc trưng của ma trận hiệp
phương sai
Để tính các giá trị riêng và vector đặc trưng của ma trận hiệp sai ta phải
tính với ma trận C hay chính là tính cho ma trận AAT. Tuy nhiên điều này là
không khả thi, do C là ma trận D×D nên số chiều là q lớn, khối lượng tính
tốn là vơ cùng nhiều (đặc biệt khi kích thước ảnh luyện lớn thì N lớn, D và
D×D là cực kì lớn).
Ta nhận thấy 2 ma trận AAT và ATA ln có chung trị riêng và vector đặc
trưng thì có liên hệ với nhau bởi biểu thức ui = Avi mà ma trận ATA lại có số
chiều ít hơn hẳn (ma trận M×M) nên ta sẽ chuyển đổi về ma trận ATA.
Sau khi tính tốn ta được M vector đặc trưng của AAT (ui = Avi) tương
ứng với M giá trị riêng.
Chuẩn hóa các vector đặc trưng ui về vector đơn vị:
||ui|| =1

(2.5)

Bước 6: trích chọn K vector đặc trưng
Để giảm thiểu tối đa số chiều cũng như giảm độ phức tạp tính tốn, ta
chỉ giữ lại K vector đặc trưng (tương ứng K giá trị riêng lớn nhất). Khi đó mỗi
khn mặt sau khi trừ đi giá trị trung bình sẽ được đại diện bởi K vector đặc



trưng:  i  mean   j 1 w j u j , ( w j  wTj  i )
K

Mỗi khuôn mặt huấn luyện  i sẽ được biểu diễn bởi một vector

 w1i 
 i
w
i   2  , i  1, 2,..., M,
 ... 
 i
 w3 
trong đó

w ij (j=1…K) là các trọng số tương ứng với K vector đặc trưng,

 i là vector đại diện cho khuôn mặt i trong tập huấn luyện.


19

Sau khi thực hiện các bước trên ta tìm được các eigenface, các ảnh
trong tập cơ sở dữ liệu sẽ được chiếu lên không gian các eigenface này để
tạo ra vector đặc tính. Vector này có kích thước nhỏ hơn nhiều so với kích
thước ảnh nhưng vẫn mang nhiều nhất thông tin chứa trong ảnh. Tiếp đến
chúng ta cần đối chiếu vector này với cơ sở dữ liệu, từ đó đưa ra kết quả
nhận dạng. Trong bài toán, kết quả nhận dạng sẽ là nhận biết được hoặc
chưa nhận biết được.
Để thực hiện phân loại có rất nhiều phương pháp như khoảng cách
Euclide, mạng Noron, SVM,… trong đó khoảng cách Euclide là phương pháp

đơn giản nhất. Nó cho kết quả tốt đối với trường hợp đối tượng đã được tạo
thành các nhóm cách xa nhau. Vector đặc tính của đối tượng cần nhận dạng sẽ
được so sánh lần lượt với vector đặc tính của từng ảnh mẫu trong tập các ảnh
học. Các khoảng cách ngắn nhất sẽ được lưu lại er  min l   l trong đó er
là vector của mặt thứ k trong cơ sở dữ liệu. Nếu ek nhỏ hơn ngưỡng được xác
định trước thì bức ảnh được nhận dạng là mặt thứ k trong cơ sở dữ liệu.
b) Thuật toán nhận dạng ảnh mặt người
Cho 1 ảnh khuôn mặt chưa biết là ai  (tất nhiên cũng phải giống tập
mẫu - chính diện và cùng kích thước). Chú ý, giai đoạn nhận dạng này giống
hệt giai đoạn biểu diễn ảnh khuôn mặt trong tập mẫu. Ta thực hiện lần lượt
các bước sau:
Bước 1: Chuẩn hóa  :
 

(2.6)

Bước 2: Biểu diễn T thành  như sau:
u1 . 
 T

u 2 . 
u T . 

   3
 


 
u T . 
 K



(2.7)


20

Bước 3: Tìm khoảng cách nhỏ nhất:

er  min l    l

(2.8)

Tức ta tìm khn mặt thứ l trong tập mẫu có khoảng cách gần nhất với
khn mặt cần nhận dạng.
Bƣớc 4: So sánh khoảng cách ngƣỡng và rút ra kết luận
Nếu

( r là một ngưỡng chấp nhận được nào đó): Tức ảnh khn

er  r

mặt cần xác định “đủ gần” với ảnh của người thứ l trong tập mẫu. Khi đó, ta
kết luận đó chính là khn mặt của người thứ l.
- Chú ý:
Ta có thể sử dụng khoảng cách Euclide để tính er. Tuy nhiên, người ta
chứng mình được rằng, kết quả sẽ tốt hơn nếu dùng khoảng cách
“Mahalanobis”:
K


1

i 1

i

  k  

( wi  wik ) 2

(2.9)

2.1.2. Ví dụ minh họa
Trong phần này chúng tơi mơ tả các bước thực hiện thuật tốn bằng các
ma trận số liệu. Toàn bộ dữ liệu của các bước được tính bằng Matlab.
a) Tìm tập đặc trưng của bộ dữ liệu huấn luyện
Giả sử rằng có 6 ảnh được biểu diễn bởi 6 ma trận số liệu 4x5 như sau:
Bảng 2.1. Biểu diễn của 6 ảnh bởi 6 ma trận số liệu 4x5
I1

I2

1

2 4 5

5

4


1

3

2 5

2

1 4 5

3

4

4

1

3 3

2

3 2 4

1

6

1


1

4 2

3

2 2 5

1

1

1

2

1 3


21

I3

I4

1

3 3

3 3


3

3

1 1 1

2

2 1

3 5

3

3

2 2 2

3

2 6

6 6

5

5

5 1 1


4

1 3

4 2

4

5

5 4 1

I5

I6

2

2

2

1

1

2

2


2

4

4

5

5

5

4

4

1

2

2

2

1

1

4


3

3

3

1

1

1

2

2

4

4

7

1

1

5

5


5

2

1

Sáu ma trận này được biểu diển thành các vector cột I1, I2, I3, I4, I5, I6:
Bảng 2.2. Biểu diễn vector cột của mặt ảnh và giá trị trung bình
I1
1
2
4
5
5
2
1
4
5
3
2
3
2
4
1
3
2
2
5
1


I2
4
1
3
2
5
4
4
1
3
3
6
1
1
4
2
1
1
2
1
3

I3
1
3
3
3
3
2

2
1
3
5
3
2
6
6
6
4
1
3
4
2

I4
3
3
1
1
1
3
3
2
2
2
5
5
5
1

1
4
5
5
4
1

I5
2
2
2
1
1
5
5
5
4
4
1
4
3
3
3
4
4
7
1
1

I6

2
2
2
4
4
1
2
2
2
1
1
1
1
2
2
5
5
5
2
1

Itb
2.1667
2.8333
3.0000
3.5000
2.1667
2.8333
2.6667
3.0000

2.5000
2.5000
3.0000
4.0000
2.6667
3.1667
3.3333
2.8333
3.1667
3.0000
2.5000
1.5000


22

Bước 1: Tính ảnh mặt trung bình, kết quả như cột "Itb" ở bảng 2.2.
Bước 2: Trừ ảnh mặt trung bình, kết quả như bảng 2.3.
Bảng 2.3. Biểu diễn vector cột của mặt ảnh và giá trị trung bình
Ma trận A:
I1-Itb

I2-Itb

I3-Itb

I4-Itb

I5-Itb


I6-Itb

-1.1667

1.8333

-1.1667

0.8333

-0.1667

-0.1667

2.1667

-0.8333

1.1667

-0.8333

0.1667

2.1667

-1.8333

2.8333


-1.0000

3.0000

0.0000

2.0000

-2.0000

-2.0000

3.0000

-0.5000

-2.5000

0.5000

0.500

0.5000

1.5000

3.5000

-0.1667


-1.1667

0.8333

0.8333

-0.1667

-0.1667

2.1667

-1.8333

1.1667

-0.8333

0.1667

2.1667

-0.8333

2.8333

0.3333

-1.6667


-0.6667

2.3333

1.3333

-1.6667

2.6667

-1.0000

-2.0000

-2.0000

2.0000

1.0000

2.0000

3.0000

1.5000

0.5000

0.5000


-1.5000

-0.5000

-0.5000

2.5000

1.5000

-1.5000

-1.5000

-0.5000

2.5000

-0.5000

2.5000

-1.0000

-2.0000

3.0000

2.0000


0.0000

-2.0000

3.0000

-2.0000

-2.0000

-1.0000

1.0000

3.0000

1.0000

4.0000

2.3333

-0.6667

0.3333

-1.6667

-1.6667


1.3333

2.6667

1.8333

-0.1667

-0.1667

-1.1667

0.8333

-1.1667

3.1667

0.6667

0.6667

2.6667

-2.3333

-0.3333

-1.3333


3.3333

2.1667

-1.8333

1.1667

1.1667

-1.8333

-0.8333

2.8333

1.8333

1.8333

-0.1667

-2.1667

-2.1667

0.8333

3.1667


0.0000

0.0000

2.0000

-1.0000

1.0000

-2.0000

3.0000

-1.5000

-0.5000

3.5000

-1.5000

0.5000

-0.5000

2.5000

-0.5000


1.5000

0.5000

-0.5000

-0.5000

-0.5000

1.5000

Bước 3: Tính C = ATA
Bảng 2.4. Ma trân hiệp phƣơng sai C

Itb


23

C = ATA:
37.1111

-2.8889

1.4444

-18.5556

-18.3889


1.2778

-2.8889

50.1111

-4.5556

-14.5556

-17.3889 -10.7222

1.4444

-4.5556

45.7778

-13.2222

-13.0556 -16.3889

-18.5556

-14.5556

-13.2222

41.7778


7.9444

-3.3889

-18.3889

-17.3889

-13.0556

7.9444

45.1111

-4.2222

1.2778

-10.7222

-16.3889

-3.3889

-4.2222

33.4444

Bước 4: Tính giá trị riêng của C

Bảng 2.5. Ma trận vector riêng C
0.4082

-0.6452

-0.0551

-0.5148

0.0872

-0.3760

0.4082

0.0371

-0.0769

0.6705

0.4430

-0.4245

0.4082

0.3292

0.0738


0.0290

-0.7715

-0.3512

0.4082

-0.2394

0.7059

0.1819

-0.0363

0.4932

0.4082

-0.1166

-0.6963

0.1202

-0.1449

0.5472


0.4082

0.6348

0.0486

-0.4868

0.4225

0.1114

Bảng 2.6. Ma trận giá trị riêng C
-0.0000

0

0

0

0

0

0

25.0727


0

0

0

0

0

0

35.3598

0

0

0

0

0

0

52.8502

0


0


×