[논문 리뷰] MagFace

이해성·2023년 7월 12일
0

AI

목록 보기
5/5

MagFace ; A Universal Representation for Face Recognition and Quality Assessment

[논문 정보] Q. Meng, S. Zhao, Z. Huang, and F. Zhou, MagFace: A Universal Representation for Face Recognition and Quality Assessment. 2021. github 주소 arxiv 주소

Abstract

기존 안면 인식 모델들의 문제점

학습 이미지들의 다양성이 커질수록 학습이 어려워진다. 강도높은 전처리를 통해 다양성을 제거하거나, 낮은 정확도를 감내하는 방향으로 학습을 진행했다.

본 연구가 제시하는 해결책

MagFace라는 새로운 lose 함수를 도입한다. 식별하기 쉬운 이미지일수록 크기가 커지는 임베딩(embeding)을 학습시키는 loss 함수이다. 이러한 MagFace를 사용하면 식별하기 쉬운 이미지를 더 잘 학습하게 모델을 구성할 수 있기에, 식별하기 어려운 (낮은 품질의) 이미지에 담긴 불필요한 정보에 의해 과적합되는 경우를 예방할 수 있다.

Introduction

안면 인식 모델에 있어 가장 큰 장애물은 입력 이미지들의 다양성(variability)이다. 이러한 다양성들은 이미지의 배경, 조명 상황 등에 의해 발생한다. 이 다양성에 대처하기 위해 각 모델들은 이미지 선별, 특성 추출 그리고 인식이라는 세 단계를 거친다.

첫번째 이미지 선별 과정은 경비 카메라와 같은 기기에서 촬영한 영상에서 가장 식별하기 좋은 프레임을 잡아내는 과정이다. 이 과정에서 식별하기 좋은 이미지를 선별하기 위해 여러가지 방법이 도입되었다. 초기 연구들에서는 사람이 인식할 수 있는, 자세나 조도 등, 특성들을 이용해 분류했다. 이러한 특성들은 모델 학습 시 중요하게 다루어지는 특성들과는 거리가 멀어 좋은 성능을 이끌어 내지 못하였다. 이외에도 사람이 라벨링한 데이터를 이용해 학습시킨 분류 모델도 등장하였지만 이는 '좋은' 이미지에 대한 명확한 기준이 없다는 점과 사람의 판단이 정확하지 않다는 점 때문에 효과적이지 못하였다.

안면 인식 모델의 학습에서 정확도를 높이기 위한 metric learning과 분류 학습 손실 함수들이 소개되어 왔다. 이 같은 방법들은 얼굴 이미지를 하나의 임베딩으로 변환하여 특성을 추출한다. 이 과정에서 다양성을 반영하지 않은 채 하나의 임베딩으로 처리하면서 오류가 발생한다. 최근에는 신뢰되 기반 학습이 소개되었다. 이 방법은 가우시안 분포를 이용하여 latent space의 평균을 특성(feature)으로, 분산을 불확실성으로 취급하여 계산한다. 이 방법이 성능은 좋지만, 특성과 불확실성을 따로 취급해, 두 특성을 결합시키는 별도의 network가 필요하다는 단점이 존재한다. 이러한 복잡성은 학습 과정을 복잡하게 만들고, 추론 과정을 느리게 한다.

본 연구에서는 안면 정보를 얻기위해 보편적이고 이미지의 품질을 판별할 수 있는 특성(feature)으로써 MagFace를 이용한다. MagFace는 같은 객체에 대해 식별이 쉬운 이미지를 class-center에 가깝게, 식별이 어려운 이미지를 멀게 인식하는 것과, 이미지의 품질 비교와 특성 계산을 위해 기존의 추론 구조를 수정하는 것을 최소화하는 것을 목표로 한다. 이를 위해 본 연구에서는 magnitude를 이용하였다. Magnitude는 특성 벡터의 방향(direction)과는 다른, 독립된 특성으로 이미지의 품질을 나타낸다. 다시 말하자면, MagFace는 magnitude를 이용해 각기 다른 객체(object, class)의 이미지들끼리의 거리를 넓힐 뿐 아니라 같은 class의 이미지들이 아래와 같은 원뿔형의 분포를 유지하도록 하는 데에 목표를 두고 있다.

Face Recognition

Face Quality Assessment

Methodology

ArcFace Revisited

ArcFace는 face-recognition에서 가장 많이 사용되는 loss 함수이다. 이 함수는 fully-connected network의 마지막 출력(ff)과 그 출력이 mapping되는 label(yy)을 받아 loss를 측정한다. ffdd차원의 embeding, 즉 벡터로 각 class의 class-center(ww)를 구성하는 벡터와의 연산( wTf=w fcosθw^{T}f={||w||}\ {||f||}cos\theta )을 통해 두 벡터가 이루는 각의 크기(θ\theta)를 구할 수 있다. θ\theta는 출력이 class-center와 얼마나 가까운지를 나타내는 지표이다.

ArcFace는 θ\theta와 angular margin mm을 이용해 loss를 계산한다. feasible region mm에 의해 결정되며 이를 이용해 인접 class와 비교하여 feasible region의 경계 벡터 θ\theta'를 구한다(cos(θ+m)=cosθcos(\theta+m)=cos\theta'). ArcFace에서 mm은 이미지들의 질과 상관없이 동일한 class에 대하여 일관되게 적용되는 것으로, 품질이 좋지 않은 이미지가 그렇지 않은 이미지보다 class-center와 더 가깝게 위치하게끔 할 수 있다. 또한, 모델이 저품질의 이미지에 맞추어 과적합될 가능성이 높다.

MagFace

고정된 크기의 mm의 사용하는 것은 이미지의 다양성(품질 차이)을 고려하지 않으므로 class 내에서의 불안정성을 초래할 수 있다. 이를 해결하기 위해 본 연구는 MagFace를 제안한다. 불확실성에 대한 연산을 추가하여 이 문제를 해결하였던 이전의 연구들과는 다르게, ff의 magnitude (a=fa={||f||})를 이용해 구조와 연산을 최소화한다. 이는 코사인 함수를 이용한 loss 계산을 유지할 수 있는 동시에 입력 이미지들의 불확실성, 다양성을 대비할 수 있다는 장점을 지니고 있다.

MagFace에서는 두가지 보조 함수들이 사용된다. Magnitude를 고려한 angular margin 함수인 m(a)m(a)와 정규화 함수인 g(a)g(a)가 그것이다. m(a)m(a)은 magnitude와 이미지의 품질이 비례한다는 사실에 바탕하여 magnitude가 클 수록 mm이 커지도록 설계하였다. 좋은 이미지일수록 엄격한 기준으로 판별하는 것이다. g(a)g(a)는 변화한 m(a)m(a)에 맞추어 ff를 변화시키는 역할을 수행한다. magnitude가 증가할수록 함숫값이 감소하도록 설계하였다. 이를 따라 각 sample 들은 변화한 경계( m(a)m(a) )와 class-center을 향해 움직이게 된다.

이후 기존 ArcFace loss function에서 mmm(a)m(a)로 대체하고, θ\theta를 변화한 벡터에 대한 θ\theta로 대체해 loss를 계산한다.

text ArchFace Loss Function

text MagFace Loss Function

profile
열심히하겠습니다열심히하겠습니다열심히하겠습니다

0개의 댓글