Tải bản đầy đủ (.docx) (49 trang)

PHƯƠNG PHÁP NHẬN DẠNG KHUÔN mặt NGƯỜI và ỨNG DỤNG TRONG QUẢN lý NHÂN sự

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 (1013.1 KB, 49 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ THUỶ

PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT NGƯỜI
VÀ ỨNG DỤNG TRONG QUẢN LÝ NHÂN SỰ

Ngành: Khoa học máy tính
Chuyên Ngành: Khoa học máy tính
Mã Số: 8480101.01

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

NGƯỜI HƯỚNG DẪN KHOA HỌC:
Ts. Nguyễn Văn Vinh

HÀ NỘI-NĂM 2018

Nguyễn Thị Thủy

1

Đại Học Công Nghệ


LỜI CAM ĐOAN
Luận văn thạc sĩ đề tài “Nhận dạng khuôn mặt người và ứng dụng trong quản ly
nhân sự” là công trình cá nhân tôi. Các nội dung nghiên cứu và kết quả trình bày trong
luân văn này là trung thực và rõ ràng. Các tài liệu tham khảo được trích dẫn đầy đủ và
ghi rõ nguồn gốc.


Tác giả luận văn ky và ghi rõ họ tên

MỤC LỤC
Nguyễn Thị Thủy

2

Đại Học Công Nghệ


DANH MỤC HÌNH VẼ, ĐỒ THỊ

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

Nguyễn Thị Thủy

Principal Component Analysis

3

Đại Học Công Nghệ


SVM

Support Vector Machine

WLD


Weber Local Description

CNN

Convolutional Neural Network

Nguyễn Thị Thủy

4

Đại Học Công Nghệ


PHẦN MỞ ĐẦU
1.

Lý do chọn đề tài
Nhận dạng khuôn mặt là một trong những lĩnh vực mới của xử ly ảnh. Và
ngày nay nhận dạng được sử dụng rộng rãi trong nhiều lĩnh vực của đời sống
như nhận dạng trong lĩnh vực thương mại, hay phát hiện trong lĩnh vực an ninh,
hay trong xử ly video, hình ảnh. Một trong những ứng dụng tiểu biểu nhận dạng
đang sử dụng phổ biến hiện này trong nhận dạng khuôn mặt người là ứng dụng
trong điện thoại di động cụ thể như IphoneX và Sangsung đang sử dụng.
Hiện nay có rất nhiều các Phương pháp nhận dạng khác nhau được xây
dựng để nhận dạng một người cụ thể trong thế giới thực. ta có thể nói tới một số
phương pháp như: học máy và học sâu.Tuy nhiên hai phương pháp này lại có
nhược điểm lớn là phải xây dựng một tập cơ sở dữ liệu lớn và đồng thời việc xử
ly dữ liệu lớn đòi hỏi phải nhanh và chính xác. Vậy nên hai phương pháp trên sẽ
mất thời gian để nhận dạng. nhiệm vụ đặt ra là nghiên cứu và xây dựng một
chương trình sử dụng Phương pháp nhận dạng có độ chính xác cao mà khối

lượng và thời gian tính toán lại ít.
Để giải quyết vấn đề trên tôi xin đề xuất ra phương pháp phát hiện khuôn
mặt sử dụng phương pháp Viola jone face detection, trích chọn đặc trưng sử
dụng phương pháp Weber local Descriptor và kết hợp phân tích thành phần
chính sử dụng phương pháp PCA và học máy vestor (SVM) để nhận dạng
khuôn mặt.

2.

Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu Mục
đích của luận văn:
Nghiên cứu đề tài này nhằm mục đích tìm hiểu bài toán nhận dạng khuôn
mặt, từ đó xây dựng các hệ thống ứng dụng trong thực tiễn như: điểm danh,
giám sát người ra vào, an ninh trong sân bay
Đối tượng và phạm vi áp dụng:

Nguyễn Thị Thủy

5

Đại Học Công Nghệ


Đề tài tập trung tìm hiểu một số phương pháp nhận dạng khuôn mặt người
phổ biến hiện nay và đưa ra phương án nhận dạng cho bài toán nhận dạng khuôn

-

3.


mặt người.
Để đặt được mục tiêu trên đề tài tập trung tìm hiểu các nội dung sau:
Tìm hiểu phương pháp phát hiện khuôn mặt sử dụng phương pháp Viola Jones
Face Detection
- Trích chọn đặc trưng sử dụng phương pháp Weber Local Description
- Phương pháp phân tích thành phần chính
- Phương pháp học máy vestor (SVM)
Nội dung luân văn
Luận văn này gồm 3 chương, cụ thể như sau:
Chương 1: BÀI TOÁN NHẬN ĐỐI TƯỢNG NHẬN DẠNG KHUÔN
MẶT
Giới thiệu các cách thức nhận dạng khuôn mặt người, vì sao nên nhận
dạng người bằng khuôn mặt, tầm quan trọng của bài toán trong thực tiễn, một số
ứng dụng thực tiễn của bài toán nhận dạng khuôn mặt
Chương 2: CÁC KỸ THUẬT CHO NHẬN DẠNG KHUÔN MẶT
Giới thiệu về 4 phương pháp sử dụng nhận dạng khuôn mặt được sử dụng
trong luận văn là phương pháp phát hiện khuôn mặt( Viola Jone Face Detection),
phương pháp trích chọn đặc trưng (WLD), phân tích thành phần chính (PCA) và
máy vector hỗ trợ (SVM)
Chương 3: ỨNG DỤNG CÁC KỸ THUẬT TRONG NHẬN DẠNG
KHUÔN MẶT
Đưa ra mô hình xây dựng bài toán nhận dạng khuôn mặt người, các bước
thực hiện và đánh giá thử nghiệm

CHƯƠNG 1: BÀI TOÁN NHẬN ĐỐI TƯỢNG NHẬN DẠNG
KHUÔN MẶT
1.1. Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt
1.1.1. Hệ thống sinh trắc học
Nguyễn Thị Thủy
6

Đại Học Công Nghệ


Hệ thống sinh trắc học là một hệ thống được thiết kế để xác minh và nhận
dạng một người dựa vào những đặc trưng sinh học duy nhất của người đó.
1.1.2. Hệ thống nhận dạng khuôn mặt
Hệ thống nhận dạng khuôn mặt là một hệ thống được thiết kế để tìm
thông tin của một người. Kĩ thuật nhận dạng là kiểm tra sự phù hợp dựa trên
phép so sánh một-nhiều cụ thể là tìm ra một người là ai trong số những người đã
được lưu trữ trong hệ thống dựa vào thông tin khuôn mặt.
1.1.3. Hệ thống xác minh hay xác thực khuôn mặt là gì
Hệ thống xác minh/xác thực khuôn mặt là một hệ thống được thiết kế để
xác minh thông tin của một người .Kĩ thuật xác minh là kiểm tra sự phù hợp trên
phép so sánh một-một cụ thể là đối chiếu thông tin mới nhận về một người với
thông tin đã lưu trữ về người này có khớp hay không dựa trên thông tin khuôn
mặt.

Hình 0.1 So sách tác vụ nhận dạng khuôn mặt và xác minh khuôn mặt

1.1.4. Những thách thức trong bài toán nhận dạng khuôn mặt
Những biến đổi quá lớn giữa các ảnh khuôn mặt khác nhau từ một người
cần nhận dạng gồm trạng thái cảm xúc trên khuôn mặt, ánh sáng, và các thay đổi
vị trí của khuôn. Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập học không

Nguyễn Thị Thủy

7

Đại Học Công Nghệ



thể bao quát được tất cả các biến đổi có thể có trên khuôn mặt của một người
cần nhận dạng trong thế giới thực.
1.2. Tổng quan về các ứng dụng tương tác người máy liên quan tới khuôn mặt
Từ những năm 1990 trở lại đây, chúng ta đã chứng kiến sự phát triển như
vũ bão của các ngành công nghiệp, đặc biệc là ngành công nghiệp chế tạo điện
tử.Tuy nhiên hiện nay các thiết bị điện tử cao cấp như máy ảnh số, camera kĩ
thuậtsố,vànhiều sản phẩm khác dường như chỉ phù hợp cho các phòng thí
nghiệm, các công ty sản xuất kinh doanh, thương mại, tài chính, ngân hàng, ...
Trong thời gian không xa từ 3 đến 10 năm nữa, chi phí cho các thiết bị này sẽ
giảm đáng kể. Khi đó sẽ mở ra nhiều hướng nghiên cứu về thị giác máy tính,
đồng thời sẽ có nhiều ứng dụng trong giao tiếp giữa người với máy tính mà
trong đó hệ thống nhận dạng mặt người đóng một vai trò không nhỏ. Dưới đây
chúng tôi liệt kê một số ứng dụng.
Các ứng dụng chuyên biệt trong ngành hàng không
• Ứng dụng sử dụng trong nhà thông minh,…
1.3. Hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt
1.3.1. Các công trình nghiên cứu về Phương pháp nhận dạng và kiểm chứng chất


lượng cho một hệ thống nhận dạng khuôn mặt
Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính: dùng thông
tin nào để nhận dạng: chân mày, cặp mắt, mũi, môi, tai, hay kết hợp các thông
tin trên.Và dùng phương pháp nào để huấn luyện cho máy nhận dạng dùng
nguồn thông tin đó. Nhận dạng khuôn mặt trên máy tính đã trãi qua nhiều bước
thăng trầm với các kết quả như sau:


Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets,
ohn Weng (1998)[1] sử dụng phương pháp PCA (phân tích thành phần

chính) kết hợp LDA (phân tích độc lập tuyến tính). Bước 1, chiếu ảnh
khuôn mặt từ không gian ảnh thô sang không gian các không gian khuôn
mặt (Mỗi lớp khuôn mặt được nhận dạng sẽ được mô hình hóa bằng một
không gian khuôn mặt) dùng PCA. Bước 2, sử dụng phương pháp LDA
để tạo bộ phân loại tuyến tính có khả năng phân lớp các lớp khuôn mặt.

Nguyễn Thị Thủy

8

Đại Học Công Nghệ




Emmanuel Viennet và Francoise Fogelman Soulie (1998),[3] sử dụng



phương pháp mạng neural nhân tạo để xử ly và nhận dạng khuôn mặt
Antonio J.Colmenarez và Thomas S.Huang (1998),[4] sử dụng kỹ thuật
học thị giác và phù hợp mẫu 2-D. Ông quan niệm bài toán dò tìm khuôn
mặt là thao tác phân loại khuôn mặt trong đó khuôn mặt thuộc về một
lớp và các đối tượng khác thuộc về lớp còn lại bằng cách ước lượng mô
hình xác suất cho mỗi lớp, và việc dò tìm sử dụng luật quyết định



Maximum-likelihood.
Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor

Elagin, Hartmut Neven, and Christoph (1998),[5] nhận dạng khuôn mặt
dựa vào sóng Gabor và phương pháp phù hợp đồ thị bó. Với y tưởng
dùng đồ thị để biểu diễn khuôn mặt, ảnh khuôn mặt được đánh dấu tại
các vị trí đã được xác định trước trên khuôn mặt, gọi các vị trí này chính
là các vị trí chuẩn. Khi thực hiện thao tác so khớp đồ thị với một ảnh,
các điểm chuẩn (Jets) sẽ trích ra từ ảnh và so sánh các điểm chuẩn này
với tất cả các điểm chuẩn tương ứng trong các đồ thị khác nhau, và đồ



thị nào phù hợp nhất với ảnh sẽ được chọn.
Baback Moghaddam và Alex Pentland (1998) [6], đưa ra phương pháp
phù hợp thị giác trực tiếp từ các ảnh cần sử dụng cho mục đích nhận



dạng khuôn mặt và dùng độ đo xác suất để tính độ tương tự.
Massimo Tistaelli và Enrico Grosso (1998) [7], đưa ra kỹ thuật thị giác
động. Vì khả năng quan sát các chuyển động của khuôn mặt và xử ly các
tính huống theo dự định là thông tin rất quan trọng, từ đó nhận được mô



tả đầy đủ hơn về khuôn mặt cho m1ục đích thu thập mẫu và nhận dạng.
Jeffrey Huang, Chengjun Liu, và Harry Wechsler (1998)[8], đề xuất
thuật toán căn cứ trên tính tiến hóa (Evolutionary computation) và di
truyền (Genetic) cho các tác vụ nhận dạng khuôn mặt. Đối với cách tiếp
cận này, hai mắt sẽ được dò tìm trước tiên và thông tin này được xem là
vết để quan sát khuôn mặt, trình xử ly dò tiếp mắt bằng cách sử dụng


Nguyễn Thị Thủy

9

Đại Học Công Nghệ


một thuật toán lai để kết hợp thao tác học và tiến hóa trong quá trình


học
Daniel Bgraham và Nigel M Allinson (1998)[9], sử dụng phương pháp
được gọi là tạo bản sao không gian đặc trưng để biểu diễn và nhận dạng



hướng di chuyển của khuôn mặt.
Oi Bin Sun, Chian Prong Lam và Jian Kang Wu (1998)[10], sử dụng
phương pháp tìm vùng hai chân mày, hai mắt, mũi, miệng và cằm. Ảnh
khuôn mặt thẳng ban đầu được chiếu theo chiều ngang để tìm các giá trị
điểm ảnh thỏa ngưỡng cho trước, đồ thị biểu diễn theo trục ngang sẽ
định vị vị trí biên trên và biên dưới của hình chữ nhật bao các đặc trưng
cục bộ khuôn mặt. Tương tự với chiều đứng để tìm ra đường biên bên



trái và phải cho các vùng đặc trưng.
Ara V.Nefian và Monson H.Hayes III (1998)[12] trình bày hướng tiếp
cận theo mô hình mô hình Markov ẩn (HMM) trong đó ảnh mẫu khuôn
mặt được lượng hóa thành chuỗi quan sát trên khuôn mặt theo quan

niệm dựa trên thứ tự xuất hiện các đặc trưng khuôn mặt {hai chân mày,
hai lông mi, mũi, miệng, cằm}. Trong chuỗi quan sát đó, mỗi quan sát
lại là một vector nhiều chiều và mỗi vector quan sát này được sử dụng
để đặc trưng cho mỗi trạng thái trong chuỗi trạng trạng thái của HMM.



Mỗi người được ước lượng bằng một mô hình của HMM.
Guodong Guo, stan Z.LI, Kap luk chan(17 january 2001), dùng phương
pháp SVM để nhận dạng khuôn mặt . Sử dụng chiến lược kết hợp nhiều

bộ phận loại nhị phân để xây dựng bộ phân loại SVM đa lớp.
1.3.2. Hướng tiếp cận của luận văn
Trong đề tài này chúng tôi sử dụng phương pháp Phát hiện khuôn mặt sử
dụng phương pháp Viola Jone Face Detection, Trích chọn đặc trưng sử dụng
phương pháp Weber Local Descripor, phân tích thành phần chính và phương
pháp phân lớp SVM để nhận dạng.
Sơ đồ hệ thống nhận dạng khuôn mặt được minh họa trong hình sau:

Nguyễn Thị Thủy

10

Đại Học Công Nghệ


Hình 0.2 Mô hình nhận dạng khuôn mặt người

Nguyễn Thị Thủy


11

Đại Học Công Nghệ


CHƯƠNG 2: CÁC KỸ THUẬT CHO NHẬN DẠNG KHUÔN MẶT
I. Học máy
1.1. Phương

pháp Deep Learning (CNN)
CNN là một trong những mô hình deep learning tiên tiến giúp xây dựng

hệ thống thông minh với độ chính xác cao trong xử ly ảnh. CNN được sử dụng
nhiều trong các bài toán nhận dạng object trong ảnh. Tuy nhiên phương pháp
này lại có nhược điểm lớn là phải xây dựng một tập cơ sở dữ liệu lớn (mỗi tập
dữ liệu huấn luyện phải sử dụng ít nhất 1000 nhãn mới mang lại hiệu quả cao)
và đồng thời việc xử ly dữ liệu lớn đòi hỏi phải nhanh và chính xác.
Mạng CNN là là một tập hợp các lớp Convolution chồng lên nhau và sử
dụng các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số
trong các node. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các
thông tin trừu tượng hơn cho các lớp tiếp theo. Mỗi một lớp sau khi thông qua
các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo.
Trong mô hình mạng truyền ngược (feedforward neural network) thì mỗi neural
đầu vào (input node) cho mỗi neural đầu ra trong các lớp tiếp theo. Mô hình này
gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine
layer). Còn trong mô hình CNNs thì ngược lại. Các layer liên kết được với nhau
thông qua cơ chế convolution. Layer tiếp theo là kết quả convolution từ layer
trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Như vậy mỗi neuron ở lớp
kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron
trước đó.

