DOI QR코드

DOI QR Code

3D Emotional Avatar Creation and Animation using Facial Expression Recognition

표정 인식을 이용한 3D 감정 아바타 생성 및 애니메이션

  • Cho, Taehoon (Department of Computer Engineering, Sejong University) ;
  • Jeong, Joong-Pill (Department of Computer Engineering, Sejong University) ;
  • Choi, Soo-Mi (Department of Computer Engineering, Sejong University)
  • Received : 2014.07.16
  • Accepted : 2014.08.25
  • Published : 2014.09.30

Abstract

We propose an emotional facial avatar that portrays the user's facial expressions with an emotional emphasis, while achieving visual and behavioral realism. This is achieved by unifying automatic analysis of facial expressions and animation of realistic 3D faces with details such as facial hair and hairstyles. To augment facial appearance according to the user's emotions, we use emotional templates representing typical emotions in an artistic way, which can be easily combined with the skin texture of the 3D face at runtime. Hence, our interface gives the user vision-based control over facial animation of the emotional avatar, easily changing its moods.

Keywords

1. 서 론

사람의 얼굴 표정은 개인이 표현할 수 있는 많은 감정정보를 나타내기 때문에 타인과의 의사소통에서 중요한 요소이다. 얼굴 표정은 사람의 심리적인 상태나 생리학적인 신호를 감지 할 수 있으므로 적절한 반응을 할 수 있게 도움을 준다. 가상현실에서 아바타의 특정 행동들은 사용자의 비언어적인 의사소통을 통하여 사용자의 감정을 전달하는데 중요한 역할을 한다.[1]

3D 감정 아바타는 실제 얼굴과 비교하였을 때 다양한 텍스처 패턴을 이용하여 가상 얼굴의 피부색을 바꾸거나 표정을 강조할 수 있다는 점에서 이러한 비언어적인 표현을 할 수 있는 장점이 있다. 따라서 감정아바타를 생성에 필요한 것은 사용자가 감정표현을 하는 표정에 따라서 자동으로 아바타의 시각적인 요소를 강조 할 수 있는 접근방법이 필요하다. 하지만 최근 컴퓨터 그래픽스의 방법들은 3D 얼굴 스캔을 기반으로 사실적인 얼굴 모델링과 얼굴 모션캡처 데이터[2,13]를 획득하는데 초점을 맞추고 있다.

본 연구에서는 3D 얼굴 아바타를 이용하여 표정을 강조하기 위해서 얼굴 표정 인식과 3D 얼굴 표정 애니메이션을 통합한 프레임워크를 구성하였다. 이 접근방법은 사용자가 웹캠 앞에서 자유롭게 표정을 짓는 행동으로 얼굴표정을 자동으로 분석하고 분석된 결과를 3D 얼굴 아바타에 적용하여 표정 애니메이션을 수행하고 다양한 패턴의 텍스처를 3D 얼굴 아바타에 적용하여 감정을 강조 할 수 있다. 그림 1은 제안하고자 하는 방법의 프레임워크를 보여주고 있다. 사용자의 얼굴 표정분석이 완료된 후, 분석된 감정으로 장식된 3D 감정 아바타가 표정 애니메이션을 수행한다.

Fig 1.An overview of the method used to create facial animation.

본 논문은 선택된 3D 얼굴모델과 장식모델을 자동으로 정합하는 부분(3장)과 웹캠을 이용하여 사용자의 얼굴 표정을 인식하는 부분(4장), 표정 움직임 정보와, 표정을 강조하기 위한 감정분장 템플릿을 이용하여 3D 아바타를 표정애니메이션 하는 부분(5장), 마지막으로 사용자의 표정을 이용하여 3D 감정 아바타를 애니메이션 하는 구현 및 결과 부분(6장)으로 구성되어있다.

 

2. 관련연구

