SELF-IMPROVEMENT/논문

[논문]얼굴 특징점 추적을 통한 사용자 감성 인식(2019.03)

DS지니 2021. 6. 4. 04:02
728x90
반응형

Emotion Recognition based on Tracking Facial Keypoints

얼굴 특징점 추적을 통한 사용자 감성 인식(2019.03) [이용환, 김흥준]

 

https://www.koreascience.or.kr/article/JAKO201915061086666.pdf

 

- 감성 인식 기술 (영상 인식 기반 기술, 음성 인식 기반 기술)

 : 본 논문에서는 AAM을 통해 입력 영상의 랜드마크를 검출하고 표정 변화에 따른 랜드마크의 움직임과 변화로 감정을 분류하는 방법을 제안.

 

 

 

 

- AAM(Active Appearance Model) 모델 

  : Shape Model 과  Appearnace Model을 결합하고 파라미터를 조정해 여러 얼굴 생김새를 표현함.

AMM을 통해 추출한 랜드마크 위치와 특징 벡터상의 랜드마크 순번

 

사용자 감정별 랜드마크 변화에 대해 제안하는 분류체계

 

  • Shape Model : 사람 얼굴 이미지에 n개의 랜드마크 위치 구성. 표정과 생김새에 따라 다양한 벡터가 생성. 좌표상의 크기, 위치, 기울기가 일정치 않으므로 Procrustes Alignment[1]를 수행해 벡터를 정렬한 후 PCA(Principal Component Analysis)로 Shape 모델을 구성한다.  

 

벡터정렬, PCA 전 Shape model 수식

 

벡터정렬, PCA 후 Shape 모델 수식 (x~=평균 shape 벡터,  Φ_i=shape 파라미터)

  • Appearance Model : 피부, 눈, 입술 등의 색 정보로 구성. Appearance 벡터가 평균 Shape 벡터에 대응되기 위해 Delaunay Triangulation[2]을 통해 매쉬를 구성하고, 생성된 매쉬를 Piecewise Affine Warping[3]을 수행해 정규화한다.
    Appearance 벡터 A_i(x)는 PCA를 통해 최종적인 외형 모델을 생성함.  A_0(x)=평균 Appearance 벡터, λ_i= Appearance 파라미터

    • AAM Fitting : 입력 영상과 모델 사이의 오차를 최소화하는 파라미터를 계산. 입력 영상과 Δp ( p←p+Δp로 파라미터를 갱신하는 매개변수) 사이의 오차를 최소화하는 Δp를 찾고, Δp의 반복적인 수정을 통해 오차가 더 이상 변하지 않거나 일정한 값 이하가 되었을 때 완료된다.

 

 

 

 

 

 

 

- Fuzzy k-NN(Neighbor Nearest)

  : 입력 데이터의 분류를 결정하기 위해 각각의 이웃 마다 기여도를 할당해 기여에 따른 정보를 추가하여 분류하는 알고리즘. 개별 클래스에 대한 기여도를 결정하는 Mahalanobios Distance[4]를 계산하고 가까운 거리에 있는 클래스에 대한 기여도에 가중치를 적용한다. 클래스 c에 대한 이웃들의 기여도는 아래 수식으로 계산된다.

n=클래스개수,  ∑c=c번째 클래스의 공분산 행렬,  m_c=c번째 클래스의 평균 벡터

 

 

 


 

 

 

- 요약 : AMM 학습에 사용된 표정 Shape 벡터는 무표정을 기초하여 감정 모델에 따라 기쁨, 슬픔과 화남 표정에 대한 Procrustes Alignment를 수행하여 변화량을 측정하고 표정별 평균 Shape 벡터를 획득하고 분류한다. 입력 Shape 벡터를 Fuzzy k-NN 계산 분류에 따라 입력 영상에 대한 변화량을 구하여 가장 인접한 k개를 구한다. 이에 대한 기여도에 따라 표정의 정도를 게이지로 표시하고 근접한 감정을 인식한다.

 

 

 

- 성능 평가 : 감성 인식 분야에서 많이 활용되는 CK+(Extended Cohn-Kanade Dataset)을 대상으로 실험.  기쁨 감정은 82% 수준의 얼굴 특징점의 변화에 민감한 감정에서 보다 우수한 인식률을 보이는 반면, 슬픔 감정의 경우 다른 감정에 비해 얼굴 특성을 묘사하는데 어려움이 있어 상대적으로 낮은 인식 수준을 보임.

 

감정 인식률

 


 

 

 

💌 참고자료/블로그

 

 

[1] 프로크루스테스 분석 : https://redstarhong.tistory.com/55

 

Procrustes Analysis

첫 공부 블로그 글. Procrustes analysis가 이해가 안가서 찾아보다가 정리도 할 겸 적어본다. 굳이 블로그를 새로 파지 않고, 일단 꾸준히 이런 류의 글을 적어보자. 그다음에 나중에 분리하자. 어제

redstarhong.tistory.com

[2] 들로네 삼각분할 : https://darkpgmr.tistory.com/96

 

들로네 삼각분할(Delaunay triangulation) & 보로노이 다이어그램(Voronoi diagram)

들로네 삼각분할(Delaunay Triangulation)과 보로노이 다이어그램(Voronoi diagram)이 무엇인지? 어디에 쓰이는지? 그리고 어떻게 구하는지에 대한 글입니다. 1. 참고 문헌(자료) 참고한 주요 자료들입니다.

darkpgmr.tistory.com

[3] Piecewise affine warping : https://www.researchgate.net/figure/The-process-of-piecewise-affine-warping-a-the-original-image-b-the-original-face-has_fig6_311668493

 

Fig. 1. The process of piecewise affine warping. (a) the original image...

Download scientific diagram | The process of piecewise affine warping. (a) the original image (b) the original face has points automatically detected (c) Delaunay triangulation creates the convex hull for to allow the mask to be warped (d) the cropped face

www.researchgate.net

Skimage - Piecewise Affine Transformaition : https://sharky93.github.io/docs/dev/auto_examples/plot_piecewise_affine.html

 

 

Piecewise Affine Transformation — skimage v0.10dev docs

Piecewise Affine Transformation This example shows how to use the Piecewise Affine Transformation. import numpy as np import matplotlib.pyplot as plt from skimage.transform import PiecewiseAffineTransform, warp from skimage import data image = data.lena()

sharky93.github.io

warping : https://cjsal95.tistory.com/7

 

워핑(warping) 기법

워핑이라고도 하고 와핑이라고도 하는 데 모르겠당. 아.무.튼. 다음과 같이 포토샵을 이용해 왜곡 시켜버린 모나리자님의 사진이 있다. 나는 이 모나리자 그림을 왜곡 없이 멀쩡한 직사각형의

cjsal95.tistory.com

 

[4] 마할라노비스 거리 : https://wiserloner.tistory.com/1089

 

마할라노비스 거리(Mahalanobis Distance) 개인정리

- 이전에 KNN을 정리하며 다양한 거리 계산 방식이 존재한다고 했는데, 그냥 넘어갔던 부분을 따로 정리합니다. - https://www.youtube.com/watch?v=spNpfmWZBmg&t=147s, https://www.machinelearningplus.com/sta..

wiserloner.tistory.com

https://www.machinelearningplus.com/statistics/mahalanobis-distance/

 

Mahalanobis Distance - Understanding the math with examples (python) - ML+

Mahalanobis distance is an effective multivariate distance metric that measures the distance between a point and a distribution. It is an extremely useful metric having, excellent applications in multivariate anomaly detection, classification on highly imb

www.machinelearningplus.com

 

728x90
반응형