1.2. Phương pháp truyền thống
PCA và SVM: Phương pháp PCA giảm bớt số thành phần không cần thiết
tạo ra hiệu quả tính toán nhanh mà vẫn đảm bảo được độ chính xác. Sau khi
PCA đưa ra được các đặc trưng tốt sẽ dùng SVM để phân lớp và nhận khuôn
mặt.
II.

Các kỹ thuật sử dụng trong nhận dạng khuôn mặt
2.1. Phát hiện khuôn mặt (Viola Jone Face detection)
Nguyễn Thị Thủy

12

Đại Học Công Nghệ


-

Haar features: y tưởng : độ sáng tối của các vùng trên gương mặt là khác

-

nhau. Ví dụ: vùng mắt tối hơn vùng má, vùng mũi sáng hơn vùng hai bên
Kết quả của mỗi đặc trưng được tính bằng hiệu của tổng các pixel trong
miền ô trắng trừ đi tổng các pixel trong miền ô đen.

Hình 0.3 Haar Features sử dụng trong Viola Jones (Nguồn: bài báo Viola Jone face detection)

Hình 0.4 Applying on a give image (Nguồn: bài báo Viola Jone face detection)


Thuật toán viola jones sử dụng cửa sổ 24x24 để đánh giá các đặc trưng
của ảnh. Nếu xem xét tất cả các tham số của các đặc trưng, ta tính được khoảng
160.000+ đặc trưng cho mỗi cửa sổ.

