Tải bản đầy đủ (.docx) (15 trang)

Nhận diện khuôn mặt bằng arcface

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (682.75 KB, 15 trang )

KHOA TOÁN CƠ TIN HỌC
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN HÀ NỘI
----------

Đề tài:
Nhận diện khn mặt với thuật tốn Arcface

1


MỤC LỤC
MỞ ĐẦU

3

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

4

1. Tóm tắt.................................................................................................................4
2. Tầm quan trọng của đề tài..................................................................................4
CHƯƠNG 2: MỤC TIÊU

6

1. Giới thiệu..............................................................................................................6
2. Khó khăn.............................................................................................................. 6
CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU

7


1. Ứng dụng của Arcface vào bài tốn nhận dạng khn mặt.............................7
1.1. Hàm SoftMax Loss.............................................................................................7
1.2. Mặt hạn chế của Hàm Softmax loss....................................................................8
1.3. Hàm ArcFace loss...............................................................................................8
2. Mơ hình hóa của Arcface..................................................................................10
3. Những ưu điểm của ArcFace............................................................................11
4. Chi tiết triển khai...............................................................................................12
CHƯƠNG 4 : KẾT QUẢ THỰC NGHIỆM

14

Demo code..............................................................................................................14
KẾT LUẬN

14

Hướng phát triển...................................................................................................15
Đánh giá mục tiêu..................................................................................................15
TÀI LIỆU THAM KHẢO

16

1


MỞ ĐẦU
Công nghệ thông tin ngày càng phát triển và có vai trị hết sức quan trọng khơng thể
thiếu trong cuộc sống hiện đại. Con người ngày càng tạo ra những cỗ máy thơng minh
có khả năng tự nhận biết và xử lý được các công việc một cách tự động, phục vụ cho
lợi ích của con người. Kèm theo đó là sự bùng nổ của các thiết bị ghi hình như: điện

thoại di động, máy tính bảng, máy xách tay, máy ảnh, các hệ thống camera quan sát
(CCTV), v.v. Trong những năm gần đây, nhiều tiến bộ trong lĩnh vực nghiên cứu trí
tuệ nhân tạo, học máy và học sâu đã đưa ra giải pháp cho các bài toán nhận dạng như
nhận dạng vật thể, nhận dạng chữ viết, nhận dạng khn mặt, nhận dạng hình dáng,
nhận dạng giọng nói, … với độ chính xác rất cao.
Nhận dạng khn mặt là một lĩnh vực nghiên cứu phổ biến, camera an ninh hiện
đang phổ biến, công nghệ này dần được sử dụng ở các sân bay, văn phòng, đại học,
ngân hàng và bất kì địa điểm nào có hệ thống an ninh. Hệ thống nhận dạng khn mặt
có thể tự động phát hiện khuôn mặt trong ảnh và video. Trong báo cáo này, chúng em
cung cấp các chi tiết kỹ thuật cho việc nhận diện khuôn mặt bằng cách sử dụng
ArcFace để xuất các đặc trưng khuôn mặt.
Nội dung của báo cáo bao gồm:
Chương 1: Tổng quan đề tài
Chương 2: Mục tiêu
Chương 3: Kết quả nghiên cứu
Chương 4: Kết quả thực nghiệm

2


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1. Tóm tắt
Ở bài báo cáo này, chúng tơi sẽ trình bày và tìm hiểu về thuật toán Arcface để giải
quyết bài toán nhận dạng khuôn mặt trên quy mô lớn.
Một thách thức lớn khi xây dựng một mơ hình nhận dạng hình ảnh quy mô lớn là
thực hiện hàm Loss để nâng cao hiệu quả sức mạnh phân biệt giữa các cụm. Để giải
quyết phương thức được đề xuất là ArcFace. ArcFace sử dụng “Mất biên độ góc bổ
sung” để giảm khoảng cách giữa các lớp trong khi tăng khoảng cách giữa các lớp của
các đối tượng.
Bên cạnh đó, bài tốn đạt được kết quả 'hiện đại' với phương pháp này, vượt trội