광학 기술의 발전으로 3D 스캐너를 이용하여 고해상도의 3D 얼굴 데이터를 얻을 수 있게 되었다. 하지만 수염이나 머리카락 같은 특징은 최신 3D 스캐너를 이용해도 정확하게 획득하는 것은 어려운 문제로 남아있다. 이 문제를 해결하기 위해서 성장알고리즘을 이용하여 2D 이미지에서 수염을 추출하고, 다중 시점 스테레오 알고리즘을 이용하여 수염을 재구성 하는 방법이 제안되었다[3]. 하지만 이 방법은 사실적인 결과를 보여주긴 하지만 얼굴 모델을 비정상 적으로 워핑 하기 때문에 애니메이션 하기 에는 적합하지 않다. 본 연구에서 제안한 방법은 디자이너가 모델링 소프트웨어로 제작한 장식 모델을 자동으로 정합 하는 방법으로 3D 아바타를 생성하였다. 얼굴 표정 분석에 대한 연구는 주로 이미지 기반의 컴퓨터 비전 분야에서 연구되어 왔다. 표정을 분석하기 위한 최근 연구들은 대부분 얼굴의 움직임을 action unit(AU)으로 정의한 facial action coding system(FACS)[4]을 기반으로 얼굴의 움직임을 분석한다. 일반적으로 FACS를 이용한 표정 분석은 크게 얼굴 특징 데이터 획득, 특징 데이터 패턴 분석 및 분류로 나눌 수 있다.얼굴 특징 추출을 위해서는 통계적 모델을 이용한 active appearance model(AAM)[5]과 active shape model(ASM)[6]이 주로 이용된다. 얼굴 특징 패턴 분석 및 분류를 위한 방법으로는 기계학습 알고리즘인 Support Vector Machine(SVM)[7]이 널리 이용되고 있다. 본 논문에서는 정합된 3D 감정 아바타의 표정 애니메이션을 제어하기 위해 조명환경에 강인한 ASM을 사용하여 얼굴 특징점을 추출하고, 사용자의 현재 표정을 분류하기 위해 LibSVM[8]을 사용한다.

3D 얼굴 애니메이션에 대한 연구의 주된 방향은 감정을 전달하기 위해 눈썹이나 입술의 움직임을 자연스럽게 표현할 수 있는 방법을 찾는 것이다. 2D 영상에서 얼굴의 특징이 되는 위치를 3D에서 추정하고 복원한 실시간 3D 얼굴 애니메이션 방법[2]도 제안되었다. 이러한 애니메이션 방법들은 매우 사실적이며 미세한 표정을 묘사할 수 있지만 이 방법은 이미 정해진 얼굴 모델의 애니메이션에 초점이 맞추어져 있고, 사용자가 인터랙티브하게 머리카락이나 수염과 같은 장식 모델을 얼굴에 추가적으로 부착하여 자동 애니메이션 할 수 있는 방법은 제공하지 않고 있다. 따라서 본 연구에서는 사용자가 머리카락이나 수염과 같은 모델로 얼굴을 장식하고 이를 애니메이션하면서 감정표현을 강조하는 방법을 제안하고자 한다.

 

3. 얼굴 모델과 장식모델의 자동 정합

얼굴의 세부표현이나 장식을 얼굴에 맞추어 재구성하기 위해서 미리 제작된 장식모델들을 사용하여 얼굴 모델에 맞추어 정합 하는 방법이 있다. 본 논문에서는 선택된 장식모델들이 자동으로 얼굴의 표면에 어울리게 정합하기 위해서 장식모델의 표면에 표면 변형 알고리즘을 사용했고, 장식 모델과 3D 얼굴 모델을 정합하기 위해 얼굴의 특징이 되는 점의 위치를 지정한 CANDIDE-3 모델[9]의 특징점 정의를 이용했다. 변형기법 알고리즘의 순서는 세 가지 과정으로 나눠진다. 첫 번째 과정은 장식모델에 정합하기 위한 특징점이 미리 지정되어야 한다. 이 때 특징점은 유사변형을 위한 특징점(ST point)과, 선형 변형을 위한 특징점(LD point), 그리고 장식모델에서 LD point에 해당하지 않은 나머지 정점을 자유정점(Free vertices)으로 정의한다. 두 번째 과정은 얼굴 표면과 정합 오류를 줄이기 위해서 얼굴모델과 장식모델의 ST point를 이용하여 유사변형 과정을 수행한다. 마지막 과정으로 장식 모델을 얼굴 표면에 정합하기 위해서 장식 모델의 선형변형을 수행한다. 선형변형은 장식모델의 LD point와 가장 가까운 얼굴 표면의 정점을 검색하여 LD point를 이동하고, 이동된 LD point과 미리 계산된 자유 정점들의 가중치를 이용하여 장식 모델을 선형 변형하는 방법을 사용했다. 본 논문에서는 B.Bickel의 대규모 변형 기법(largescale deformation)[10]을 사용했고, 이 기법을 장식 모델에 적용하기 위해서는 오일러-라그랑지(Euler-Lagrange)방정식을 도입했다. 주어진 LD point의 3차원 변위량이 UH ∈ RH×3 일 때 H는 LD ponit의 변위량이고, U는 선형변형수식으로써 오일러-라그랑지 수식은 다음과 같다