Nguyễn Thị Thủy

13

Đại Học Công Nghệ


Hình 0.5 Ví dụng về các haar features (Nguồn: Bài báo Viola Jone face detection)

- Integral Image: giá trị ở pixel (x, y) là tổng của các pixel ở trên và bên
trái (x,y). Cho phép tính tổng của các pixel trong bất kì hình chữ nhật chỉ với 4
giá trị ở 4 góc.

Hình 0.6 Ví dụ ảnh Integral

Nguyễn Thị Thủy

14

Đại Học Công Nghệ


Hình 0.7 Ảnh Ví dụ tính 1 ô pixcel

Trong các pixels: D=1 + 4 – (2+3) = A + (A + B +C + D)- (A+C + B) = D
- Có rất nhiều đặc trưng được lấy ra từ 1 cửa sổ nhưng chỉ có 1 số ít là hữu

dụng trong việc nhận diện khuôn mặt.
- Sử dụng thuật toán adaboost để tìm những đặc trưng tốt nhất. Sau đó các
đặc trưng này được gán cho các trọng số để tạo nên hàm đánh giá quyết định
xem một cửa sổ có là khuôn mặt hay không. Mỗi đặc trưng chọn nếu chúng ít
nhất thể hiện tốt hơn đoán ngẫu nhiên (phát hiện nhiều hơn một nửa).
- Các đặc trưng được gọi là các bộ phân lớp yếu. Chúng được tổ hợp tuyến
tính để tạo ra một bộ phân lớp mạnh.

