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

Nghiên cứu thuật toán pca ứng dụng trong bài toán nhận dạng khuôn mặt

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.05 MB, 41 trang )

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

NGUYỄN THỊ LAM

LUẬN VĂN THẠC SỸ
Chuyên ngành: Công nghệ thông tin
Mã ngành:60480201

NGHIÊN CỨU THUẬT TOÁN PCA ỨNG DỤNG
TRONG BÀI TOÁN NHẬN DẠNG KHUÔN MẶT

Ngƣời hƣớng dẫn: TS.Trần Xuân Sang

Nghệ an, tháng 07/2018


3

LỜI CẢM ƠN
Trƣớc tiên, tơi xin bày tỏ lịng biết ơn chân thành nhất tới TS. Trần Xuân
Sang đã tận tình hƣớng dẫn, ch bảo trong suốt suốt quá trình thực hiện đề tài.
Tôi xin k nh gửi lời cảm ơn sâu sắc tới quý Thầy Cô trong Viện kỹ thuật và
công nghệ trƣờng Đại học Vinh đã truyền đạt kiến thức quý báu cho em trong 2
năm vừa qua. Xin gửi lời cảm ơn đến Ban giám hiệu trƣờng THPT Qu nh Lƣu 2
và các đ ng nghiệp đã tạo điều kiện thuận l i, đ ng viên tôi trong q trình học
tập và nghiên cứu.
Tơi xin chân thành cảm ơn gia đình, bạn bè, các thành viên trong lớp Cao
học K24 công nghệ thông tin đã luôn bên cạnh, giúp đỡ và đ ng viên tôi trong
suốt thời qua.
gh



g

h

g

Tác giả luận văn

Nguyễn Th Lam


4

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là cơng trình học tập và nghiên cứu do tự
bản thân thực hiện và là sản phẩm của riêng tôi. Các số liệu và tài liệu trong luận
văn là trung thực, các thông tin đƣ c sử dụng trong luận văn là có ngu n gốc và
đƣ c tr ch dẫn rõ ràng.
Tơi hồn tồn ch u trách nhiệm về t nh xác thực và nguyên bản của luận
văn.
Tác giả luận văn

Nguyễn Th Lam


5

MỤC LỤC


LỜI CẢM ƠN ........................................................................................................ 3
LỜI CAM ĐOAN .................................................................................................. 4
MỤC LỤC .............................................................................................................. 5
DANH MỤC CÁC TỪ VIẾT TẮT ....................................................................... 7
MỞ ĐẦU ................................................................................................................ 8
1. Sự cần thiết của vấn đề nghiên cứu ................................................................ 8
2. Mục tiêu nghiên cứu ....................................................................................... 8
2.1. Mục tiêu tổng quát .................................................................................. 8
2.2. Mục tiêu cụ thể ........................................................................................ 8
3. Đối tƣ ng và phạm vi nghiên cứu .................................................................. 9
3.1. Đối tƣ ng nghiên cứu ............................................................................. 9
3.2. Phạm vi nghiên cứu ................................................................................. 9
4. N i dung nghiên cứu ...................................................................................... 9
CHƢƠNG 1. TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT ....................... 10
1.1. Giới thiệu bài tốn nhận dạng khn mặt ................................................. 10
1.1.1. Nhận dạng khuôn mặt ........................................................................ 10
1.1.2. Các ứng dụng của nhận dạng khuôn mặt ........................................... 11
1.1.3. Các thách thức trong nhận dạng khuôn mặt ....................................... 13
1.2. M t số thuật tốn thƣờng sử dụng trong nhận dạng khn mặt ............... 14
1.2.1. Elastic Bunch Graph Matching .......................................................... 14
1.2.2. Linear Discriminate Analysis............................................................. 16
1.2.3. Principal Component Analysis: ......................................................... 17
1.3. Tổng quan về tình hình nghiên cứu........................................................... 18


6

1.3.1. Tình hình nghiên cứu trong nƣớc ....................................................... 18
1.3.2. Tình hình nghiên cứu ngồi nƣớc ...................................................... 19
CHƢƠNG 2. THUẬT TỐN PCA VÀ ỨNG DỤNG TRONG NHẬN DẠNG

KHUÔN MẶT ..................................................................................................... 20
2.1. Thuật toán PCA ......................................................................................... 20
2.1.1. Giới thiệu............................................................................................ 20
2.1.2. Thuật toán PCA .................................................................................. 21
2.2. Nhận dạng khn mặt bằng thuật tốn PCA ............................................. 23
2.2.1. Chuẩn hóa dữ liệu .............................................................................. 23
2.2.2 Tr ch chọn đặc trƣng dùng PCA ......................................................... 24
2.2.3. Nhận dạng .......................................................................................... 26
2.2.4. V dụ bằng số ..................................................................................... 28
CHƢƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ................................ 34
3.1. Dữ liệu thử nghiệm ................................................................................... 34
3.2.Các bƣớc thực hiện..................................................................................... 35
3.2.1. Chuẩn hóa dữ liệu .............................................................................. 35
3.2.2. Tr ch chọn đặc trƣng .......................................................................... 35
3.2.3. Thực hiện nhận dạng .......................................................................... 39
3.3. Đánh giá kết quả........................................................................................ 40
KẾT LUẬN .......................................................................................................... 41
TÀI LIỆU THAM KHẢO .................................................................................... 42


7

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

STT

K HI U VIẾT TẮT

VIẾT Đ


ĐỦ

1

LDA

Linear Discriminate Analysis

2

EBGM

