머신러닝 & 딥러닝/논문 리뷰

[ML 논문 공부 - 004] Occlusion aware Facial Landmark Detection based Facial Expression Recognition with Face Mask

by seokii 2022. 3. 17.
728x90
반응형

마스크 인식 관련 논문을 찾아보다가 발견해 읽게 된 논문입니다.

2021년 3월 IPSJ(일본정보처리학회)에 올라온 논문입니다.

세 명의 저자(Yang Bo, Wu Jianming, Hattori Gen)들은 도쿄대(the university of tokyo)와 KDDI(일본의 민간 통신 회사)의 소속이라 기재되어 있습니다.

 

논문 링크 : 

Occlusion aware Facial Landmark Detection basedFacial Expression Recognition with Face Mask

 

해당 논문은 "우리는 마스크를 쓴 사람들의 얼굴에서 랜드마크를 어떻게 인식하고 그 방법을 통해 표정을 이렇게 인식할 수 있다.."와 같은 내용이라고 보시면 될 것 같습니다.

 

논문에서는 주로 부분 폐색의 문제와 해당 문제를 해결하기 위한 데이터셋의 구성 방법 마지막으로 모델을 어떻게 구성했는가에 대한 내용이 순차적으로 설명합니다.

논문을 천천히 살펴보며 내용을 이해보도록 하겠습니다.

 

논문을 이해하기 위한 키워드 : GAN, FLD(Facial Landmark Detectoin), Attention(RNN, LSTM, vanishing gradient -> Attention)

 

Introduction

논문이 시작에서는 인공지능 분야에서 FER(표정 인식)에 대한 연구는 다양한 사회적 활동에서 중요하며, 최근 몇 년 사이에 활발히 연구가 진행되고 있다고 설명합니다.

그러나 코로나-19가 전세계로 확산되면서, 사람들이 안면 마스크를 착용하기 시작했고 사회적 상호작용 측면에서 마스크를 썼을 때의 어려움이 있다고 주장합니다.

 

실제로 random objects(손, 머리카락, 컵 등)와 facial accessories(선글라스, 스카프, 마스크 등)로 가려진 부분 폐색으로부터 정확히 표정 인식을 하는 문제는 FER 연구의 주요 과제라고 합니다.

 

기존의 다른 부분 폐색 문제와는 다르게 마스크를 쓴다는 것은 입의 모양과 같은 표정을 인식할 수 있는 것에 굉장히 도움이 될만한 정보들이 가려진다고 합니다.

 

그래서 논문에서는 이를 해결 하기 위한 것들을 제시합니다.

introduction의 끝 부분에서 번호를 매겨 4가지로 구분하고 있습니다. 내용은 다음과 같습니다.

 

1. 얼굴 마스크를 착용한 FER에 대한 새로운 접근법의 제안은 우리가 처음이다.

 

2. 마스크를 착용한 얼굴에서 마스크를 쓰지 않은 부분에 초점을 맞추기 위해서 FER모델을 기반으로 GAN 모델을 사전 훈련했다.

 

3. 제안된 FER 분류기는 마스크를 쓰지 않은 부분에 더 주의를 기울이기 위해서 재측정된 조합 손실을 사용하지만(utilized reweighed combination loss), 모델의 견고성(robustness of the model)을 위해 마스크 주변 영역 또한 고려한다.

-> 조합 손실이라는 말이 이해를 못했는데 개인적인 생각으로는 여러 가지의 손실 함수를 사용했다는? 의미가 아닐까 싶습니다.

 

4. 우리의 접근 방식은 다른 방법들에 비해 마스크를 쓴 FER 데이터셋에서 뛰어난 성능을 보였다.

-> 논문에서 항상 나오는 말입니다. 우리 것이 다른 것들보다 성능이 뛰어나다!

 

Related Works

Partial Occlusion FER

부분 폐색에 대한 내용을 설명하는 부분입니다.