F(x) = (x) +(x) +(x)
Strong clasifier Weak classifier
- Mặc dù một ảnh có thể chứa một hoặc nhiều khuôn mặt nhưng số lượng
vật không phải khuôn mặt vẫn lớn hơn rất nhiều => thuật toán nên tập trung vào
việc bỏ những vật không phải khuôn mặt một cách nhanh chóng.
- Một bộ phân lớp cascade (cascade classifier) được sử dụng tất cả các đặc
trưng được nhóm vào vài stage. Mỗi stage gồm một số các đặc trưng.
- Mỗi stage được sử dụng để xác định một cửa số có phải là khuôn mặt
hay không
Nguyễn Thị Thủy

15

Đại Học Công Nghệ


Hình 0.8 các bước loại khuôn mặt hay không

Hình 0.9 Kết quả Phát hiện khuôn mặt (Nguồn: bài báo Viola Jone Face Detection)
2.2.

Trích chọn đặc trưng Weber local Descripor- WLD

Weber local Description (WLD): việc nhận thức của con người về một vật

mẫu không chỉ phụ thuộc vào sự thay đổi của một kích thích (âm thanh, ánh
sáng…) mà còn phụ thuộc vào cường độ gốc của kích thích. WLD gồm 2 thành
phần chính: differential excitation và gradient orientation của ảnh và xây dựng
histogram dựa trên thành phần đó.
- Different excitations