Elastic Bunch Graph Matching

3

PCA

Principal Component Analysis


8

PH N MỞ Đ U

1. Sự cần thiết của vấn đề nghiên cứu
Ngày nay, học máy khơng cịn là khái niệm xa lạ, nó đã ngày càng trở nên
phổ biến. Học máy là m t nhánh của tr tuệ nhân tạo mà mục tiêu là cho ph p
máy t nh học theo cách riêng, nó có thể nhanh chóng và tự đ ng tạo ra các mơ
hình với khả năng phân t ch dữ liệu lớn hơn, phức tạp hơn cũng nhƣ cung cấp các

kết quả nhanh và ch nh xác, đƣa ra những dự đốn có giá tr cao từ đó có thể có
các quyết đ nh tốt hơn và các hành đ ng thông minh mà không cần sự can thiệp
của con ngƣời. M t trong những kỹ thuật quan trọng trong học máy ch nh là
giảm chiều dữ liệu Dimensionality Reduction vì trên thực tế nếu ta làm việc
trực tiếp trên dữ liệu có số chiều lớn s gặp rất nhiều khó khăn cả về lƣu trữ và
t nh tốn. Do đó, việc giảm số chiều dữ liệu là m t bƣớc quan trọng trong nhiều
bài toán và PCA ch nh là m t phƣơng pháp đơn giản đƣ c lựa chọn trong các
thuật toán nhằm giảm chiều dữ liệu.
Hiện nay, trên thế giới đã có những hệ thống cho ph p tự đ ng nhận dạng
đƣ c khuôn mặt để áp dụng trong các vấn đề về bảo mật thơng tin, tìm kiếm đối
tƣ ng. Xuất phát từ t nh ứng dụng cao của phƣơng pháp giảm chiều dữ liệu PCA
và bài tốn nhận dạng khn mặt nên tơi chọn đề tài: “Nghiên cứu thuật tốn
PCA ứng dụng trong nhận dạng khuôn mặt”.
2. Mục tiêu nghiên cứu
2.1. Mục tiêu tổng quát
Nghiên cứu thuật toán PCA ứng dụng trong bài tốn nhận dạng khn mặt.
2.2. Mục tiêu cụ thể
Đề tài tập trung vào 3 mục tiêu ch nh sau:
i Nghiên cứu tổng quan về bài toán nhận dạng khn mặt.
ii Nghiên cứu thuật tốn PCA.


9

(iii) Ứng dụng thuật tốn PCA vào nhận dạng khn mặt.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tƣợng nghiên cứu
a Nghiên cứu lý thuyết
- Nghiên cứu các tài liệu về bài tốn nhận dạng khn mặt.
- Nghiên cứu tài liệu về thuật toán PCA.

b Nghiên cứu thực nghiệm
- Tìm hiểu b dữ liệu ảnh khn mặt.
- Cài đặt thử nghiệm thuật toán PCA cho bài toán nhận dạng khuôn mặt.
3.2. Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu thuật tốn PCA ứng dụng trong nhận dạng khn
mặt.
4. Nội dung nghiên cứu
- Nghiên cứu tổng quan về nhận dạng khn mặt.
- Nghiên cứu phƣơng pháptrích chọn đặc trƣng PCA.
- Cài đặt thử nghiệm thuật toán PCA cho bài tốn nhận dạng khn mặt.


10

CHƢƠNG 1
TỔNG QUAN VỀ NHẬN DẠNG KHUÔN MẶT
1.1. Giới thiệu bài tốn nhận dạng khn mặt
1.1.1. Nhận dạng khn mặt
Nhận dạng khuôn mặt là m t lĩnh vực nghiên cứu thú v đối với nhiều
ngƣời. Công nghệ nhận dạng khuôn mặt là m t ứng dụng mà máy t nh s tự đ ng
xác đ nh hoặc nhận dạng m t ngƣời nào đó thơng qua ảnh khn mặt hoặc khung
hình video trong m t đoạn video.
Bài tốn nhận dạng khn mặt là m t trong những bài tốn đƣ c con
ngƣời quan tâm nhất hiện nay, nó đƣ c áp dụng mạnh m trong nhiều lĩnh vực
khác nhau của đời sống xã h i, đặc biệt trong những lĩnh vực cơng nghệ cao địi
hỏi sự đảm bảo về an ninh, bảo mật m t cách chắc chắn và chuẩn xác. Chính vì
thế bài tốn nhận dạng khn mặt cho đến nay vẫn ln là bài tốn nóng hổi và
hấp dẫn, có sức hút lớn đối với con ngƣời trong lĩnh vực tr tuệ nhân tạo.
Có nhiều phƣơng pháp trong nhận dạng khuôn mặt đã tập trung vào việc
phát hiện các t nh năng riêng biệt nhƣ mắt, miệng, mũi, cằm, đầu,… và xác đ nh