hơn các hàm mất mát hàng đầu khác - Softmax Loss, Triplicate loss, Center loss, v.v. trên một loạt các bộ dữ liệu. Các kĩ thuật chính được sử dụng trong thuật tốn Arcface
là hàm Loss và SphereFace. Hàm Loss có tác động rất lớn tới độ chính xác của biểu
diễn điểm ảnh, thu hẹp khoảng cách giữa các phân tích sâu trong ảnh và giữa ảnh đầu
vào với các khung hình trong cùng không gian.
2. Tầm quan trọng của đề tài
Với sự phát triển không ngừng của khoa học kĩ thuật, máy móc càng ngày càng
được trang bị những cơng nghệ tiên tiến đáp ứng nhu cầu của con người. Và nhận diện
khn mặt cũng là một trong số đó. Nhận diện khuôn mặt ngày càng được ứng dụng
rộng rãi trong nhiều lĩnh vực của đời sống như: Face ID, chấm công, truy bắt tội
phạm… Công nghệ nhận diện khuôn mặt hiện là một công nghệ đang được sử dụng
khá phổ biến. Cơng nghệ này có khả năng xác định hoặc nhận dạng một người từ hình
ảnh kỹ thuật số được lấy mẫu trước đó hoặc từ một khung hình trong một nguồn video
khác. Nhận dạng khn mặt có thể được ứng dụng ở nhiều lĩnh vực khác nhau như
trường học, y tế hoặc an ninh. Ví dụ như ở trường học ta có thể ứng dụng bài tốn
kiểm tra sinh viên có cúp tiết học bằng cách khi sinh viên vào lớp thì sinh viên phải
qt nhận dạng khn mặt để khớp với dữ liệu đã lưu của trường. Với hệ thống nhận
diện khuôn mặt dành cho điểm danh khi vào lớp. Đối với sinh viên hệ thống camera
được lắp đặt trong phòng học sẽ tự động ghi nhận sự có mặt của mỗi sinh viên dựa trên
3


dữ liệu hình ảnh của sinh viên đã có. Hệ thống sẽ thực hiện tự động check-in cho sinh
viên khi vào lớp và check-out khi sinh viên ra khỏi lớp, mọi dữ liệu sẽ được lưu vào
database phục vụ cho việc điểm danh của sinh viên. Đối với nhà trường: Giám sát
được thời gian ra vào lớp của sinh viên. Nhà trường và giảng viên sẽ có số liệu kiểm
tra giám sát đối chiếu nhanh và chính xác hơn.

4



CHƯƠNG 2: MỤC TIÊU
● Tìm hiểu một số thuật tốn nhận dạng khn mặt
● Chọn một thuật tốn và tìm hiểu rõ về thuật tốn (Arcface)
● Tìm code demo cho thuật tốn
● Đưa ra kết quả nghiên cứu

1. Giới thiệu
Mơ tả khn mặt sử dụng nhúng Mạng nơ ron tích chập sâu (DCNN) là phương
pháp được lựa chọn để nhận dạng khuôn mặt.
ArcFace, hoặc Additive Angular Margin Loss, là một hàm mất mát được sử dụng
trong các tác vụ nhận dạng khuôn mặt. Softmax thường được sử dụng trong các tác vụ
này. Các kỹ thuật chính được sử dụng trong thuật toán Arcface là các hàm Loss và
SphereFace.
Các Hàm Loss được sử dụng để tạo khung cho vấn đề được tối ưu hóa trong q
trình học sâu.
2. Khó khăn
Đây là một phương pháp mới nên những nghiên cứu hiện tại vẫn chưa đạt được kết
quả mong muốn. Chính vì thế vấn đề này vẫn đang được nhiều nhóm trên thế giới
quan tâm nghiên cứu. Khó khăn của bài tốn nhận diện mặt người có thể kể như:


Sự xuất hiện có một số đặc trưng trên khuôn mặt như râu mép, râu hàm, mắt kính
có thể xuất hiện.



