Đề đạt được mục tiêu này, đề tài sẽ thực hiện các nội dung sau: w Xây dung lại mô hình nhận diện khuôn mặt với bộ dataset huấn luyện có kíchthước trung bình MSIM-RetinaFace gồm 5.1 triệu
Trang 1ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH
TRUONG DAI HỌC CONG NGHỆ THONG TIN
FOKR
TRÀN CHÍ PHÚC
NHAN DIỆN KHUÔN MAT SỬ DỤNG VISION TRANSFORMER VA BABY LEARNING
LUAN VAN THAC SI, KHOA LUAN CAO HOC
NGANH KHOA HOC MAY TÍNH
Mã số: 8480101
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYÊN VINH TIỆP
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đề tài “Nhận dang khuôn mặt dùng mang Transformer” hoan toàn
là công trình nghiên cứu của cá nhân tôi do tôi thực hiện dưới sự hướng dẫn của TS
Nguyễn Vinh Tiệp.
Các số liệu và những kết quả trong khóa luận là trung thực và chưa được công bốtrong bất kỳ một công trình nào khác Mọi tham khảo trong đề tài luận văn đềuđược trích dẫn rõ ràng tên tác giả, tên công trình và thời gian công bố
Tôi xin chịu trách nhiệm theo quy định của trường với các hình thức sao chép.không hợp lệ và vi phạm quy chế đào tạo sau đại học
Tp Hồ Chí Minh, tháng 01 năm 2023
Học viên
Trần Chí Phúc
Trang 4Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Vinh Tiệp Tôi đã học đượcrất nhiều kiến thức từ thay đầu tiên qua môn học “Chuyên dé nghiên cứu và ứngdụng về thị giác máy tính” Thầy đã dạy tôi các kiến thức rất chỉ tiết về xử lý ảnh,
kỹ năng đọc hiểu các bài báo nghiên cứu, kỹ năng trình bài báo bằng ngôn ngữLatex, hướng đi của ngành thị giác máy tính trong thời gian gần đây Từ đó, thầy đãtruyền cảm hứng cũng như giúp tôi định hướng và thực hiện đề tài luận văn nàycũng như bài báo nghiên cứu khoa học liên quan.
Tiếp theo, tôi xin cảm ơn bạn Nguyễn Vũ Anh Khoa và bạn Lưu Toàn Định vì đãcùng đồng hành, hỗ trợ và có những ý kiến đóng góp bé ích trong quá trình thựchiện bài báo nghiên cứu khoa học và đề tài luận văn Nếu không có sự giúp đỡ củahai bạn thì có thể tôi sẽ bị kéo dài thời gian thực hiện đê tài
Bên cạnh đó, tôi cũng vô cùng biết ơn Quý Thầy Cô giảng viên của Trường Đại họcCông nghệ thông tin - Đại học Quốc gia Thành phó Hồ Chi Minh Tôi đã học hỏiđược nhiều kiến thức bô ích trong quá trình tham gia học tập tại trường cũng nhưđược truyền cảm hứng, động lực cho nghiên cứu khoa học Các kiến thức tôi họcđược từ các thay cô là tiền đề tiên quyết giúp tôi có thê bắt đầu thực hiện đề tai luậnvăn này.
Sau cùng, tôi xin gửi lời tri ân đến gia đình và người thân đã luôn ủng hộ, động viên
và tạo động lực để tôi có thể đi tiếp trên con đường học tập
Trang 5Chương 2 TONG QUAN VỀ DE TÀI NGHIÊN CỨU.
2.1 Giới thiệu về nhận dang khuôn mặt
2.2.2 Support Vector Machine
2.2.3 CosFace - Large Margin Cosine Loss.
2.2.4 RetinaFace.
2.2.5 Vision Transformers
2.2.6 Face Transformer for recognition
2.2.7 Few-shot object detection via baby learning.
Chuong 3 MO HINH NGHIEN CUU
3.1 Mô hình nhận dạng khuôn mặt
3.2 Phương pháp tỉnh chỉnh kết hợp kỹ thuật Baby Learnin
xl
3.3 Mô hình thực hiện cho bài toán so khớp khuôn mặt.
3.4 Mô hình thực hiện cho bài toán nhận diện khuôn mặt.
Chương 4 KET QUA NGHIÊN CỨU
Trang 64.1.1.1 Bộ dataset VER4!
4.1.2 B6 dataset REGIK.
4.1.3 Bộ dataset REG2K 33 4.1.4 MSIM-RetinaFac 34 4.1.5 Labeled Faces in the Wild (LFW) 35
4.1.6 Cross-Age LFW (CALEW: 36 4.1.7 Cross-Pose LFW (CPLFW) 37 4.1.8 Celebrities in Frontal-Profile in the Wild (CFPW hay CFP-FP) 38
4.1.9 Age Database 30 (AgeDB-30) 39 4.2 Độ do dùng trong mô hình .40 4.3 Cài đặt mô hình nhận dạng khuôn mặt 41 4.3.1 Backbone network Al.2 Ham mắt mát Al4.3.3 Bộ dataset cho huan luyện và tinh chỉnh
4.3.4 Môi trường thực hiện 42
4.4 Kết quả nghiên cứu
4.4.1 Kết quả so khớp khuôn mặt trên các dataset public
4.4.2 Kết quả so khớp khuôn mặt trên bộ dataset Việt Nam VER4K 434.4.3 Kết quả nhận diện khuôn mặt trên bộ dataset REGIK, REG2K 434.4.4 Hiệu qua của kỹ thuật Baby Learning lên độ chính xác mô hình 45 4.4.5 Đánh giá nguyên nhân dự báo sai của mô hình ViT.
Chương 5 KET LUẬN VÀ HƯỚNG PHÁT TRIEN
DANH MỤC CÔNG BÓ KHOA HỌC CỦA TÁC GIẢ
TÀI LIỆU THAM KHẢO
PHU LUC I: THONG TIN VE ANH TRONG BO DATASET VED
Trang 7Danh mục các ký hiệu và chữ viết tắt
TT |Chữ viết tắt Ý nghĩa
CNN Convolution Neural Network
2 AgeDB-30 Age Database 30
BERT Bidirectional Encoder Representations from
Transformers
4 CALFW Cross-Age Labeled Faces in the Wild
5 CFPW Celebrities in Frontal-Profile in the Wild
6 CPLFW Cross-Pose Labeled Faces in the Wild
7 DCN Deformable convolutional networks
8 FPN Feature Pyramid Networks
9 LFW Labeled Faces in the Wild
10 |LMCM Large Margin Cosine Loss
11 |MLP Multi Layer Perceptron
12_ |MSIM-RetinaFace | Refined version of MS1M dataset, face images are
pre-processed by RetinaFace
13 |MSA Multi-head Self Attention
14 |MS-Celeb-IM Microsoft Celerities 1 Million
15 |MTCNN Multi-task Cascaded Convolutional Networks
16 |NLP Natural Language Processing
17 |NSL Normalized version of Softmax Loss
18 |OHEM Online Hard Example Mining
19 |R-CNN Region-based Convolutional Neural Networks
20 |REGIK 1K Vietnamese face images used for finetuning, other
2K images used for face recognition
21 |REG2K 2K Vietnamese face images used for finetuning, other
1K images used for face recognition
22 |ResNet Residual Network
23 |RNN Recurrent Neural Network
24 |RSA Recurrent Scale Approximation
25 |RSA Recurrent Scale Approximation
26 |S*FD Single Shot Scale-invariant Face Detector
Trang 829 |SAFD Scale-Aware Face Detection
30 |SOTA State of the Arts
31 |SSD Single Shot multibox Detector
32 |SSH Single Stage Headless face detector
33 |STN Supervised Transformer Network
34 |SVM Support Vector Machine
35_ |TALFW Transferable Adversarial Labeled Faces in the Wild
36 |VER4K 4K pairs of Vietnamese face images used for face
verification
37 |VFD Vietnamese Face Dataset
38 | ViT Vision Transformer
Trang 9Danh mục các bảng
Bảng 4.1 Cài đặt cho mô hình nhận dạng khuôn mặt -. -: :-5- 41 Bang 4.2 Độ chính xác so khớp khuôn mặt trên các bộ dataset pubic - 42 Bang 4.3 Độ chính xác so khớp khuôn mặt trên bộ dataset VER4K - 43 Bảng 4.4.Độ chính xác của nhận diện khuôn mặt khi không thực hiện tinh chỉnh 44 Bang 4.5.Độ chính xác của nhận diện khuôn mặt khi thực hiện tinh chỉnh 44Bang 4.6: Độ chính xác mô hình theo số lượng tham số tinh chỉnh bằng Baby
Learning.
Bang 4.7 Độ chính xác mô hình tăng khi tinh chỉnh với kỹ thuật Baby Learning 46
Trang 10Hình 2.1: Quá trình bóc tách ảnh khuôn mặt ra khỏi ảnh gốc
Hình 2.2: Quá trình so khớp cặp ảnh khuôn mặt.
Hình 2.3.Phương pháp nhận diện khuôn mặt.
Hình 2.4.Mô hình nhận dạng khuôn mặt.
Hình 2.5: SVM cho 2 lớp ở không gian 2 chiều.
Hình 2.6.Anh hưởng của giá tri m làm giảm miền quyết định của các lớp [3] 17Hình 2.7: Vùng quyết định giảm khi giá trị m tăng trong hàm CosFace [3]
Hình 2.8 Mô hình nhận dạng khuôn mặt của RetinaFace [5]
Hình 2.9 RetinaFace hiệu quả trong việc phát hiện ảnh khuôn mặt nhỏ
Hình 2.10 Kiến trúc VĩT cho bài toán phân loại ảnh [1]
Hình 2.11.Anh góc được chia thành nhiều ảnh nhỏ không chồng 1a
Hình 2.12 Kiến trúc đầy đủ của Transformer sử dung trong NLP [17] 21Hình 2.13.Ảnh góc được chia thành nhiều ảnh nhỏ chồng lấn nhau
Hình 2.14.Mô hình Face Transformer [2]
Hình 2.15: Phương pháp huấn luyện thông thường với 3 ảnh mỗi lớp [18
Hình 2.16: Phương pháp Baby Learning tăng dần số mẫu dữ liệu trong từng lớp [18]
Hình 3.1: Mô hình dùng khi huan luyện và tinh chỉnh.
Hình 3.2: Tinh chỉnh mô hình bằng phương pháp Baby Learning
Hình 3.3: Mô hình đề xuất cho bài toán so khớp khuôn mặt
Hình 3.4: Mô hình đề xuất cho bải toán nhận diện khuôn mặt.
Hình 4.1 Thuộc tính phân phối của bộ dữ liệu VFD,
Hình 4.2: Ảnh góc của bộ dữ dataset VFD
Hình 4.3: Ảnh khuôn mặt được trích xuất bằng RetinaFace
Hình 4.4: Các cặp ảnh dùng so khớp khuôn mặt trong bộ dataset VER4K
Trang 11Hình 4.6: Bộ dataset REG2K.
Hình 4.7 Ảnh Steve Job trong bộ dataset MS1M-RetinaFacHình 4.8: Các cặp anh positive của bộ dataset LFW.
Hình 4.9: Các cặp anh negative trong bộ dataset LFW.
Hình 4.10: Các cặp anh positive trong bộ dataset CALFW Hình 4.11: Các cặp anh negative trong bộ dataset CALEW, Hình 4.12: Các cặp anh positive trong bộ dataset CPLFW Hình 4.13: Các cặp anh negative trong bộ dataset CPLFW Hình 4.14: Các cặp ảnh positive trong bộ dataset CFP-FP Hình 4.15: Các cặp anh negative trong bộ dataset CFP-FP Hình 4.16: Các cặp ảnh positive của bộ dataset AgeDB-30 Hình 4.17: Các cặp anh negative của bộ dataset AgeDB-30.Hình 4.18: VĩT dự đoán sai do tư thế khuôn mặt
Hình 4.19: ViT dự đoán sai do biểu cảm khuôn mặt
Trang 12Chương 1 MỞ ĐẦU 1.1 Đặt vấn đề
Thị giác máy tính (Computer Vision) và xử lý ngôn ngữ tự nhiên là (NLP) hai lĩnhvực nghiên cứu của trí tuệ nhân tạo có nhiều ứng dụng trong cuộc sống Gan đây,
các thành tựu của lĩnh vực CNN được áp dụng cho lĩnh vực NLP và ngược lại, tạo
nên sự thúc đây phát triển qua lại cho hai lĩnh vực này
Trong lĩnh vực NLP, kiến trúc Transformer dựa trên cơ chế Self-Attention đã trởthành lựa chọn hàng đầu cho các mô hình NLP Kẻ từ khi Transformer xuất hiệnnăm 2017 bởi Google với BERT, các mô hình NLP đạt kết quả State Of The Art(SOTA) đều dựa trên Transformer cả Hệ thống GPT-3 siêu việt với 175 tỉ tham sốcủa OpenAI cũng được xây dựng trên nền tang Transformer
Dựa trên nguồn cảm hứng của Transformer trong lĩnh vực NLP, nhóm tác giả từGoogle đã áp dung Transformer vào lĩnh vực phân loại ảnh [1] để tạo nên VisionTransformer (ViT) Giải pháp thực hiện bằng cách chia bức ảnh ra thành nhiều ảnhnhỏ hơn không chồng lan nhau gọi là các patch Sau đó biến đổi các patch thành cácvector, bổ sung thêm token class như NLP và cộng vào thông tin về vị trí ảnh vàocác patch vector Sau đó, xây dựng mối quan hệ giữa các patch vector với nhauthông qua cơ chế Multi Self-Attention (MSA) y hệt như cách xử lý các từ trongNLP Ngõ ra của Transformer là một vector ngữ cảnh đại diện cho bức ảnh khuônmặt ban đầu và được đưa vào bộ phân loại ảnh Kết quả là ViT cho kết quả tương
đương hoặc tốt so với ResNet trong bài toán phân loại ảnh khi bộ dữ liệu huấnluyện có kích thước lớn (trăm triệu ảnh).
Nối tiếp theo đó, “Face transformer for recognition” [2] ứng dụng ViT trong bàitoán so khớp khuôn mặt Dau tiên tác giả thay đổi phương pháp tạo ra các patch ảnhbằng cách tạo ra các patch ảnh có kích thước chồng lấn lên nhau Giải pháp nay sẽ
tăng độ chính xác của mô hình lên một ít so với giải pháp tạo patch ảnh không
chồng lan Tác giả sử dụng hàm mắt mát là CosFace [3] trong so khớp khuôn mặt vìCosFace thuộc họ hàm mat mát cosin và góc cho kết quả tốt hơn với các hàm matmát softmax thuộc ho Euclidian Kết quả bài báo cũng tương tự với [1], khi ViT vàResNet được huấn luyện ở bộ dataset kích thước trung bình thì ResNet sẽ cho kếtquả tốt hơn ViT một it
1.2 Mục tiêu và phạm vi nghiên cứu
Khi dữ liệu huấn luyện đầy đủ với các bộ dataset có kích thước trung bình hoặc lớn
Trang 13Chương 1 Mở đầu
ResNet đều hoạt động tốt Tuy nhiên, trong một số bài toán nhận dạng khuôn mặt
thực tế thì khó có thể có đầy đủ dữ liệu huấn luyện cho mô hình máy học Ví dụ như
truy tìm tội phạm qua hệ thống camera công cộng hoặc nhận dạng khách hàng VIPkhi họ đến cửa hàng Số lượng dữ liệu phục vụ huấn luyện rất ít, chỉ vài ảnh chomỗi cá nhân Do đó, mô hình sẽ cho độ chính xác kém hơn nhiều so với khi đượchuấn luyện dữ liệu đầy đủ
Đề tài này sẽ thực hiện nhận dạng khuôn mặt bằng ViT trong điều kiện dữ liệuthiếu, so sánh độ chính xác của mô hình khi thay thế bằng mạng CNN Đồng thời,
dé xuất phương pháp cải tiến độ chính xác cho mô hình nhận diện khuôn mặt khithiếu dữ liệu bằng cách áp dụng kỹ thuật huấn luyện Baby Learning trong quá trìnhtinh chỉnh Đề đạt được mục tiêu này, đề tài sẽ thực hiện các nội dung sau:
w Xây dung lại mô hình nhận diện khuôn mặt với bộ dataset huấn luyện có kíchthước trung bình MSIM-RetinaFace gồm 5.1 triệu ảnh của 93K người (các bộdataset lớn không được công khai trên internet), backbone network được sửdụng là ViT và ResNet và hàm mat mát là CosFace Thực hiện kiểm tra độchính xác của mô hình với các bộ dataset công khai như LEW và các biến thể
của nó.
v Xây dựng bộ dataset gồm 3.000 ảnh của 1.000 người Việt Nam (3 ảnh/người)
để phục vụ việc đánh giá mô hình trên môi trường thiếu dữ liệu huấn luyện.Quá trình tỉnh chỉnh sẽ được thực hiện với lượng dữ liệu ít chỉ gồm 1 ảnh/ngườihoặc 2 ảnh/người Việc lựa chọn một bộ dataset ảnh người Việt Nam là cầnthiết để xây dựng một bộ dữ dataset thiếu dữ liệu vi trong bộ dataset traininghầu như không có khuôn mặt người Việt Nam, chỉ có số ít khuôn mặt người
Trung Quốc Do đó, sau quá trình huấn luyện thì mô hình sẽ chưa học được đầy
đủ thông tin đặc diém khuôn mặt người Việt Nam.
Áp dụng kỹ thuật huấn luyện Baby Learning để gia tăng độ chính xác của môhình, so sánh với trường hợp không sử dụng Baby Learning để đánh giá hiệuquả sau khi áp dụng.
v So sánh độ chính xác của mô hình khi áp dụng hai backbone network là Vision
Transformer và mang CNN.
1.3 Đóng góp của dé tai
Dau tién, dé tai đóng góp một bộ dataset khuôn mặt của người Việt Nam để kiểmđịnh độ chính xác của mô hình nhận dạng khuôn mặt trong điều kiện thiếu dữ liệuhuấn luyện Tổng bộ dữ liệu có 3.000 ảnh của 1.000 người (ba ảnh/người) Với bộdataset bình thường cần khoảng 50 ảnh/lớp mới khi tỉnh chỉnh cho bài toán phân
loại ảnh.
Trang 14Thứ hai, đề tài thực hiện so sánh hai backbone network là ViT và ResNet trong khi
được huấn luyện với bộ dữ liệu có kích thước trung bình và trong điều kiện tỉnh
chỉnh dữ liệu không đầy đủ với bộ dataset của khuôn mặt người Việt Nam
Cuối cùng là dé tài sẽ kiểm tra hiệu quả của kỹ thuật Baby Learning giúp gia tăng
độ chính xác của mô hình trong điều kiện thiếu dữ liệu huấn luyện
Ngoài ra luận văn cũng có một công, bố khoa học đã được chấp nhận ở hội nghịquốc tế MAPR 2022 như sau: Chi-Phuc Tran, Anh-Khoa Nguyen Vu, and Vinh-TiepNguyen (2022), "Baby Learning with Vision Transformer for Face Recognition", Proceedings of the 2022 International Conference on Multimedia Analysis and Pattern Recognition (MAPR), pp 194-199.
Trang 15Chương 2 Tổng quan về đề tài nghiên cứu
Chương 2 TONG QUAN VE DE TÀI NGHIÊN CỨU 2.1 Giới thiệu về nhận dạng khuôn mặt
Bài toán nhận dạng khuôn mặt là quá trình tìm kiếm dé phát hiện khuôn mặt ngườitrong một bức ảnh, thực hiện tách ảnh khuôn mặt ra khỏi ảnh gốc và thực hiện mộttrong hai tác vụ sau [4]:
So khớp khuôn mặt (face verification): Kiêm tra hai ảnh khuôn mặt của cùng một người hay hai người khác nhau.
v Nhân diện khuôn mặt (face identification): Kiểm tra ảnh khuôn mặt là ai trong
bộ dữ liệu có sẵn
2.1.1 Bóc tách ảnh khuôn mặt
Bóc tách khuôn mặt là giai đoạn tiền xử lý cần thiết cho các ứng dụng nhận dạngkhuôn mặt, phân tích khuôn mặt Các yếu tố ảnh hưởng nhiều đến phát hiện khuônmặt gồm có mặt có bị che khuất hay không, tư thế của khuôn mặt và mức độ sáng
của bức ảnh Theo [5], các mô hình CNN phát hiện khuôn mặt có thê được phân
loại dựa trên một số tiêu chí như ở dang kim tự tháp anh (image pyramid) hoặc kim
tự tháp đặc điểm (feature pyramid), một giai đoạn (one-state) hay hai giai đoạn(two-state), mô hình hóa ngữ cảnh và mô hình đa tác vụ.
Hiện nay, hai mô hình cho kết quả phát hiện khuôn mặt tốt nhất ở thời điểm hiện tại
là Multi-task Cascaded Convolutional Networks (MTCNN) [6] và RetinaFace [5].
Trong đó, RetinaFace là đại diện cho trường phái kim tự tháp đặc điểm, một giaiđoạn kết hợp với module ngữ cảnh RetinaFace cho kết quả tốt kể cả khi kích thướckhuôn mặt nhỏ.
Quá trình tách khuôn mặt ra khỏi ảnh gốc thường được thực hiện cùng với tác vụcăn chỉnh ảnh khuôn mặt và sau đó thay đổi kích thước ảnh khuôn mặt về kíchthước mong muốn để làm đầu vào cho các mạng học sâu phía sau
Phát hiện Boc Can chỉnh |
>| | ảnh khuôn >| ảnh khu¿ >| và thay đổi
mật mật kích thước |
Module bóc tách ảnh khuôn mật
Hình 2.1: Quá trình bóc tách ảnh khuôn mặt ra khỏi ảnh gốc
Trang 16là mô hình học sâu đã được huấn luyện trước đó để tạo ra cặp vector đặc trưng.
Cặp vector đặc trưng được đưa vào module kiểm tra độ phù hợp Module này
kiểm tra khoảng cách Euclide d của cặp vector đặc trưng (L2 distance) Nếugiá trị d này cao hơn một ngưỡng giá trị được định nghĩa trước D (giá trị nàytìm được trong quá trình huấn luyện) thì cặp ảnh gốc thuộc hai người khácnhau Ngược lại, cặp ảnh gốc là của cùng một cá nhân
Module so khớp cập ảnh khuôn mat die! /ẾMĐGRVKO
một người
‘Module đánh giá
|Cặp ảnh cần so khớp | Module bóc tách Module tích xuất Ti
khuôn mat > "Senior | —”|Veeor6œctơng | — >|69Phôhepoia2K
L2 hàng) 'Kiểm tra khoảng cách 2 vector `
Vector | Vector 8
2 = sid d, so sánh với gia trị được định.
nghĩa trước D, D tim được.
Ỷ trong qua trình huấn luyén Kết quả so khớp.
Ảnh người Ảnh khuôn mật Vector đặc trưng khuôn mặt
Hình 2.2: Quá trình so khớp cặp ảnh khuôn mặt
2.1.3 Nhận diện khuôn mặt
Nhận diện khuôn mặt là kiểm tra ảnh của một người có nằm trong bộ dữ liệu ảnh
đã đã được lưu trữ trước đó hay không.
Đầu tiên, bộ các ảnh đã biết (facebank) được trích xuất đặc trưng thành bộ
vector đặc trưng với thông tin định danh cá nhân và lưu trữ vào hệ thống, ký
hiệu bộ vector đặc trưng là {x;, y;}
Đầu vào của quá trình nhận diện khuôn mặt là đưa vào ảnh của một người.Ảnh này được bóc tách ảnh khuôn mặt ra và ảnh khuôn mặt được chuyển thànhvector đặc trưng query x„ Vector x„ này sẽ được so sánh khoảng cách với
4
từng vector đặc trưng trong bộ {x;,y;} để tìm ra khoảng cách nhỏ nhất đụđến x, Nếu d, bé hơn giá trị D được định nghĩa trước đó (D tìm thấytrong quá trình huấn luyện) thì ảnh gốc đó chính là ảnh của người y, có
Trang 17Chương 2 Tổng quan về đề tài nghiên cứu
các cá nhân được lưu trữ trong hệ thống Ngoài cách tính khoảng cách thôngqua L2 distance như trên, vector ảnh có thé được phân loại thông qua SVMhoặc CosFace đề tìm ra lớp (tương ứng với id của cá nhân) cần tìm
| | [cto query xa | | đặc tưng 6x, yi} | Hoge ảnh tim kiêm không có
Vengtacebank
Hình 2.3.Phương pháp nhận diện khuôn mặt
“Các ảnh cần lưu tor “Các vector đặc trưng của
(Facebank) Taesbank (xi yi) h
1 „| Module bóc tách ‘Module trích xuất kemsiil lussdul [eer
cảnh Khuôn mat >| vector đặc trưng ree
Kétiugn Ảnh query
‘Anh tim idm tương ứng với cá wae Module tích suất Module so sảnh xạ [nhân có nhân yk rong facebank
TL
2.1.4 Ba thuộc tính của mô hình nhận dạng khuôn mặt
Một mô hình nhận dạng khuôn mặt dựa trên mạng học sâu thường được phân biệt
với nhau bởi ba thuộc tính gồm có bộ dữ liệu (dataset) dùng cho huấn luyện(training) va tinh chỉnh (finetuning), kiến trúc mang học sâu cùng với cấu hình(backbone network) và hàm mắt mát (loss function) sử dụng [7]
Thuộc tính 1: Dataset Pe fgiễ
lộc tính 3:
huấn ayer tinh |———\ er Hàn mắt nát : Nhãn.
Thuộc tính 2:
—— ij] Bài toán so Khớp khuôn mat |
Ảnh kiểm thử |—————>| |———>*‡ = Bài toán nhận diện
-khuôn mặt
Hình 2.4.Mô hình nhận dạng khuôn mặt
Thuộc tính đầu tiên là dữ liệu huấn luyện, tinh chỉnh Dữ liệu huấn luyện này giúpcho mô hình học được và phân biệt được các đặc điểm bậc cao tạo ra từ mạng họcsâu Dữ liệu huấn luyện cần phải phù hợp với dữ liệu kiểm thử và dữ liệu áp dụngtrên thực tế Ví dụ mô hình sẽ áp dụng để nhận dạng khuôn mặt người Việt Nam thìtrong dữ liệu huấn luyện phải có ảnh của người Việt Nam Lượng dữ liệu huấnluyện càng lớn thì hiệu suất càng cao và thậm chí tăng theo hàm mũ logarit [§]
Trang 18Hiện nay các bộ dataset lớn thì chỉ được sử dụng cho nội bộ ở các công ty lớn nhưJFT-300M (300 triệu ảnh) [8] của Google Các bộ dataset được công bố công khaithường có kích thước nhỏ (vài nghìn đến vài trăm nghìn ảnh) hoặc trung bình (vải
triệu ảnh) Các bộ dataset công khai điển hình như LFW [9], VGG-Face [10],
VGG2-Face [11], CAISA-WebFace [12], UMD-Face [13], MegaFace [14],
MS-Celeb-IM [15] Đề tài nay sử dung phiên bản được làm sạch của MS-MS-Celeb-IM làMSIM-RetinaFace với 5.1 triệu ảnh của 93K người dé huấn luyện mô hình từ đầu
và kiểm thử bằng LFW và các biến thể Ngoài ra, đề tài cũng sử dụng bộ dữ liệu
3.000 ảnh của 1.000 người Việt Nam mà tác giả tự thu thập để dùng cho quá trình
tỉnh chỉnh (finetune).
Thuộc tính thứ hai là kiến trúc mạng và cấu hình Hiện nay các kiến trúc mạng tíchchập (CNN) vẫn đang thống trị trong các ứng dụng thị giác máy tính Mạng học sâu
sẽ học các đặc điểm ảnh khuôn mặt người và biến thành các vector đặc điểm phục
vụ cho ứng dụng nhận diện khuôn mặt Cụ thể các vector ảnh của cùng một người
sẽ có khoảng cách nhỏ Vector ảnh của các cá nhân khác nhau sẽ có khoảng cách
tương đối xa Đề tài này sẽ sử dụng đại diện của CNN là ResNet và Vision
Transformer làm kiến trúc mạng trong mô hình nhận dạng khuôn mặt để so sánhkết quả của 2 mô hình CNN và ViT
“Thuộc tính thứ ba là thiết kế hàm mắt mát Hàm mắt mát trước đây thường dựa trênkhoảng cách Euclide Các hàm mắt mát sau này được thiết kế dựa trên cosin và góccho kết quả vượt trội hơn hẳn Các hàm mat mát điển hình gồm có SphereFace[16], CosFace [3], ArcFace [7] Đề tài này sử dụng CosFace làm hàm mắt mát vìCosFace hoạt động tốt với cả hai kiến trúc mạng là ViT và ResNet
2.2 Các công trình nghiên cứu có liên quan
2.2.1 L2 distance
1⁄2 distance đo khoảng cách Euclide giữa 2 vector Khoảng cách L2 distance có théđược tính trực tiếp hoặc gián tiếp thông qua thuật toán KNN với K=1 và độ dokhoảng cách là Euclide.
Trong bài toán so khớp khuôn mặt, nếu khoảng cách giữa hai vector khuôn mặt béhơn một khoảng cách được định nghĩa trước (khoảng cách này tìm được trong quátrình huấn luyện) thì hai vector này của cùng một người Nếu khoảng cách giữa haivector lớn hơn ngưỡng thì hai vector này là ảnh khuôn mặ của hai cá nhân khác nhau.
Trong bài toán nhận diện khuôn mặt, mỗi vector query được đo khoảng cách đến
Trang 19Chương 2 Tổng quan về đề tài nghiên cứu
đó trong facebank sẽ được kiểm tra nếu dưới ngưỡng thì sẽ tương ứng với cá nhân
có anh trong facebank Còn nếu khoảng cách ngắn nhất lớn hơn ngưỡng thì ảnh nàykhông thuộc của các cá nhân có ảnh trong facebank.
Khoảng cách L2 distance giữa hai vector x và y được tính như sau:
đ(x,y)=((Ö (xi=y;Ÿ) (2.1)
it
Với (x,,x,, x,) là toa độ của vector x va (y,,y;, ,y„) là tọa độ vector y.
2.2.2 Support Vector Machine
Support Vector Machine (SVM) được dùng chủ yếu trong bài toán phân loại Giasửa bai toán phân loại được thực hiện trong không gian n chiều Trong quá trìnhhuấn luyện, K nhóm vector được dán nhãn và được mô hình học máy xây dựngthành một mặt phẳng không gian dé phân tách K nhóm này Khi có một vector mới,SVM sẽ dựa trên mô hình máy học trong quá trình huấn luyện dé phân chia vectormới này thuộc phân nhóm nào trong K nhóm đã học.
SVM được dùng trong bài toán nhận dạng khuôn mặt khi anh query thuộc về một
cá nhân trong facebank Nếu dùng SVM cho cả ảnh query không thuộc cá nhânnằm trong facebank thì sau khi phân loại vào nhóm ảnh của cá nhân nào rồi, phảitrải qua thêm bước kiểm tra khoảng cách L2 distance của vector ảnh query và cácvector ảnh của cá nhân tương ứng trong facebank Nếu khoảng cách bé hơn ngưỡngtối ưu tìm ra trước đó thì mới xác nhận là ảnh thuộc cá nhân trong facebank
eofe
ee
Support Vectors
Trang 202.2.3 CosFace - Large Margin Cosine Loss
Theo [3], nhiệm vụ trọng tâm của nhận dạng khuôn mặt bao gồm cả so khớp khuônmặt và nhận diện khuôn mặt đều liên quan đến khả năng phân biệt các đặc điểmkhuôn mặt Tuy nhiên, các hàm mắt mát softmax thường dùng trong mô hình mangCNN lại thiếu năng lực này Các phương pháp sau này đều cố gắng thực hiện ý
tưởng tăng sự khác biệt giữa các lớp khác nhau và giảm sự khác biệt với các khuôn
mặt trong cùng một lớp CosFace thực hiện chuyển các mất mát dang softmax ởkhông gian Euclide sang không gian góc đề tăng khả năng phân biệt các đặc điểmkhuôn mặt người Kết quả từ [3] cho thấy CosFace đạt độ chính xác cao hơn cáchàm mất mắt Softmax
Với input vector la x, ,nhãnlà y,, N làsốmẫu, C là số lớp, p, là xácsuất phân loại x, đúng, hàm mắt mát softmax được tính như bên dưới
Bang cách chuẩn hóa L2, ||| được gan cứng bằng 1 và |Ix|| được gan bằng
s Do đó hàm softmax được chuẩn hóa thành NSL (Normalized version ofSoftmax Loss) như sau:
mô hình Việc này làm cho mô hình gặp khó khăn hơn trong quá trình huấn luyện
và phải điều chỉnh dé có quyết định chính xác hơn Hàm mắt mát CosFace — Large
Margin Cosine Loss (LMCL) được viét lai nhu sau:
+ (cos(Ø,,)~m)
1 e
Linc = yobs ele em 7) (2.5)
Jjườ
Trang 21Chương 2 Tỏng quan về dé tài nghiên cứu
NSL LMCL Hình 2.6.Ảnh hưởng của giá trị m làm giảm miền quyết định của các lớp [3]
Một ví dụ về vùng quyết định của 8 lớp với các đặc điêm 2D trên không gianEuclide và không gian góc với các giá trị khác nhau của m Nếu m càng lớnthì vùng quyết định càng bé va làm cho các thông số của mô hình phải thích nghĩnhiều hon trong quá trình huấn luyện
Hình 2.7: Vùng quyết định giảm khi giá trị m tăng trong hàm CosFace [3]
Bên cạnh chức năng dùng làm hàm mất mát khi huấn luyện hoặc tinh chỉnh,
CosFace còn được sử dụng làm bộ phân loại trong bài toán nhận diện khuôn mặt.
Đồng thời, dé kiểm tra cho các cá nhân bên ngoài facebank thì cần bổ sung kiểm traL2 distance đê đảm bảo khoảng cách giữa vector anh query và vector trongfacebank nhỏ hơn ngưỡng tối ưu được tìm ra trước đó Cách sử dụng CosFace làm
bộ phân loại y hệt như SVM.
Trang 222.2.4 RetinaFace
Mô hình nhận diện khuôn mặt của RetinaFace [5] gồm ba thành phần chính: mạngkim tự tháp đặc điểm, module ngữ cảnh và hàm mắt mát đa nhiệm
Mạng kim tự tháp đặc điểm nhận input là ảnh đầu vào cần phát hiện khuôn mặt
va ouput là năm feature map với các kích thước khác nhau từ P2 đến P6 Bốnfeature map đầu tiên từ P2 đến P5 được xây dựng bởi tầng dư của ResNet từC2 đến C5 Feature map cuối cùng P6 được tạo thành từ tích chập của 3x3 vớistride 2 trên C5.
v Module ngữ cảnh: Các module này được đưa vào dé giúp mô hình phát hiện
được các khuôn mặt nhỏ tốt hơn
Hàm mat mát đa nhiệm L gồm 4 hàm mat mát con được tính như sau:
L = L„(pi,p;) + Ax Pi Loox (tists) + Az Bi Lye lisls As Pi Lại (2.6)
—_ L„(p,p;) là ham mắt mát softmax cho phân loại có và không có khuôn
mặt, p, là xác suất dự đoán anchor i có khuôn mặt, p; là 1 cho
positive anchor và là 0 cho negative anchor.
— L„„(t,tj) là hàm mất mát cho hồi quy bounding box Trong đó,
t=(t,,t,t„t,}, là tọa độ bounding box dự đoán thứ i,
t={tt,0,t2,f2}, là tọa độ bounding box ground true thứ i.
—_ L„(I,l7) là hàm mắt mát hồi quy của 5 điểm trên khuôn mặt Trong đó,
L={laslyeslsslyshi là tọa độ dự đoán của 5 điểm landmark trên khuôn
mặt và I={l1,,ljạ, ,
tương ứng.
}, là tọa độ ground true của 5 điểm landmark
— L là hàm mất mát cho các điểm 3D trên khuôn mặt
Context Modute (x5)
Hình 2.8 Mô hình nhận dang khuôn mặt của RetinaFace [5]
Trang 23Hình 2.10, Kiến trúc ViT cho bài toán phân loại ảnh [1]
ViT [1] được sử dụng đầu tiên cho bài toán phân loại ảnh Với ý tưởng xử lý ảnh
trong thị giác máy tính như xử lý một câu trong xử lý ngôn ngữ tự nhiên, ViT chia
Trang 24(440) thành nhiều ảnh nhỏ (patch) bằng nhau và không chồng lanảnh gốc XeR
X,eRYx>o dé xử lý như các token Trong đó, H và P lần lượt là độ phân giải
của ảnh gốc và ảnh nhỏ, C là số lượng kênh màu của ảnh, N=H/P” là số lượng
ảnh nhỏ được tạo ra từ ảnh gốc.
} — Ain
man
Hình 2.11.Anh gốc được chia thành nhiều ảnh nhỏ không chong lần
Các ảnh nhỏ X, được làm phẳng thành vector và đi qua một lớp Dense (Linear
Projection) dé tạo thành các embedding vector X,E Một embedding class
Xess sẽ được bô sung vào ngõ ra của khối mã hóa vị trí với mục đích lấy thôngtin liên quan của toàn bộ các patch ảnh được tạo ra, tương tự như token được bổsung khi sử dụng Transformer Encoder cho xử lý ngôn ngữ tự nhiên Các vector tạo
từ patch nào sẽ được bổ sung thông tin về vị trí tương ứng của các patch ấy làE,„ Ngõ ra của bộ mã hóa vị trí là vector z„ Vector này được đưa vào bộTransformer Encoder dé xử lý
2=[Xetass Xp Ey XpE yo Xp E}+E pos (2.7)
So sánh với xử ly ngôn ngữ tự nhiên, Transformer của ViT chi sử dụng bộ mã hóaTransformer Encoder và không sử dụng khối Transformer Decoder Chỉ tiết vềTransformer có thể tham khảo ở tài liệu “Attention is all you need” [17] BộTransformer của ViT gồm nhiều khối Encoder xếp chồng lên nhau với nhiệm vụxây dựng mối quan hệ giữa các thành phần của vector đầu vào bộ Transformer
Trang 25Chương 2 Tổng quan về đề tài nghiên cứu
Output
Probabiilies
shifted right)
Hình 2.12 Kiến trúc đầy đủ của Transformer sử dụng trong NLP [17]
Mỗi khối Encoder làm nhiệm vụ chuẩn hóa dữ liệu đầu vào bằng khối Layer Norm
(LN), sử dung khối Multi-head Self Attention (MSA) dé tạo mối quan hệ giữa các
dữ liệu đã được chuẩn hóa Với dữ liệu đầu vào khối Encoder | là 2 thì đầu ra
được tính như sau:
z= MSA( LN(z,,) )*Z¿¡, I=1,2, ,L (2.8)
Trong đó khối MSA được xếp chồng từ nhiều khối Self-Attention (SA) Khối SAxây dựng quan hệ giữa một vector patch ảnh với các vector patch ảnh còn lại Davào là các vector của các patch ảnh z Đầu ra là các vector ngữ cảnh SA(z) thểhiện sự quan hệ giữa các vector patch ảnh.
[q,k,v]=zU„„ (2.9)
SA(z)=softmax( 442) (2.10)
VD,
Trang 26Trong đó, U„„€R”*””' là ma trận biến đổi tuyến tính được học trong quá trìnhhuấn luyện Các vector q,k,v được tạo ra bằng cách nhân đầu vào z và matrận Uy, -
z', được đưa vào khối Multi Layer Perceptron (MLP) và Residual để tạo thành
z, , chính là đầu ra của mỗi khối encoder
z, = MLP(LN(z'))+Z',, I=1,2, L (2.11)
Ngõ ra của khối Transformer là vector ngữ cảnh được đưa vào khối “Multi LayerPerceptron Head” dé tạo ra các xác suất tương ứng với các ảnh cần phân loại Anh
tương ứng với ngõ ra có xác suất cao nhất được mô hình lựa chọn làm kết quả của
quá trình phân loại ảnh.
Kết quả từ [1] cho thấy ViT cho kết quả tốt hơn ResNet một ít ở bài toán phân loạiảnh nếu được huấn luyện với bộ dataset lớn (14M-300M ảnh) Tuy nhiên, nếu ViTđược huấn luyện bằng các bộ dataset vừa hoặc nhỏ thì sẽ cho kết quả kém hơnResNet Tốc độ huấn luyện cho ViT cũng chậm hơn so với ResNet
2.2.6 Face Transformer for recognition
Mô hình Face Transformer [2] sử dung lại ViT cho mục đích nhận dang khuôn
Face Transformer bổ sung kỹ thuật chia ảnh gốc thành nhiều ảnh nhỏ có chồng lan
lên nhau để tăng tính tương quan giữa các ảnh nhỏ với nhau Ảnh gốcXeR”*"*° thành nhiều ảnh nhỏ (patch) bằng nhau và chồng lấnX,€R'**?*°.Trong đó, H và P lần lượt là độ phân giải của ảnh gốc và ảnh nhỏ,
H+2p-(P—1)
Ss
được tạo ra từ ảnh gốc, p là số lượng zero padding, S là độ trượt
€ là số lượng kênh màu của anh, N= +1 là số lượng ảnh nhỏ
Các ảnh nhỏ làm được làm phẳng, bổ sung thông tin vị trí và đưa vào bộ Encoder y
hệt như mô hình ViT Giải pháp chia ảnh này giúp tăng độ chính xác của mô hình
từ 0.02% đên 0.57% ở bài kiểm thử so khớp khuôn mặt trên các bộ dataset publicBI:
Trang 27Chương 2 Tổng quan về dé tài nghiên cứu
Hình 2.14.Mô hình Face Transformer [2]
Kết quả từ [2] cho kết quả tương tự với [1] ở bài toán so khớp khuôn mặt Khi ViT
và ResNet được huấn luyện với bộ dataset có kích thước trung bình
MSIM-RetinaFace thì ResNet sẽ cho kết quả tốt hơn một tí.
Trang 282.2.7 Few-shot object detection via baby learning
Phương pháp huấn luyện Baby learning [18] được áp dụng trong few-shot objectiondetection khi số lượng dữ liệu huấn luyện hạn chế Thay vì huấn luyện chỉ một lầnvới số lượng mẫu dữ liệu không đổi, mô hình được huấn luyện nhiều lần với lầnsau có số lượng mẫu nhiều hơn lần trước Giải pháp này giúp cải thiện mạnh độchính xác với bài toán ít dữ liệu.
Trang 29Chương 2 Tổng quan về đề tài nghiên cứu
Trang 30Chương 3 MÔ HÌNH NGHIÊN CỨU 3.1 Mô hình nhận dạng khuôn mặt đề xuất
Mô hình nhận dạng khuôn mặt tông quát với ba thuộc tính cấu thành đã được trìnhbày cụ thể ở chương 2 Trong chương 3 này, ba thuộc tính sẽ được cụ thể hóa để tạothành mô hình nhận dạng khuôn mặt áp dụng cho đề tài này
Thông số đầu tiên là bộ dataset dùng cho huấn luyện và tinh chỉnh Trong đó, môhình được huấn luyện từ đầu bằng MSIM-RetinaFace được sử dụng vì đây là bộdataset public có số lượng ảnh nhiều nhất đã từng được công bố với 5,1 triệu ảnhcủa 93,000 người Tiếp đến, quá trình tỉnh chỉnh sẽ dùng bộ dataset của người ViệtNam với 1 hoặc 2 ảnh mỗi người dùng cho huấn luyện để tạo ra sự thiếu dữ liệucho mô hình Các bộ dataset này sẽ được mô tả cụ thể ở chương 4
Tiếp đến, thông số thứ hai là mạng học sâu dùng cho mô hình nhận dạng khuônmặt Mạng học sâu được sử dụng để trích xuất các thông tin đặc điểm khuôn mặtthành các vector đặc trưng Dé tài này sử dụng ViT làm mạng học sâu chính Bên
cạnh đó, một đại diện ưu tú của CNN là ResNet được chọn dé làm đối trọng với
ViT dé đánh giá benmarking về độ chính xác của mô hình
Thuộc tính 1: Dataset Thuộc tính 3:
huần luyện MS1M- >| | Hàm mắt mát Nhãn
RetinaFace CosFace
“Thuộc tính 2:
Backbone network /T/ResNet, được dùng|
lâm Module trích xuất
vector đặc trưng sau
khi huấn luyện
Thuộc tính 1: Dataset
tinh chỉnh REGTK,
REG2K
>
Hình 3.1: Mô hình dùng khi huấn luyện và tinh chỉnh
Thuộc tính cuối cùng là hàm mat mát được thiết kế dùng riêng cho nhận dạngkhuôn mặt Theo [7] thì họ các ham mất mát theo cosin và góc cho kết quả tốt hơncác ham dựa trên khoảng cách Euclide Trong các hàm mat mát theo cosin và góc
như SphereFace [16], CosFace [3], ArcFace [7] thì CosFace được lựa chọn đê sử
dụng trong mô hình này vì các lý do sau:
Trang 31Chương 3 Mô hình nghiên cứu
Độ chính xác mô hình CNN khi sử dụng ArcFace có nhinh hơn CosFace nhưngkhông đáng kẻ
v ArcFace không phù hợp khi sử dụng với ViT và cho thời gian hội tụ chậm
trong quá trình thực nghiệm Trong khi CosFace phù hợp với ViT và cho thời gian hội tụ nhanh hơn.
3.2 Phương pháp tỉnh chỉnh kết hợp kỹ thuật Baby Learning
II-IIIHI-L—+>=——
SL | |} ~
oe 177) MD I IIl^ le — |
L— Lll<LLLEHI Ullal
Dataset tinh chỉnh Backbone Network Hàm mắt mát.
Layer chưa được tn chị [ Layer được tnh nh
Hình 3.2: Tinh chỉnh mô hình bằng phương pháp Baby Learning Ï
Sau quá trình huấn luyện với bộ dataset MSIM, dé kiểm thử trên bộ dữ liệu thiếunhư mục tiêu của đề tài đưa ra thì mô hình được tỉnh chỉnh bằng bộ dataset khuôn
mặt người Việt Nam Dé tăng độ chính xác của mô hình thì kỹ thuật Baby Learning
duoc áp dụng trong quá trình tinh chỉnh.
'Với phương pháp tinh chỉnh thông thường, nghĩa là một số ngẫu nhiên Conv Layerđược chọn huấn luyện lại bằng bộ dataset của người Việt Nam Trong khi các ConvLayer còn lại sẽ bị đóng băng trong quá trình huấn luyện lại
Kỹ thuật Baby Learning gốc [18] được áp dụng trong quá trình tinh chỉnh bằngcách tăng dần số lượng dữ liệu Ví dụ chúng ta có bảy ảnh cho mỗi lớp thì quá trìnhhuấn luyện sẽ tăng dần số lượng ảnh đưa vào Chẳng hạn lần tỉnh chỉnh đầu sẽdùng một ảnh, lần hai dùng ba ảnh, lần ba dùng năm ảnh và lần tỉnh chỉnh cuốicùng sẽ dùng bảy ảnh.
Với phương pháp Baby Learning hiệu chỉnh, số lượng Conv Layer được tỉnh chỉnh
sẽ tăng dần lên theo từng lần tinh chỉnh Lần đầu tiên, một Conv Layer được tinhchỉnh Lần thứ hai, hai Conv Layer được tinh chỉnh Lần thứ N, N Conv Layer sé
được tinh chỉnh.
Trang 323.3 Mô hình thực hiện cho bài toán so khớp khuôn mặt
Mô hình đề xuất cho bài toán so khớp khuôn mặt sẽ tương tự như mô hình ởchương 2 nhưng sẽ cụ thể hóa các module sử dụng
v Input là các cặp ảnh dùng cho so khớp khuôn mặt được lấy từ các bộ datasetpublic va private sẽ được dé cập ở chương sau
v Module bóc tách ảnh khuôn mặt: RetinaFace được sử dụng cho mục dich táchảnh khuôn mặt từ ảnh gốc vì có hiệu quả tốt nhất so với các giải pháp khác,cũng như căn chỉnh ảnh khuôn mặt được tách ra và chuyên đổi về kích thước
112x112 đề phù hợp với mô hình học sâu phía sau.
v Module trích xuất vector đặc trưng: Vision Transformer (ViT) và mạng ResNetđược sử dụng và được huấn luyện với bộ dataset MSIM-RetinaFace (bộdataset này sẽ được đề cập chỉ tiết ở chương 4) và sau đó được sử dụng để tríchxuất vector đặc trưng từ ảnh khuôn mặt Hai loại mạng học sâu này được so
sánh với nhau về độ chính xác của mô hình.
v Module đánh giá khoảng cách giữa hai vector: Hai vector được tính toánkhoảng cách Euclide d với nhau Ngoài ra, D là khoảng cách tối đa giữa
hai vector của cùng một người được tìm ra trong quá trình huấn luyện Nếu
d>D thì đây là cặp ảnh của hai người khác nhau Nếu đ<D thì đây là cặpảnh của cùng một người.
Module so khớp cập ảnh khuôn mat ' Kết quả
ap anh cn so
kiếp thuôn mặt RetinaFace- ÍVTEMNN-Wodeli [Le astance- Node
rong các bộ Module bóc tách | — 3| tích khá veơor | —— 3| đản ga khoảng cach | | —»| Đôchnh xác của |,
dataset public, ‘nh khuôn mat đặc trưng giữa 2 vector hình
private
Feature | Feature Tim khoảng cách Euclide d
e = voor] | giữa 2 vector, so ảnh voi D
7 lễ hoàng ch li đa coa2
/ anh cing 1 người.
Cập ảnh người Cập ảnh khuôn mặt Cu
Hình 3.3: Mô hình dé xuất cho bài toán so khớp khuôn mặt |
Từ kết quả so sánh khoảng cách Euclide của các cặp vector của ảnh khuôn mặt, môhình sẽ dự đoán cặp anh input là của cùng một người hay của hai ngươi khác nhau.
So sánh với nhãn dữ liệu thì ta đánh giá được độ chính xác của mô hình trên các bộ
dataset kiểm thử Từ đó, ta sẽ so sánh độ chính xác của hai mô hình nhận dang
khuôn mặt dùng ViT và ResNet với nhau.
Trang 33Chương 3 Mô hình nghiên cứu
các bộ dataset public gồm LFW và các biến thé, cùng với bộ dataset VER4K đượcxây dựng từ khuôn mặt người Việt Nam Các bộ dataset này sẽ được trình bày ở chương 4 Mô hình sẽ không được tỉnh chỉnh trên bộ dataset người Việt Nam vì sau khi tinh chỉnh sẽ không còn đủ dữ liệu ảnh khuôn mặt dé xây dựng bộ dataset so
khớp khuôn mặt của người Việt Nam.
3.4 Mô hình thực hiện cho bài toán nhận diện khuôn mặt
Mô hình đề xuất cho bài toán nhận diện khuôn mặt sẽ tương tự như mô hình ởchương 2 nhưng sẽ cụ thể hóa các module sử dụng như sau:
v Module bóc tách ảnh khuôn mặt: Vẫn dùng RetinaFace như bài toán so khớp
'Các ảnh cần lưu trừ Các vector đặc trưng của
RetinaFace - ViTIResNet - Vector | Vector2 | - [ŸseterN
“ ‘Module bóc tach 2 Module trich xuất
cảnh Khuôn mat Vector đặc trưng
Kết quả
= | See] PB al (fam query habe về ca nhân nào rong
=.- Modi tích xuất nh
Module bộc tach Với bộ các vector Thuộc về các cả nhân trong bộ ưu trữ
3 ‘anh khuôn mat Nhu đặc trưng (x, Vi}
4 query x4 chính xác của mô hinh :
Hình 3.4: Mô hình đề xuất cho bài toan nhận diện khuôn mặt
Từ kết quả nhận diện khuôn mặt của từng trường hợp, ta sẽ đánh giá được độ chínhxác của mô hình ViT/ResNet tương ứng.
Vi các bộ dataset public như LFW và các biến thé hiện chi dùng được cho so khớp.khuôn mặt Do đó, mô hình sau khi huấn luyện bằng MSIM-RetinaFace sẽ đượctỉnh chỉnh bằng bộ dataset người Việt Nam REGIK, REG2K và sau đó thực hiệnkiểm thử trên các bộ dataset này
Trang 34Chương 4 KET QUA NGHIÊN CỨU
4.1 Các bộ dataset dùng trong nghiên cứu
Để phục vụ cho dé tài, tác giả có sử dụng các bộ dataset public và một bộ datasetprivate Vietnamese Face Dataset (VFD) do tác giả tự thu thập được Từ bộ VFD này , tác giả xây dựng thành các bộ dataset VER4K, REGIK, REG2K.
v Trong quá trình training, dataset MSIM-RetinaFace với 5.1 triệu ảnh khuônmặt của 93K người được sử dụng Đây là bộ dataset public có nhiều ảnh nhấtđược công bố
v Các bộ dataset public LFW và các biến thé của nó, cùng bộ dataset private'VER4K (tự thu thập) được kiểm thử sau khi traning cho bài toán so khớp khuôn
mặt.
v Quá trình tinh chỉnh và kiểm thử cho bài toán nhận diện khuôn mặt được thựchiện với bộ dataset private REGIK, REG2K (tự thu thập).
4.1.1 Vietnamese Face Dafaset (VFD)
Để phục vụ cho việc kiểm thử mô hình trên môi trường, thiếu dữ liệu, tác giả có thựchiện thu thập 3.000 ảnh của 1.000 người Việt Nam, có thuộc tính phân phối như
Sau:
'VFD source distribution 'VFD gendre distribution I
Hình 4.1 Thuộc tính phân phôi của bộ dữ liệu VFD
v Giới tính: 401 nam và 599 nữ.
Trang 35Chương 4 Kết quả nghiên cứu
v Mỗi người có 3 ảnh Các ảnh của cùng một cá thé có thể có các tư thế khuôn
mặt (thẳng, nghiêng ) và biểu cảm (vui, buồn, ) khác nhau dé tăng độ khó
cho bộ dataset VFD.
Các ảnh khuôn mặt được bóc tách ra từ ảnh gốc bằng RetinaFace, được căn chỉnh
và được điều chỉnh về kích thước 112x112 Bộ ảnh này được dùng dé xây dựngVER4K cho bài kiểm thử so khớp khuôn mặt và REGIK, REG2K cho bài toánnhận diện khuôn mặt.
Nguyên nhân phải xây dựng bộ dataset mới vì yêu cầu các đặc điểm khuôn mặt của
bộ dataset này phải chưa được học được từ quá trình huấn luyện từ đầu để phục vụcho việc đánh giá khi dữ liệu thiếu Nếu dùng các bộ dataset public có sẵn thì đaphần sẽ là khuôn mặt của người da trắng, da đen, người Trung Quốc các dit liệunày đã có nhiều trong bộ dataset MS1M-RetinaFace Trong khi dữ liệu khuôn mặtngười Việt Nam trong bộ MSIM-RetinaFace rất hạn chế
Trang 364.1.1.1 Bộ dataset VER4K
Bộ dataset VER4K được dùng đê kiêm thử cho mục đích so khớp khuôn mặt Mỗi
cá nhân có 3 ảnh sẽ được chia thành 2 cặp ảnh positive của cùng một người Tiếp
đó, lựa ra 2 ảnh của người này và 2 anh của 2 người khác cùng giới tính dé tạo
thành 2 cặp ảnh negative Với 1000 người sẽ tạo ra được 4.000 cặp ảnh (2.000 cặp
ảnh positve và 2.000 cặp ảnh negative).
Positive Pair Positive Pair Negative Pair Negative Pair
Hình 4.4: Các cặp anh dùng so khớp khuôn mặt trong bộ dataset VER4K
Mỗi cặp ảnh sẽ có một nhãn được dán mang giá trị True hoặc False Nếu cặp ảnh
positive của cùng một người thì nhãn dán sẽ có giá trị True Nếu cặp ảnh negative
Trang 37Chương 4 Kết quả nghiên cứu
tổng cộng 4.000 nhãn gồm 2.000 nhãn True và 2.000 nhãn False xen kẽ nhau cứmỗi 2 nhãn True nói tiếp 2 nhãn False
4.1.2 Bộ dataset REGIK
Bộ dataset này dùng để tỉnh chỉnh và kiểm thử nhận diện khuôn mặt Mỗi cá nhân
có ba ảnh thì một ảnh được dùng cho tỉnh chỉnh và làm ảnh lưu trong vào cơ sở dữ
liệu ảnh có săn (facebank), hai ảnh còn lại dé truy van thông tin ảnh trong facebank.Như vậy tổng có 1.000 ảnh của 1.000 người dùng cho quá trình tỉnh chỉnh mô hình
và 2.000 ảnh của 1.000 dùng dé kiểm thử truy xuất thông tin ảnh ở facebank
Facebank gôm 1000 feature vector
Teo feature vector timo hình đã tnh
Tín chỉnh Tinh chỉnh lim aim inh lnt ian 2 ida N
~ 1 = So ánh quary vector và các feature
| | vector ong facebanc để im vector | |
đã tính chỉnh | | yetorbo| [veto vector
Trong bài kiểm thử này mỗi ảnh sẽ có nhãn là xyz_ 0t Trong đó, xyz có giá tri từ
000 đến 999 đại diện cho ID của mỗi cá nhân, t có giá trị từ 1 đến 3 là ID của ảnh
khuôn mặt của cá nhân ấy Các ảnh có nhãn xyz_01 sẽ được dùng để tỉnh chỉnh cho
mô hình và tạo thành facebank Các ảnh có nhãn xyz_02, xyz_03 sẽ được dùng détruy vấn Khi một ảnh truy vấn abc_02 hoặc abc_03 đưa vào mô hình và được trả vềkết quả ảnh trong facebank có nhãn abc_01 thì mô hình đoán đúng kết quả Nếunhãn trả về khác abe_01 thì mô hình dự đoán sai
4.1.3 Bộ dataset REG2K
Bộ dataset này dùng để tỉnh chỉnh và kiểm thử nhận diện khuôn mặt Mỗi cá nhân
có 3 ảnh thì 2 ảnh được dùng cho tinh chỉnh và làm ảnh lưu trong vào cơ sở dữ liệu
Trang 38ảnh có sẵn (facebank), 1 ảnh còn lại để truy vấn thông tin ảnh trong facebank Như
vậy tông có 2.000 ảnh của 1.000 người dùng cho quá trình tỉnh chỉnh mô hình và
1.000 ảnh của 1.000 dùng đề kiểm thử truy xuất thông tin ảnh ở facebank
\ le eo
Too ete auery vector
từ mô hình
So sánh query vector và các feature
vector trong facebank để tim vector
Trong bài kiểm thử này mỗi ảnh sẽ có nhãn là xyz_0t Trong đó, xyz có giá trị từ
000 đến 999 đại diện cho ID của mỗi cá nhân, t có giá trị từ 1 đến 3 là ID của ảnhkhuôn mặt của cá nhân ấy Các ảnh có nhãn xyz_02, xyz_03 sẽ được dùng dé tinhchỉnh cho mô hình va tạo thành facebank Các ảnh có nhãn xyz_01 sẽ được dùng détruy vấn Khi một ảnh truy van abc_01 đưa vào mô hình và được trả về kết quả ảnhtrong facebank có nhãn abc_02 hoặc abc_03 thì mô hình đoán đúng kết quả Nếunhãn trả về khác abc_02 hoặc abc_03 thì mô hình dự đoán sai
4.1.4 MSIM-RetinaFace
MSIM-RctinaFace là phiên bản làm sạch version 3 của MS-Celeb-1M [15] công bố
2016 Năm 2019, Imperial College London (UK) and InsightFace (CN) sử dụng MSIM-RctinaFace ở cuộc thi Lightweight Face Recognition Challenge &Workshop Bộ dữ liệu nay gồm 5.1 triệu ảnh với kích thước 112x112 của 93Kngười, trung bình có 55 ảnh/người Đây là bộ dataset kích thước trung bình, nhưng
là bộ dataset public có số lượng ảnh nhiều nhất Bộ dataset này được dùng dé huấnluyện mô hình nghiên cứu từ đầu
Trang 39Chương 4 Kết quả nghiên cứu
4.1.5 Labeled Faces in the Wild (LFW)
LFW là bộ dataset public nồi tiếng được công bố năm 2007 Bộ dataset này gồm13.233 ảnh của 5749 người thu thập từ web Trong đó 1680 người có hai hoặc baảnh, 4069 người chỉ có một ảnh [9] LEW thiếu sự đa dạng về nhóm Cụ thể là rất íttrẻ em, người già và người dân tộc thiêu số LFW được sử dụng cho mục đích kiểmthử ở bài kiểm tra so khớp khuôn mặt Với bài kiểm thử này, bộ dữ liệu LFW cótổng cộng có 6.000 cặp ảnh gồm 3.000 cặp positive và 3.000 cặp ảnh negative
Hin 4.8: Các cặp ảnh positivecủa bộ dataset LFW
Bộ dataset LFW được đánh giá là khá dé cho bài toán so khớp khuôn mặt vì các các
mô hình sẽ dé dàng phân biệt các cặp ảnh cần so sánh Lý do các cặp anh positivekhá tương đồng nhau và các cặp ảnh negative khác biệt nhau (thậm chí là khác cảgiới tính).
Trang 40Hinh 4.9: Các cặp anh negative trong bộ dataset LFW _
4.1.6 Cross-Age LFW (CALFW)
_ _ Hình 4.1 ip anh positive trong bộ dataset CALFW +
CALFW là một dataset cải tiên từ LFW bằng cách lựa chọn ảnh cùng một người sẽlệch tuổi nhiều hơn Với cặp ảnh negative sẽ cùng giới tính và chủng tộc dé tăng độkhó khi phân loại [19] CALFW được dùng mục đích kiểm thử ở bài kiểm tra sokhớp khuôn mặt Tổng có 6.000 cặp ảnh gồm 3.000 cặp positive và 3.000 cặp ảnhnegative.