m t số kiểu khuôn mặt bằng v tr , k ch thƣớc, cũng nhƣ mối quan hệ. Kết quả
nhận dạng của nhiều hệ thống cũng rất khác nhau, tùy thu c vào dữ liệu kiểm
thử. M t phƣơng pháp rất nổi tiếng và đƣ c sử dụng phổ biến để nhận dạng
khuôn mặt là eigen bao g m eigenvalue, eigenvector nhằm tìm ra khơng gian
con, phƣơng pháp này gọi là phân t ch thành phần ch nh (Principal Component
Analysis đóng vai trị rất quan trọng trong lĩnh vực th giác máy t nh.
Có hai phƣơng pháp tiếp cận với nhận dạng khn mặt đó 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 (Feature Based Face
Recognition , và nhận dạng dựa trên xét tổng thể tồn khn mặt
(Appearance Based Face Recognition). Với bài tốn nhận dạng khn mặt
thƣờng sử dụng m t số thuật tốn thơng dụng nhƣ: Phân t ch thành phần ch nh,
phân t ch phân lớp tuyến t nh, phƣơng pháp đ th đàn h i,…


11

Các yếu tố thƣờng làm ảnh hƣởng tới kết quả nhận dạng là: ánh sáng,
khoảng cách của đối tƣ ng so với camera, cảm xúc biểu cảm trên khuôn mặt, tƣ
thế của đối tƣ ng, trang phục của đối tƣ ng,…
1.1.2. Các ứng dụng của nhận dạng khuôn mặt
Từ hơn m t thập k qua, vấn đề nhận dạng khuôn mặt luôn đƣ c quan tâm
nghiên cứu, xây dựng các hệ thống, các chƣơng trình nhận dạng nhằm ứng dụng
trong đời sống hàng ngày với nhiều lĩnh vực khác nhau.
Hãng Apple nhân d p k niệm 10 năm chiếc iPhone đầu tiên có mặt trên
th trƣờng, cơng nghệ nhận dạng khuôn mặt - Face ID đã đƣ c t ch h p vào
IPhone X, với khả năng chiếu 20.000 điểm sáng lên gƣơng mặt, và các điểm sáng
này s đƣ c chụp lại bởi camera h ng ngoại để dựng lên mơ hình gƣơng mặt đó
dƣới dạng Vector nên đ bảo mật ở mức đ rất cao. Theo Apple, xác suất m t
ngƣời lạ mặt có thể mở khóa điện thoại của bạn ch vỏn vẹn 1 phần triệu[5].
Tại Trung Quốc du khách tới th trấn Wuzhen, s không phải mua v nhờ

hệ thống kiểm sốt bằng cơng nghệ nhận diện khn mặt tại cổng và cơng nghệ
này cịn đƣ c áp dụng cho việc thanh tốn hóa đơn của khách hàng. Tại Macao,
khách hàng muốn rút tiền mặt từ máy ATM s đƣ c yêu cầu nhìn thẳng vào
camera trong 6 giây để phần mềm nhận dạng khuôn mặt kiểm tra và đối chiếu.
Cách thức này giúp tăng cƣờng an ninh ngân hàng, đ ng thời ngăn chặn nạn rửa
tiền tại đây[5].
Tại các sân bay của Mỹ, hệ thống nhận diện khuôn mặt đƣ c sử dụng để
xác đ nh danh t nh tất cả những ngƣời sở hữu visa khi họ rời khỏi quốc gia nhằm
tránh trƣờng h p hành khách nhập cảnh bất h p pháp.
Cuối tháng 8/2017, cảnh sát Đức đã lắp đặt camera áp dụng công
nghệ nhận diện khuôn mặt tại sân bay Berlin để giúp phát hiện các đối tƣ ng
nằm trong danh sách b theo dõi và tình nghi khủng bố. Sân bay Changi của
Singapore s áp dụng công nghệ này tại ga mới đƣ c khánh thành vào cuối tháng
10/2017. Australia cũng đang đầu tƣ mạnh cho công nghệ nhận dạng khuôn
mặt tại tất cả sân bay quốc tế của nƣớc này [5].
Ngồi những ứng dụng tiêu biểu ấy ta cịn phải kể đến các ứng dụng rất
gần gũi và thú v của nhận dạng mặt nhƣ: dùng để điểm danh học sinh, sinh viên


12

tránh tình trạng bỏ tiết, bỏ học; phân t ch chuyển đ ng mắt và biểu hiện khuôn
mặt để nhận biết tình trạng tập trung hay khơng của học sinh, sinh viên; dùng
nhận dạng khuôn mặt để phát hiện các chứng bệnh lạ; Snapchat đảm bảo quyền
riêng tƣ trong m i bức ảnh của ngƣời dùng, tự đ ng tag tên trên facebook, dùng
để bảo mật cho điện thoại thông minh nhƣ oppo f5,…
Trung tâm nghiên cứu và phát triển của FPT Telecom, đang ứng dụng
công nghệ nhận diện khuôn mặttrong dự án Workforce Attendance để điểm danh,
chấm công nhân viên tại các trung tâm, phịng ban của cơng ty. Q trình nhận
diện khn mặt đƣ c thực hiện trên máy chủ của công ty, và phần mềm vẫn h

tr hoạt đ ng offline khi có sự cố về mạng. Dữ liệu luôn đƣ c đ ng b tập trung
về máy chủ để lƣu trữ và backup. Dự án đang đƣ c triển khai sử dụng cho hơn
13 trung tâm và phòng ban với hơn 2000 nhân viên của FPT Telecom[4].
Ngồi những ứng dụng đã hoạt đ ng cịn có các ứng dụng lớn đang đƣ c
triển khai nhƣ:hệ thống nhận diện khuôn mặt do hãng NEC phát triển, là hệ thống
đƣ c đánh giás là sự kiện ứng dụng công nghệ nhận diện khuôn mặt quy mô lớn
nhất từ trƣớc tới nay phục vụ Olympic 2020 tại Tokyo nhằm s h tr cho công
tác an ninh, giúp loại bỏ các vấn đề nhƣ giả mạo hoặc đánh cắp thẻ ra vào.
Australia đang có kế hoạch dùng cơng nghệ nhận dạng khuôn mặt tại các
sân bay đểthay thế cho h chiếu trong vòng 2 đến 3 năm tới, thẻ hành khách nhập
cƣ s đƣ c loại bỏ và các quầy thơng tin có nhân viên s đƣ c thay thế bởi các
khoang điện tử tự đ ng.Hay tại Dubai thiết kế đƣờng hầm nhận diện khuôn mặt
đầu tiên trên thế giới. Sân bay quốc tế Dubai đƣa ra phƣơng pháp hoàn toàn mới
để kiểm tra hành khách bằng cách đi qua m t h cá ảo có gắn camera nhận diện
khuôn mặt.Dự án đang đƣ c phát triển với sự c ng tác của hãng hàng không
Emirates. Các lối đi ảo này dự kiến s đƣ c lắp đặt lần đầu tiên tại nhà đón khách
số 3 vào mùa hè năm 2018,các trạm khác s đƣ c áp dụng công nghệ cho đến
năm 2020[7].
Những ứng dụng của thuật toán nhận diện khuôn mặt trong tƣơng lai kỹ
thuật số là vô bờ bến. Hiện nay, ngày càng nhiều ngƣời sử dụng các phần mềm
nhận diện mặt để bảo mật cho điện thoại: ch khi nhận ra đó là khn mặt chủ
nhân thì điện thoại mới mở khóa. Nhiều văn phịng hiện đại cũng đã chuyển từ


13

các loại thẻ đeo rƣờm rà sang việc nhận diện khn mặt để kiểm sốt ra vào.
Cảnh sát thì có thể dựa vào các thuật tốn này để tìm đúng nghi phạm b truy nã
trong hàng trăm nghìn khn mặt xuất hiện trên các máy quay an ninh. Trong thí
nghiệm lớn Labeled Faces in the Wild LFW đƣ c thực hiện năm 2007, khi đó

mới có 13.000 hình ảnh của 5.000 ngƣời. Khi đó, t lệ nhận diện ch nh xác của
hầu hết các thuật toán là trên 95%. Những cơng ty tƣ nhân nhƣ Google đã thử
nghiệm thuật tốn của họ dựa vào kho dữ liệu 500 triệu bức ảnh của 10 triệu
ngƣời.Và không ch Mỹ quyết liệt trong cơng nghệ này, thuật tốn FaceN của
cơng ty Nga N-TechLab không thua kém FaceNet là bao, dù b dữ liệu của họ
“ch ” là 18 triệu bức ảnh của 200.000 ngƣời. Thuật tốn SIAT MMLab của m t
cơng ty Trung Quốc dƣới quyền ch đạo của giáo sƣ Yu Qiao Kiều Vũ thu c
Viện công nghệ tiên tiến Thâm Quyến cũng cho kết quả tốt [9].
Điểm qua những ứng dụng trên, chúng ta thấy rằng nhận dạng khn
mặt có tác đ ng không hề nhỏ đối với các hoạt đ ng của đời sống con ngƣời,
giúp cho hoạt đ ng của con ngƣời trở lên tiện ch và hiệu quả hơn.
1.1.3. Các thách thức trong nhận dạng khuôn mặt
Hiện nay, bên cạnh những ứng dụng hữu ch to lớn mà nhận dạng mặt
mang lại thì trong bài tốn này cũng còn t n tại m t số vấn đề mà các nhà nghiên
cứu vẫn chƣa tìm ra phƣơng pháp tốt để giải quyết nhƣ:
- Ảnh có hƣớng thay đổi: đối với các ảnh có hƣớng thay đổi các ảnh >45
đ , khơng phải ch nh diện thì kết quả nhận dạng cịn khá thấp[3].
- Ảnh có đ phân giải thấp: kết quả nghiên cứu về các ảnh có đ phân giải
thấp nhƣ những ảnh thu đƣ c từ các camera giám sát cịn chƣa nhiều vì những
ảnh này có chất lƣ ng k m, khó cho kết quả khả quan [3].
- Dữ liêu video: mặc dù hiện nay thông tin mặt ngƣời trong các dữ liệu
video là rất nhiều nhƣngphần lớn các phƣơng pháp nhận dạng làm việc với ảnh
tĩnh tr ch xuất từ dữ liệu video, có rất t phƣơng pháp tốt tận dụng ƣu thế của dữ
liệu video.
- Các hệ thống lớn: các cơ sở dữ liệu ảnh mặt đƣ c test bởi các nhà nghiên
cứu còn khá nhỏ so với thực tế nhƣ cơ sở dữ liệu ảnh mặt của cảnh sát của m t
nƣớc có thể chứa từ hàng triệu tới hơn 1 t ảnh …[3]


14


- Ảnh thay đổi theo thời gian: khả năng nhận dạng ảnh mặt thay đổi theo
thời gian vẫn là m t vấn đề khó kể cả đối với khả năng nhận dạng của con ngƣời.
- Ảnh thiếu ánh sáng: là m t trong những thách thức lớn nhất của nhận
dạng mặt, chƣa có phƣơng pháp tốt cho các ảnh chụp ở điều kiện thiếu ánh sáng.
[3]
Với tốc đ phát triển mạnh m nhƣ hiện nay, chúng ta có thể tin tƣởng
rằng trong tƣơng lai không xa những thách thức này của bài tốn nhận dạng
khn mặt s đƣ c giải quyết tốt.
1.2. Một số thuật toán thƣờng sử dụng trong nhận dạng khn mặt
1.2.1. Elastic Bunch Graph Matching
Thuật tốn EBGM là m t phƣơng pháp dựa trên t nh năng cho vấn đề
nhận dạng khuôn mặt. Các t nh năng trên khuôn mặt đƣ c sử dụng đƣ c gọi là
điểm tin cậy. Hình ảnh đƣ c biểu diễn bên trong bằng thuật tốn sử dụng thơng
tin phổ của các vùng xung quanh các t nh năng này, thu đƣ c sau khi xoay các
phần của hình ảnh với m t tập h p các g n sóng Gabor với k ch thƣớc, hƣớng và
pha khác nhau. Các kết quả của sự liên kết cho m t v tr cụ thể gọi là Gabor Jet
sau đó đƣ c thu thập cho tất cả các điểm Fiducial trên m t hình ảnh nhất đ nh và
đƣ c tổng h p cùng với các tọa đ t nh năng trong biểu đ khn mặt của hình
ảnh đó. Sau khi áp dụng quy trình này cho tất cả các hình ảnh trong tập huấn
luyện, tất cả các biểu đ mặt kết quả đƣ c nối vào m t cấu trúc giống nhƣ ch ng
gọi là biểu đ bó khn mặt. Đây là mơ hình của tất cả các cá nhân mà hệ thống
có thể xác đ nh. Khả năng cục b hóa t nh năng tự đ ng là m t trong những ƣu
điểm ch nh của thuật toán EBGM. Sau khi biểu đ khn mặt đã đƣ c xây dựng,
nó đƣ c so sánh với tất cả các thành viên của biểu đ bó khn mặt để xác đ nh
kết quả phù h p nhất theo m t ch số tƣơng tự đã cho [10]. Các bƣớc đƣ c tóm
tắt nhƣ sau:
- Bƣớc 1: Xây dựng biểu đ khuôn mặt.
Xác đ nh thủ công các v tr nút điểm tin cậy trên khn mặt dễ dàng để
cục bố hóa, chẳng hạn nhƣ các góc của mắt hoặc miệng, trung tâm của mắt, đầu



15

của tiếng n, m t số điểm trên phác thảo, xác đ nh các cạnh giữa các nút,.. tạo
thành biểu đ mặt đầu tiên.
- Bƣớc 2: Xây dựng biểu đ bó khn mặt.
Nối tất cả các biểu đ khn mặt xây dựng đƣ c vào m t cấu trúc tạo
thành biểu đ bó khn mặt.
- Bƣớc 3: Xây dựng thƣ viện mơ hình biểu đ .
Vì bây giờ chúng ta có m t biểu đ bó cung cấp đủ chất lƣ ng trong việc
tìm kiếm các v tr nút trong m t khn mặt mới, chúng ta có thể xử lý hồn tồn
các hình ảnh cịn lại m t cách tự đ ng
- Bƣớc 4: Xây dựng đ th thăm dị.
Giả sử đƣa ra m t hình ảnh mới và s tìm thấy ngƣời đƣ c mơ tả trong thƣ
viện. Đầu tiên chúng ta cần tạo m t biểu đ cho hình ảnh thăm dị. Q trình này
hoạt đ ng ch nh xác nhƣ đối với các hình ảnh mơ hình.
- Bƣớc 5: So sánh với tất cả các đ th mơ hình.
Đ th hình ảnh đƣ c so sánh với tất cả các đ th mơ hình, dẫn đến các
giá tr tƣơng tự nhau. Đây là cơ sở của quyết đ nh công nhận.
- Bƣớc 6: Công nhận.
Để nhận biết rõ ràng là biểu đ mơ hình có đ tƣơng tự cao nhất với biểu
đ hình ảnh là ứng cử viên đƣ c công nhận. Tuy nhiên, nếu giá tr tƣơng tự tốt
nhất là tƣơng đối thấp, hệ thống có thể quyết đ nh rằng ngƣời trên hình ảnh thăm
dị khơng có trong thƣ viện mơ hình nào cả; và nếu có nhiều hơn m t giá tr
tƣơng tự rất cao, hệ thống có thể quyết đ nh rằng ngƣời đó có nhiều khả năng
nhất trong phịng trƣng bày mơ hình nhƣng có m t số ứng cử viên có thể. Ch khi
điểm tƣơng đ ng cao nhất là cao và điểm tiếp theo thấp thì hệ thống có thể nhận
diện khn mặt trên hình ảnh thăm dị với đ tin cậy cao [10].



16

[10].
1.2.2. Linear Discriminate Analysis
Phƣơng pháp phân t ch lớp tuyến t nh LDA là m t phƣơng pháp giảm
chiều dữ liệu cho bài toán phân lớp. Ý tƣởng cơ bản của LDA là tìm m t khơng
gian mới với số chiều nhỏ hơn khơng gian ban đầu sao cho hình chiếu của các
điểm trong cùng m t lớp lên không gian mới này là gần nhau trong khi hình
chiếu của các điểm của các lớp khác nhau là khác nhau. V dụ bài toán phân lớp
đối với 2 lớp nhƣ hình sau:

2:

[1].

Nội dung thuật tốn
Trong phƣơng pháp LDA thƣờng dùng sự phân bố ngoại và sự phân bố
n i làm tiêu ch để phân lớp. Ma trận phân bố n i đƣ c t nh theo công thức:


17

Sw= ∑

(



)(


)

(1.1)

Trong đó:
là ảnh thứ i của lớp j.

-

là giá tr trung bình của lớp j.

-

C là số lƣ ng lớp.

-

N là tổng số ảnh của tập huấn luyện.

-

Nj là số lƣ ng ảnh trong lớp j.

Ma trận phân bố ngoại đƣ c t nh theo công thức:
Sw= ∑ (
Trong đó

)(


)

(1.2)

là giá tr trung bình của tất cả các lớp.

Khơng gian mới của LDA đƣ c hình thành từ tập vector W W1, W2, …,Wd]
thỏa mãn:
W=argmax= |

|

(1.3)

Ma trận phân bố n i biểu diễn sự phân bố gần nhau của các ảnh trong các
lớp còn ma trận phân bố ngoại s mô tả sự tách biệt của các lớp. Khi các ảnh
chiếu lên các vector của W, các ảnh s đƣ c phân bố gần nhau trong m i lớp và
s tách biệt giữa các lớp.
Trong nhận dạng khuôn mặt, LDA dựa trên m t ph p chiếu tuyến t nh từ
khơng gian hình ảnh vào m t chiều khơng gian thấp hơn bằng cách tối đa giữa
các lớp tán xạ và giảm thiểu phân tán trong lớp. Muốn xác đ nh m t hình ảnh
kiểm tra đầu vào, hình ảnh thử nghiệm chiếu đƣ c so sánh với từng mẫu dự kiến
đào tạo, và hình ảnh kiểm tra đƣ c xác đ nh là hình ảnh đào tạo gần nhất.
1.2.3. Principal Component Analysis:
PCA là m t thuật toán làm giảm số chiều của dữ liệu bằng cách đi tìm m t
không gian mới sao cho thông tin của dữ liệu chủ yếu tập trung ở m t vài tọa đ ,
phần còn lại ch mang m t lƣ ng nhỏ thơng tin. Khơng gian mới này có số chiều
nhỏ hơn số chiều của không gian cũ và trên m i trục tọa đ , đ biến thiên của dữ
liệu là lớn nhất có thể, 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.



18

Trong không gian mới các liên kết tiềm ẩn của dữ liệu có thể đƣ c khám phá, 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õ.
Phƣơng pháp PCA có ƣu điểm là có thể tìm đƣ c các đặc t nh tiêu biểu
của đối tƣ ng mà không cần phải xác đ nh các thành phần và mối quan hệ giữa
chúng, thuật toán thực hiện tốt đối với các ảnh có đ phân giải cao và có khả
năng kết h p với m t số thuật toán khác để nâng cao hiệu quả nhận dạng.Tuy
nhiên, PCA cũng t n tại nhƣ c điểm nhƣ: nhạy với nhiễu, và vì PCA phân loại
theo chiều phân bố lớn nhất của dữ liệu mà trong m t số trƣờng h p thì chiều
phân bố lớn nhất không phải lúc nào cũng đạt hiệu quả nhất. V dụ dễ thấy nhất
thể hiện trong hình 1, ta thấy khi chiếu dữ liệu lên d1 chiều phân bố lớn của dữ
liệu thì m t số điểm của 2 lớp s b ch ng lấn lên nhau trong khi nếu chiếu dữ
liệu lên d2 chiều gần với các thành phần phụ thì việc phân lớp rõ ràng, hiệu quả
hơn.
Quan sát hình sau chúng ta thấy rõ hơn ý tƣởng của PCA :

3

[6]

1.3. Tổng quan về tình hình nghiên cứu
1.3.1. Tình hình nghiên cứu trong nƣớc
Hiện nay, ở Việt Nam có khá nhiều nghiên cứu về thuật tốn PCA, về
nhận dạng khn mặt hoặc cả hai. Trong đó phải kể đến sản phẩm đạt giải nhất
cu c thi “Sáng tạo trẻ Bách khoa 2017” có tên là “Hệ thống nhận dạng khuôn



19

mặt BKFace”, nhận diện khuôn mặt ch nh xác 96% của các bạn sinh viênkhoa
Công nghệ thông tin, ĐH Bách khoa Hà N i: Trần Trung Hiếu, Lê Trần Bảo
Cƣơng và Nguyễn Tiến Thạo. Ngồi ra cịn có nhiều cơng trình nghiên cứu là các
luận văn, luận án về thuật toán PCA ứng dụng trong nhận dạng ảnh, nhận dạng
chữ ký tay, nhận dạng biển số xe,…và các bài báo khoa học.
1.3.2. Tình hình nghiên cứu ngồi nƣớc
Trên thế giới có rất nhiều nghiên cứu về lĩnh vực này và đƣ c ứng dụng
khá r ng rãi. M t số tác phẩm hay thƣờng đƣ c dùng làm tài liệu tham khảo của
các tác giả nƣớc ngoài nhƣ “Face Recognition using Principle Component
Analysis” của Kyungnam Kim thu c University of Maryland College park, hay
tác giả M.G.Kresimir Delac với “PCA and LDA based Neural Networks for
Human Face Recognition”,…
Các hãng công nghệ lớn nhƣ Microsft, Google, Facebook, Oppo, Apple,…
cũng đã ứng dụng nhận diện khuôn mặt vào các sản phẩm của họ. Nhiều nghiên
cứu thực nghiệm đƣ c triển khai trên thế giới nhƣ quản lý du khách, tài khoản
thẻ ATM ở Trung Quốc, quản lý khách ở sân bay Đức, Australia, quản lý an ninh
tại Mỹ,…


20

CHƢƠNG 2
THUẬT TOÁN PCA VÀ ỨNG DỤNG TRONG NHẬN DẠNG KHN MẶT
2.1. Thuật tốn PCA
2.1.1. Giới thiệu
M t số khái niệm toán học sử dụng trong thuật toán PCA:
Kỳ vọng và phƣơng sai:

+ K vọng: là trung bình c ng của toàn b các giá tr dữ liệu;
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, là đ đo mức đ biến thiên của m t biến ngẫu nhiên.
V dụ: Cho M giá tr x1, x2, …, xM thì k vọng và phƣơng sai của b dữ liệu
này lần lƣ t là:

̅

∑(

̅)

Ma trận hiệp phƣơng sai:
+ Hiệp phƣơng sai là đ đo sự biến thiên cùng nhau của hai biến ngẫu nhiên.
Ma trận hiệp phƣơng sai: là ma trận mà các phần tử là hiệp phƣơng sai

∑(

̅)(

̅)

̂̂

Trong đó ̂ đƣ c tạo bằng cách trừ m i c t của X đi ̅
Ma trận hiệp phƣơng sai là m t ma trận đối xứng nửa xác đ nh dƣơng,
mọi phần tử trên đƣờng ch o là các số không âm, chúng cũng ch nh là các
phƣơng sai của từng chiều dữ liệu.
Trị riêng và vector riêng:



21

Giả sử A Cmxm là ma trận vuông cấp m
Đa thức đặc trƣng của ma trận A là: P A( )= det(A-

), nghiệm của đa thức này

là giá tr riêng của ma trận A
Vector u Cm gọi là vector riêng ứng với tr riêng

C nếu Au= u

Các tính chất của vectơ riêng:
-

Ch các ma trận vuông n x n mới có vectơ riêng.

-

Khơng phải mọi ma trận vng đều có vectơ riêng.

-

Nếu 1 ma trận vng n x n có vectơ riêng thì s có n vectơ riêng.

-

Nếu nhân vectơ riêng với 1 số thì kết quả sau khi nhân với ma trận
chuyển đổi, vectơ kết quả vẫn là vectơ ban đầu


-

Tất cả các vectơ riêng của 1 ma trận đều trực giao với nhau

2.1.2. Thuật toán PCA
Nhƣ ta đã biết, mục tiêu của PCA là tìm m t khơng gian mới với số chiều
nhỏ hơn không gian cũ. Các trục tọa đ trong không gian mới đƣ c xây dựng sao
cho trên m i trục tọa đ thìđ biến thiên của dữ liệu là lớn nhất. Phƣơng pháp
PCA s biễu diễn dữ liệu đa chiều lên m t không gian có cơ sở trực giao, có
nghĩa là khi ta xem m i cơ sở trong không gian mới là m t biến thì hình ảnh của
dữ liệu gốc trong không gian mới này s đƣ c biểu diễn thông qua các biến đ c
lập. Phƣơng pháp PCA s tìm không gian mới với tiêu ch cố gắng phản ánh
đƣ c càng nhiều thông tin gốc càng tốt, điều này đƣ c thể hiện trong khái niệm
phƣơng sai mà ta đã tìm hiểu trong mục trƣớc. Và do các biến trong khơng gian
mới là đ c lập nên ta có thể t nh toán đƣ c t lệ giải th ch phƣơng sai của từng
biến mới đối với dữ liệu, điều này cho ph p ta cân nhắc việc ch dùng số t các
biến để giải th ch dữ liệu. Việc giảm số chiều của dữ liệu s giúp chúng ta thực
hiện các ph p t nh toán đơn giản và thuận tiện hơn mà vẫn giữ đƣ c bản chất của
nó.
Cho ma trận X g m M điểm dữ liệu, n i dung của thuật toán PCA bao g m
các bƣớc sau:


22

1. T nh vector k vọng của toàn b dữ liệu:


̅


(2.1)

2. Trừ m i điểm dữ liệu đi vector k vọng của toàn b dữ liệu sai lệch của
ảnh đầu vào so với giá tr trung bình):