이때 ks와 kb는 늘림(stretching)과 휨(bending)의 계수이고, Δ는 라플라스 벨트라미 연산자(Laplace-Beltrami operator)이다. 이 때 주변정점들의 이동량은 코탄젠트(cotangent) 가중치에 의해 계산되며, 이를 계산하기 위한 선형 수식은 다음과 같다.

이 행렬식은 LD point를 제외한 자유정점들의 변위량 UH ∈ R(V-H)×3을 해결하기 위한 수식으로써 콜레스키 분해(Cholesky factorization)을 이용하여 계산하고, 이를 가중치 행렬 W로 정의했다.

장식 모델에 지정된 LD point가 가장 가까운 얼굴 표면으로 이동할 때 자유정점들은 변위량 D에 의해 움직이게 된다(그림 2). 여기서 장식 모델의 정점집합을 A, 가중치 행렬을 W, 얼굴 형태로 변형된 장식 모델의 정점집합을 B라고 했을 때 DAW = B 라고 표현 할 수 있다. 이 때, B를 구하기 위해서는 가중치 행렬 W를 먼저 정의해야 한다. 가중치 행렬 W를 구하기 위해서는 A에 임의의 변위량 D' 으로 변형이 가해진 특수분장 소품의 정정집합 A' 을 이용하였다. 여기서 우리는 A, A', D' 의 값을 알고 있으므로 가중치 행렬 W를 으로 구할 수 있다. 즉, 가중치 행렬 W는 라플라스 벨트라미 연산자에 의해 계산된 고정 상수 값이다. 따라서 계산된 가중치 행렬 W를 이용하여 3차원 얼굴과 적합한 형태로 장식 모델 B를 구할 수 있다.

Fig. 2.Accessorial models such as facial hair or a topknot are linearly deformed on the surface of a 3D face model.

 

4. 감정을 강조하기 위한 표정 인식

얼굴의 표정을 분석하기 위해서는 얼굴의 가장 큰 특징인 눈, 눈썹, 입술에 대한 정확한 정보가 추출되어야 한다. 또한 표정 인식을 위해서는 이런 얼굴의 움직임들이 부호화되어야 한다. 따라서 본 논문에서는 입력된 얼굴 이미지에서 자동으로 얼굴 특징을 추출하기 위해 ASM을 사용했고, 얼굴 표정을 분류하기 위해서 SVM을 사용했다.

4.1 얼굴 특징 추출

얼굴의 주요 특징을 자동으로 추출하기 위해 ASM을 사용하려면 여러 얼굴에 대한 학습이 필요하다. 본 논문에서는 학습을 위한 랜드 마크의 기준을 DTU의 데이터 세트[11]을 기준으로 적용하고, 각 피실험자 마다 다른 조건 하에서 9장의 사진을 촬영하여 데이터 세트로 구성하였다. 데이터 세트에 대한 설명은 표 1과 같다.

Table 1.Image Dataset

4.2 얼굴 표정 분류

SVM을 이용한 표정 분류는 크게 사용자의 표정을 학습하여 학습세트를 생성하는 단계와 새로운 표정이 입력되었을 때 생성된 학습세트를 이용하여 표정을 분류하는 단계로 구분된다. 학습세트를 생성하기 위해 입력되는 데이터는 ASM으로 추출한 특징점들을 FACS의 AU코드에 맞추어 계산한 거리벡터를 사용한다. 입력된 영상의 표정을 분류하기 위해 정의된 AU를 이용하여 무표정, 기쁨, 분노, 놀람, 슬픔의 5가지에 대해 각각 SVM 학습세트를 생성한다. 그림 3의 상단은 ASM을 이용하여 추출된 특징점을 보여주고 있고, 하단에는 무표정에서 특정 표정으로 변화되었을 때의 거리 벡터를 노란색 화살표방향으로 보여주고 있다. 새로운 표정이 웹캠으로부터 입력되면 각 SVM 학습세트에서 표정을 판단하여 가장 높은 가중치를 출력하는 세트를 사용자의 현재 표정으로 선정한다. SVM 학습세트의 판정 기준은 Cohnkanade의 데이터세트에서 제안하는 표정별 AU를 적용했다[12].

