Mở đầu Nhân diện khuôn mặt (Face Recognition) là bài toán định danh một người từ hình ảnh kỹ thuật số được lay mẫu trước đó hoặc từ một khung hình trong một nguồn video khác. Đây là một phương pháp xác minh độc đáo dựa vào các đặc trưng sinh trắc học trên khuôn mặt của một người, có thể là kích thước hoặc vị trí của từng bộ phận tên khuôn mặt, màu da và hình dáng của các bộ phận. | Lebo Huy Ee Z| Nguyễn Văn Khoa Nguyễn Lê Anh Quân Hồ Chung Đức Khánh Hình 2.1: Các nhánh trong bài toán nhận diện khuôn mặt 2. CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN Nhận dạng khuôn mặt là một bài toán khá phức tạp, nó đòi hỏi một loạt các van dé cần thực hiện.
Về tổng quan bài toán được chia thành 2 bước chính (hình 2.1): phát hiện và truy vết khuôn mặt (face detection and tracking), nhận diện khuôn mặt (face recognition).2 Phát hiện khuôn mặt 2.1 Tổng quan về phát hiện khuôn mặt Phát hiện khuôn mặt là một trong những thành phần cơ bản nhất của hệ thống nhận diện khuôn mặt. Đầu vào là hình ảnh kỹ thuật số hoặc video, đầu ra là vị trí của khuôn mặt (nếu có) được thể hiện thông qua bounding box (hình 2. Bài toán gồm có 2 hướng tiếp cần chính, Các phương pháp phát hiện khuôn mặt ban đầu chủ yếu dựa trên các bộ phân loại được xây dựng dựa trên các đặc trưng thủ công Haar và HOG. Tuy nhiên, những cách tiếp cận này không đủ mạnh để đạt được độ chính xác cao đối với hình ảnh từ các môi trường không được kiểm soát.
Với công trình đột phá trong phân loại hình ảnh sử dụng mạng nơ-ron sâu vào năm 2012, đã có một sự thay đổi mô hình rất lớn trong phát hiện khuôn mặt. Lấy cảm hứng từ sự tiến bộ nhanh chóng của học sâu trong thị giác máy tính, nhiều phương pháp dựa trên học sâu đã được dé xuất dé phát hiện khuôn mặt trong vài năm qua và đạt được những cải tiến đáng kể về độ chính xác.2 Phương pháp cổ điển 2.1 Viola-Jones (Cascade) Đây là phương pháp phát hiện vat thé được dé xuất năm 2001 bởi Paul Viola và Michael Jones. Phương pháp này sử dụng các đặc trưng Haar (Hình 2.3) đã được chọn lọc trước bằng Cascade Classifiers trượt qua từng vùng của bức ảnh. Haar thường được sử dụng để phát hiện khuôn mặt trực diện của người, bởi vì 2.
CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN Face Detection — Hình 2.2: đầu vào va dau ra của bài toán pháp hiện khuôn mặt đặc tính chung của khuôn mặt là có một số vùng mắt và miệng tối hơn vùng trán và má theo chiều dọc, và vùng mũi thường sáng hơn hai má theo chiều ngang. Cách áp dụng các bộ lọc này khác một chút so với các cửa sổ bộ lọc bên CNN. Ở CNN, bộ lọc chiếm toàn bộ cửa sổ trượt, trong khi ở đặc trưng Haar, bộ lọc chỉ chiếm một phần trong cửa sổ trượt thôi. Điều đó được minh hoạ trên ảnh.
Đây là phương pháp máy học được huấn luyện trên dữ liệu positive và neg- ative bằng hàm Cascade. Nhược điểm của phương pháp này là nó nhạy cảm với điều kiện ánh sáng và thời gian huấn luyện lâu, bù lại là thời gian dự đoán rất nhanh.2 HOG-SVM Phương pháp này được giới thiệu trong thư viện Dlib, Dlib là thư viện C++ và python cho máy học được tạo bởi Davis King. Như tên phương pháp đã cho thấy, phương pháp này sử dụng Histogram of Oriented Gradients (HOG) để trích xuất đặc trưng và bộ phân lớp SVM cho phát hiện khuôn mặt. Phương pháp này còn kết hợp các phương pháp như image pyramid và sliding window ( cửa sổ 2.
CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN 1. Edge features Hees (a) (b) (c) (d) mER OPS® 2. Line features On II ) (c) (d) (e) (f) (g) (h) 3. Center-surround features [a] ® (a) (b) Hình 2.3: Hình minh họa một số đặt trưng Haar được sử dung trong phương pháp Viola Jones [3] trượt ).
Nhược điểm của phương pháp này là còn hạn chế đối với khuôn mặt bị nghiêng hoặc cách xa máy ảnh.3 Phương pháp học sâu 2.1 RetinaFace RetinaFace [10] là phương pháp được giới thiệu bởi Jiankang Deng và các cộng sự vào năm 2019. Phương pháp này sử dụng kỹ thuật học tập đa tác vụ thay vì học tuần tự như các phương pháp trước để dự đoán đồng thời face score, facebox, five facial landmarks, 3D face mask. Việc này giúp tang độ chính sat lên đáng kể. Bằng cách sử dung các mạng trong số nhỏ, RetinaFace có thể chạy thời gian thực trên một lõi CPU duy nhất cho hình ảnh có độ phân giải VGA (640x480 pixel ).
RetinaFace sử dụng phương pháp hình tháp đặc trưng(feature pyramids) Mô hình mạng lấy hình ảnh đầu vào và xuất ra năm feature map với các tỷ lệ khác nhau được ký hiệu từ PI đến P6. Bốn feature map đầu tiên được tính toán bằng 2. CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN ODAySE sso" | Hinh 2.4: Kién tric mang Retinaface cách sử dung Backbone Resnet đã được đào tao trước về tap dữ liệu imagenet- 11k. Feature map P6 được tạo bởi phép convolution 3x3 với stride là 2 trên C5.
Ngoài ra còn sử dụng mạng deformation convolutional network(DCN) trong Context Module giúp tăng khả năng học của mô hình. Ở cuối các context mod- ules là một hàm multi-task loss giúp tính toán độ lỗi cho từng anchor. Face box regression - RE Facial landmark regres ion Existing branch Extra-supervision 4kx LÝa ` 1384749 s(JMAs1p2u£a0l qvna213q Dense face regression Self-supervision Hình 2.5: Trong RetinaFace các quá trình hoc của bộ phân lớp khuôn mặt, bộ hồi quy vị trí khuôn mặt, điểm móc trên khuôn mặt và dense face diễn ra một cách song song.2 SCRED SCRED là phương pháp được giới thiệu bởi insightface vào nam 2021. DCRFD dé xuất một phương pháp hiệu quả đối với đầu vào độ phân giải cố định ở độ 10 2.
CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN phân giải VGA ( 640x480 pixel ). Sœ CRFumaltcievo ad œ o > r ° Ra T Hình 2.6: phân phối kích thước khuôn mặt trong tập dữ liệu WIDER FACE. Khi chiều dài được cô định ở đồ phân giải 640 pixel. Hầu hết các khuôn mặt (78,93%) trong tập dữ liệu WIDER EACE nhỏ hơn 32 x 32 pixel(hinh 2.6) va chúng được dự đoán ở giai đoạn shallow stages.
Để có thêm các mẫu đào tạo cho các giai này, trước tiên phương pháp đề xuất phương pháp phân phối lại mẫu ( Sample Redistribution - SR) giúp tăng cường các mẫu đào tạo cho các giai đoạn cần thiết; và phân phối lại tính toán (Computation Redistribution - SR ), phân bố lại tính toán giữa backbone, neck và head của mô hình. [Bas cline 10 |G SRFD Hình 2.7: So sánh phân phối mau giữa phương pháp baseline và SCRFD Phương pháp phân phối lại mẫu tăng cường mẫu đào tạo từ 72.3k ở khuôn mặt 16x16 pixel va tang từ 95.1k ở độ phân giải 32x32(hinh 11 2. CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN 2. Điều này có được là nhờ thay vì tăng cường dữ liệu bằng random size trong khoảng [ 0.0], phương pháp đã sử dụng khoảng [0.
Nhờ đó đã làm tăng số lượng của mẫu dif liệu ở độ phân giải thấp liên đáng kể.5GF SCRFD-2,5GF Hình 2.8: Phân phối lại tính toán trong kiến trúc mang SCRFD Ngoài ra, phương pháp SCRFD còn đề xuất phương pháp phân bố lại toán giữa backbone, neck và head của mô hình (hinh2. Chiều rộng của hình chữ nhật tương ứng với chỉ phí tính toán. Sau khi phân phối lại tính toán, nhiều tính toán hơn được phân bổ cho các giai đoạn nông (tức là C2 và C3). Điều này giúp mô hình đạt độ chính xác cao trông khi vẫn giữ được thời gian thực thi và tiêu hao tài nguyên ở mức thấp.
Phương pháp SCRFD được chia thành nhiều biến thể theo thứ tự tăng dần số lượng tính toàn được đo theo Gflops (Giga Floating Point Operations Per Sec- ond ): SCRFD_S5O0OM_KPS , SCRFD_2.5G_KPS, SCRFD_10G_KPS, _KPS có nghĩa là mô hình bao gồm 5 điểm mốc của khuôn mat.3 YOLOSFace YOLOv5 [11] là một phiên bản cải tiến từ YOLOv3 PyTorch [12] bởi Glenn Jocher. Ban đầu những cải tiến này được gọi là YOLOv4 nhưng do trách xung đột bởi việc phát hành gần đây của YOLOv4 [13] trên Darknet, nên nó đã được đổi tên thành YOLOv5. Vì được phát triển trên thư viện PyTorch chứ không phải 12 2. CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN là Darknet nên việc sửa đổi kiến trúc cũng như triển khai được trên nhiều môi trường khác nhau.
YOLOS5Face[1] là mô hình dựa trên YOLOv5 đã được tinh chỉnh để phù hợp và tăng độ chính xác với tác vụ phát hiện khuôn mặt. Tác giả đã thêm Regression Head với 5 điểm landmark trên khuôn mặt và sử dụng hàm Wing loss cho nó. Việc thêm 5 điểm landmark đã làm cho đầu ra của mô hình từ 6 lên 16 gồm 4 bounding box, 1 confidence, 1 classification và 10 landmark với mỗi điểm landmark tương ứng 2 tọa độ. Điều này đã làm tăng độ chính xác cho mô hình.
Ngoài ra, YOLOSFace còn thêm một đầu ra P6 với stride là 64 giúp tăng khả nang phát hiện khuôn mặt lớn và một loạt các tinh chỉnh khác giúp tang độ chính xác cho mô hình. Kế thừa sự linh động trong thiết kế của YOLO. YOLO5Face được thiết kế với 2 backbone nhẹ là ShuffleNetV2 và CSP nework. Các mô hình này rất nhỏ, trong khi đạt được hiệu suất SOTA cho thiết bị nhúng hoặc thiết bị di động.
Tổng cộng có 4 mô hình khác nhau: YOLOvSn, YOLOv5s, YOLOv5m, YOLOvS5I. Đầu tiên là mô hình nhỏ nhất và kém chính xác nhất , cuối cùng mà mô hình lớn nhất và chính xác nhất. Mô hình YOLOv5n sử dụng backbone ShuffleNetV2 trong khi các mô hình còn lại sử dụng CSP nework. _„ class _ box ~ TM conf ~ landmark (a) Backbone with SPP and FPN (b) FAN (c) ouput Hình 2.9: Kiến trúc mô hình YOLO5Face 13 2.
CÔNG TRÌNH LIÊN QUAN VÀ KIEN THỨC CƠ BẢN 2.3 Truy vết khuôn mặt với Deep SORT Deep SORT [14] là một phương pháp phổ biến và được sử dụng rộng rải trong tác vụ truy vết vật thể. Deep SORT là một phiên bản cải tiến từ SORT [15] nhằm giải quyết các van đề thiếu sót liên quan đến số lượng ID switches cao. ID switches là van dé mất dấu đối tượng hoặc tráo ID của các đối tượng với nhau khi đối tượng bị che khuất, khi quỹ dao trùng lặp,. Hướng giải quyết mà Deep SORT đề xuất dựa trên việc sử dụng deep learning để trích xuất các đặc trưng của đối tượng nhằm tăng độ chính xác trong quá trình liên kết dữ liệu.