Tư thế góc chụp : Ảnh chụp khn mặt có thể thay đổi rất nhiều bởi vì góc chụp
giữa camera và khn mặt.




Ảnh mờ



Hướng ảnh bị che khuất




Nền ảnh phức tạp

6


CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU
1. Ứng dụng của Arcface vào bài tốn nhận dạng khn mặt
Mơ hình hóa các đặc điểm khác biệt của khuôn mặt, tạo ra các bản nhúng cho
khuôn mặt đầu vào. Đây là các vectơ có độ dài cố định, giống như dấu vân tay kỹ thuật
số cho khuôn mặt. Các phép nhúng này được sử dụng để tính tốn mức độ giống nhau
giữa hai khuôn mặt bằng cách sử dụng độ tương tự cosine hoặc khoảng cách bình
phương. Các vectơ được tạo ra từ các hình ảnh khác nhau của cùng một người có độ
giống nhau cao hơn và khoảng cách thấp hơn so với các vectơ từ những người khác
nhau.

1.1.

Hàm SoftMax Loss

Trong đó:

xi biểu thị trích chọn đặc trưng sâu của mẫu thứ i, thuộc lớp thứ yi
7


WTj biểu thị cột thứ j của trọng số W và bj là độ lệch kì hạn.
Batch size và số lớp tương ứng là N và n
1.2.

Mặt hạn chế của Hàm Softmax loss

Hàm Softmax loss khơng tối ưu hóa rõ ràng tính năng nhúng để thực thi độ tương
đồng cao hơn cho các mẫu nội bộ và tính đa dạng cho các mẫu giữa các lớp. Điều này
dẫn đến việc chênh lệch hiệu suất khi nhận dạng khuôn mặt sâu dưới các biến thể
ngoại hình lớn trong lớp (ví dụ: thay đổi tư thế và khoảng cách tuổi) và các kịch bản
thử nghiệm quy mơ lớn (ví dụ: triệu hoặc nghìn tỷ cặp).
1.3.

Hàm ArcFace loss

ArcFace sử dụng một góc lề tương tự như SphereFace và CosFace để tối đa hóa khả
năng tách lớp của khn mặt. Nó sử dụng hàm arc-cosine để tính tốn góc giữa đặc
trưng hiện tại và trọng lượng mục tiêu. Sau đó, nó thêm một lề góc cộng vào góc mục
tiêu, và ta lấy lại logit mục tiêu bằng hàm cosine. Sau đó, nó phân chia lại tỷ lệ tất cả
các logit theo một tính năng định mức cố định và các bước tiếp theo giống như trong
hàm Softmax loss.

Trong đó:
θj là góc giữa trọng lượng Wj và đặc điểm xi
s là tỷ lệ đặc trưng, bán kính siêu cầu
m - góc phạt lề


8


Hình 1. Đào tạo DCNN để nhận dạng khn mặt được giám sát bởi Hàm ArcFace loss.
Dựa trên đặc trưng xi và trọng lượng W chuẩn hóa, ta nhận được cos θj (logit) cho mỗi
lớp là WT j xi. Ta tính tốn arccosθyi và nhận được góc giữa đặc trưng xi và trọng lượng
bề mặt thật Wyi. Trên thực tế, Wj cung cấp một loại trung tâm cho mỗi lớp. Sau đó, ta
thêm một hình góc phạt lề m trên góc mục tiêu (thật trên bề mặt) θyi. Sau đó, chúng ta
tính cos(θθyi + m) và nhân tất cả logit với thang đo đặc trưng s. Sau đó logits đi qua
Hàm Softmax và đóng góp vào Hàm Entropy chéo.