̂i =

- ̅

(2.2)

3. T nh ma trận hiệp phƣơng sai:
S=

̂̂

(2.3)

4. Tính các giá tr riêng và vector riêng có norm bằng 1 của ma trận hiệp
phƣơng sai S, sắp xếp chúng theo thứ tự giảm dần của giá tr riêng.
5. Chọn K vector riêng ứng với K giá tr riêng lớn nhất để xây dựng ma
trận UK có các c t tạo thành m t hệ trực giao. K vectors này, còn đƣ c gọi
là các thành phần ch nh, tạo thành m t không gian con gần với phân bố
của dữ liệu ban đầu đã chuẩn hoá.
6. Chiếu dữ liệu ban đầu đã chuẩn hố

̂ xuống khơng gian con tìm đƣ c.

7. Dữ liệu mới ch nh là toạ đ của các điểm dữ liệu trên không gian mới:

Z=

⋃ ̂

Dữ liệu ban đầu có thể t nh đƣ c xấp x theo dữ liệu mới nhƣ sau:x≈ UK.Z+ ̅
Các bƣớc thực hiện PCA đƣ c thể hiện trong hình dƣới đây:

(2.4)


23

Thuật tốn PCA
1.Tìm vector k vọng

2.Trừ đi giá tr tb

3.Ma trận hiệp biến