Nguyễn Thị Thủy

16

Đại Học Công Nghệ




Sử dụng sự khác nhau về cường độ giữa pixel hiện tại và các hàng
xóm để miêu tả sự thay đổi của pixel hiện tại => mô phỏng quá







trình nhận dạng mẫucủa con người.
Ic: cường độ của pixel hiện tại
Ii: cường độ của pixel lân cận I = (0,1,…p-1) p: số pixel lân cận.
Sự khác nhau giữa thành phần tử tâm và lân cận

(I) = = Tỉ lệ điểm sự sai khác với phần tử tâm
() =
Tổng các sự sai khác:

() =


Sử dụng hàm arctangent như 1 hàm lọc để giảm nhiễu:

[)] = arctan [()]
-

Orientation
 Để đơn giản, các giá trị của Ɵ được lượng tử hoá về T hướng. trước
khi lượng tự giá trị Ɵ được đưa về [0, II]

Hình 0.10 Tính kích thích sai khác (Nguồn WLD, tác giả Jie Chen, Member, IEEE,
Shiguang Shan, Member, IEEE, Chu He, Guoying Zhao, Matti Pietikäinen, Senior
Member, IEEE, Xilin Chen, Senior Member, IEEE, Wen Gao, Fellow, IEEE)

Nguyễn Thị Thủy

17

Đại Học Công Nghệ


Hình 0.11 ảnh trên là ảnh gốc ảnh thứ 2 là gốc trích chọn đặc trưng (Nguồn WLD, tác giả
Jie Chen, Member, IEEE, Shiguang Shan, Member, IEEE, Chu He, Guoying Zhao, Matti
Pietikäinen, Senior Member, IEEE, Xilin Chen, Senior Member, IEEE, Wen Gao, Fellow,

IEEE)
-

WLD histogram
 Phần 0, 5: biến đổi của tần số cao.
 Phần 1, 4: biến đổi của tần số trung bình
 Phần 2, 3: biến đổi của tần số thấp
 Mỗi phần có những vài trò khác nhau trong từng nhiệm vụ phân


lớp. cần đánh giá trọng số cho từng phần.
Một cách phổ biến là tính tỉ lệ nhận dạng cho từng phần R={}
=/

Nguyễn Thị Thủy

18

Đại Học Công Nghệ


Hình 0.12 Minh họa về tính toán của WLD (Nguồn WLD, tác giả Jie Chen, Member, IEEE,
Shiguang Shan, Member, IEEE, Chu He, Guoying Zhao, Matti Pietikäinen, Senior Member,
IEEE, Xilin Chen, Senior Member, IEEE, Wen Gao, Fellow, IEEE)
2.3.
2.3.1.

Giới thiệu phương pháp phân tích thành phần chính PCA
Giới thiệu phương pháp PCA
Phương pháp trích chọn đặc trưng được phát minh năm 1901 bởi Karl


Pearson,và được phát triển một cách độc lập bởi Hotelling (1933). Hiện nay nó
được sử dụng như một công cụ để phân tích dữ liệu nghiên cứu và thực hiện các
mô hình dự đoán. PCA còn bao gồm cả việc tính toán phân tích các giá trị đặc
trưng của một ma trận tương quan dữ liệu hay phân tính các giá trị đơn của ma
trận dữ liệu thường sau khi tính trung bình dữ liệu của mỗi thuộc tính [11],[15].
PCA là phương pháp đơn giản nhất phân tích đa biến dựa trên các vector đặc
trưng. Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu
trúc bên trong của dữ liệu. Nếu một tập dữ liệu đa biến được xem xét như tập
các tọa độ trong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn một
biến) thì phương pháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái
bóng của vật thể khi quan sát từ chính những đặc trưng cơ bản nhất của vật thể
đó.
Nguyễn Thị Thủy

19

Đại Học Công Nghệ