Hình 2. Ví dụ về hàm softmax và ArcFace trên 8 điểm nhận dạng với các tính năng
2D. Dấu chấm thể hiện mẫu và đường chỉ hướng tâm của mỗi điểm nhận dạng. Dựa
trên sự chuẩn hóa đối tượng, tất cả các đặc điểm khn mặt được đẩy vào khơng gian
vịng cung với bán kính cố định. Khoảng cách về khoảng cách trắc địa giữa các lớp
gần nhất trở nên rõ ràng khi goc phát lề được kết hợp.
Kết hợp tất cả các biên của SphereFace, ArcFace và CosFace trong 1 hàm mất mát
được gọi là CM:

9


Như hình ảnh bên trái cho thấy, khung lề kết hợp cũng đạt được kết quả rất tốt, vượt
trội hơn rất nhiều so với Hàm Softmax loss.

Hình dưới đây minh họa các ranh giới quyết định cho mỗi hàm tổn thất trong một ví
dụ phân loại nhị phân.

ArcFace có biên độ góc tuyến tính khơng đổi trong tồn bộ khoảng thời gian.

Ngược lại, SphereFace và CosFace chỉ có một lề góc phi tuyến.
2. Mơ hình hóa của Arcface
Thay vì sử dụng khoảng cách euclid, ArcFace tính tốn khoảng cách trắc địa trên
siêu cầu. Không gian trắc địa là không gian mà mọi khoảng cách đều được đo bằng
10


đường ray. Đường thu được giữa hai điểm được gọi là đường trắc địa. Nó mơ tả
khoảng cách ngắn nhất giữa các điểm, còn được gọi là khoảng cách trắc địa.
Trong hình minh họa bên dưới, chúng ta có thể thấy diễn giải hình học của
ArcFace:
(a) Sự tương ứng trực quan giữa góc và lề cung. Lề góc của ArcFace tương ứng với
lề cung, khoảng cách trắc địa trên bề mặt siêu cầu.
(b) Các điểm màu xanh lam và xanh lục biểu thị các tính năng nhúng từ hai lớp
khác nhau. ArcFace có thể áp đặt trực tiếp lề góc (vòng cung) giữa các lớp.

3. Những ưu điểm của ArcFace
- Thu hút. ArcFace trực tiếp tối ưu hóa biên khoảng cách trắc địa nhờ sự tương
ứng chính xác giữa góc và cung trong siêu cầu chuẩn hóa. Ta minh họa trực
quan những gì xảy ra trong khơng gian 512-D thơng qua phân tích thống kê góc
giữa các đặc trưng và trọng lượng.
-

Hiệu quả. ArcFace đạt được hiệu suất hiện đại trên mười tiêu chuẩn nhận dạng
khuôn mặt bao gồm tập dữ liệu hình ảnh và video quy mơ lớn.

-

Dễ dàng. ArcFace chỉ cần một vài dòng mã và cực kỳ dễ triển khai trong các
khung học sâu dựa trên đồ thị tính tốn. Hơn nữa, ArcFace khơng cần phải kết

hợp với các hàm mất mát khác để có hiệu suất ổn định và có thể dễ dàng hội tụ
trên bất kỳ bộ dữ liệu đào tạo nào.
11


-

Hiệu quả. ArcFace chỉ bổ sung độ phức tạp tính tốn khơng đáng kể trong q
trình đào tạo. Các GPU hiện tại có thể dễ dàng hỗ trợ hàng triệu điểm nhận
dạng để đào tạo và chiến lược song song mơ hình có thể dễ dàng hỗ trợ nhiều
điểm nhận dạng hơn.

