Một phương pháp nhận dạng khuôn mặt dựa trên mạng nơron tích chập

Tóm tắt: Các nghiên cứu về phương pháp xử lý ảnh và nhận dạng khuôn mặt được

quan tâm của nhiều tác giả, trong đó, các mô hình dựa trên công nghệ mạng nơron học sâu

(hay còn gọi là mạng nơron tích chập, CNN) được đề cập trong nhiều bài báo và cho kết quả

tốt. Hơn nữa, mô hình này đã đem lại những ứng dụng thành công trong thực tiễn như trong

ứng dụng phát hiện và nhận dạng khuôn mặt trên ảnh của người dùng Facebook với công

nghệ DeepFace. Bài báo này đề xuất một thiết kế mô hình mạng nơron CNN với độ phức tạp

vừa phải nhưng vẫn đảm bảo chất lượng và hiệu quả phân lớp. Các thử nghiệm đánh giá mô

hình trên hai tập dữ liệu khá thông dụng là AT&T và Yale đã cho những kết quả khả quan và

tiềm năng ứng dụng

pdf 20 trang phuongnguyen 5140
Bạn đang xem tài liệu "Một phương pháp nhận dạng khuôn mặt dựa trên mạng nơron tích chập", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Một phương pháp nhận dạng khuôn mặt dựa trên mạng nơron tích chập

Một phương pháp nhận dạng khuôn mặt dựa trên mạng nơron tích chập
1Nghiên cứu trao đổi ● Research-Exchange of opinion
MỘT PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT DỰA TRÊN 
MẠNG NƠRON TÍCH CHẬP 
A FACE RECOGNITION METHOD USING CONVOLUTIONAL 
NEURAL NETWORK
Dương Thăng Long*, Bùi Thế Hùng†
Ngày tòa soạn nhận được bài báo: 4/02/2019
Ngày nhận kết quả phản biện đánh giá: 5/8/2019
Ngày bài báo được duyệt đăng: 26/8/2019
Tóm tắt: Các nghiên cứu về phương pháp xử lý ảnh và nhận dạng khuôn mặt được 
quan tâm của nhiều tác giả, trong đó, các mô hình dựa trên công nghệ mạng nơron học sâu 
(hay còn gọi là mạng nơron tích chập, CNN) được đề cập trong nhiều bài báo và cho kết quả 
tốt. Hơn nữa, mô hình này đã đem lại những ứng dụng thành công trong thực tiễn như trong 
ứng dụng phát hiện và nhận dạng khuôn mặt trên ảnh của người dùng Facebook với công 
nghệ DeepFace. Bài báo này đề xuất một thiết kế mô hình mạng nơron CNN với độ phức tạp 
vừa phải nhưng vẫn đảm bảo chất lượng và hiệu quả phân lớp. Các thử nghiệm đánh giá mô 
hình trên hai tập dữ liệu khá thông dụng là AT&T và Yale đã cho những kết quả khả quan và 
tiềm năng ứng dụng.
Từ khóa: Mạng nơron tích chập, nhận dạng khuôn mặt, kết quả, tiềm năng ứng dụng.
Abstract: Studies on image processing and facial recognition methods are of interest 
to many authors, in which models based on deep neural network technology (also known 
as convolutional neural networks, CNN) are mentioned in many articles with good results. 
Moreover, this model has brought successful practical applications such as applications in 
detecting and identifying faces on Facebook users’ photos with DeepFace technology. This 
paper proposes a design of CNN neural network model with moderate complexity but still 
ensures the quality and efficiency of classification. Tests of model evaluation on two popular 
data sets, AT&T and Yale, have given positive results and potential applications.
 Keywords: Convolutional neural networks, face recognition, results, potential applications.