Mục tiêu của phương pháp PCA là thực hiện giảm số chiều nhưng vẫn
đảm bảo tối đa sự phân tán dữ liệu. Có thể nói phương pháp trích chọn đặc trong
tìm cách giữ lại những thành phần thống kê quan trọng nhất của tập dữ liệu ban
đầu.
Giả sử ta cần giảm số chiều của dữ liệu từ N chiều xuống còn K (Kchiều nghĩa là ta cần tìm một ánh xạ từ không gian N chiều sang không gian K
chiều.
Trong vấn đề đang xét của luận văn này, PCA là một thuật toán được sử
dụng để tạo ra một ảnh mới từ ảnh ban đầu. Ảnh mới này có kích thước nhỏ hơn
rất nhiều so với ảnh đầu vào và vẫn mang những đặc trưng cơ bản nhất của ảnh

cần nhận dạng. Phương pháp PCA không cần quan tâm đến việc tìm ra các đặc
điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó.
Tất cả các chi tiết của thực thể đều được thể hiện ở ảnh mới được tạo ra từ PCA.
Bản chất của PCA là tìm ra một không gian mới theo hướng biến thiên
mạnh nhất của một tập hợp các vector trong không gian cho trước. Ở không gian
mới, ta hi vọng rằng việc phân loại sẽ cho ta bộ dữ liệu tốt hơn so với bộ dữ liệu
trong không gian ban đầu.
Ví dụ: giả sử tập dữ liệu ban đầu được quan sát trong không gian ba chiều
như hình bên trái. Rõ ràng ba trục này (các trục có tên Databases, Data minning,
Language trong hình 3) không biểu diễn được tốt nhất mức độ biến thiên của dữ
liệu. Phương pháp PCA sẽ tìm hệ trục tọa độ mới (là hệ trục không có tên trong
hình bên trái) để biểu diễn tốt nhất mức độ biến thiên của dữ liệu. Sau khi tìm
được không gian mới, dữ liệu sẽ được chuyển sang không gian này để được biểu
diễn như trong hình bên phải. Rõ ràng hình bên phải chỉ cần hai trục tọa độ
nhưng biểu diễn tốt hơn độ biến thiên của dữ liệu so với hệ trục toạ độ chiều ban
đầu.
Một ưu điểm của PCA là các trục toạ độ mới trong không gian luôn đảm
bảo trực giao từng đôi một. mặc dù trong không gian ban đầu các trục có thể
không trục giao với nhau.

Nguyễn Thị Thủy

20

Đại Học Công Nghệ


Hình 0.13 Lụa chọn các trục toạ độ mới để biểu diễn dữ liệu

Xem tập mẫu gồm K vestors trong không gian M chiều [5], [17]:

O= { , ,…,…} (2.1)
Giả sử cơ sở của không gian tập mẫu là:
= { ,, …. } (2.2)
Ta có:
. =,… = (2.3)
Trong đó là thành phần thứ m của vestor . Mỗi có thể viết dưới dạng:
= + + …+ (2.4)
Như vậy mỗi phần tử của tập mẫu bây giờ như là một vestor trong hệ cơ
sở .
Bằng cách sử dụng M vectors cơ sở ta có thể biểu diễn mỗi quan sát. Điều
này cũng đúng khi ta chọn cơ sở gồm M-vectors trực giao được thể hiện trong
2.2.
Trong thực tế chúng ta không thể đưa tất cả các cơ sở M-chiều do nhiều ly
do khác nhau như M quá lớn hay có chứa một số thông tin không quan trọng. Vì
vậy chúng ta chuyển sang không gian có số chiều nhỏ hơn là N chiều. Khi đó
tập mẫu là:
O = {, , …,,…} (2.5)
ở đây chúng ta quan tâm đến việc tìm một cơ sở trực giao (OrthNormalON) .
Nguyễn Thị Thủy

21

Đại Học Công Nghệ


= {,,…} với {= (2.8)
(2.9)
được gọi là cắt (truncated) khi có nhận ít nhất vestor cơ sở hơn. Vậy ta
thể hiện O trong cơ sở nhỏ hơn với sai số.
(2.9)

Ta có (,)= vậy
KS ≤ K (2.10)
Ma trận phân bố các phần tử của tập mẫu O là:
S = (2.11)
Để sai số xấp xỉ bé nhất thì phải chọn là N vestor riêng có y nghĩa nhất
của S thoả mãn công thức:
= ≥ - (2.12)
Khi ta chon N-vestor riêng và sai số xấp xỉ là nhỏ nhất và bằng tổng M-N
trị riêng bé nhất của S thì ta được:
S = = [,]= O (2.14)
Do S là đối xứng nửa xác định riêng nên những vector riêng là trực giao
điều này đảm bảo cơ sở tối ưu là trực giao.
Như vậy cơ sở mới được xây dựng từ cơ sở quan sát ban đầu theo phương
trình:
= (2.15)
Như ta biết phép biến đổi trực giao không làm thay đổi Trace-Vết của ma
trận mà phép biến đổi cơ sở này giữ lại K-vectors riêng ứng với K-trị riêng lớn
nhất. Nghĩa là sự phân bố các mẫu trong tập dữ liệu mới thu được luôn là lớn
nhất.
Theo các kết quả nghiên cứu thông thường ta chọn K sao cho.
≥ nguong(e.g,..0.90or0.95) (2.17)
Với là các trị riêng của ma trận hiệp phương sai và

Nguyễn Thị Thủy

22

Đại Học Công Nghệ



Tóm lại, phương pháp PCA ánh xạ một vector từ không gian M chiều
xuống không gian N chiều sẽ đi tìm các giá trị riêng và vector riêng của ma trận
hiệp phương sai C của tập mẫu và giữ lại N vector riêng tương ứng với N giá trị
riêng lớn nhất làm cơ sở cho không gian N chiều này.
2.3.2.

Đặc trưng PCA
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 (K2.3.3. Phương pháp phân tích thành phần chính(PCA)
2.3.3.1. Vector riêng
Xét một toán tử tuyến tính f trong không gian Rn với các vector cơ sở :
Ei=[0…1…0]T ( với giá trị 1 nằm tại vị trí thứ i)Toán tử tuyến tính này sẽ được
biểu diễn bởi một ma trận vuông T kích thước nxn. Một đại lượng vô hướng λ
được gọi là trị riêng của toán tử f, hay ma trận T, nếu tìm được một vector x,
x≠0, sao cho
F(x)=λ(x) Hay T*x=λx.
Vector x khi đó được gọi là vector riêng của f, hay T, ứng với trị riêng λ.
Ma trận Tvới kích thước nxn trên đây sẽ có tối đa n trị riêng và n vector riêng
tương ứng. Một ma trận T khả nghịch đảo sẽ có đủ n trị riêng (kể cả trị riêng
bội) và n vector riêng tương ứng.
2.3.3.1. Kì vọng và ma trận hiệp phương sai.
2.3.3.2
Ma trận T (biểu diễn trong không gian Rn với các vector cơ sở ei nêu trên)
được gọi là chéo hóa được nếu tồn tại một cơ sở trong không gian Rn sao cho
ma trận T biểu diễn trong cơ sở đó có dạng chéo (các phần tử ngoài đường chéo
bằng 0).Ví dụ: Khảo sát trên không gian R5 với ma trận chéo 5×5.


Giả sử C là ma trận các vector cơ sở mới được biểu diễn trong cơ sở {ei}.
Ở đây, ma trận T được chuyển từ cơ sở {ei} sang cơ sở mới nên ma trận chuyển
đổi cơ sở từ {ei} sang C cũng là C. Nếu T chéo hóa được tức là tồn tại ma trận C
Nguyễn Thị Thủy

23

Đại Học Công Nghệ


khả nghịch (tức là C tạo được một cơ sở trong Rn) sao cho :Tc=CaTC
Nếu ta có C là một ma trận có các cột là các vestor cơ sở đã được chuẩn hóa của
không gian Rn thì CT=C-1, khi đó ta có thể viết: Tc = CT TC.
-

Phương sai: là trung bình cộng của bình phương khoảng cách từ mỗi điểm

-

tới kỳ vọng. Phương sai càng nhỏ thì các điểm dữ liệu
Càng gần với kỳ vọng, tức các điểm dữ liệu càng giống nhau. Phương sai
càng lớn thì ta nói dữ liệu càng có tính phân tán

S= –X) =
-

Kỳ vọng:

ẍ=
Ví dụ kì vọng và phương sai:


Hình 0.14 Ví dụ về kỳ vọng và phương sai. a) Trong không gian 1 chiều. b) Không gian 2 chiều
mà hai chiều không tương quan. Trong trường hợp này, ma trận