FER 분야에서는 원래 폐색 되지 않은 얼굴에 대해서 초점이 맞춰져 있었는데,

부분 폐색 문제를 해결하기 위해서 몇 가지의 접근법들이 제안되었고 그것들에는

reconstruction-based, holistic-based, sub-region-based의 접근법들이 있다고 합니다.

논문에서는 이러한 접근법들에서 간략히 설명을 합니다.

이러한 접근법들은 작은 부분 폐색에 대해서 어느 정도의 문제 해결력은 있지만 결국 얼굴 면적의 절반 이상을 가리는 부분 폐색의 문제에 대한 해결이 될 수 없다고 주장합니다.

다음으로는 어텐션 메커니즘이 적용된 ACNN(pACNN, gACNN), RAN, OADN과 같은 접근법들에 대해서 설명하지만 마찬가지로 위의 이야기를 반복합니다.

 

Partial Occlusion FER Dataset

논문 발표시까지의 FER 데이터셋에 대한 내용을 중점으로 다룹니다.

public study를 위한 많은 유명한 FER 데이터셋이 존재하는데 RAF-DB, AffectNet, FERPlus가 있다고 합니다.

논문에서는 각각의 데이터셋에 대해 설명합니다. (이미지의 수, 라벨링 종류의 수 등)

위의 세 가지에서 부분 폐색 해결을 하기 위한 데이터셋인

Occlusion-AffectNet, Occlusion-FERPlus, FED-RO 가 있으며 이에 대한 설명도 간단하게 해줍니다.

 

그러나, 위에서 언급한 데이터셋들은 얼굴 마스크를 착용한 것에 대해 구분짓지 않았으며, 마스크를 착용한 샘플 조차 없는 경우도 있다고 주장합니다.

 

AWFM and Masked FER Dataset

결국 마스크를 쓴 얼굴 데이터가 부족하기 때문에 논문에서는 이를 해결하고자 AWFM 접근법을 제안합니다. AWFM은 automatic wearing face mask의 약자로, FER 데이터셋에 자동으로 마스크를 적용시키는 방법을 뜻합니다.

FER이 아닌 얼굴 인식을 위해 마스크를 씌우는 다른 연구들에서 나온 방법들과는 달리 AWFM은 얼굴의 여러 가지 방향을 고려하고 다양한 색과 모양의 마스크를 적용시켜 훨씬 실용적이며 견고한 모델이라고 주장합니다.

Figure 1

그림 1을 통해 마스크를 씌우는 방식을 이해할 수 있는데, 높이와 넓이를 측정해 마스크의 사이즈를 조정하고, 각도의 경우는 위의 방정식을 적용해 얼굴 사진에 마스크를 씌운다고 합니다.

방정식의 자세한 내용과 어떤 데이터셋에서 추출해 만들었는지는 논문에 자세히 기재되어있습니다.

Figure 2

AWFM을 적용해 새로 만든 데이터셋에 대한 내용을 보여주는 그림2입니다.

마스크를 쓰지 않은 원본의 형태와 마스크를 착용한 형태로 이루어져 있습니다.

그리고 각각의 표정 상태로 라벨링이 되어있습니다. (neutral, negative, positive)

 

해당 데이터셋은 GitHub를 통해 다운받을 수 있습니다.

GitHub Link : https://github.com/KDDI-AI-Center/LFW-emotion-dataset

 

Proposed Approach

Figure 3

Stage 1: Face-mask-aware Face Inpainting

그림3처럼 Stage1 부분에 대한 내용입니다.

기본적으로 원본 이미지와 앞서 언급한 AWFM을 적용해 마스크를 씌운 이미지 모두 GAN 모델을 훈련시키는데 사용됩니다.

원본 이미지에 마스크를 씌우고, VGG19 기반의 Generator로 이미지를 생성합니다. 그리고 원본 이미지와 생성된 이미지를 Global discriminator로 사용하며 원본의 마스크를 씌울 부분과 gan으로 생성한 이미지의 동일한 부분을 Local discriminator로 사용합니다.