4. Chi tiết triển khai
Bộ dữ liệu. Chúng tôi sử dụng riêng CASIA, VGGFace2, MS1MV2 và DeepGlintFace (bao gồm MS1M-DeepGlint và Asian-DeepGlint) làm dữ liệu đào tạo để tiến
hành so sánh công bằng với các phương pháp khác.
Trong quá trình huấn luyện. Đã khám phá bộ dữ liệu xác minh khn mặt hiệu
quả (ví dụ: LFW, CFP-FP, AgeDB-30) để kiểm tra sự cải thiện từ các cài đặt khác
nhau. Bên cạnh các bộ dữ liệu LFW và YTF được sử dụng rộng rãi nhất, cũng có báo
cáo hiệu suất của ArcFace trên các bộ dữ liệu có độ tuổi lớn và lâu đời gần đây (ví dụ:
CPLFW và CALFW). Chúng tôi cũng thử nghiệm rộng rãi ArcFace được đề xuất trên
các bộ dữ liệu hình ảnh quy mơ lớn (ví dụ: MegaFace, IJB-B, IJB-C và Trillion-Pairs)
và bộ dữ liệu video (iQIYI-VID)
Những kết quả đánh giá. Kết quả cho LFW, YTF, CALFW và CPLFW. Bộ dữ
liệu LFW và YTF là các tiêu chuẩn được sử dụng rộng rãi nhất để nhận diện khn
mặt có thể áp dụng cả trên hình ảnh và video. ArcFace được đào tạo trên MS1MV2
với ResNet100 đã vượt qua các giới hạn cơ bản (ví dụ: SphereFace và CosFace) đáng
kể trên cả LFW và YTF, điều này cho thấy rằng hình phạt góc bổ sung có thể tăng
cường đáng kể các tính năng phân biệt sức mạnh của học sâu, thể hiện tính hiệu quả
của ArcFace.
Ngồi tập dữ liệu LFW và YTF, chúng tôi cũng báo cáo hiệu suất của ArcFace trên

các tập dữ liệu được giới thiệu gần đây (ví dụ: CPLFW và CALFW) cho thấy các biến
thể về độ tuổi và tư thế cao hơn với cùng nhận dạng như LFW. Trong số tất cả các mơ
hình nhận dạng khn mặt mã nguồn mở, mơ hình ArcFace được đánh giá là mơ hình
nhận dạng khuôn mặt xếp hạng hàng đầu như trong Bảng, rõ ràng vượt trội hơn các
đối tác của nó. xa lạ.

12


Trong Hình, chúng tơi minh họa các phân bố góc (dự đốn bởi mơ hình ArcFace
được đào tạo trên MS1MV2 với ResNet100) của cả cặp âm và dương trên LFW, CFPFP, AgeDB-30, YTF, CPLFW và CALFW.

Chúng ta có thể thấy rõ rằng phương sai bên trong do khoảng cách tư thế và tuổi tác
làm tăng đáng kể góc giữa các cặp dương, do đó làm cho ngưỡng tốt nhất để xác minh
khuôn mặt ngày càng tăng và tạo ra nhiều vùng khó hiểu hơn trên biểu đồ.
Vì vậy, Arcface được sử dụng trong các ứng dụng như nhận dạng khuôn mặt của tội
phạm, chấm cơng, chấm thi, …
Hướng phát triển
Tìm hiểu thêm nhiều thuật tốn về nhận diện khn mặt hơn, giải quyết được các
vấn đề liên quan đến nhận diện khuôn mặt. Từ những đặc trưng của gương mặt có thể
truy xuất được giới tính, chủng tộc, độ tuổi...
Ứng dụng Arcface vào nhiều bài toán thực tế với các quy mơ khác nhau.
Đánh giá mục tiêu



Tìm hiểu thuật tốn
Chạy code demo

13



TÀI LIỆU THAM KHẢO

1.

J. Deng, J. Guo, and S. Zafeiriou. “Arcface: Additive angular margin loss
for deep face recognition”. 2018

2.

W. Liu, Y. Wen, Z. Yu, and M. Yang. “Large-margin softmax loss for
convolutional neural networks”. 2016.

3.

Q. Cao, L. Shen, W. Xie, O. M. Parkhi, and A. Zisserman. “Vggface2: A
dataset for recognising faces across pose and age”. 2018.

4.

G. B. Huang, M. Ramesh, T. Berg, and E. Learned-Miller. “Labeled faces in
the wild: A database for studying face recognition in unconstrained
environments”. 2007.

5.

“Video Face Recognition Demo of ArcFace”.
( />
6.


“Arcface - Tensorflow 2.0+”. (θ />
14



×