4.Tìm tr riêng,
vector riêng của S

7.Dữ liệu mới là tọa đ
trên khơng gian mới

Hình 4:

6.Chiếu dữ liệu xuống
khơng gian mới




5.Chọn K vector riêng
ứng với K tr riêng lớn
nhất

.[1].

2.2. Nhận dạng khn mặt bằng thuật tốn PCA
2.2.1. Chuẩn hóa dữ liệu
Ban đầu, các ảnh đƣa vào để nhận dạng có thể khơng cùng k ch cỡ với
các ảnh trong cơ sở dữ liệu, hoặc có đ sáng, đ nhiễu, v tr , tƣ thế,… khác
nhau. Vì vậy để nâng cao chất lƣ ng ảnh phục vụ cho việc nhận dạng có kết
quả tốt hơn chúng ta s thực hiện việc chuẩn hóa dữ liệu nhƣ: căn ch nh ảnh,
hiệu ch nh đ sáng, tối của ảnh,lọc nhiễu, chuẩn hóa về tƣ thế ảnh mặt. Bƣớc
chuẩn hóa dữ liệu đƣ c thực hiện ở cả hai giai đoạn là huấn luyện và thử
nghiệm.


24

2.2.2 Trích chọn đặc trƣng dùng PCA
Sau giai đoạn chuẩn hóa dữ liệu, ta có các ảnh trong tập ảnh luyện hay
ảnh đƣa vào cần nhận dạng đã có cùng k ch thƣớc và khuôn mặt ch nh diện.
Giả sử ta có tập X g m M ảnh huấn luyện: Xi={X1, X2,…,XM}.
M i ảnh Mi đƣ c biểu diễn tƣơng ứng với m t vector Γi:Mi → Γi với m i ảnh Mi
có k ch thƣớc N×N thì Γi là vector m t chiều có k ch thƣớc N2×1.
Sử dụng đặc trƣng PCA s đƣ c tiến hành qua các bƣớc sau đây:
ƣớc 1: T nh giá tr trung bình của tồn b vector ảnh mặt theo cơng thức