이 두가지의 판별기를 사용해 마스크의 영역을 점차적으로 좁혀 판별합니다.

또한, 아래와 같은 식의 adversarial loss를 사용합니다.

아래의 식에 대한 내용은 논문에 자세히 설명되어 있습니다.

두 가지 판별기(discriminator)는 위의 식으로 계산되며 전체적인 손실(overall loss)은 (4)의 식으로 계산됩니다. 식의 \(\lambda_{g}\)와 \(\lambda_{l}\)은 훈련에서 경험적으로 설정된 하이퍼 파라미터입니다.

 

Stage 2: Attention mechanism based FER classification

stage2에서는 stage1에서 학습한 GAN 모델을 마스크가 씌워진 이미지에 적용해 마스크가 제거된 이미지를 를 생성합니다.

그 이후, FLD(Facial Landmark Detection) 모델을 통해 68개의 얼굴 랜드마크(키포인트)를 찾아냈고 그 중에서 29번째 랜드마크를 기준으로 이미지를 둘로 나누어 사용했다고 말합니다.

29번째를 기준으로 이미지를 나누면 한 부분은 마스크가 씌워지지 않는 부분 그리고 다른 부분은 마스크가 씌워진 부분으로 잘 나누어졌다고 설명합니다.

이 나눈 부분을 각자 ResNet, VGG19와 같은 백본을 통해 얼굴의 특징을 추출하고

추출한 특징을 \(F_{m}\)과 \(F_{u}\)라고 논문에서 칭합니다.

이렇게 각자 나누어진 \(F_{m}\)과 \(F_{u}\)는 각자 lightweight attentional convolutional networks에 적용됩니다.

\(F_{u}\)의 경우에는 어텐션을 통해 눈 주변과 같은 감정을 인식하는데 중요한 정보를 가진 부분을 잘 학습하도록 가이드 해줍니다.

\(F_{m}\)는 stage1에서 마스크를 쓴 부분과 마스크를 쓰지 않은 부분이 잘 나누어졌다고 보장되지 않기 때문에 FER 작업의 정확도에 유의미하다고 가정한다면 고려하지만 주의를 덜 기울인다고 설명합니다.

그 이후 softmax와 cross entropy loss를 통해 expression category를 결정한다고 합니다.

stage 2의 전체 손실은 위와 같은 식으로 구하며 앞선 식과 동일하게 람다 값은 학습을 통한 하이퍼 파라미터 값입니다.

 

Experiments

Evaluation of face-mask-aware Face Inpainting in Stage 1:

Stage 1 평가에 대한 내용입니다.

Evaluation of FER Deep Classifier in Stage 2

Stage 2 평가에 대한 내용입니다.

주어진 표를 통해 기존의 framework들과 논문에서 제시한 모델의 성능을 비교할 수 있습니다.

 

Conclusion

우리는 마스크를 쓴 상태에서의 FER 작업에 대해 두 가지 단계의 어텐션 모델을 제안했습니다.

우리가 제안한 방법은 마스크가 씌워진 FER 데이터셋에 대해 뛰어난 성능을 보였습니다.

이 논문에서는 3가지의 상태(positive, negative, and neutral)에 대해서만 예측을 진행했지만 앞으로는 데이터셋을 6~7가지의 상태로 구성해 평가해볼 것입니다.

 

느낀점

마스크를 썼을 때 얼굴 인식을 어떻게 할까라는 궁금증에 논문을 찾아보다 발견한 논문인데 해당 논문을 통해 FER 분야가 있다는 사실도 알았고 해당 분야에 대한 연구도 활발히 진행되고 있다는 것을 배웠다.

코로나 시대로 들어섬에 따라서 대부분의 사람들이 마스크를 잘 착용하고 다니는데,

이를 GAN 모델을 활용해 표정을 예측한다는 생각이 기발하고 흥미로웠다.

 

 

728x90
반응형

댓글