* Trường Đại học Mở Hà Nội
† Viện Khoa học công nghệ Quân sự
Tạp chí Khoa học - Viện Đại học Mở Hà Nội 58 (08/2019) 1-20
2 Nghiên cứu trao đổi ● Research-Exchange of opinion
1. Đặt vấn đề
Khoa học công nghệ phát triển đã 
thúc đẩy và ứng dụng vào các lĩnh vực thực 
tiễn rất sâu rộng, đặc biệt là các công nghệ 
nhận dạng dựa trên hình ảnh và các phương 
pháp sinh trắc học trong ứng dụng định 
danh cá nhân người dùng ở các hệ thống. 
Theo [Gui17], việc sử dụng sinh trắc học 
để định danh là một phương pháp tự động 
nhận biết định danh cá nhân với cơ sở của 
nó là các đặc điểm sinh học hoặc hành vi. 
Công nghệ sinh trắc học sẽ không cần đến 
khóa, thẻ, mật khẩu hoặc bất kỳ thiết bị 
nào khác của người dùng. Đây là một quá 
trình tương tự như quá trình mà con người 
thường nhận dạng người khác về các khía 
cạnh thể chất, giọng nói của họ hoặc cách 
họ đi bộ, v.v. Trong khi một số phương pháp 
sinh trắc học yêu cầu hành động từ người 
dùng, phương pháp nhận dạng khuôn mặt 
có thể được sử dụng một cách thụ động, 
tức là hệ thống sẽ tự động nhận dạng và xác 
định danh tính dựa trên khuôn mặt được 
chụp tự động từ thiết bị ghi hình.
Thị giác máy tính (computer vision) 
là một lĩnh vực nghiên cứu rất sôi động 
hiện nay, với các phương pháp dựa trên 
năng lực tính toán ngày càng mạnh mẽ của 
hệ thống máy tính với các bài toán ứng 
dụng thực tiễn có giá trị to lớn. Phương 
pháp sinh trắc học để nhận dạng các yếu 
tố của con người được nghiên cứu mạnh 
mẽ và ứng dụng vào hệ thống nhận dạng 
trên cơ sở các đặc điểm thể chất hoặc hành 
vi của mỗi người. Trong đó, nhận dạng 
khuôn mặt đã là một lĩnh vực nghiên cứu 
sôi động trong lĩnh vực nhận dạng mẫu 
và thị giác máy tính. Khuôn mặt của mỗi 
người trong thế giới này có sự độc đáo và 
nét đặc trưng riêng biệt. Đó có thể coi là 
bản sắc riêng của mỗi người. Nhận dạng 
khuôn mặt do đó có tính duy nhất nên có 
thể được sử dụng để xác thực danh tính và 
kiểm soát con người trong ứng dụng khác 
nhau [Ary18]. 
Nhận dạng khuôn mặt là việc sử 
dụng phương pháp sinh trắc học để thiết 
lập một định danh cá nhân dựa trên các 
đặc điểm khuôn mặt của mỗi người. Quá 
trình nhận dạng khuôn mặt hoạt động 
bằng cách sử dụng một ứng dụng và thiết 
bị máy tính chụp ảnh một khuôn mặt cá 
nhân (cũng có thể được lấy từ khung hình 
từ một video) và so sánh nó với hình ảnh 
trong cơ sở dữ liệu được lưu trữ trước 
đó (Hình 1.1). Trường hợp ảnh đầu vào 
(image input) gồm cả không gian có chứa 
khuôn mặt người muốn định danh thì 
chúng ta cần phát hiện vùng ảnh chỉ chứa 
khuôn mặt của người đó (face detection). 
Đây cũng là một bài toán được nghiên cứu 
sôi động [Def18]. Ảnh khuôn mặt có thể 
được tiền xử lý (cân chỉnh chẳng hạn - 
face alignment) nhằm đảm bảo chất lượng 
cho nhận dạng. Khuôn mặt của mỗi người 
được trích chọn và biểu diễn thông qua 
một véc-tơ đặc trưng (feature extraction) 
nhằm mô tả những đặc điểm riêng biệt của 
khuôn mặt của người đó và để so sánh với 
các khuôn mặt khác. Việc so sánh khuôn 
mặt đầu vào với cơ sở dữ liệu các khuôn 
mặt đã được lưu trữ (existing database) trở 
thành việc tính toán mức độ gần nhau giữa 
các véc-tơ đặc trưng (feature matching), 
từ đó tìm ra khuôn mặt giống nhất trong 
cơ sở dữ liệu. Nếu mức độ gần nhất của 
khuôn mặt tìm được dưới một ngưỡng cho 
phép thì định danh người đó. 
Rất khó để có một hệ thống sinh trắc 
học hoàn hảo phù hợp với tất cả các nhu 
cầu ứng dụng. Tất cả các hệ thống được 
biết đều có những ưu điểm và nhược điểm 
3Nghiên cứu trao đổi ● Research-Exchange of opinion
riêng của chúng. Một vài nghiên cứu đã 
tập trung vào việc cải thiện bảo mật trong 
học tập trực tuyến bằng cách sử dụng các 
hệ thống sinh trắc học, nhưng một số hạn 
chế trong số đó đã giải quyết khi xác thực 
người học liên tục. Trong [Fay14] có đề 
cập, Flior và Kowalski đã thảo luận về 
một phương pháp cung cấp xác thực người 
dùng sinh trắc học liên tục trong các kỳ thi 
trực tuyến thông qua động lực gõ phím. 
Tuy nhiên, sinh trắc học gõ phím có nhược 
điểm của nó, chẳng hạn như sự khác biệt 
lớn có thể xảy ra theo thời gian do thay 
đổi kiểu gõ, mỏi tay sau một thời gian gõ 
và cải thiện kỹ năng gõ của người học. 
Các nhà nghiên cứu hiện đang tìm kiếm 
phương pháp xác định sinh trắc học tốt 
nhất sẽ giúp xác nhận danh tính của người 
học trong quá trình học tập trực tuyến và 
tham dự kỳ thi. Hệ thống nhận dạng khuôn 
mặt rất thân thiện với con người vì chúng 
không yêu cầu tiếp xúc và không cần có 
phần cứng bổ sung (với điều kiện là hầu 
hết các máy tính và thiết bị đầu cuối hiện 
đều có camera). Quan trọng hơn, hệ thống 
nhận dạng khuôn mặt có thể được sử dụng 
để xác thực liên tục của người học trong 
toàn bộ thời gian học tập hoặc kiểm tra.
Hình 1.1- Quá trình chung của nhận dạng khuôn mặt
Trong bài báo này, chúng tôi 
giới thiệu một phương pháp nhận dạng 
khuôn mặt và ứng dụng điểm danh sinh 
viên trong một lớp học. Cách tiếp cận 
của mô hình này là sử dụng những tiến 
bộ gần đây trong nhận dạng khuôn mặt 
dựa trên mạng nơron tích chập với cơ 
chế học sâu, kiểm tra mô hình trên bộ 
dữ liệu mẫu và thử nghiệm với bài toán 
định danh sinh viên của một lớp học. 
Các phần tiếp theo của bài báo gồm: 
Phần 2 tóm tắt các nghiên cứu liên quan; 
Phần 3 giới thiệu phương pháp đề xuất 
và nêu bật một số ưu điểm và hạn chế; 
Phần 4 trình bày phương án kịch bản thử 
nghiệm và phân tích kết quả; cuối cùng, 
Phần 5 là kết luận và một số định hướng 
nghiên cứu tiếp theo.
2. Những công trình liên quan
Mạng nơron nhân tạo (ANN) là một 
hướng nghiên cứu có nhiều triển vọng 
và được nhiều tác giả quan tâm. Trong 
[Abu18] đã đề cập đến những cải tiến 
nhằm tăng độ chính xác nhận dạng của 
nhiều ứng dụng thời gian thực. Trong thực 
tế, sự phức tạp của khuôn mặt con người 
và những thay đổi do các hiệu ứng khác 
nhau khiến cho việc thiết kế cũng như 
thực hiện một hệ thống tính toán mạnh 
mẽ để nhận dạng khuôn mặt con người trở 
nên khó khăn hơn. Các tác giả đã sử dụng 
kết hợp mạng nơron với thuật toán học lan 
truyền ngược sai số (BPNN) với việc trích 
chọn các đặc trưng dựa trên mối tương 
quan giữa các hình ảnh đưa vào học mạng. 
Theo đó, mối tương quan giữa các ảnh tạo 
4 Nghiên cứu trao đổi ● Research-Exchange of opinion
nên dữ liệu học BPNN mới (T-Dataset) từ 
tập dữ liệu học ban đầu và cung cấp độ 
phân biệt cao giữa các hình ảnh đào tạo 
nhằm giúp BPNN hội tụ nhanh hơn và đạt 
được độ chính xác tốt hơn. Họ đã sử dụng 
một sơ đồ kết hợp gồm mô hình LBPH để 
trích chọn đặc trưng, mô hình KNN với 
các kiểu độ đo khoảng cách để xác định 
mối tương quan và mô hình BPNN. 
Tuy nhiên, trong những năm gần 
đây, sự phát triển mạnh mẽ của công nghệ 
học sâu (deep learning) với mạng nơron 
tích chập (convolutional neural network - 
CNN) và được ứng dụng thành công trong 
nhiều bài toán thực tế [Yam18]. CNN là 
một cấu trúc mạng nơron nhân tạo gồm 
ba loại lớp nơron (minh hoạ ở Hình 1.2): 
lớp nơron tích chập (convolution layer), 
lớp nơron gộp chung (pooling layer) và 
lớp nơron kết nối đầy đủ (fully connection 
layer). Hai lớp nơron đầu (tích chập và 
gộp chung) thực hiện vai trò trích chọn 
đặc trưng của ảnh khuôn mặt, trong khi 
lớp thứ ba (kết nối đầy đủ) thực hiện vai 
trò ánh xạ các đặc trưng được trích chọn 
thành đầu ra cuối cùng, tức là định danh 
của người được nhận dạng. Lớp nơron 
tích chập đóng vai trò quan trọng trong 
CNN, bao gồm một chồng các phép toán 
tích chập, là một loại phép tuyến tính 
chuyên biệt. Lớp nơron gộp chung đóng 
vai trò làm giảm số chiều của không gian 
đặc trưng được trích chọn (hay còn gọi 
là subsampling) nhằm tăng tốc độ xử lý 
của quá trình nhận dạng. Quá trình học 
mạng nơron là điều chỉnh các tham số học 
của mạng (trainable parameters) gồm các 
trọng số liên kết của lớp nơron tích chập 
và lớp nơron kết nối đầy đủ. Thuật toán 
học điển hình của mạng nơron dạng này 
là lan truyền ngược sai số với mục tiêu 
giảm thiểu sai số kết quả nhận dạng của 
mạng. Ngoài ra, mạng còn có các tham số 
cần phải thiết lập trước khi áp dụng như 
kích thước của nhân trong phép tích chập, 
độ trượt của phép tích chập, hàm kích 
hoạt, phương pháp tính của lớp nơron gộp 
chung và các tham số khác được đề cập 
chi tiết trong [Yam18].
Hình 1.2- Minh hoạ về kiến trúc của một mạng nơron tích chập‡
‡ https://www.kaggle.com/cdeotte/how-to-choose-cnn-architecture-mnist
5Nghiên cứu trao đổi ● Research-Exchange of opinion
Hiện nay có nhiều nghiên cứu ứng 
dụng CNN trong nhận dạng khuôn mặt 
với các cải tiến ngày một hiệu quả và chất 
lượng cao hơn, ứng dụng đa dạng vào các 
bài toán thực tế. Các tác giả trong [Kam17] 
phân tích tính hiệu quả của CNN so với ba 
phương pháp nhận dạng khuôn mặt kinh 
điển bao gồm phân tích thành phần chính 
(PCA), mô hình biểu đồ mẫu nhị phân cục 
bộ (LBPH) và láng giềng gần nhất (KNN). 
Thử nghiệm trên cơ sở dữ liệu ORL cho 
thấy LBPH đạt kết quả tốt hơn PCA và 
KNN, nhưng đối với CNN được đề xuất 
cho độ chính xác nhận dạng tốt nhất (98,3% 
so với 3 phương pháp kia chưa đến 90%). 
Qua đây phần nào khẳng định phương pháp 
dựa trên CNN vượt trội hơn các phương 
pháp khác. 
Trong [Phi15] đã phân tích đánh giá 
với các kiến trúc CNN cải tiến khác nhau 
cho nhận dạng khuôn mặt. Thứ nhất là 
kiến trúc chứa 22 lớp nơron với 140 triệu 
tham số học và cần 1.6 tỷ FLOPS (floating-
point operations per second) cho mỗi ảnh. 
Dạng kiến trúc thứ hai dựa trên mô hình 
mạng Interception của GoogleNet gồm 
các phiên bản với kích thước đầu vào khác 
nhau nhằm làm giảm không gian tham số 
học của mạng. Các kiến trúc này được ứng 
dụng vào các phạm vi khác nhau, trong 
khi kiến trúc CNN có kích thước lớn cho 
kết quả cao và phù hợp với ứng dụng trên 
các máy tính lớn thì với CNN nhỏ hoặc rất 
nhỏ sẽ phù hợp với các ứng dụng trên thiết 
bị di động cầm tay nhưng vẫn đảm bảo kết 
quả chấp nhận được. Nhằm tăng hiệu quả 
cao hơn, các tác giả trong [Par15] đề xuất 
một kiến trúc CNN với quy mô “rất sâu” 
gồm 11 khối với 37 lớp nơron, 8 khối đầu 
đóng vai trò trích chọn đặc trưng và 3 khối 
sau thực hiện chức năng phân lớp để nhận 
dạng. Kiến trúc CNN này được chạy trên 
quy mô dữ liệu học mạng rất lớn (LFW và 
YTF với hàng nghìn định danh và hàng 
triệu bức ảnh) và cho kết quả (98.95% trên 
LFW và 97.3% trên YTF) tốt hơn so với 
các mô hình CNN khác. Các tác giả trong 
[Def18] đã đề xuất một hệ thống mạng 
thần kinh tích chập cho nhận diện khuôn 
mặt với sự cải tiến dựa trên kiến trúc 
CNN của VGG (Visual Geometry Group - 
University of Oxford). Đó là sử dụng mô-
đun CReLu (hàm kích hoạt của nơron) 
thay cho mô-đun hàm kích hoạt (ReLu) 
thông thường, mô-đun CReLu thực hiện 
ghép nối một ReLu chỉ chọn phần dương 
với một ReLu chỉ chọn phần âm của sự 
kích hoạt. Ở đây chính là điểm gấp đôi 
mức độ phi tuyến của hàm kích hoạt trong 
CNN và đã được xác định cho chất lượng 
kết quả tốt hơn. Dựa trên mô hình đề xuất 
này, các tác giả đã xây dựng một hệ thống 
nhận dạng khuôn mặt theo thời gian thực 
với một mạng nơron tích chập nhiều lớp 
(“rất sâu”) và phân tích thử nghiệm cho 
kết quả tốt hơn so với kết quả thu được khi 
sử dụng mô hình ban đầu.
Trong các phương pháp nhận dạng 
khuôn mặt hiện nay dựa trên mạng nơron 
tích chập (CNN), một cặp khuôn mặt so 
sánh được độc lập đưa vào CNN để trích 
chọn đặc trưng. Đối với cả hai khuôn mặt, 
các phép nhân (kernels) giống nhau của 
nơron tích chập được áp dụng và do đó 
biểu diễn của một khuôn mặt được cố 
định bất kể nó được so sánh với ai. Tuy 
nhiên, đối với con người chúng ta, thường 
tập trung vào các đặc điểm khác nhau của 
khuôn mặt khi so sánh nó với những người 
khác. Vì vậy, [Han18] đã đề xuất một cấu 
trúc CNN mới gọi là tích chập tương phản, 
đặc biệt tập trung vào các đặc điểm khác 
6 Nghiên cứu trao đổi ● Research-Exchange of opinion
biệt giữa hai khuôn mặt để so sánh, nghĩa 
là các đặc điểm tương phản giữa chúng. 
Kết quả thử nghiệm cho thấy rằng phép 
tích chập tương phản được đề xuất này cải 
thiện đáng kể so với CNN thông thường 
và hứa hẹn tính ưu việt trong ứng dụng. 
Phép tích chập tương phản có lợi thế nhờ 
vào việc sinh tự động kết quả tích chập 
dựa trên cặp khuôn mặt được đưa vào tính 
toán. Phép tích chập tương phản này có 
thể được kết hợp vào bất kỳ loại kiến trúc 
CNN nào. 
Nhằm nâng cao chất lượng nhận 
dạng cho mô hình dựa trên CNN, một số 
nghiên cứu đã áp dụng phương pháp học 
mạng nơron với kỹ thuật “triplet loss” 
[Amo16, Han18, Par15, Phi15, San18]. 
Theo đó, quá trình học được thực hiện với 
mỗi bộ ba mẫu học gồm, trong đó là hình 
ảnh của một người cụ thể (gọi là ảnh neo 
- anchor), là ảnh khác của cùng một người 
với ảnh (gọi là ảnh dương - positive) và là 
hình ảnh của bất kỳ một người khác (gọi là 
ảnh âm - negative). Mục tiêu ở đây là học 
mạng nơron (điều chỉnh trọng số mạng) 
sao cho phản hồi của mạng nơron với cặp 
mẫu là gần nhau hơn so với cặp mẫu. Có 
thể được mô tả bằng hình ảnh minh hoạ 
trực quan (Hình 1.3) và hình thức hoá  ... nhiệt đối với các ảnh 
khuôn mặt trong Hình 4.2 ở lần thử nghiệm 
thứ 2 (tính từ 0) của 10-folds (ký hiệu “t02” 
trên tiêu đề ảnh là viết tắt bằng 3 ký tự cuối 
của đối tượng “subject02”). Tất cả các hình 
ảnh trong Hình 4.4 đều được phân lớp đúng 
(#C2) tương ứng là giá trị đầu ra của mạng tại 
lớp đó cao nhất (giá trị 1.0). Bản đồ nhiệt này 
cho thấy các vùng ảnh được quan tâm bởi mô 
hình CNN chủ yếu trên các vùng đặc trưng 
của khuôn mặt, gồm vùng hai mắt, vùng 
miệng và mũi, vùng trán và tóc. So sánh với 
bản đồ nhiệt ở Hình 4.3, chúng ta thấy bản đồ 
nhiệt ở đây tập trung hơn vào các vùng đặc 
điểm chính của khuôn mặt, trong khi ở Hình 
4.3 còn có sự phân bố chưa tập trung vào các 
vùng đặc điểm chính của khuôn mặt. Điều 
này có thể được giải thích rằng ở trường hợp 
thử nghiệm 2-folds thì số mẫu dữ liệu học 
nhỏ (50%) nên khả năng tập trung vào những 
đặc điểm chính của khuôn mặt chưa cao, khi 
sử dụng số mẫu dữ liệu học nhiều hơn (90%) 
thì cho kết quả tốt hơn.
Hình 4.4- Bản đồ nhiệt trên các ảnh của đối tượng “subject02”
Kết quả quá trình huấn luyện mô hình 
CNN trên hai tập dữ liệu AT&T và Yale được 
thể hiện trong Hình 4.5 (AT&T là (a), Yale là 
(b)). Đây là kết quả 10 lần chạy thử nghiệm 
của trường hợp 10-folds. Kết quả trên cả hai 
tập dữ liệu đều cho kết quả độ chính xác phân 
lớp (accuracy) tốt từ lần học thứ 40, tiếp tục 
ổn định và nâng cao kết qủa học từ các lần 
học tiếp theo đến cuối cùng (đường màu đỏ). 
Tuy nhiên, đối với dữ liệu AT&T, có trường 
hợp thể hiện sự ổn định không cao của quá 
trình học tại lần học khoảng thứ 55 và sau đó 
16 Nghiên cứu trao đổi ● Research-Exchange of opinion
là xung quanh 70 (Hình 4.5a). Trong khi 
đó, tỷ lệ “loss” được áp dụng theo [Yam18] 
của mô hình trong quá trình học giảm mạnh 
ở lần học khoảng thứ 10, sau đó duy trì và 
giảm đến cuối (đường màu xanh).
Hình 4.5- Biểu đồ tỷ lệ accuracy và loss 
của quá trình huấn luyện
Hai hình vẽ sau thể hiện ma trận 
nhầm lẫn (“confusion matrix”) trong cả 3 
trường hợp thử nghiệm (2-folds, 5-folds, 
10-folds) của cả hai tập dữ liệu (ATT&T 
là Hình 4.6 và Yale là Hình 4.7). Mỗi lần 
chạy thử nghiệm xác định một ma trận 
nhầm lẫn, do đó kết quả này là cộng tổng 
của 2+5+10=17 lần chạy, dẫn đến có tối 
đa bằng 17 lần số mẫu dữ liệu trong mỗi 
lớp, cụ thể là 17×10=170 của AT&T và 
17×11=187 của Yale trên mỗi ô (tương 
ứng với mỗi lớp đối tượng). 
Đối với dữ liệu AT&T, lớp đối tượng 
“s14” có giá trị nhầm lẫn cao nhất là 10, 
được phân lớp nhầm sang lớp “s22”. Điều 
này có thể được giải thích là dữ liệu hình 
ảnh trong lớp “s14” có sự tương đồng về 
đặc điểm với hình ảnh trong lớp “s22”, 
trong khi mô hình CNN được huấn luyện 
chưa đạt đến sự phân biệt giữa các hình 
ảnh của hai lớp đối tượng này. Lớp “s22” 
này cũng nhận sai số nhầm lẫn đến từ các 
lớp khác nhiều nhất. Có 2 lượt mẫu dữ 
liệu ở các lớp “s10”, “s11”, “s16”, “s17”, 
“s16”, “s29” được phân lớp nhầm sang các 
lớp khác, tương ứng là “s8”, “s14”, “s24”, 
“s3”, “s28”, “s39”. Riêng lớp “s1” có 5 
lượt mẫu dữ liệu trong tổng số 170 lượt sử 
dụng được phân lớp nhầm, trong đó, 2 lượt 
phần lớp sang “s2”, 2 lượt phân lớp sang 
“s24” và một lượt phân lớp sang “s35”. 
Trong tập dữ liệu AT&T, có 16 lớp 
không bị nhầm lẫn trong tất cả các lượt áp 
dụng mẫu dữ liệu đánh giá gồm: s4, s6, s7, 
s9, s12, s13, s15, s18, s20, s21, s23, s25, s30, 
s32, s34, s38. Do bảng ma trận nhầm lẫn quá 
lớn nên chúng tôi đã loại bỏ các lớp này trong 
việc thể hiện và còn lại 24 lớp trên Hình 4.6.
Đối với dữ liệu Yale, lớp đối tượng 
“subject08” có giá trị nhầm lẫn cao nhất là 
7 với 6 lượt mẫu dữ liệu được phân lớp sang 
“subject10”, “subject13”, “subject15” (2 
lượt mẫu dữ liệu phân lớp nhầm sang mỗi 
lớp), và 1 lượt mẫu dữ liệu phân lớp nhầm 
sang “subject03”. Lớp “subject01” có giá 
trị nhầm lẫn cao thứ hai là 5 với 2 lượt mẫu 
dữ liệu được phân lớp sang “subject02”, 2 
phân lớp sang “subject15” và 1 phân lớp 
sang “subject08”. Có 3 lớp “subject03”, 
“subject05”, “subject15” với 3 lượt mẫu 
dữ liệu phân lớp nhầm sang các lớp khác. 
Còn lại các lớp “subject04”, “subject06”, 
“subject09” có từ 1 đến 2 trường hợp nhầm 
lẫn sang lớp khác. Trong tập dữ liệu này, có 
hai lớp “subject03” và “subject15” nhận sai 
sót nhầm lẫn nhiều nhất khi phân lớp từ các 
dữ liệu lớp khác với 5 trường hợp. Trong 
tập dữ liệu này, có duy nhất lớp “subject07” 
là không bị nhầm lẫn trong tất cả các lượt 
thử nghiệm và đánh giá.
17Nghiên cứu trao đổi ● Research-Exchange of opinion
Hình 4.6- Ma trận nhầm lẫn trên tập dữ liệu AT&T 
Hình 4.7- Ma trận nhầm lẫn trên tập dữ liệu Yale
18 Nghiên cứu trao đổi ● Research-Exchange of opinion
Bảng 4.1 và Bảng 4.2 thể hiện kết quả 
phân lớp của mô hình, kết quả này được tính 
trung bình (tỷ lệ % số mẫu phân lớp đúng trong 
tập kiểm tra) trên tất cả các lần chạy thử nghiệm 
trong từng trường hợp 2-folds, 5-folds, 10-folds 
và so sánh với các kết quả đã được công bố 
khác. Các trường hợp cho kết quả cao nhất 
được in đậm. Ký hiệu dấu “*” tại phương pháp 
là thể hiện không sử dụng kịch bản thử nghiệm 
k-fold cross-validation, tức là chỉ lấy một phần 
tỷ lệ dữ liệu trong tập mẫu để huấn luyện, phần 
còn lại để kiểm tra (tương ứng tỷ lệ số mẫu dữ 
liệu cho huấn luyện và kiểm tra là 50:50, 80:20, 
90:10). Do đó, chúng tôi lấy ra trường hợp cao 
nhất (dấu “*” bên cạnh số in đậm) trong các 
lần chạy thử nghiệm của k-folds để so sánh với 
kịch bản thử nghiệm này. 
Các phương pháp đề xuất trong 
[Abu18, Moh18] đều không sử dụng mô hình 
CNN, họ tập trung vào các kỹ thuật xử lý ảnh 
để tinh chỉnh, cải thiện chất lượng ảnh trước 
khi áp dụng mô hình, sau đó sử dụng kết hợp 
các kỹ thuật truyền thống như LBPH, KNN, 
BPNN hay Fisher LDA. Phương pháp đề 
xuất trong [Kam17, Olo18] đều sử dụng mô 
hình CNN để nhận dạng hình ảnh khuôn mặt, 
được sử dụng để so sánh cho tính tương thích 
về phương pháp của mô hình.
Đối với dữ liệu AT&T, kết quả 50:50 trong 
[Abu18] là cao nhất. Trường hợp 80:20, kết quả 
của chúng tôi đạt 98.75 là cao nhất, nếu tính theo 
5-folds kết quả này là 97.75. Trong khi đó, với tỷ 
lệ 90:10 thì phương pháp đề xuất đạt 100, trong 
khi tính theo 10-folds là 98.75. Trong kết quả 
tập dữ liệu Yale, trường hợp 50:50 thì [Abu18] 
cho kết quả cao nhất là 97.7, trong khi kết quả 
của [Moh18] cho cao nhất ở thử nghiệm 5-folds, 
còn kết quả của chúng tôi là 95.27 (thấp hơn 
2.43%) nhưng ở lần chạy cao nhất đạt 100. Đối 
với trường hợp 10-folds, kết quả của mô hình đề 
xuất là cao nhất (96.31) trong khi tại [Olo18] chỉ 
đạt 92.3 (thấp hơn 2.3%).
Phương pháp Mô tả chi tiết 50:50
2-folds
80:20
5-folds
90:10
10-folds
[Abu18] (không sử dụng CNN)* Proposed 1 97.5 - -
Proposed 2 98.0 - -
[Moh18] (không sử dụng CNN) Eye-aligned - 62.0 -
Proposed - 94.0 -
[Kam17]* Mô hình CNN 97.5 98.3 -
Phương pháp đề xuất Mô hình CNN 97.50 97.75 98.75
- Mức cao nhất 97.50 98.75* 100*
- Kết quả trên toàn bộ dữ liệu 98.75* 99.55* 99.63*
Bảng 4.1- Kết quả thử nghiệm mô hình của tập dữ liệu AT&T (ORL)
Phương pháp Mô tả chi tiết 50:50
2-folds
80:20
5-folds
90:10
10-folds
[Abu18] (không sử dụng CNN)* Proposed 1 96.7 - -
Proposed 2 97.7 - -
[Moh18] (không sử dụng CNN) Eye-aligned - 74.0 -
Proposed - 99.0 -
[Olo18] IIA - - 88.2
MP[20] - - 90.8
MG[20] - - 92.3
Proposed CNN - - 94.6
Phương pháp đề xuất Mô hình CNN 93.46 95.27 96.31
- Mức cao nhất 97.50 100* 100*
- Kết quả trên toàn bộ dữ liệu 96.67 99.03* 99.64*
Bảng 4.2- Kết quả thử nghiệm mô hình của tập dữ liệu Yale
19Nghiên cứu trao đổi ● Research-Exchange of opinion
Trường hợp đánh giá trên toàn bộ tập dữ 
liệu cho mô hình CNN được huấn luyện, kết 
quả thể hiện ở dòng cuối chữ in nghiêng. So 
sánh với [Kam17], vì họ cũng được thực hiện 
đánh giá trên toàn bộ dữ liệu, kết quả của chúng 
tôi đề xuất trên dữ liệu AT&T là cao hơn trong 
cả hai kịch bản thử nghiệm 2-folds (98.75 so 
với 97.5) và 5-folds (99.55 so với 98.3).
5. Kết luận
Trong bài báo này, chúng tôi đã đề 
xuất một mô hình dựa trên mạng nơron tích 
chập (CNN) để nhận dạng khuôn mặt con 
người. Mô hình này có 4 lớp nơron tích chập 
(CONV) và 2 lớp nơron liên kết đầy đủ (FC), 
tổng số tham số là khoảng 12 triệu. Trong khi 
đó, các mô hình của [Def18, Cao18] dựa trên 
kiến trúc VGG gồm 13 lớp CONV và 3 lớp 
FC, số lượng khoảng 138 triệu tham số, gấp 
hơn 10 lần. Mô hình CNN trong [Han18] có 
16 lớp CONV, mô hình của [Phi15] có 11 lớp 
CONV và 3 lớp FC, mô hình của [San18] có 
8 lớp CONV và 1 lớp FC, tất cả đều có độ 
phức tạp của mô hình lớn hơn của chúng tôi. 
Tuy nhiên, mô hình của [Kam17] chỉ có 2 
lớp CONV nhưng đã được tích hợp giai đoạn 
tiền xử lý hình ảnh khá chi tiết và phức tạp, 
trong [Olo18] sử dụng mô hình ResNet với 
độ phức tạp rất lớn, ở phiên bản thấp nhất 
cũng lên đến 17 lớp CONV. Như vậy, có thể 
khẳng định mô hình của chúng tôi có độ phức 
tạp ở mức vừa phải, phù hợp với các hệ thống 
tính toán ở mức trung bình và đem lại tiềm 
năng khả thi trong ứng dụng thực tiễn.
Mặc dù độ phức tạp của mô hình ở mức 
thấp so với các mô hình khác, nhưng kết quả 
thử nghiệm cho thấy tính hiệu quả của phân lớp 
khá cao. Hiện nay do điều kiện tính toán nên 
chúng tôi chỉ áp dụng số lần huấn luyện còn 
thấp, nếu được huấn luyện ở mức độ sâu hơn 
thì kỳ vọng sẽ đem lại kết quả cao hơn nữa.
Trong thời gian tới, chúng tôi sẽ nghiên 
cứu cải thiện hiệu quả phân lớp bằng cách áp 
dụng mô hình phân lớp SVM thay thế cho 
các lớp nơron dạng FC trong mô hình CNN, 
phân tích điều chỉnh một số lớp CONV bằng 
lớp nơron dạng Inception [San18, Amo16, 
Phi15]. Tiếp theo, chúng tôi sẽ thiết kế một hệ 
thống thu thập dữ liệu hình ảnh để tạo bộ dữ 
liệu huấn luyện cho mô hình, từ đó xây dựng 
một ứng dụng cho bài toán thực tiễn như hệ 
thống điểm danh sinh viên có mặt ở lớp học, 
hệ thống giám sát cá bộ vào/ra cổng cơ quan, 
hệ thống theo dõi và định danh liên tục quá 
trình học tập của người học trực tuyến.
Tài liệu tham khảo:
[1]. [Abu18] M. A. Abuzneid, A. Mahmood, 
“Enhanced Human Face Recognition Using 
LBPH Descriptor, Multi-KNN, and BPNN”, 
IEEE Access, Vol. 6, pp.20641-20651, 2018.
[2]. [Ami16] Alexander Amigud et al., “A 
Behavioral Biometrics Based and Machine 
Learning Aided Framework for Academic 
Integrity in E-Assessment”, International 
Conference on Intelligent Networking and 
Collaborative Systems, pp.225-262, 2016.
[3]. [Amo16] Brandon Amos, Bartosz Ludwiczuk 
and Mahadev Satyanarayanan, “OpenFace: A 
general-purpose face recognition library with 
mobile applications”, 2016.
[4]. [Ary18] Shraddha Arya, Arpit Agrawal, “Face 
Recognition with Partial Face Recognition and 
Convolutional Neural Network”, International 
Journal of Advanced Research in Computer 
Engineering & Technology (IJARCET), Vol.7, 
Iss.1, pp.91-94, ISSN: 2278 – 1323, 2018.
[5]. [Cao18] Qiong Cao, Li Shen, Weidi Xie, Omkar 
M. Parkhi and Andrew Zisserman, “VGGFace2 - 
A dataset for recognising faces across pose and 
age”, IEEE Conference on Automatic Face and 
Gesture Recognition,  
~vgg/data/vgg face2/, 2018.
[6]. [Def18] Lionel Landry S. Deffo, Elie T. Fute, 
Emmanuel Tonye, “CNNSFR: A Convolutional 
Neural Network System for Face Detection and 
Recognition”, International Journal of Advanced 
Computer Science and Applications, Vol. 9, No. 
12, pp.240-244, 2018.
20 Nghiên cứu trao đổi ● Research-Exchange of opinion
[7]. [Der18] Ekberjan Derman and Albert Ali 
Salah, “Continuous Real-Time Vehicle Driver 
Authentication Using Convolutional Neural 
Network Based Face Recognition”, 13th IEEE 
International Conference on Automatic Face & 
Gesture Recognition, 2018.
[8]. [Fay14] Ayham Fayyoumi, Anis Zarrad, 
“Novel Solution Based on Face Recognition to 
Address Identity Theft and Cheating in Online 
Examination Systems”, Advances in Internet of 
Things, 4, pp.5-12, 2014.
[9]. [Gui17] Francisco D. Guillen-Gamez, 
“Biometrics and education: a review about facial 
authentication software for the identification and 
verification of students who use virtual learning 
platform (LMS)”, Advances in Educational 
Technology and Psychology, pp.1-8, Clausius 
Scientific Press, Canada, 2017.
[10]. [Han18] Chunrui Han, Shiguang Shan, 
Meina Kan, Shuzhe Wu, and Xilin Chen, “Face 
Recognition with Contrastive Convolution”, 
European Conference on Computer Vision: 
Computer Vision – ECCV, pp.120-135, 2018.
[11]. [Kam17] Patrik Kamencay, Miroslav 
Benco, Tomas Mizdos and Roman Radil, “A 
New Method for Face Recognition Using 
Convolutional Neural Network”, Digital Image 
Processing and Computer Graphics, Vol. 15, No. 
4, pp.663-672, 2017.
[12]. [Lop15] Andre Teixeira Lopes, Edilson 
de Aguiar, Thiago Oliveira-Santos, “A Facial 
Expression Recognition System Using Convolutional 
Networks”, 28th SIBGRAPI Conference on 
Graphics, Patterns and Images, 2015.
[13]. [Moh18] Hoda Mohammadzade, 
Amirhossein Sayyafan, Benyamin Ghojogh, 
“Pixel-Level Alignment of Facial Images for 
High Accuracy Recognition Using Ensemble 
of Patches”, Journal of the Optical Society of 
America A 35(7), 2018.
[14]. [Par15] Omkar M. Parkhi, Andrea Vedaldi, 
Andrew Zisserman, “Deep Face Recognition”, 
University of Oxford, 2015.
[15]. [Phi15] James Philbin, Florian Schroff, 
Dmitry Kalenichenko, “FaceNet: A Unified 
Embedding for Face Recognition and Clustering”, 
IEEE Conference on Computer Vision and 
Pattern Recognition (CVPR), 2015.
[16]. [San18] Kevin Santoso, Gede Putra 
Kusuma, Kevin Santoso, Gede Putra Kusuma, 
“Face Recognition Using Modified OpenFace”, 
3rd International Conference on Computer 
Science and Computational Intelligence, Procedia 
Computer Science, No.135, pp.510–517, 2018.
[17]. [Saw18] Sonali Sawardekar, Sowmiya 
Raksha Naik, “Facial Expression Recognition 
using Efficient LBP and CNN”, International 
Research Journal of Engineering and Technology 
(IRJET), e-ISSN: 2395-0056, Volume: 05, Issue: 
06, p-ISSN: 2395-0072, pp.2273-2277, 2018. 
[18]. [Sya14] R. Syafeeza et al., “Convolutional 
Neural Network for Face Recognition with Pose 
and Illumination Variation”, International Journal 
of Engineering and Technology (IJET), pp.44-57, 
2014.
[19]. [Olo18] Muhtahir O. Oloyede et al., 
“Improving Face Recognition Systems Using 
a New Image Enhancement Technique, Hybrid 
Features and the Convolutional Neural Network”, 
IEEE Access, vol. 6, pp. 75181-75191, 2018.
[20]. [Cui17] Li Cuimei, Qi Zhiliang, Jia Nan and 
Wu Jianhua, “Human face detection algorithm 
via Haar cascade classifier combined with three 
additional classifiers”, IEEE 13th International 
Conference on Electronic Measurement & 
Instruments, pp.483-487, 2017.
[21]. [Sel17] Ramprasaath R. Selvaraju et al., 
“Grad-CAM: Visual Explanations from Deep 
Networks via Gradient-based Localization”, IEEE 
International Conference on Computer Vision 
(ICCV), Electronic ISSN: 2380-7504, 2017.
Địa chỉ tác giả: Trường Đại học Mở Hà Nội
Email: duongthanglong@hou.edu.vn

File đính kèm:

  • pdfmot_phuong_phap_nhan_dang_khuon_mat_dua_tren_mang_noron_tich.pdf