Nhƣ đƣợc minh họa trong Hình 4.12, tích vơ hƣớng giữa tính năng DCNN và lớp kết nối đầy đủ cuối cùng bằng khoảng cách cosin sau khi chuẩn hóa tính năng và trọng số. Chúng ta sử dụng hàm arc-cosine để tính góc giữa tính năng hiện tại và trọng số mục tiêu. Sau đó, chúng ta thêm một góc góc phụ vào lề góc mục tiêu và chúng ta lấy lại logarit bằng hàm cosine. Sau đó, chúng ta chia tỷ lệ lại tất cả các bản ghi theo một định mức đặc trƣng cố định và các bƣớc tiếp theo hoàn toàn giống nhƣ trong softmax loss. Những ƣu điểm của ArcFace đƣợc đề xuất có thể đƣợc tóm tắt nhƣ sau
Engaging ArcFace trực tiếp tối ƣu hóa biên độ khoảng cách trắc địa
(geodesic) nhờ vào sự tƣơng ứng chính xác giữa góc và cung trong siêu
cầu(hypersphere) đƣợc chuẩn hóa. Bằng việc phân tích số liệu thống kê góc giữa các đặc trƣng và trọng số, chúng ta có thể minh họa đƣợc các sự kiện trong không gian 512 chiều.
Effective (hiệu quả) ArcFace là một trong mƣời phƣơng pháp dạng khuôn
mặt hiệu quả nhất hiện nay trên các bộ dữ liệu hình ảnh và video quy mơ lớn.
Easy (Dễ dàng) ArcFace chỉ cần một vài dòng code và cực kỳ dễ thực hiện
Tensorflow. Hơn nữa, ArcFace không cần kết hợp với các loss function khác để có hiệu suất ổn định và có thể dễ dàng thực hiện trên bất kỳ bộ dữ liệu huấn luyện nào.
Efficient ArcFace chỉ thêm độ phức tạp hoạt tính tốn khơng đáng kể trong
q trình huấn luyện. Các GPU hiện tại có thể dễ dàng hỗ trợ hàng triệu danh tính để đào tạo và mơ hình song song mơ hình có thể dễ dàng hỗ trợ nhiều danh tính hơn.
4.3.2 ArcFace
Hàm phân lớp đƣợc sử dụng rộng rãi nhất là Softmax loss
L1 = − 1N N N i =1 n j =1 WT +byi WTj i j (4-1) Trong đó
xi ∈ Rd biểu thị đặc trƣng của mẫu thứ i trong class thứ yi
d là kích thƣớc đặc trƣng nhúng (embeding feature) đƣợc cài đặt là 512 W j ∈ R d
b j ∈ R n
biểu thị cột thứ j của trọng số W ∈ R là giới hạn ƣu tiên (bias term)
dxn
N là kích thƣớc batch(lơ) n là số Class
Tuy hàm Softmax loss truyền thống đƣợc sử dụng rộng dãi trong nhận diện khuôn mặt. Tuy nhiên, hàm Softmax loss khơng thể tối ƣu hóa rõ ràng feature embedding để tạo ra độ tƣơng tự cao hơn cho các mẫu trong cùng một lớp và tính đa dạng cho các mẫu giữa các lớp khác nhau. Từ đó, dẫn đến khoảng cách hiệu suất nhận dạng giữa các biến đổi khn mặt (ví dụ thay đổi tƣ thế, độ tuổi, quy mô hệ thống nhận dạng) của cùng một đối tƣợng khá lớn.
Để đơn giản, chúng ta đặt bias bj = 0. Sau đó, chúng ta biến đổi logarit WTj ix = W j xi cosθ j
, trong đó θ j là góc giữa trọng số Wj và đặc trƣng xi . Tiếp theo, ta đặt trong số riêng Wj = 1 bằng chuẩn hóa l2 . Sau đó, chúng ta cũng đặt
∑ log e
∑ e x +b
embedding feature xi và quy mô lại s. Bƣớc chuẩn hóa trên các đặc trƣng và trọng số làm cho dự đốn chỉ phụ thuộc vào góc giữa đặc trƣng và trọng số. Các
embedding feature đã học đƣợc phân phối trong một hypersphere với bán kính s.
L2 = − N1 N i =1 s cosθ y j + s cosθ y j n j =1, j ≠ yi s cosθ j (4-2) Nhƣ các embedding feature đƣợc phân phối quanh tâm của hypershpere, chúng ta thêm các góc biên phụ m vào giữa xi và Wy
để đồng thời tăng độ nhỏ gọn trong mỗi lớp và sự khác biệt giữa các lớp. Phƣơng pháp này đƣợc gọi là ArcFace. Sau khi thêm góc m, ta có
L3 = − 1 N N i =1 s cos(θ y j +m) s cosθ y j n + j =1, j ≠ yi s cosθ j (4-3) Nhƣ đƣợc mơ tả trên hình 4.12 về sơ đồ huấn luyện một DCNN cho nhận dạng khuôn mặt sử dụng hàm Arcface loss. Dựa vào chuẩn hóa đặc trƣng xi và trọng số W, ta lấy cos θ j
(logit) cho mỗi lớp bằng WTj ix . Chúng ta tính arccosθ y j
và lấy góc giữa đặc trƣng xi và trọng số ground truth Wy
. Trên thực tế, Wj cung cấp một loại tâm cho mỗi lớp. Sau đó, chúng ta thêm một góc xử lý biên m vào góc mục tiêu θ y
. Sau đó, ta tính cos(θ y j + m) rồi nhân tất cả các logit theo hệ số s. Các logit sau đó đƣa qua hàm softmax loss và địng góp và hàm cross-entropy loss.
Để chứng minh tính hiệu quả của hàm Arcface loss so với Softmax loss chúng ta có thể dựa trên kết quả của kiểm nghiệm sau. Chúng ta sử dụng các hình ảnh khn mặt của 8 danh tính khác nhau gồm đủ các mẫu (khoảng 1500 ảnh/ lớp) để đào tạo mạng embedding feature 2 chiều với các hàm Softmax loss và Arcface tƣơng ứng. Kết quả của mỗi hàm đƣợc mô tả nhƣ sau
∑ log
∑
∑ log