Expressive Body Capture : 3D Hands, Face, and Body from a Single Image
https://eehoeskrap.tistory.com/226?category=705415
Total Capture : A 3D Deformation Model for Tracking Faces, Hands, and Bodies 논문과 SMPLify 모델에 이어
SMPL eXpressive 라는 프로젝트가 데이터 세트와 함께 공개되었다.
인간의 행동을 인식하려면 신체의 주요 관절 정보들을 알아야한다. 2차원 인간 자세 추정, 3차원 인간 자세 추정 연구에서는 인간의 몸체를 표현할 수 있는 주요 관절들을 적게는 14개에서 많게는 25개까지 추출해낸다. 이를 이용하여 행동을 인식 할 수 있는데, 일어서기, 앉기와 같은 기본적인 동작들에 대해서는 어느정도 행동을 인식 할 수 있지만, 손을 40도 각도로 꺾는다던지, 앉아있는데 다리를 어떤 형상으로 꼬고 앉아있는지에 대해서는 정확도가 떨어진다는 단점이 존재한다.
To understand human behavior, however, we have to capture more than the major joints of the body – we need the full 3D surface of the body, hands and the face.
그래서 인간의 행동을 "자세하게" 또는 "정확히" 이해하기 위해서는 신체의 주요 관절 뿐만 아니라 모든 관절에 대해 인식해야하며, 전체 관절에 대한 3차원 표면이 필요하다는게 이 논문의 주장이다. 또한 현재 이를 수행할 수 있는 시스템은 별로 없다고 한다. 이 분야를 모르는 사람이 봤을 때도 아래와 같이 스켈레톤 모델만 본다면, 사람이 어떤 표정을 짓고 있는지, 사람이 어떤 형상으로 이루어졌는지는 몇개의 포인트만으로 알아채기에는 어렵다.
그래서 논문에서는 인간의 얼굴, 손, 그리고 신체 구성의 복잡한 모든 것들을 표현할 수 있는 3차원 모델이 필요하다는 것이 논문의 주장이였고, 두번째는 단일 이미지 즉, 이미지 하나로 이러한 모델을 추출하는 것이 필요하다고 했다.
최근 딥러닝의 발전으로 인해 사람이 직접 사진을 보고 인간 관절에 대해 라벨링 작업을 수행한 대규모 데이터 세트들로 인해서 자세 추정 분야에 대한 연구가 활발히 이루어 질 수 있었다.
시중에 나와있었던 3차원 바디 모델은 손과 얼굴을 제외하고 바디 형상이 어떻게 되어있는지, 전체 모습이 어떤 형상으로 이루어져있는지 중점을 두었다. 또한 손과 얼굴에 대한 3차원 모델도 있지만 손, 얼굴, 바디 까지 합쳐진 완전한 3차원 모델은 존재하지 않았다. 최근에야 손과 몸을 같이 모델링하거나, 손과 얼굴을 같이 모델링하는 경우는 있었어도...
예를 들어 Frank 모델은 SMPL 바디모델의 단순화된 버전과 아티스트가 디자인한 FaceWarehouse 얼굴 모델을 결합한다. 이렇게 서로 다른데서 정의된 모델들을 합치는 것은 현실적인 모습을 표현 할 수가 없다는 것이 이 논문의 주장이다.
그래서 SMPL-X 모델은 기존 SMPL 모델을 기반으로 하여 그래픽 소프트웨어와의 호환성, 간단한 매개변수화, 작은 크기, 효율적, 차별화 등 모델의 이점을 유지하면서 FLAME 헤드 모델과 결합하였다. 또한 MANO 핸드모델을 사용하였다.
사실 필자가 연구할 때만 해도 SMPL 모델은 초창기 때 공개되지 않았기 때문에 연구를 하는데 제한이 있었다. 하지만 이 SMPL-X 모델은 연구 목적으로 자유롭게 이용 할 수 있다고 한다.
이 논문은 2차원 자세를 추정하기 위해 OpenPose 를 사용하여 손, 발 및 얼굴의 관절을 추정하였다. 그 다음 SMPLify-X라는 방법을 이용하여 모델을 붙인다. 그 다음 오토인코더를 이용하여 모션 캡쳐 데이터의 대규모 데이터세트에서 더 나은 자세를 학습하고, 2차원 특징에서 3차원 특징으로의 매핑이 모호하기 때문에 이 과정은 중요하다.
또한 성별 감지기를 통해 이를 남성, 여성, 중립 으로 신체 모델을 자동으로 결정한다.
최종적으로 단일 RGB 영상에서 신체, 손, 얼굴을 표현해 낼 수 있고 SMPL-X 모델, SMPLify-X 코드, 훈련된 신경망, 모델 평가 데이터 세트를 연구 목적으로 제공한다고 한다.
기존의 SMPL 모델에서 바디를 표현할 때의 v2v error 는 57.6 Joint error는 63.5 였으나
SMPL-X 모델에서 바디, 손, 얼굴을 표현할 때의 v2v error는 52.9 Joint error는 62.6 이다.
얼굴과 손을 합친것을 감안하면 꽤 괜찮은 수치이다.
Project Page : https://smpl-x.is.tue.mpg.de/en
Paper : https://ps.is.tuebingen.mpg.de/uploads_file/attachment/attachment/497/SMPL-X.pdf
Github : https://github.com/vchoutas/smplify-x