














Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Mini project about Face Recognization using PCA
Typology: Study Guides, Projects, Research
1 / 22
This page cannot be seen from the preview
Don't miss anything!















STT HỌ VÀ TÊN MSSV
1
2
3
4
5
6
LỜI CẢM ƠN
Trong quá trình hoàn thiện báo cáo nhóm chúng em đã gặp không ít khó khăn bởi lần đầu còn nhiều bỡ
ngỡ nhưng nhờ có sự giúp đỡ nhiệt tình từ cô và các bạn đã giúp nhóm chúng em có thể hoàn thành báo cáo
một cách tốt nhất. Nhóm xin gửi lời tri ân và cảm ơn chân thành nhất đến cô Nguyễn Thị Hoài Thương là giảng
viên bộ môn Đại Số Tuyến Tính của Trường Đại học Bách K hoa TP.HCM cũng như là giáo viên hướng dẫn
nhóm thực hiện đề tài này. Nhờ sự tận tình, hết lòng giảng dạy và truyền đạt những lý thuyết, kiến thức quan
trọng một cách kĩ càng để chúng em có một nền tảng kiến thức vững chắc để thực hiện báo cáo. Không chỉ
vậy, cô còn gợi ý cho nhóm các bước cần thiết và quan trọng, nhờ đó nhóm đã hoàn thành báo cáo đúng tiến độ
và đúng theo yêu cầu được đưa ra.. Sự hướng dẫn của cô chính là kim chỉ nam chỉ dẫn cho nhóm chúng em
phương hướng để tìm hiểu và hoàn thành báo, giúp các thành viên trong nhóm có thể phát huy được hết khả
năng tiềm ẩn của bản than.
Lời cuối, nhóm chúng em xin một lần nữa gửi lời cảm ơn sâu sắc đến cô và mọi người
đã dành thời gian giúp đỡ, góp ý cho nhóm. Đây chính là nguồn động lực to lớn để nhóm
có thể hoàn thành và đạt được kết quả này.
Chân thành cảm ơn sự giúp đỡ của cô và mọi người rất nhiều!
PHẦN 1 : TỔNG QUAN VỀ HỆ THỐNG NHẬN DIỆN KHUÔN
MẶT
1. 1. Hệ thống sinh trắc học
1. 1 .1 Định nghĩa - Sinh trắc học (biometric) là một lĩnh vực nghiên cứu và ứng dụng công nghệ liên quan đến việc xác minh
danh tính và nhận dạng con người dựa trên các đặc điểm sinh học duy của họ các đặc điểm sinh học này có thể
bao gồm vân tay, giọng nói, khuôn mặt, chữ viết. Sinh trắc học được thay thế hoặc bổ sung cho các phương
pháp xác minh danh tính truyền thống như thẻ mật khẩu, thẻ thông tin hoặc mã PIN. Lĩnh vực này sử dụng các
công nghệ tiên tiến để thu thập và phân tích các đặc điểm sinh học của con người như cảm biến sinh học, hình
ảnh y học, cùng với các kỹ thuật đo lường để thu thập dữ liệu về các chỉ số sinh học, như nhịp tim, nhiệt độ cơ
thể và lưu trữ trong một cơ sở dữ liệu. Do vậy việc bảo mật sinh trắc rất thuận tiện và an toàn. Sinh trắc học
không chỉ nâng cao kiến thức của chúng ta về cơ thể còn người mà còn được ứng dụng vào nhiều lĩnh vực như
thể thao,y học, công nghiệp,…
1. 1. 2. Tổng quan lịch sử và vai trò
nước. Nhưng bên cạnh đó mang lại những rủi ro về quyền riêng tư, thông tin cá nhân và dữ liệu người dùng.
Thế nên đòi hỏi con người cần tìm ra một phương thức bảo mật thông tin và dữ liệu giúp xác minh danh tính
và đáng tin cậy. Sinh trắc học được tạo ra để làm lời giải cho bài toán bảo mật thông tin của con người.
1 .1.2.1. Lịch sử:
Hình 1: Dấu vân tay được chụp William Herschel
“biometry” hoặc tiếng Pháp “biometrie”. Nhưng vào năm 1831 thuật ngữ này được W. Whewell sử dụng để
tìm hiểu tính quy luật về tuổi thọ của những người mà ông nghiên cứu. Đến năm 1901 sinh trắc học đã được F.
Galton gọi là Biometrika hình thành và định nghĩa.
dạng, dấu vân tay ở đây được sử dụng để ký tên trên các tài liệu đất sét. Tại Châu Á các thương nhân người
Trung Quốc cũng đã biết dùng dấu vân tay để chứng thực tài liệu và nhận diện con người từ hàng nghìn năm
trước Công Nguyên.
1 .2.2.2. Nhược điểm:
PHẦN 2 : THUẬT TOÁN PCA TRONG NHẬN DIỆN KHUÔN MẶT
2.1. Thuật toán PCA
2. 1 .1. Lịch sử ra đời:
nhau. Với các nhà thống kê cổ điển thì PCA là tìm các trục chính của ellipsoid nhiều chiều bao hàm đám mây
số liệu phân phối chuẩn nhiều chiều, các trục đó được ước lượng từ một mẫu n cá thể, trên mỗi cá thể người ta
đo p chỉ tiêu. Người đầu tiên đưa ra kỹ thuật này là H.Hotelling (1933), sau đó là T.W.Anderson (1958) và
A.M.Kshirsagar (1972).
khi các phương sai này bằng không hoặc xấp xỉ bằng không. Phương pháp này thường được sử dụng trong
phân tích tâm lý, do Horst (1965) và Harman (1966) đề xuất. - Sau cùng, theo quan điểm phổ biến hơn cả của
các nhà phân tích số liệu thì PCA là một kỹ thuật biểu diễn các số liệu một cách tối ưu theo một tiêu chuẩn đại
số và hình học đặc biệt. khi sử dụng kỹ thuật này người ta không đòi hỏi một giả thuyết thống kê hoặc một mô
hình đặc biệt nào. Quan điểm này trở nên phổ biến từ khi có máy tính điện tử, và là quan điểm mới nhất.
Những tư tưởng của phương pháp này do K.Pearson (1901) đề xuất. Trong công trình của C.R Rao (1964) nội
dung lý thuyết của phương pháp PCA được trình bày khá đơn giản và rõ ràng.
bản… với bảng số liệu mà các cột là các biến và các dòng là các cá thể, trên đó đo giá trị của biến.
2.1.2. Tổng quan về phương pháp PCA
đẹp từ việc áp dụng đại số tuyến tính. PCA được sử dụng nhiều trong các khuôn mẫu phân tích bởi vì nó là
phương pháp không cần tham số và đơn giản hóa cho việc trích xuất thông tin thích hợp từ các tập dữ liệu
không rõ ràng. PCA cung cấp một hướng đi cho việc làm thế nào để hạn chế một tập dữ liệu phức tạp tới một
tập dữ liệu với số chiều nhỏ hơn để thể hiện ra thông tin ẩn dưới tập dữ liệu không rõ ràng đó.
thể không tính toán được điều gì đã xảy ra do dữ liệu đo được rất mù mờ, không rõ ràng, số lượng các biến đo
lường có thể rất lớn và tại các thời điểm khác nhau cũng có thể dễ gây nhầm lẫn. Thuật toán PCA rất hữu dụng
trong những trường hợp này. Nó có thể biến đổi tập dữ liệu đo lường dư thừa, nhiễu lớn về tập dữ liệu mà biểu
diễn tốt nhất (dễ quan sát nhất, dễ phân biệt nhất) hệ thống. Với một hệ thống liên tục và tuyến tính nếu ta đưa
các đo lường vào một không gian vecto nơi mà mỗi thể hiện của hệ thống được xem như một vector trong
không gian vector đó (số các vecto cơ sở là số chiều của không gian đó). Ta sẽ sử dụng phép biến đổi tuyến
tính để ánh xạ tập dữ liệu gốc vào tập dữ liệu mới có giảm sự dư thừa và nhiễu dữ liệu.
2.2.3. Ứng dụng
vẫn giữ được các đặc trưng quan trọng của dữ liệu. PCA có nhiều ứng dụng trong đời sống, ví dụ như Công
nghệ thông tin, Sinh học…
sử dụng chúng để phân biệt các khuôn mặt khác nhau.
biến mới không tương quan với nhau. Điều này giúp cho việc phân tích dữ liệu dễ dàng và hiệu quả hơn.
chiều, giúp cho việc nhìn nhận và hiểu dữ liệu trở nên rõ ràng hơn. 19 4. Nén dữ liệu: PCA có thể giúp giảm
dung lượng lưu trữ của dữ liệu mà vẫn giữ được các thông tin cần thiết.
2.2.4. Cơ sở lý thuyết
2.2.4.1. Khái niệm của PCA
liệu nhằm giữ lại những thông tin quan trọng nhất của dữ liệu ban đầu. Bằng cách biến đổi trực giao dữ
liệu từ không gian ban đầu có nhiều chiều thành không gian ít chiều hơn. Cách tiếp cận này giúp giữ lại
các thông tin quan trọng nhất, hỗ trợ phân tích các đặc điểm chính của dữ liệu và xây dựng các mô hình
dự đoán hiệu quả.
𝜎
2
=
1
𝑛 − 1
∑(𝑋
𝑖
− 𝑋
̅
)
2
𝑛
𝑖= 1
2
: Phương sai mẫu của tập dữ liệu.
𝑖
: Các giá trị của phần tử thứ i trong tập dữ liệu.
: Giá trị trung bình các giá trị trong tập dữ liệu.
𝑛: Số lượng phần tử trong tập dữ liệu.
𝑛 − 1 : Là bậc tự do, giúp điều chỉnh độ lệch khi lấy mẫu từ tổng thể
2 .2.4.3.3. Hiệp phương sai (covariance):
Là một đại lượng đo mức độ liên hệ giữa hai biến số, cho biết chúng thay đổi cùng chiều hay ngược chiều với
nhau nói cách khác là mối quan hệ biến thiên của hai biến.
Giả sử ta có hai biến 𝑋, 𝑌 ngẫu nhiên, mỗi biến có n giá trị. Vậy công thức tính hiệp phương sai sẽ là:
𝐶𝑜𝑣(𝑋, 𝑌) =
1
𝑛 − 1
∑(𝑋
𝑖
− 𝑋
̅
𝑛
𝑖= 1
)(𝑌
𝑖
− 𝑌
̅
)
Cov(X,Y): Hiệp phương sai giữa hai biến X và Y
𝑖
𝑣à 𝑌
𝑖
: Lần lượt là các giá trị phần tử thứ i trong tập dữ liệu 𝑋 𝑣à 𝑌
𝑣à 𝑌
: Giá trị trung bình của 𝑋 𝑣à 𝑌
𝑛: Số lượng phần tử trong tập dữ liệu
Giá trị hiệp phương sai không quan trọng bằng dấu của nó
2 .2.4.3.4_. Ma trận hiệp phương sai (covariance matrix):_
xác định xem các biến có thay đổi cùng chiều hay ngược chiều, từ đó giúp phân tích mối quan hệ giữa
chúng.
trục mới sao cho phương sai của dữ liệu trên các trục mới là mới nhất
phương sai của từng chiều dữ liệu tương ứng.
chiều.
𝑆 =
1
𝑛 − 1
𝑋
𝑇
𝑋
S là ma trận hiệp phương sai
𝑋 là ma trận dữ liệu đã chuẩn hóa
𝑇
là ma trận chuyển vị của 𝑋
𝑛 − 1 là bậc tự do (được sử dụng để điều chỉnh khi tính toán hiệp phương sai mẫu)
2 .2.4.3.5_. Trị riêng (eigenvalue)_
của dữ liệu, tức là các hướng trong không gian mà biến đổi dữ liệu nhiều nhất. Các trị riêng nhỏ đại
diện cho các thành phần ít quan trọng hơn.
det(S − I) = 0
𝑆: Ma trận hiệp phương sai của 𝑋
𝐼: Ma trận đơn vị
: Trị riêng của ma trận S
2 .2.4.3.6_. Vecto trị riêng (eigenvector)_
đổi hướng.
ngược lại, các vectơ riêng ứng với các giá trị riêng nhỏ thường chỉ ra các hướng mà ma trận biến đổi ít
hơn.
(S − I). v = 0
i
v là vector riêng của
T
i
là trị riêng tương ứng, khi đó ta có:
T
i i i
A Av = v
T
i i i
AA Av = A v
T
i i i
AA Av = Av
→ Ta thấy,
i
Av
chính là vector riêng của ma trận
T
2. 2 .1. 4. Không gian khuôn mặt riêng
Sau khi có các vector riêng của ma trận
T
không gian khuôn mặt:
T
các trị riêng tương ứng.
vector riêng ứng với R
trị riêng lớn nhất trong
T
riêng (Eigenfaces) trong không gian khuôn mặt.
(chia mỗi vector cho độ dài của vector đó).
→ Lúc này, ta có thể coi E là một cơ sở trực chuẩn của không gian khuôn mặt.
2.2.1.5. Nhận diện ảnh
là bức ảnh có cùng kích thước với những bức ảnh trong tập huấn luyện. Ta sẽ xét xem nó có phải là
bức ảnh khuôn mặt hay không, cũng như tìm bức ảnh giống với nó nhất trong tập huấn luyện.
n
là vector ảnh trung bình).
1
{u ,..., }
R
u. Khi đó hình chiếu
W
1
Pr
R
o i i
i
u u u u u
=
bất kì với vector thứ i trong cơ sở trực chuẩn của
được sử dụng để
xác định khoảng cách giữa ảnh H và không gian khuôn mặt.
T
S = E K là tọa độ hình chiếu
f
của K lên không gian khuôn mặt.
i
i
T trong tập huấn luyện).
Ta tính
T
i i
là tọa độ của hình chiếu
if
của
i
f
x = K − K : khoảng cách từ bức ảnh H đến không gian khuôn mặt.
i i
x = S − S : khoảng cách từ bức ảnh H
đến bức ảnh
i
T trong tập huấn luyện.
i
x thì H là bức ảnh của cùng một người với
i
T ( H đủ gần với
i
ảnh khuôn mặt hay không.
f
K x y là hình chiếu của K x y ( , )lên không gian khuôn mặt.
f
s x y = K x y − K x y.
ảnh H
2.2.2. Ưu điểm và nhược điểm
2.2. 2. 1. Ưu điểm:
đã có độ chính xác khá cao, nếu áp dụng cho bài toán tìm vị trí khuôn mặt thì cần phải có một thuật
toán nữa để sử dụng face map thu được theo lý thuyết.
phần và mối quan hệ giữa các thành phần đó.
ảnh xuống mức thấp nhất có thể.
lại hiệu quả nhận dạng cao hơn.
2.2. 2 .2. Nhược điểm:
tra phải giống với các ảnh huấn luyện về kích thước, tư thế, độ sáng. Thực tế trong tập huấn luyện
thường gồm nhiều nhóm hình, mỗi nhóm là hình của một người với tư thế, độ sáng khác nhau.
phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toán nhận dạng. Đây là nhược điểm cơ bản của
PHẦN 3 : ỨNG DỤNG THUẬT TOÁN PCA TRONG NHẬN DIỆN
KHUÔN MẶT BẰNG PYTHON
3 .1. Sơ đồ khối hoạt động của chương trình Nhận diện khuôn mặt
1. Bắt đầu : Khởi động quy trình nhận diện khuôn mặt
của bạn
3. 3. Kết quả: