TÓM TẮT KHÓA LUẬNNhận diện khuôn mặt là một bài toán quan trọng trong thị giác máy tính, thu hút sự quan tâm nghiên cứu rộng rãi do khả năng ứng dụng đa dạng của nó.. Tuy nhiên, việc ứng
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHÓ HÒ CHÍ MINH
ĐẠI HỌC CÔNG NGHE THONG TIN
KHOA KHOA HỌC MAY TINH
NGUYEN VAN HOANG - 20521346
KHOA LUAN TOT NGHIEP
XÂY DUNG HE THONG NHẬN DIỆN KHUÔN MAT CHO ©
CAMERA AN NINH HO TRỢ CANH BAO XÂM NHAP VÀ MỞ
KHOA CUA TU DONG
BUILDING A FACIAL RECOGNITION SYSTEM FOR SECURITY
CAMERA TO SUPPORT INTRUSION ALERTS AND
AUTOMATIC DOOR UNLOCKING
CU NHÂN NGANH KHOA HOC MAY TÍNH
GIANG VIEN HUONG DAN
TS NGO DUC THANH
ThS DO VAN TIEN
TP HO CHi MINH, 2023
Trang 2DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo quyết định số
154/QD-DHCNTT ngày 15/12/2023 của Hiệu trưởng Trường Đại
học Công nghệ Thông tin.
1 đ sp - Chủ tịch.
2 Z P: GP: <6 - Thư ký.
3 ÁP HP, - Uỷ viên.
Trang 3LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn thầy Ngô Đức Thành và thầy
Đỗ Văn Tiến, hai người thầy đã tận tâm hướng dẫn em trong suốt
quá trình thực hiện khoá luận Không chỉ giúp em vượt qua khó khăn
gặp phải khi thực hiện khoá luận, khi làm việc với thầy, em còn được
học những kiến thức, kỹ năng quan trọng giúp ích cho công việc của mình sau này Em cũng xin gửi lời cảm ơn đến các bạn thuộc CLB
AI Club - Trường ĐH Công nghệ Thông tin - ĐHQG TP.HCM đã hỗ
trợ em trong việc thực hiện và hoàn thiện đồ án Cuối cùng, em xin
gửi lời cảm ơn đến tất các cả thầy, cô là giảng viên của trường nói
chung và khoa Khoa học máy tính nói riêng đã giảng dạy, chỉ bảo tận tâm trong suốt thời gian em học tập và rèn luyện tại trường Đại học
Công nghệ Thông tin.
TP Hồ Chí Minh, tháng 12 năm 2023
Sinh viên thực hiện
Trang 4TÓM TẮT KHÓA LUẬN
Nhận diện khuôn mặt là một bài toán quan trọng trong thị giác máy
tính, thu hút sự quan tâm nghiên cứu rộng rãi do khả năng ứng dụng
đa dạng của nó Bài toán này liên quan đến việc phân tích hình ảnh
khuôn mặt được thu thập từ nhiều nguồn khác nhau như ảnh tĩnh và
hình ảnh từ camera, nhằm xác định danh tính của các cá nhân Ngày
nay, sự phổ biến va phát triển rộng rãi của camera đòi hỏi chúng phải
"thông minh" hơn, không chỉ đơn thuần là công cụ ghi lại hình ảnh.
Một trong số những ứng dụng sử dụng camera an ninh có thể kể đến
là nhận diện khuôn mặt Tuy nhiên, việc ứng dụng camera an ninh
vào bài toán nhận diện khuôn mặt còn gặp nhiều thách thức và khó
khăn như góc nhìn không lý tưởng của camera, hình ảnh khuôn mặt
có kích thước nhỏ, hiện tượng mờ do chuyển động, chất lượng của
đường truyền ảnh, tất cả đều ảnh hưởng đến tốc độ xử lý và độ
chính xác của quá trình nhận diện khuôn mat.
Vì vậy, sinh viên chọn đề tài xây dựng hệ thống nhận diện khuôn mặtcho camera an ninh với mục tiêu tìm hiểu quy trình giải quyết bài
toán nhận dạng khuôn mặt Áp dụng các kỹ thuật học sâu nhằm cải
thiện độ chính xác của bài toán.
Trong khóa luận này, sinh viên đã thử nghiệm cụ thể ba mô hình
phát hiện khuôn mặt là MTCNN[1], RetinaFace[2], và YOLOv8[3] trên tập dữ liệu WiderFace[4] và hai mô hình nhận diện khuôn mat
là ArcFace[5] và AdaFace[6] trên bộ dữ liệu TinyFace[7].
Trang 5Kết quả thử nghiệm cho thấy mô hình YOLOv§ cho kết quả tốt hơn
so với hai mô hình MTCNN và RetinaFace trong việc phát hiện
khuôn mặt trên tập dữ liệu WiderFace Cụ thể, YOLOv8 đã đạt được
một giá trị mAP (Mean Average Precision) cao là 98.49%, trong khi
MTCNN và RetinaFace chỉ có giá tri mAP tương ứng là 62.49% và
73.22% Đối với bài toán nhận diện khuôn mặt, mô hình AdaFace đã
đạt được độ chính xác là 81.8%, trong khi ArcFace đạt 72.4% Tuy
AdaFace có tốc độ embedding chậm hơn một chút (180
ms/embed-ding so với 122 ms/embedms/embed-ding của ArcFace), nhưng vẫn được xem xét là lựa chọn tốt.
Dựa trên các kết quả này, sinh viên đã quyết định sử dụng hai mô
hình YOLOv8 và AdaFace để xây dung ứng dung minh họa trong
khóa luận của mình.
Từ khóa: Nhận dạng khuôn mặt, Facial Recognition Algorithms,
Security Camera Face Analysis, Small Face Image Processing.
Trang 6Mục lục
Mục lục
Danh sách hình vẽ
Danh sách bang
Danh mục từ viết tắt
1 TONG QUAN
1.1
1.2
1.3
1.4
Mục tiêu vàphạmv!
12.1 MụctiêU Q Q Q Q2 122 Phamvi 2 0 00 eee ee ee Dong góp cuakhoaluan
Câu trickhéaluén
2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIEN QUAN 2.1 2.2 Giới thiệu về bài toán nhận diện khuôn mat
2.1.1 Nhận diện khuôn mặt
2.1.2 Nhận diện khuôn mặt từ ảnh cameraanninh
Quy trình nhận diện khuôn mặt
Vili
xi
xii
Trang 7MỤC LỤC
2.3
2.4
2.5
Phương pháp nhận diện khuôn mặt dùng kỹ thuật học sâu (deep
2.3.1 Giớithiệu Ặ.Ặ 2 eee ee 11
2.3.2 Hướng tiếp cận bài toán nhận diện khuôn mat 12
2.3.3 Ứng dụng cua bài toán nhận diện khuôn mặt 13
Cơ sở lý thuyết 14
2.4.1 Mạng nơ-ron nhân tạo(ANNs) 14
2.4.2 Mạng Nơ-ron Tích Chập(CNN) 19
Kétchuong ẶQQQ Q TQ 26 NHẬN DIỆN KHUÔN MẶT SỬ DỤNG PHƯƠNG PHÁP HỌC SÂU 28 3.1 3.2 3.3 Phát hiện khuôn mặt 28
3.1.1 MIỆNN?” #.<4 — \ / 28
3.1.1.1 P-Net (Proposal Network) 29
3.112 R-Net (Refine Network) 30
3.1.1.3 O-Net(OutputNetwork) 31
3.12 RetinaFace 0.2.0.2 00 00005 32 3.13 YOLOv8-face So 35 3.1.3.1 Kiếntrúc 36
3.1.3.2 Cac Tính Năng Dac Biệt 37
Nhận dạng khuôn mặt 38
3.2.1 ArcFace Qua 38 3.2.2 AdaFace 0.2 002 eee eee 40 Searching Embedding Vector 44
3.3.1 SimilaritySearching 44
3.3.2 Evaluating similarity search 45
VI
Trang 8MỤC LỤC
4_ THỰC NGHIỆM VÀ ĐÁNH GIÁ 49
4.1 Bodttligu ee 49
4.1.1 7 WIDERFACE 49
4.1.2 Tinyface 2 0.0.2.0 Q Q HQ va 51 4.1.3 Dữ liệu tựxâydựng 52
4.2 Các độ đo sử dụng để đánhgiá 53
4.2.1 ConfusionMatrix 53
4.2.2 PrecsionandRecal 53
423 Fl-Score 0 0000000000 54 424 l0l <e-_2=a 55
425 mAP ð⁄⁄ gi & 2 Yee 55 4.2.6 Số khung hình trên giây (FPS) 56
4.3 Kếtquả và đánhgiá 57
4.3.1 Kgs) gem MB ⁄ ` 57
4.3.1.1 Giai đoạn phat hiện khu6n mat 57
4.3.1.2 Giaidoan nhận diện khuôn mat 58
43.2 Phântchkếtquả 59
44 Xây dựng ứng dụng mnhhọa 59
45 Kétluan 0.00.00 000 ce eee eee 63
5 KET LUAN VA HUGNG PHAT TRIEN 65
5.2 Hướng pháttriển 0.0.0.0 02008 65
Tai liéu tham khao 67
vii
Trang 9Danh sách hình ve
1.1
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
3.1
Ảnh minh hoa dau vào va dau ra của bai toán nhận dang khuôn
Phân loại bài toán face recognitlon
Luông xử lý nhận diện khuôn mặt[S]
Minh họa kiến trúc đơn giản của mạng thần kinh ANNs
Minh họa song song tế bào thần kinh sinh học (trái) và nhân tạo (phải), nguồn: [9]
Hàm Sigmoid, nguồn[9]
Hàm Tanh, nguồn a Ham ReLU, nguon [9l
Minh họa phép tích chập.(nguôn internet!)
Minh họa tích chập của một ảnh RGB và ma trận kernel(nguồn internet 7) c c Q Q n Q Q và 2x2 Mô phỏng quá trình tích chập trong CNN.(nguồn Medium?) Mô phỏng phép tính ReLU.(nguồn Viblo)
Ví dụ mô phỏng Max-pooling
Mô phỏng lớp Fully connected.(nguồn VibloŸ)
Kiến trúc Pnet.(nguồn Viblo)
Viil
24
Trang 10ArcFace loss.(nguồn từ bài báo [5]) 39
So sánh không gian phân biệt lớp giữa hàm mat mát Softmax
và ArcFace: (a) Hình tròn biểu diễn không gian đặc trưng dùng
trong Softmax, nơi các lớp không có sự phân biệt rõ ràng, và
(b) Biểu đồ ArcFace, hiển thị không gian đặc trưng với các góccộng thêm giúp tăng cường sự phân biệt giữa các lớp."(nguồn từ
bài báo [5]) ee 40
Ví dụ về hình ảnh khuôn mặt với các mức độ chất lượng và khả
năng nhận biết khác nhau.(ngu6n từ bài báo [ó]) 41
Loss function adaface.(ngu6n từ bài báo [6]) 42
1X
Trang 11DANH SÁCH HÌNH VẼ
3.13 (a) Đồ thị tương quan Pearson với chất lượng hình ảnh điểm
(1-BRISQUE) qua các giai đoạn đào tạo Màu xanh lá cây va màu
cam các đường cong tương ứng với biểu đồ tương quan sử dụng
định mức đặc trưng ||2;|| và đầu ra xác suất cho chỉ số chân lý
cơ bản P;,;, tương ứng (b) và (c) Các biểu đồ phân tán tương ứng cho lần cuối cùng kỷ nguyên Đường màu xanh trên biểu đồ
phân tán và đường tương ứng phương trình hiển thị đường bình
phương nhỏ nhất phù hợp với các điểm dữ liệu.(nguồn từ bài báo
[6] ee
3.14 Luéng xử lý Faiss.(nguồn Medium!)
4.1 Ví dụ minh họa cho bộ dữ liệu WIDER FACE
4.2 Ví dụ minh họa cho bộ dữ liệu Tinyface
4.3 Minh họa cho quá trình thu thập dữ liệu
4.4 Minh họa cho Confusion maftrix
4.5 Minh họacholOU
4.6 Công thức biểu diện mAP
54 55 56 4.7 Biểu đồ so sánh kết quả của các mô hình trên tập dữ liệu WiderFace 58 4.8 Minh họa một số kết quả trong trường hợp thực tế .
4.9 Kiến trúc hệ thống ứng dụng minhhọa
4.10 Phần hiển thịcamera
4.11 Hình minh họa phần quản lý
60
Trang 12Số liệu WiderFace Dataset 50
Số liệu TinyFace Dataset 52
Bảng thông tin về các bộ dữ liệu phát hiện và nhận dang khuôn
Kết quả so sánh các phương pháp phát hiện khuôn mặt trên tập
dữ liệu WiderFace QỒ ẶQ c 58
Kết quả đánh giá nhận dạng khuôn mặt trên tập dữ liệu LFW và
dữ liệu thu thập 59
XI
Trang 13Danh mục từ viết tắt
Abbreviation | Full Form
ANN(s) Artificial Neural Networks CNN(s) Convolutional Neural Networks
PCA Principal Component Analysis SVM Support Vector Machine
xI
Trang 14Chương 1
TỔNG QUAN
1.1 Đặt van đề
Trong thời buổi công nghệ thông tin và trí tuệ nhân tạo ngày càng phát triển,
công nghệ nhận diện khuôn mặt đã trở thành một trong những công cụ thiết yếutrong công tác an ninh cũng như trong việc xây dựng các hệ thống tự động hóa
thông minh Bài toán nhận diện khuôn mặt — face recognition không chi là thành
phần trong việc xác minh danh tính trực tuyến mà nó còn đóng vai trò quan trọng
trong các hệ thống an ninh, quản lý cửa ra vào, theo dõi người qua lại Bài toán
được mô tả cụ thể với đầu vào là ảnh chứa khuôn mặt cần nhận diện có thể làảnh kỹ thuật số hoặc khung hình được lấy từ nguồn video hoặc camera và đầu ra
là danh tính được xác minh của của người đó ví dụ như tên hoặc ID ( nếu khuôn
mặt đó đã được đăng ký trong hệ thống dữ liệu lưu trữ) (ảnh minh hoa 1.1)
‹ Đầu vào (input): Ảnh chứa khuôn mặt cần nhận diện.
‹ Dau ra (output): Thông tin về việc nhận dang cá nhân dựa trên ảnh khuôn
mặt đầu vào.
Vài năm gần đây những mô hình nhận diện khuôn mặt có những kết quả rấttốt, gần như là tuyệt đối với những hình ảnh, bộ dữ liệu có chất lượng cao Tuy
Trang 151 Tổng quan
Hình 1.1: Ảnh minh hoạ đầu vào và đầu ra của bài toán nhận dạng khuôn mặt
nhiên, khi áp dụng các mô hình này vào những hệ thống thực tế, gặp phải rất
nhiều khó khăn và thách thức Một trong số những ứng dụng phổ biến của bài
toán này có thể kể đến là hệ thống mở cửa bằng khuôn mặt Trong quá trình
quan sát dữ liệu, tôi nhận xét rằng khuôn mặt được lấy từ camera an ninh cóchất lượng thấp như độ phân giải thấp, kích thước khuôn mặt nhỏ, (ví dụ như16x16 pixel ), mờ do chuyển động Các yếu tốt trên gây ảnh hướng đến độ chính
xác của các hệ thống nhận diện khuôn mặt Bên cạnh đó, việc camera an ninh
thường được đặt ở các vị trí, góc độ khác nhau dẫn đến góc nhìn sư đa dạng về
kích thước, góc nhìn của khuôn mặt Tất cả những yếu tố trên làm bài toán nhận
diện khuôn mặt phải đối diện với nhiều thách thức, khiến cho bài toán trở nênphức tạp hơn Vì những nguyên nhân trên, tôi thực hiện đồ án này tập trung vàoviệc sử dụng kiến thức trong lĩnh vực Computer Vision và Machine Learning,tìm hiểu, thực nghiệm và so sánh một số phương pháp tiên tiến hiện nay trên
những bộ dữ liệu ảnh khuôn mặt từ camera an ninh do tôi thu thập, thử nghiệm
cải thiện độ chính xác bằng việc áp dụng một số phương pháp tăng cường chất
lượng hình ảnh Sau cùng sẽ xây dựng một ứng dụng minh họa nhận diện khuôn
mặt từ camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động.
Trang 161 Tổng quan
1.2 Mục tiêu và phạm vi
1.21 Mục tiêu
Để thực hiện dé tài khóa luận "Xây dựng hệ thống nhận diện khuôn mặt cho
camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động", tôi đặt ra
những mục tiêu cần phải thực hiện như sau:
1 Tìm hiểu tổng quan về bài toán nhận diện khuôn mặt, các bước thực hiện
và các hướng tiếp cận tiên tiến hiện nay cho bài toán
2 Thu thập dữ liệu khuôn mặt từ camera an ninh để tiến hành
3 Chạy thực nghiệm một số phương pháp để đánh giá, phân tích các ưu
nhược điểm, khó khăn của các phương pháp.
4 Xây dựng một hệ thống camera an ninh phát hiện và nhận diện khuôn mặt,
gửi thông báo cho người dùng và thực hiện các tác vụ như mở cửa hoặc
cảnh báo xâm nhập.
1.2.2 Pham vi
Dựa vào những mục tiêu đã dé xuất tai nội dung 1.2.1, trong khuôn khổ củakhóa luận, tôi sẽ tập trung hoàn thành những nội dung sau đây:
1 Nghiên cứu tổng quan về bài toán nhận diện khuôn mặt như cơ sở lý thuyết,
các kiến thức cần thiết để giải quyết bài toán.
2 Thu thập một số dữ liệu khuôn mặt từ camera an ninh
3 Cài đặt một số phương pháp nhận dạng khuôn mặt theo từng giai đoạn:
s Phat hiện khuôn mat (face detection): MTCNN, RetinaFace, YOLOVS.
Trang 171 Tổng quan
¢ Nhận dạng khuôn mặt (face recognition): ArcFace, AdaFace.
4 Xây dựng và phát triển ứng dung minh hoa nhận diện khuôn mặt từ camera
an ninh trên nền tang web.
1.3 Đóng góp của khóa luận
Sau đây là một số kết quả mà tôi đạt được trong quá trình thực hiện khóaluận:
1 Cung cấp tài liệu tổng hợp về bài toán nhận diện khuôn mặt Tài liệu tổng
hợp về các phương pháp Deep learning áp dụng cho bài toán
2 Xây dựng bộ dữ liệu khuôn mặt gồm 300 ảnh.
3 Kết quả đánh giá một số phương pháp tiên tiến hiện nay trên những tập dữ
liệu đặc trưng cho bài toán nhận diện khuôn mặt từ camera.
4 Ứng dụng minh họa cho đề tài sử dụng mô hình tốt nhất khi đánh giá trên
tập dữ liệu đặc trưng cho bài toán (dự liệu khuôn mặt từ camera an ninh).
1.4 Cấu trúc khóa luận
Chương 1: Giới thiệu tổng quan về bài toán nhận dạng khuôn mặt
Chương 2: Trình bày về cơ sở lý thuyết và các nghiên cứu liên quan đến bài
Trang 181 Tổng quan
Chương 6: Kết luận về khóa luận tốt nghiệp và hướng phát triển trong tương
lai.
Trang 19Chương 2
CƠ SỞ LÝ THUYÊT VÀ CÁC
NGHIÊN CỨU LIÊN QUAN
Trước khi đi vào nội dung chính của khóa luận, tôi sẽ trình bày các khái
niệm, cơ sở lý thuyết của bài toán nhận dạng khuôn mặt và một số hướng tiếp
cận phổ biến hiện nay.
Sau đó, tôi sẽ trình bày về quá trình nhận dạng khuôn mặt, bao gồm cácthành phần chính như phát hiện khuôn mặt, theo dõi, căn chỉnh và trích xuất đặctrưng, từ đó chỉ ra những thách thức kỹ thuật khi xây dựng một hệ thống nhậndạng khuôn mặt Tôi tập trung vào tầm quan trọng của các giải pháp thành côngnhất có sẵn cho đến nay
Phần cuối của chương mô tả các phương pháp và ứng dụng nhận dạng khuônmặt và các thách thức mà bài toán gặp phải khi áp dụng vào thực tế
2.1 Giới thiệu về bài toán nhận diện khuôn mat
2.1.1 Nhan diện khuôn mặt
Nhận diện khuôn mặt (Face Recognition - FR) là một lĩnh vực nghiên cứu đã
phát triển mạnh mẽ từ những năm 1990 Qua các giai đoạn phát triển, công nghệ
Trang 202 Cơ sở lý thuyết và các nghiên cứu liên quan
này từng bước trở thành không thể thiếu trong việc xác định danh tính cá nhân
dựa trên hình ảnh khuôn mặt Trong quá trình nhận diện, hình ảnh cần được xác
minh (probe) được so sánh với hình ảnh đã biết (gallery) trong cơ sở đữ liệu
Bài toán ER có thể chia thành 2 bài toán cụ thể: xác thực khuôn mặt (face
verification) và nhận diện khuôn mặt (face identification) Xác thực khuôn mặt
là quá trình so sánh "một-một”, tức là xác định liệu hai hình ảnh khuôn mặt có
thuộc về cùng một người hay không, với kết quả dạng nhị phân Ứng dụng phổ
biến của phương pháp này là trong các hệ thống FaceID, giúp xác nhận danh
tính chủ nhân của thiết bị di động Trong khi đó, nhận diện khuôn mặt là quá
trình "một-nhiều", nghĩa là xác định danh tính của khuôn mặt trong hình ảnh
probe dựa trên cơ sở dữ liệu danh tính đã có.
FR còn được chia thành hai dạng: close-set và open-set Trong close-set, hệ
thống phân loại các probe dựa trên tập hợp khuôn mặt có san trong gallery, nhằm
phân biệt xem hình ảnh đó có năm trong tập dữ liệu đã biết hay không Trong
khi đó, open-set không chỉ đòi hỏi xác định danh tính của những người có trong
gallery, mà còn cần xác định xem người đó có thuộc về tập dữ liệu đã biết hay
không Một ví dụ ứng dụng thực tế là trong hệ thống điểm danh tự động tại các
công ty, nơi hệ thống cần từ chối nhận dạng những người không thuộc tổ chức
để đảm bảo an ninh.
Có một số lý do cho sự gia tăng gần đây vào bài toán nhận dạng khuôn mặt,bao gồm sự quan tâm ngày càng tăng của mọi người đối với vấn đề bảo mật, nhucầu xác minh danh tính trong thế giới kỹ thuật số, các kỹ thuật phân tích khuôn
mặt trong quản lý dữ liệu đa phương tiện và giải trí máy tính.
2.1.2 Nhận diện khuôn mặt từ ảnh camera an ninh
Nhận dạng khuôn mặt từ camera an ninh (CCTV) là một ứng dung quantrọng và đặc biệt trong lĩnh vực bảo mật và giám sát Trong thời đại số hóa ngày
Trang 212 Cơ sở lý thuyết và các nghiên cứu liên quan
Face Verifivation Face Identification
Hinh 2.1: Phan loai bai toan face recognition.
nay, hệ thống camera an ninh đã trở thành một phan không thể thiếu trong việc
bảo vệ tài sản và đảm bao an toàn công cộng Một trong những yếu tổ quan trongcủa hệ thống CCTV là khả năng nhận diện và xác định các cá nhân xuất hiện
trong phạm vi quan sát.
Việc tích hợp công nghệ nhận dạng khuôn mặt vào hệ thống CCTV đã mang
lại nhiều lợi ích quan trọng Đầu tiên, nó cung cấp khả năng xác định và theo dõi
các đối tượng cụ thể dựa trên khuôn mặt của họ, cho phép các tổ chức thực hiệngiám sát hiệu quả hơn và phản ứng nhanh chóng đối với các sự kiện quan trọng
Trang 222 Cơ sở lý thuyết và các nghiên cứu liên quan
Thứ hai, nhận dạng khuôn mặt từ CCTV có thể sử dụng để xác minh danh tính
và kiểm tra quyển truy cập vào các khu vực an ninh như ngân hàng, trường học,
và các cơ sở kinh doanh quan trọng.
Tuy nhiên, việc tích hợp công nghệ nhận dạng khuôn mặt vào hệ thốngCCTV cũng đối mặt với nhiều thách thức đáng kể do các yếu tố sau đây cóthể ảnh hưởng đáng kể đến độ chính xác và đáng tin cậy của hệ thống:
¢ Biến đổi về Kích Thước Khuôn Mặt: Camera an ninh thường ghi lại các
khuôn mặt ở các khoảng cách khác nhau, dẫn đến sự biến đổi về kích thướccác đặc trưng khuôn mặt Việc điều chỉnh và chuẩn hóa các khuôn mặt này
để tiến hành nhận dang có thể là một nhiệm vụ phức tap, đặc biệt khi khuôn mặt xuất hiện nhỏ do khoảng cách xa với camera.
¢ Ảnh Chất Lượng Thấp: Nhiều camera an ninh tạo ra các hình ảnh có độ
phân giải thấp, giới hạn sự chỉ tiết của khuôn mặt có sẵn để tiến hành nhậndạng Điều này có thể hạn chế khả năng của hệ thống phân biệt giữa các
cá nhân một cách chính xác.
« Điều Kiện Ánh Sáng Không Đồng Déu: Ánh sáng trong hình ảnh từ
cam-era an ninh có thể thay đổi không đều, với các khuôn mặt xuất hiện dưới
sự chiếu sáng ngoài trời thay đổi hoặc dưới ánh sáng nhân tạo mạnh Sựbiến đổi này có thể làm cho việc trích xuất các đặc trưng khuôn mặt đồngnhất để tiến hành nhận dạng trở nên khó khăn
« Hiện Tượng Mờ Do Chuyển Động: Những người và đối tượng trong hình
ảnh từ camera an ninh thường trong tình trạng chuyển động Sự chuyển
động này có thể gây mờ hình ảnh khuôn mặt, làm cho hệ thống khó khăntrong việc xác định và so khớp các đặc trưng khuôn mặt một cách chính xác.
Trang 232 Cơ sở lý thuyết và các nghiên cứu liên quan
« Che Khuất Một Phần: Ở các khu vực đông đúc hoặc nơi có nhiều vật cản,
khuôn mặt có thể bị che khuất một phần bởi các vật thể, phụ kiện hoặcnhững người khác Xử lý việc che khuất một phần là một thách thức lớnđối với các hệ thống nhận dạng khuôn mặt, vì họ phải vẫn xác định khuôn
mặt một cách chính xác khi các khu vực quan trọng của khuôn mặt bị che
khuất
Trong phần tiếp theo của bài viết này, chúng tôi sẽ xem xét cụ thể hơn về
cách công nghệ nhận dạng khuôn mặt đã được tích hợp vào hệ thống CCTV để
cải thiện bảo mật và quản lý an ninh.
2.2 Quy trình nhận diện khuôn mặt
Nhận diện khuôn mặt thường được mô tả với quy trình gồm 4 buéc[8]:
1 Phát hiện khuôn mặt (face detection): Xác định vị trí của một hoặc nhiều
khuôn mặt trong ảnh và đánh dau bằng các hộp giới han (bounding box)
2 Căn chỉnh khuôn mặt (face alignment): Chuẩn hóa khuôn mặt để phù hợp
với cơ sở dif liệu, đây là quá trình điều chỉnh vị trí của các điểm đặc trưng
trên khuôn mặt của một người sao cho chúng phù hợp với một mô hình
chuẩn hoặc đối chiếu với các điểm đặc trưng tiêu chuẩn trên khuôn mặt
3 Trích xuất đặc trưng (feature extraction): Trích xuất các đặc điểm từ khuôn
mặt có thể được sử dụng cho nhiệm vụ nhận diện.
4 Nhận diện khuôn mặt (face recognition): Thực hiện so khớp với một hoặc
nhiều khuôn mặt đã biết trong cơ sở dữ liệu đã chuẩn bị.
10
Trang 242 Cơ sở lý thuyết và các nghiên cứu liên quan
Detection
sFace ID
sFace location.
Size and Pose
2.3 Phương pháp nhận điện khuôn mặt dùng kỹ thuật
học sâu (deep learning)
2.3.1 Giới thiệu
Với sự tiến bộ của phần cứng, các kỹ thuật deep learning dần chiếm ưu thévới độ chính xác cao hơn các kỹ thuật truyền thống Sự khác biệt lớn nhất là việc
trích xuất tính năng diễn ra tự động mà không yêu cầu các lớp tích chập được xác
định trước Điều này giúp các kỹ thuật deep learning giải quyết van dé ở phươngdiện tổng quát hơn và tránh sự phụ thuộc quá nhiều vào từng bộ dữ liệu riêng lẻ
Có thể nói, ưu điểm lớn nhất của kỹ thuật deep learning là quá trình tự học đểchọn ra những đặc điểm tốt nhất để phân loại và hiệu suất về độ chính xác vượttrội hơn rất nhiều so với các kỹ thuật truyền thống khác Tuy nhiên, việc đào tạocác mô hình deep learning đòi hỏi một lượng dữ liệu lớn, rất tốn kém và cũng
mat nhiều thời gian để đào tạo.
Quá trình đào tạo mô hình ER thường gồm hai bước chính:
» Tiền xử lý ảnh khuôn mặt (preprocessing): Trong bước này, ảnh khuôn mat
được chuẩn bị và tiền xử lý trước khi đưa vào mô hình để đảm bảo chất
11
Trang 252 Cơ sở lý thuyết và các nghiên cứu liên quan
lượng và độ chuẩn xác của dit liệu đào tạo.
¢ Huấn luyện mô hình (training): Sau khi tiền xử lý, dữ liệu đào tạo được
sử dụng để huấn luyện mô hình nhận dạng khuôn mặt Mô hình học cách
trích xuất các đặc trưng quan trọng từ ảnh khuôn mặt và xây dựng một biểu
diễn học máy cho mỗi khuôn mặt.
Quá trình triển khai mô hình và quá trình nhận dạng gồm ba bước chính:
s Tiền xử lý ảnh khuôn mặt (preprocessing): Giống như trong quá trình dao
tạo, ảnh khuôn mặt cần được tiền xử lý trước khi đưa vào mô hình để đảmbảo tính nhất quán và chất lượng của dữ liệu thử nghiệm
* Suy luận mô hình để lấy vectơ biểu diễn khuôn mặt (inference): Trong
bước này, mô hình được sử dụng để biến đổi ảnh khuôn mặt thành một
vectơ biểu diễn số học, mô tả các đặc trưng quan trong của khuôn mặt đó.
» Nhận dang bằng cách so sánh đặc trưng giữa ảnh thử nghiệm và các ảnh
có nhãn biết (recognition): Cuối cùng, quá trình nhận dang được thực hiệnbằng cách so sánh vectơ biểu diễn của ảnh khuôn mặt thử nghiệm với các
vectơ biểu diễn của các ảnh trong cơ sở dữ liệu có nhãn Sự tương đồng
giữa các vectơ này thường được đo bằng cosine similarity hoặc một phép
đo tương tự khác.
2.3.2 Hướng tiếp cận bài toán nhận diện khuôn mặt
Trong lĩnh vực nhận diện khuôn mặt sử dụng deep learning, chúng ta có thể
phân biệt hai phương pháp tiếp cận chính: "One-shot Learning" và "Learning
Similarity”.
One-shot Learning: Phương pháp này chủ yếu xử ly bài toán như một nhiệm
vụ phân loại (classification) Sử dụng kiến trúc mang CNN (Convolutional
Neu-ral Network) để phân loại, mô hình dự đoán danh tính của một người dựa trên
12
Trang 262 Cơ sở lý thuyết và các nghiên cứu liên quan
ảnh đầu vào Tuy nhiên, một hạn chế đáng kể của phương pháp này là khi có sựxuất hiện của những người mới, ta cần phải huấn luyện lại toàn bộ mô hình đểbao gồm những nhân dạng mới Điều này là không khả thi trong các ứng dụngđòi hỏi sự linh hoạt cao như hệ thống chấm công hoặc an ninh
Learning Similarity: Để giải quyết vấn đề trên, "Learning Similarity" là một
phương pháp tiếp cận hiệu quả Phương pháp này dựa trên nguyên tắc của các
thuật toán phân cụm Theo đó, nếu hai ảnh càng giống nhau (cùng một người),
khoảng cách giữa chúng trong không gian đặc trưng sẽ càng nhỏ Khoảng cách
này có thể được đo lường bằng chuẩn L1 hoặc L2 (Euclidean distance) Một
ngưỡng khoảng cách được xác định trước để so sánh ảnh đầu vào với các ảnh
trong cơ sở dữ liệu Nếu khoảng cách nằm dưới ngưỡng này, ảnh đó được xem
là khớp Phương pháp này không phụ thuộc vào số lượng các lớp (classes) và
không yêu cầu huấn luyện lại mô hình khi có sự xuất hiện của các lớp mới
Siamese Network: Một yếu t6 quan trọng trong "Learning Similarity" làviệc phát triển mô hình embedding hiệu quả Siamese Network, sử dụng kiến
trúc CNN như Resnet, Inception, MobileNet nhưng loại bỏ lớp output, được
thiết kế để mã hóa (encode) ảnh thành vector embedding Mạng này nhận đầuvào là hai ảnh bat kỳ, trả về hai vector biểu diễn cho hai ảnh đó Sự khác biệt
giữa hai vector này được đánh giá thông qua ham loss function, đóng vai trò
quan trọng trong việc tối ưu mô hình để đạt được độ chính xác cao.
2.3.3 Ứng dung của bài toán nhận diện khuôn mặt
Bài toán nhận diện khuôn mặt là một trong những lĩnh vực quan trọng và có
nhiều ứng dụng hữu ích trong cuộc sống hàng ngày, công nghiệp và công việc:
* Bảo mật và Điều Khiển Truy Cập: Sử dụng trong các hệ thống bảo mật để
xác thực và kiểm soát truy cập.
« Quản lý Sự Kiện: Dang ký và kiểm tra danh tính của người tham gia sự
13
Trang 272 Cơ sở lý thuyết và các nghiên cứu liên quan
kiện hoặc hội nghi.
¢ Giám sát an ninh công cộng: Theo dõi và xác định tội phạm hoặc nguy cơ
2.4.1 Mạng nơ-ron nhân tao (ANNs)
Mạng nơ-ron nhân tạo (ANN) là một thuật toán học sâu đã phát triển từ ý
tưởng về Mạng Nơ-ron Sinh học trong não người ANN cố gắng mô phỏng cáchhoạt động của não người, mặc dù không giống hoàn toàn Bang cách cung cấp ví
dụ huấn luyện ("kinh nghiệm") cho một ANN và điều chỉnh các trọng số tương
ứng, ANN học các hàm phức tạp tương tự như bộ não sinh học.
Một mạng nơ-ron với một lớp duy nhất được gọi là một perceptron Mộtperceptron nhiều lớp được gọi là Mạng No-ron Nhân Tạo Một mạng nơ-ron cóthể có bat kỳ số lượng lớp nào Mỗi lớp có thể có một hoặc nhiều nơ-ron hoặcđơn vị Mỗi nơ-ron trong mạng được kết nối với tất cả các nơ-ron khác trongmạng Đối với mạng nơ-ron thông thường, loại lớp phổ biến nhất là lớp kết nốiday đủ, trong đó các nơ-ron giữa hai lớp liền ké được kết nối hoàn toàn theo cáchđôi đầu, nhưng các nơ-ron trong cùng một lớp không chia sẻ kết nối Mỗi lớp có
thể có các hàm kích hoạt khác nhau.
14
Trang 282 Cơ sở lý thuyết và các nghiên cứu liên quan
Mạng nơ-ron nhân tạo phổ biến nhất bao gồm ba nhóm hoặc lớp đơn vị: mộtlớp đơn vị "đầu vào" kết nối với một lớp đơn vị "ẩn", sau đó kết nối với một lớpđơn vị "đầu ra"2.3
Hình 2.3: Minh họa kiến trúc đơn giản của mạng than kinh ANNs
Mạng như hình 2.4 , nó nhận các giá trị đầu vào số học x1, x2 và có trong
số wl, w2 đi kèm với mỗi đầu vào Ngoài ra, còn có một đầu vào khác là 1 vớitrọng số b (được gọi là Bias) đi kèm
Mỗi nơ-ron nhận tín hiệu đầu vào từ các dendrit và tạo ra tín hiệu đầu ra
doc theo axon duy nhất của nó Axon cuối cùng chia thành các nhánh và kết nối
thông qua các synapse với các dendrit của nơ-ron khác Đơn vị tính toán cơ bản
trong mạng nơ-ron là nơ-ron, thường được gọi là một nút hoặc đơn vị No nhậnđầu vào từ một số nút khác hoặc từ một nguồn bên ngoài và tính toán dau ra.Mỗi đầu vào có một trọng số kèm theo (w0), được gán dựa trên tầm quan trọng
15
Trang 292 Cơ sở lý thuyết và các nghiên cứu liên quan
tương đối của nó so với các đầu vào khác Nút áp dụng một hàm f (được địnhnghĩa ở dưới đây) cho tổng có trọng số của các đầu vào của nó
Impulses carried toward cell body
\ dendrite
; f presynaptic
terminal
; lmpulses carried away
PN from cell body
Đầu ra từ nơ-ron được tính toán như hiển thị Hàm f là hàm phi tuyến và được
gọi là Hàm Kích Hoạt Mục đích của hàm kích hoạt là đưa tính phi tuyến vào
đầu ra của một nơ-ron Điều này quan trọng vì hầu hết dữ liệu thế giới thực làphi tuyến và chúng ta muốn nơ-ron học các biểu diễn phi tuyến này
Cụ thể, mỗi nơ-ron trong mạng nơ-ron cho một đầu ra được xác định bởi hàmkích hoạt tác động lên đầu vào và có một số hàm kích hoạt được sử dụng:
* Sigmoid (minh họa hình 2.5): hàm sigmoid phi tuyến có dạng toán học
f(x) = O(x) = † wa lấy đầu vào có giá trị thực và chuẩn hóa nó trong
phạm vi [0,1].
* Tanh (minh hoa hình 2.6): hàm Tanh giống như ham sigmoid, hoạt động
của nó cũng bão hoà nhưng khác với sigmoid, đầu ra của nó có trung tâm
16
Trang 302 Cơ sở lý thuyết và các nghiên cứu liên quan
-10.0 -7.5 -5.0 -2.5 0.0 2.5 5.0 7.5 10.0
Hình 2.5: Hàm Sigmoid, nguồn [9]
là 0, nhận đầu vào là giá trị thực và đầu ra được chuẩn hóa trong khoảng[-1.1].
¢ ReLU (minh họa hình 2.7): ReLU là viết tat của Rectified Linear Unit
(Đơn vị Tuyến tính Chỉnh lưu) Nó nhận đầu vào là giá trị thực và ngưỡng
nó tại không (thay thé các giá trị âm bằng không) Công thức ham: f(x) =
ReLU(x) = max(0,3).
Việc nắm vững tổng quan về Mạng Nơ-ron Nhân tao (ANN) sẽ giúp chúng
ta hiểu rõ hơn về lý thuyết, các quy tắc học, ứng dụng của các mô hình mạng
nơ-ron quan trọng nhất, cũng như định nghĩa và loại hình tính toán của chúng.
Mô hình toán học của ANN cung cấp cái nhìn sâu sắc về định nghĩa của đầuvào, trọng số, hàm tổng hợp, hàm kích hoạt và đầu ra
17
Trang 312 Cơ sở lý thuyết và các nghiên cứu liên quan
-100 -7.5 //5MUŸ —» 0.0 2.5 5.0 7.5 10.0
Hình 2.6: Hàm Tanh, nguồn [9].
Sau đó, ANN sẽ quyết định cách học để điều chỉnh loại trọng số thông quaviệc thay đổi các tham số Bên trong mỗi ANN, từng nút (nơ-ron) thực hiện cácphép tính đơn giản và chuyển đổi thông tin kết quả đến các nút của lớp phía sauthông qua sự kết nối đầy đủ giữa các nút ở các lớp khác nhau không cùng một
lớp Trong quá trình truyền thông tin, trọng số sẽ được thay đổi hoặc cập nhật để
biểu thị tín hiệu được khuếch đại hoặc giảm bớt, và những thông tin này đượcchuyển qua thuật toán lan truyền tiến và lan truyền ngược trong mạng
Có nhiều nhiệm vụ liên quan đến Thị giác Máy tính và Nhận dạng Mẫu rất
phức tạp nhưng con người lại có thể thực hiện dễ dàng chỉ bằng việc phân tích
thông tin thị giác Để đạt được thành công, ANN phải vượt qua một giai đoạn
huấn luyện một cách vững chắc để học cách cập nhật trọng số phù hợp cho một
nhiệm vụ cụ thể và một trong những phương pháp huấn luyện đó là Lan truyền
18
Trang 322 Cơ sở lý thuyết và các nghiên cứu liên quan
10 9 8 7
để đạt được một tập hợp giá trị tối ưu hóa tốt nhất (lỗi nhỏ nhất) Trước khi bắt
đầu giai đoạn huấn luyện, ANN phải tạo ra một tập hợp trọng số, cùng với tốc
độ học a@ Các trọng số được tạo ngẫu nhiên và thường có giá trị nhỏ nằm trong
khoảng từ -1 đến 1 Tốc độ học là một tham số điều chỉnh sự thay đổi của trọng
số và giúp hàm mất mát của mạng đạt tới cực tiểu trong giai đoạn huấn luyện.
2.4.2 Mạng Nơ-ron Tích Chap (CNN)
Mạng Nơ-ron Tích Chập (Convolutional Neural Network - CNN) đóng vai
trò trung tâm trong lĩnh vực Deep Learning, đặc biệt là trong ứng dụng của thị
giác máy tính Sự phát triển của CNN lay cảm hứng từ cấu trúc nơ-ron trong não
19
Trang 332 Cơ sở lý thuyết và các nghiên cứu liên quan
của động vật, một ý tưởng được khám phá sâu hơn trong nghiên cứu đột phá của Hubel và Wiesel vào năm 1968, qua công trình "Receptive Fields and Functional
Architecture of Monkey Striate Cortex" Nghiên cứu này mô ta cách thức não
khỉ xử lý thông tin thị giác, nhẫn mạnh vào các vùng tiếp nhận (receptive fields)
chuyên biệt, có khả năng phân biệt các đặc điểm ánh sáng như đốm và mẫu
Dựa trên nguyên lý này, CNN được thiết kế với mục tiêu mô phỏng quá trình
xử lý hình ảnh của não bộ, thông qua việc kết hợp các perceptron trong nhiều
lớp (layers) có kết nối CNN là biến thể của Mạng Nơ-ron Nhân Tao (ArtificialNeural Network, ANN) và có cấu trúc đặc trưng bao gồm các thành phần chính
như lớp tích chập (Convolution), lớp tổng hợp (Pooling hay Subsampling), và
hàm kích hoạt ReLU (Rectified Linear Unit) Ngoài ra, các thành phần phụ như
Chuẩn hóa Batch (Batch Normalization) và Dropout cũng quan trọng, đóng góp
vào việc cải thiện hiệu suất và giảm nguy cơ quá khớp (overfitting) của mô hình
Trong phần tiếp theo, chúng ta sẽ khám phá chỉ tiết từng thành phần này, để hiểu
rõ hơn về cách thức hoạt động và ứng dụng của CNN trong thế giới thực
Lớp tích chap (Convolution): Phép tích chập, một khái niệm trung tâm
trong lĩnh vực học sâu, đặc biệt là trong mô hình Mạng Nơ-ron Tích Chập
(CNN) Đây là một phép toán hóa học giữa hai ma trận hai chiều, thực hiện
bằng cách tính tổng các tích của các phần tử tương ứng trong hai ma trận (hình
2.8) Lớp Convolution, là lớp cốt lõi của mạng CNN, sử dụng phép tích chập này
để trích xuất các đặc trưng từ dữ liệu đầu vào
Xét một ảnh đầu vào có kích thước n x n, chúng ta sẽ sử dung một ma trậnkernel k x k (thường nhỏ hơn và k thường là số lẻ) để trượt qua ảnh Quá trìnhtrượt này, kết hợp với tính toán tích chập, tạo ra các giá trị pixel cho ma trận đầu
ra, thường có kích thước nhỏ hơn hoặc ma trận đầu vào.
Trong xử lý hình ảnh, phép tích chập giúp tách ra các yếu tố đặc trưng như
'https://kienthuclaptrinhweb.blogspot.com/2020/10/convolution-and-pooling-trong-cnn-tuan.html
*https://kienthuclaptrinhweb.blogspot.com/2020/10/convolution-and-pooling-trong-cnn-tuan.html
20
Trang 342 Cơ sở lý thuyết và các nghiên cứu liên quan
Image patch (Local receptive field) (filter)
Filter 1
Output
4x4
3x3x3 4x4 https://indoml.com
Hình 2.9: Minh họa tích chập của một ảnh RGB và ma trận kernel(nguồn internet 7).
cạnh, hướng, v.v Mỗi ma trận kernel sẽ trượt qua các vùng nhỏ của ảnh, được
gọi là Local Receptive Fields (LRF), và tích chập được thực hiện trên những
LRF chồng lên nhau Độ chồng lắp phụ thuộc vào hệ số trượt Š (stride)
Số LRF trên ảnh đầu vào tương ứng với số nơ-ron trên feature map, và kernelđóng vai trò như trọng số liên kết giữa mỗi LRE và nơ-ron tương ứng trên featuremap Một lớp conv có thể chứa nhiều feature map
21
Trang 352 Cơ sở lý thuyết và các nghiên cứu liên quan
Để minh họa rõ ràng, xét một ảnh có kích thước W; x Hị x Dị (với Dị là
chiều rộng, Hj là chiều cao, và D¡ là chiều sâu tương ứng với 3 kênh mau RGB)
Sử dụng một kernel k x k với n filter, chúng ta tính toán mỗi filter trên tất cả các
LRE Trong một số trường hợp, để cân đối giữa số bước di chuyển và kích thước
anh, padding có thể được thêm vào xung quanh viền ảnh Kết quả là ma trận đầu
ra (feature map) có kích thước W2 x Hạ x Dạ
Điểm ảnh đầu ra LAAN A ANB LAV AA BY \
Hình 2.10: Mô phỏng quá trình tích chập trong CNN.(ngu6n Medium !)
'https://miro.medium.com/v2/resize:fit:3900/1*p-47 puSuV NmRJnOXY PQCg png
22
Trang 362 Cơ sở lý thuyết và các nghiên cứu liên quan
Mỗi filter trong số ø filters này có một số lượng tham số tương ứng, và tổng
số tham số cần học trong Conv được tính bang công thức (k x kx Dị) xn+1
Lớp kích hoạt (Activation): Sau lớp Convolution trong mang CNN, thường
là lớp kích hoạt, với hàm ReLU (Rectified Linear Unit) là lựa chọn phổ biến.Nhiệm vụ chính của hàm ReLU là biến đổi các giá trị âm trong feature map
thành 0 Điều này quan trọng vì nó ngăn chặn quá trình học trọng số từ việc mắc
ket 6 giá trị 0 hoặc vô cực, van đề có thể làm chậm quá trình huấn luyện mang.Bên cạnh đó, hàm ReLU cũng giúp hạn chế tình trạng overfitting khi huấn luyện
với bộ dữ liệu.
Có nhiều hàm kích hoạt khác như Sigmoid và Tanh, nhưng ReLU thườngđược ưu tiên sử dụng vì nó mang lại tốc độ tính toán nhanh hơn Dù các hàmkhác có thể cung cấp độ chính xác tương tự, nhưng ReLU vẫn được chọn làmhàm kích hoạt chính cho việc tính toán tham số trong nhiều mô hình mạng CNN
Lý do là bởi ReLU đơn giản hóa quá trình học và cải thiện hiệu suất tổng thể của
mạng.
!https://viblo.asia/p/tim-hieu-ve-convolutional-neural-network-va-lam-mot-vi-du-nho-ve-phan-loai-anh-aWJ53WXo56m
23
Trang 372 Cơ sở lý thuyết và các nghiên cứu liên quan
Nhìn chung, sự lựa chọn hàm ReLU trong các lớp kích hoạt không chỉ giúp
tăng cường hiệu quả tính toán mà còn góp phần vào việc tối ưu hóa quá trìnhhọc của mạng, qua đó cải thiện đáng kể hiệu suất mô hình CNN
Lớp Pooling: Lớp pooling, một thành phần quan trọng trong kiến trúc mạng
CNN, đóng vai trò chính trong việc giảm số lượng tham số của mạng Điều
này không chỉ làm đơn giản hóa quá trình tính toán trong CNN mà còn giúp giải
quyết vấn đề overfitting trong quá trình huấn luyện Trong số các toán tử pooling
như Sum-pooling, Max-pooling, và L2-pooling, Max-pooling là lựa chọn phổ
biến nhất bởi hiệu quả và tốc độ xử lý vượt trội
Max-pooling còn mang lại lợi ích quan trọng khác: tạo ra tính bất biến dịchchuyển cho các đặc trưng Điều này có nghĩa là dù hình ảnh đầu vào có những
dịch chuyển nhỏ, mạng vẫn có khả năng phân loại chính xác đối tượng Điều
này xảy ra do Max-pooling lựa chọn nơ-ron có giá trị đầu ra cao nhất trong mỗivùng nơ-ron của lớp trước, coi như việc chọn lọc các đặc trưng quan trọng nhất
Nhờ vậy, mang CNN có thể duy trì độ chính xác cao ngay cả khi có sự di chuyển
của đối tượng trong ảnh Ví dụ cụ thể: trong một lớp Conv, giả sử từ lớp đầu vào
Trang 382 Cơ sở lý thuyết và các nghiên cứu liên quan
map này sẽ được xử lý qua một lớp max-pooling tương ứng, giảm kích thước xuống còn [12x12] Quá trình này sử dụng kernel kích thước [5x5], và trong
max-pooling, giá trị lớn nhất được lấy từ mỗi vùng [2x2] nơ-ron Điều này giúpgiảm đáng kể kích thước của đầu ra mà vẫn giữ được thông tin quan trọng nhất
của đặc trưng.
Lớp chuẩn hóa (Normalization): Lớp chuẩn hóa, thường được gọi là
Nor-malization hay Norm, đóng một vai trò quan trọng trong mang CNN, nhất là
trong những kiến trúc lớn và phức tạp Mục đích chính của lớp này là chuẩn hóa
dữ liệu đầu ra từ các lớp trước, trước khi chúng được truyền đến các lớp tiếp
theo, như hàm ReLU Việc này đặc biệt quan trọng bởi ham ReLU, mặc dù giúp
tăng tốc độ huấn luyện, nhưng nếu không được điều chỉnh trọng số cẩn thận, cóthể dẫn đến vấn dé "dying ReLU"
Lớp Norm giúp giảm thiểu rủi ro này bằng cách chuẩn hóa các giá trị tích
chập, đảm bảo rằng chúng không quá lớn hoặc quá nhỏ, từ đó ngăn chặn hiện
tượng dying ReLU Việc chuẩn hóa này cũng giúp tránh tình trạng gradient xấp
xỉ bằng 0, một nguyên nhân khiến tốc độ học của mạng trở nên chậm Nhờ vậy,
lớp Norm không chỉ cải thiện độ ổn định của mạng mà còn giúp tối ưu hóa quá
trình huấn luyện, đặc biệt quan trọng trong các mạng CNN phức tạp và sâu
Lớp Fully connected: Sau khi ảnh trải qua nhiều lớp tích chập (convolutional
layers) và lớp gộp (pooling layers), mô hình CNN đã có khả năng học được các
đặc điểm quan trọng của ảnh Tại điểm này, tensor đầu ra của lớp cuối cùng sẽ
được chuyển đổi, hay làm phẳng, thành một vector Vector này sau đó được đưa
vào một lớp kết nối đầy đủ (Fully Connected layer - FC layer), nơi mà các đặctrưng được kết hợp lại với nhau
Lớp FC này có vai trò quan trọng trong việc tổng hợp các thông tin đặc trưng
đã học được, tạo nên mô hình dự đoán cuối cùng Để phân loại đầu ra, mô hình
thường sử dụng các hàm như softmax hoặc sigmoid Softmax thường được dùng
trong trường hợp phân loại nhiều lớp, cung cấp một phân phối xác suất trên các
25
Trang 392 Cơ sở lý thuyết và các nghiên cứu liên quan
lớp đầu ra, trong khi sigmoid thích hợp cho trường hợp phân loại nhị phân
Hình 2.13: Mô phỏng lớp Fully connected.(nguồn Viblo ')
Nhờ sự kết hợp giữa các lớp convolutional, pooling, và fully connected, mô hìnhCNN có khả năng trích xuất, học hỏi từ dif liệu đầu vào và cuối cùng phân loại
chính xác, phản ánh sức mạnh và độ linh hoạt của kiến trúc mạng nơ-ron tích
chập.
2.5 Kết chương
Như vậy, chúng ta có thể thấy nhận dạng khuôn mặt vẫn là một bài toán đầythách thức trong lĩnh vực thị giác máy tính Vẫn còn nhiều thách thức phải đối
mặt để thực hiện các phương pháp nhận dạng khuôn mặt sao cho chúng có thể
phản ánh cách con người nhận dạng khuôn mặt Qua chương này, chúng ta đã
hiểu được các phương pháp và quy trình của bài toán nhận dạng khuôn mặt,
'https://viblo.asia/p/tim-hieu-ve-convolutional-neural-network-va-lam-mot-vi-du-nho-ve-phan-loai-anh-aWj53W Xo056m
26
Trang 402 Cơ sở lý thuyết và các nghiên cứu liên quan
những khó khăn mà nó đối mặt trong các ứng dụng khác nhau và bối cảnh mà
bài toán này đặt ra.
27