Fig. 3.Facial features from ASMs (top) and displacements of facial feature points from neutral to expressive states (bottom).

 

5. 3D 감정 아바타의 애니메이션

이 장에서는 얼굴의 특징점집합이 시간에 따라 움직이는 모션데이터를 이용하여 3D 감정 아바타의 표정을 애니메이션 할 수 있는 방법과 SVM을 통해서 인식된 사용자의 표정정보를 이용하여 각 표정을 강조할 수 있는 패턴을 표정에 적용하는 방법에 대해서 설명한다.

3D 얼굴 아바타를 애니메이션하기 위해서는 얼굴 특징점 집합이 변화되는 모션데이터와 3D 얼굴 아바타를 변형할 변형 기법이 필요하다. 본 논문에서는 3장에서 설명한 선형변형 기법을 3D 얼굴 아바타에 적용하여 얼굴 표면을 변형 하였고, 이 때 얼굴 표면에 정의할 특징점의 위치는 CANDIDE-3 모델에서 정의한 위치를 기반으로 지정하였다. 얼굴 움직임을 위한 모션데이터를 획득하는 방법은 RGB-D 카메라를 이용하는 방법이 널리 사용되고 있다. 모션캡처데이터 M은 Mi,t ∈ R3 , i = {1, …, 97}, t = {0, 1, …}로 정의 하고 이때 i는 특징점의 인덱스, t는 시간에 따른 표정 영상이다. 모션 캡처 데이터 M 은 3D 얼굴 모델과 크기 차이가 발생한다. 따라서 크기를 일치시키기 위해에 유사 변환을 적용함으로써 M' 을 생성한다. 유사 변환된 M' 을 이용해 변위량 세트 를 정의한다.

3D 얼굴 모델의 애니메이션은 2장에서 언급한 선형 변형기법을 사용한다. CANDIDE-3 모델에 의해 지정된 특징점들이 변위량 집합에 의해 변형되고, 주변의 점들은 자연스러운 표정 애니메이션을 위해 특정한 가중치에 영향을 받아 함께 변형된다. 표정 애니메이션의 진행됨에 따라서 그림 4와 같이 각 표정별로 준비된 텍스처 템플릿을 조합하여 얼굴의 텍스처를 변경한다.

Fig. 4.Emotional templates (top) and the creation of intermediate emotional states from neutral to angry (bottom).

 

6. 구현 및 결과

본 논문의 시스템은 Intel Core i7-3770 CPU와 640×480 픽셀 크기의 이미지를 30fps로 촬영할 수 있는 웹캠이 탑재된 PC에서 구현하였다. 그림 5는 개발된 3D 아바타 애니메이션 시스템을 보여준다. 본 시스템은 사용자가 3D 얼굴 모델과 장식 모델을 선택하면 애니메이션 가능한 3D 아바타로 정합하고, 사용자의 현재 표정을 나타내며, 표정을 3D 감정 아바타에 적용한 애니메이션과 동시에 얼굴의 텍스처 패턴을 변경한다.

Fig. 5.The user interface unifies facial expression analysis and facial animation.

그림 6은 실시간으로 입력되는 표정 애니메이션을 위한 얼굴 표정 인식률을 보여주고 있다. 대부분의 표정들이 90%이상의 인식률을 보여주고 있지만 슬픔 표정은 다른 표정에 비해서 거리벡터가 작기 때문에 상대적으로 낮은 인식률이 나타났다.

Fig. 6.Facial expression recognition rates(%) under the per frame classification scenario.

그림 7은 수염 모델과 얼굴 모델의 자동 정합 결과를 보여주고 있다. 그림 7의 (a)는 두 모델의 초기상태, (b)는 정합이 된 상태, (c)는 표정 애니메이션을 수행해서 얼굴 모델이 변화된 상태를 보여주고 있다. 표정 애니메이션을 수행 하는 과정에서도 수염 모델이 변화되는 입모양에 적응적으로 늘어나는 모습을 보여주고 있다. 또한 그림 8은 남자뿐만 아니라 여자모델의 경우에도 사용자의 표정인식을 통하여 3D 감정아바타의 표정 애니메이션을 예제를 보여주고 있다.