(2.5)

ƣớc 2: 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
Φi

Γi – Ψ

(2.6)

Trong đó: Φi là vector sai số ứng với m i ảnh, Γi là vector 1 chiều của các
ảnh, Ψ là vector trung bình mặt.
ƣớc 3: T nh ma trận hiệp phƣơng sai C:

(2.7)



Trong đó: A=[Φ1Φ2…ΦM]
C có k ch thƣớc N2XN2
A có k ch thƣớc là N2XM
ƣớc 4: T nh các giá tr riêng và vector riêng
Để tính các tr riêng

và vector đặc trƣng ui của ma trận hiệp phƣơng

sai C, tức là ma trận AAT, ta s t nh tr riêng


và vector đặc trƣng vi của ATA

r i suy ra do AAT và ATA có t nh chất là chung tr riêng, vector đặc trƣng liên
hệ với nhau bằng công thức:
ui = Avi.

(2.8)


25

Ta không trực tiếp t nh tr riêng và vector đặc trƣng của C mà t nh thông
qua ATA do C là ma trận N2×N2 nên số chiều là rất lớn, khối lƣ ng t nh tốn là
vơ cùng nhiều trong khi ma trận ATA lại có số chiều t hơn hẳn là M M nên
khối lƣ ng t nh tốn cũng t hơn rất nhiều.Sau khi tính tốn ta đƣ c M vector
đặc trƣng của AAT 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.9)

