Mở đầu Thứ 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-Tiep Nguyen (2022), "Baby Learning with Vision Transformer for Face Recognition", Proceedings of the 2022 International Conference on Multimedia Analysis and Pattern Recognition (MAPR), pp. Tổng quan về đề tài nghiên cứu Chương 2.
TONG QUAN VE DE TÀI NGHIÊN CỨU 2. 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ười trong 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ột trong 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. 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ạng khuô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ôn mặ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ước khuô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ích thướ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 1 Chương 2. Tổng quan về đề tài nghiên cứu 2.
So khóp gương mặt So khớp khuôn mặt là kiểm tra một cặp ảnh và ra kết luận là cặp ảnh đó của cùng một người hay của hai người khác nhau. Đầu tiên, cặp ảnh mặt người sẽ được bóc tách ra từ ảnh gốc như ở phần trên. Cặp ảnh khuôn mặt được đưa vào module trích xuất vector đặc trưng, thường là 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ếu giá trị d này cao hơn một ngưỡng giá trị được định nghĩa trước D (giá trị này tìm được trong quá trình huấn luyện) thì cặp ảnh gốc thuộc hai người khác nhau. 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 |Cặp ảnhkhuôncầnmatso khớp | > Module bóc tách Module tích xuất Ti một người ‘Module đánh giá "Senior | —”|Veeor6œctơng | — >|69Phôhepoia2K L2 hàng) 'Kiểm tra khoảng cách2 vector ` 2 = sid8 Vector | Vector 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. 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ành vector đặc trưng query x„.
Vector x„ 4 này sẽ được so sánh khoảng cách với 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ấy trong quá trình huấn luyện) thì ảnh gốc đó chính là ảnh của người y, có thông tin được lưu trữ ở hệ thống. Nếu không thì ảnh gốc không phải ảnh của 12 Chươ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ông qua L2 distance như trên, vector ảnh có thé được phân loại thông qua SVM hoặc CosFace đề tìm ra lớp (tương ứng với id của cá nhân) cần tìm.
“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á TL. wae Module tích suất Module so sảnh xạ [nhân có nhân yk rong facebank | | [cto query xa | | đặc tưng 6x, yi} | Hoge ảnh tim kiêm không có Vengtacebank Hình 2.Phương pháp nhận diện khuôn mặt 2. 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].
huấn ayer tinh |———\ Thuộc tính 1: Dataset er Hàn mắt nát Pe fgiễ lộc tính 3: : Nhãn. ij] Bài toán so Khớp khuôn mat | Thuộc tính 2: —— Ảnh kiểm thử |—————>| |———>*‡ = Bài toán nhận diện - khuôn mặt Hình 2.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úp cho 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ọc sâ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ụng trê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ấn luyện càng lớn thì hiệu suất càng cao và thậm chí tăng theo hàm mũ logarit [§]. Tổng quan về đề tài nghiên cứu Hiệ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 khai thườ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-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 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ích chậ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ánh kế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ên khoả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óc cho 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. Các công trình nghiên cứu có liên quan 2. 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à độ do khoả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 hai vector 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 các vector khuôn mặt trong facebank.
Khoảng cách ngắn nhất đến một vector nào 14 Chươ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ày khô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.x,) là toa độ của vector x va (y,,y;,.,y„) là tọa độ vector y.
Support Vector Machine Support Vector Machine (SVM) được dùng chủ yếu trong bài toán phân loại. Gia sửa bai toán phân loại được thực hiện trong không gian n chiều. Trong quá trình huấn luyện, K nhóm vector được dán nhãn và được mô hình học máy xây dựng thà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 vector mới này thuộc phân nhóm nào trong K nhóm đã học.