hiệp phương sai là ma trận đường chéo với hai phần tử trên đường chéo
là σ1,σ2σ1,σ2, đây cũng chính là hai trị riêng của ma trận hiệp phương sai và là
phương sai của mỗi chiều dữ liệu. c) Dữ liệu trong không gian hai chiều có
tương quan. Theo mỗi chiều, ta có thể tính được kỳ vọng và phương sai. Phương
sai càng lớn thì dữ liệu trong chiều đó càng phân tán. Trong ví dụ này, dữ liệu
theo chiều thứ hai phân tán nhiều hơn so so với chiều thứ nhất
2.3.4. Các bước thực hiện trích chọn đặc trưng PCA

Nguyễn Thị Thủy

24

Đại Học Công Nghệ


Giả sử ta có N ảnh khuôn mặt, là tập ảnh huấn luyện , Biểu diễn mỗi ảnh
thành ma trận Mx1 có dạng:
= với i=1,…N (2.18)
Bước 1: tính vector khuôn mặt trung bình của tập ảnh huấn luyện
= (2.19)
Bước 2: tính vector độ lệnh của mỗi khuôn mặt so với vector khuôn mặt
trung bình
= - với i=1,…N (2.20)
Bước 3: Tạo thành ma trận MxN
A= [ (2.21)
Sau đó tính ma trận hiệp phương sai MxN

C = A. (2.22)
Bước 4: tính các giá trị riêng của ma trận hiệp phương sai C ta được
,KM
Vợi K được tính theo công thức:
≥ nguong(e.g,..0.90 or 0.95)
Bước 5: tính đặc vector riêng của ma trận hiệp phương sai C
với = , i= 1,..K (2.23)
Tính K vector riêng của ma trận C theo công thức:
= A (2.24)
Bước 6: Giảm số chiều, chỉ giữ lại những thuộc tính tương ứng với các giá
trị riêng lớn nhất (biểu diễn ảnh khuôn mặt trong không gian mới với K đặc
trưng quan trọng nhất) Trong không gian mới, với các vector cơ sở là mỗi ảnh
khuôn mặt trong tập huấn luyện được biểu diễn thành tổ hợp tuyến tính cảu các
vevtor cở sở trên như sau:
= + + …+ trong đó K (2.25)
Khi đó toạ độ của được tính bằng công thức:
= . (2.26)
Cách để nhận được các thành phần chính Các thành phần chính có thể
nhận được bằng cách chiếu các vector dữ liệu có nhiều biến động vào không
gian mở rộng từ các vector đặc trưng. Khi lấy số đặc trưng càng về sau thì khả
năng biến động càng thấp, có nghĩa là mỗi quan hệ giữa các phần tử càng cao,
khi đó sự giao nhau giữa các lớp mẫu trong tập mẫu càng lớn. Ngược lại, khi ta
lấy số lượng thành phần chính không đủ, thì khả năng phân tán của tập mẫu
càng cao.
2.4. Học máy hộ trợ vestor SVM
2.4.1. Cơ sở lý thuyết
Nguyễn Thị Thủy

25


Đại Học Công Nghệ


×