Fig. 7.The automatic registration of facial hair with a male face: (a) is initial state, (b) is final results, (c) is enlarged results.

Fig 8.From left to right: a decorated 3D face in a neutral state, happy, angry, surprised, and sadness.

 

7. 결 론

본 논문에서는 사용자의 얼굴 영상을 입력 받아 표정을 인식하고, 인식된 표정의 특징을 3D 얼굴 아바타에 적용하여 애니메이션과 얼굴 텍스처의 패턴을 제어하는 시스템을 제안했다. 제안한 표정 애니메이션 제어 시스템은 사용자의 표정을 자동으로 분류하고, 다중 모델을 자동으로 정합한 3D 얼굴 아바타를 이용하여 애니메이션 한 결과를 보여주었다.

본 연구에서 제안한 애니메이션 제어 시스템은 사용자가 3D 얼굴 모델과 보조 모델들을 선택하여 다양한 3D 얼굴 아바타를 인터랙티브하게 생성하고, 생성된 아바타를 실시간으로 애니메이션 할 수 있다는 장점이 있다. 제안 방법은 뮤지컬이나 무대연극의 연출가가 배우를 선정할 때, 오랜 시간이 걸리는 분장과정 없이 얼굴을 스캐닝하여 3D 감정 아바타를 시뮬레이션 하여 다양한 분장결과를 테스트해 볼 수 있다. 따라서 연출가가 배역에 맞는 적절한 배우를 선정하는데 도움이 될 수 있다.

References

  1. R.W. Picard, Affective Computing, MIT Press, Cambridge, Mass., 2000.
  2. C. Cao, Y. Weng, S. Lin, and K. Zhou, "3D Shape Regression for Realtime Facial Animation," ACM Transactions on Graphics, Vol. 32, No. 4, pp. 41:1-41:10, 2013.
  3. T. Beeler, B. Bickel, G. Noris, P. Beardsley, S. Marschner, R.W. Sumner, et al., "Coupled 3D Reconstruction of Sparse Facial Hair and Skin," ACM Transactions on Graphics, Vol. 31, No. 4, pp. 117:1-117:10, 2012.
  4. P. Ekman, W.V. Friesen, and J. Hager, Facial Action Coding System: Research Nexus, Network Research Information, 2002.
  5. T. Cootes, G. Edwards, and C. Taylor, "Active Appearance Models," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 23, No. 6, pp. 681-685, 2001. https://doi.org/10.1109/34.927467
  6. T. Cootes, An Introduction to Active Shape Models, Image Processing and Analysis, Oxford University Press, New York, NY, 2000.
  7. I. Kotsia and I. Pitas, "Facial Expression Recognition in Image Sequences using Geometric Deformation Features and Support Vector Machines," IEEE Transactions on Image Processing, Vol. 16, No. 1, pp. 172-187, 2007. https://doi.org/10.1109/TIP.2006.884954
  8. C.-C. Chang and C.-J. Lin, "LIBSVM: A Library for Support Vector Machines," ACM Transactions on Intelligent Systems and Technology, Vol. 2, No. 3, pp. 27:1-27:27, 2011.
  9. J. Ahlberg, CANDIDE-3-An Updated Parameterised Face, LiTH-ISY-R-2326, Deptartment of Electrical Engineering, Linkooping University, 2001.
  10. B. Bickel, M. Lang, M. Botsch, M. Otaduy, and M. Gross, "Pose-space Animation and Transfer of Facial Details," Proceeding of the 2008 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 57-66, 2008.
  11. M. B. Stegmann, B. K. Ersboll, and R. Larsen, "FAME-a Flexible Appearance Modelling Environment," IEEE Transaction on Medical Imaging, Vol. 22, No. 10, pp. 1319-1331, 2003. https://doi.org/10.1109/TMI.2003.817780
  12. P. Lucey, F. J. Cohn, T. Kanade, J. Sarahih, and Z. Ambadar, "The Extended Cohn-Kanade Dataset(CK+): A Complete Dataset for Action Unit and Emotion-specified Expression," Computer Vision and Pattern Recognition Workshops, pp. 94-101, 2010.
  13. H. Byun, "Real-time Facial Modeling and Animation based on High Resolution Capture," Journal of Korea Multimedia Society, Vol. 11, No. 8, pp. 1138-1145, 2008.