Sắp xếp các vector đặc trƣng theo thứ tự giảm dần của giá tr riêng.
ƣớc 5: Chọn K vector riêng
Để giảm số chiều và giảm đ phức tạp t nh toán, ta ch giữ lại K vector
đặc trƣng tƣơng ứng K giá tr riêng lớn nhất.K vector riêng này tạo thành không
gian con không gian mới .
Các cách để xác đ nh K.
Cách 1: Theo dõi sự biến thiên của dãy tr riêng, nếu không cịn biến thiên hoặc
xấp x bằng khơng thì lúc đó ta đã chọn đủ K.
Cách 2: Sử dụng công thức:




> Threshold (e.g,0.9,0.95)

(2.10)

Cách 3: Theo Kaiser –Harris đề xuất thành phần ch nh K đƣ c xác đ nh khi giá
tr riêng có giá tr lớn hơn 1 ( >1).
ƣớc 6: Chiếu các tập ảnh mẫu vào không gian mới
M i khuôn mặt huấn luyệns đƣ c biểu diễn trong không gian mới là 1 vector
nhƣ sau:
M i khuôn mặt trong tập huấn luyện có thể đƣ c biểu diễn lại là 1 tổ h p tuyến
t nh của K vector riêng lớn nhất:
=∑

Ui. Trong đó: Wj=UjT.

Bây giờ, m i khn mặt huấn luyện s đƣ c biểu diễn trong không gian mới là 1
vector nhƣ sau:


26

với i 1,2,…,M.
[
Hay

]


s đƣ c biểu diễn lại là:

(2.11)
[
Trong đó
Bắt đầu

]

là vector đại diện cho khuôn mặt thứ i trong tập luyện.
T nh ma trận
trung bìnhΨ

Chuẩn hóa,
đƣa về vector

Đọc ảnh dữ
liệu huấn

Ψ

luyện

Kết thúc

Biểu diễn các ảnh
trong không gian đặc
trƣng

Chọn số đặc trƣng

PCA

5

T nh sai lệch
từng ảnh so với

T nh giá tr riêng,
vector riêng

PCA trong

2.2.3. Nhận dạng
Ảnh cần nhận dạng sau khi chuẩn hóa là Γ, tiếp tục thực hiện các bƣớc:
- Bƣớc 1: Trừ đi giá tr trung bình
Φ

Γ–Ψ

- Bƣớc 2: Biểu diễn Φ thành

=

(2.12)
nhƣ sau:

,
[

]


tức là ta biểu diễn
[
- Bƣớc 3: T nh khoảng cách er

]

(2.13)


×