Paper/Human

[Human] MetaAvatar: Learning Animatable Clothed Human Models from Few Depth Images

침닦는수건 2023. 4. 5. 22:56
반응형

MetaAvatar: Learning Animatable Clothed Human Models from Few Depth Images

내 맘대로 Introduction

이 논문은 SCANimate의 generalization 버전이다. 사람 하나 하나 마련된 3D scan 데이터로부터 animatable avatar를 만드는 SCANimate 아이디어를 따오지만 걸리는 시간을 획기적으로 줄이고 scan까진 얻기 힘드니 depth 이미지를 갖고 그럴듯하게 만드는 방법을 소개한다. 

 

컨셉을 간단히 말하면, 대규모 3D human 데이터를 이용해 대략 forward/inverse skinning weight를 추정하는 네트워크를 메타 네트워크로 만들어 두고, 특정 사람의 depth 이미지들이 생기면 특정 사람 버전으로만 residual을 구하는 추가 네트워크를 빠르게 학습시킨다는 컨셉이다. 

 

대략 forward/inverse skinning weight가 잘 학습되어있어야 동작하는 알고리즘이므로 데이터셋에 없었던 자세에서 취약성을 보일 것 같은 우려가 조금 있는 논문이다. 

 

핵심 내용

Meta network : forward/inverse skinning weight estimation

위와 같이 익히 알고 있는 LBS 식에서 weight에 해당하는 w를 추정하는 네트워크를 대규모 데이터셋을 이용하여 만들어 둔다. bone transformation matrix, B는 SMPL을 내부에 fitting해서 SMPL 것을 썼다고 한다. 

정확히는 위와 같은 형태가 될 것이고 h_fwd와 h_inv를 학습하게 된다.

loss는 추정된 weight로 forward/inverse skinning을 했을 때 GT vertex와 잘 맞아 떠렁지는지 L_r, forward-inverse skinning weight가 비슷한지 L_s, 인접한 SMPL skinning weight와 유사한지 L_skin 으로 구성되어 있다. 

 

참고로 forward 시에는 신체 일부 point, inverse 시에는 모든 point를 사용해서 학습했다고 한다. inverse가 더 어려우므로, batch를 크게 해서 전신 정보를 매번 보여주면서 학습하는 게 맞는 것 같다. 

 

학습을 잘 해둔다면 위 그림에서 빨간 박스까지 대충 만들 수 있게 된 것이다. 

 

Finetuning network 

skinning weight를 이용하여 모든 depth scan을 unpose했다고 가정하고 시작한다. 이제 unposed depth들을 갖고 하나로 합치면서 디테일을 좀 더 살리고 pose-dependent deformation을 덧붙이면 끝이다. 

수식만 보아도 SCANimate와 유사하다는 것을 알 수 있다. 모든 depth scan을 만족시키는 SDF network, f를 학습시키는 것인데 각 depth scan point들을 입력으로 던져주며 SDF는 0이 되도록, SDF gradient가 depth scan normal과 갖도록 한다. 그리고 eikonal term, surface 너무 먼 point들은 억제하도록하는 term으로 regularization 한다.

 

실험적으로 f(x)가 디테일과 pose-dependent deformation을 한 번에 다 고려하도록 디자인해보니 성능이 떨어져서 pose와 독립적으로 디테일을 살리는데만 집중해서 네트워크를 한 번 학습해놓고, pose-dependent deformation용 별도의 MLP를 연결해주는 식으로 반영해주는게 좋았다고 한다. 무슨 말이냐면, 

f(x)의 입력으로 bone transformation, B를 주지 않고 먼저 네트워크를 쭉 학습시킨다. 

그런 뒤 bone transformation, B만을 입력으로 하고 SDF residual을 출력으로 하는 MLP를 연결하여 한 번 더 학습시키는 식으로 해서 일단 f(x)가 대충 배우고 g(B)에게 pose-dependent deformation은 뗘주도록 디자인했다고 한다. 

 

Results

결과적으로 SCANimate와 비슷한 결과물 (디테일이 살아난 animatable avatar)을 훨씬 빠른 시간 (finetuning 하는데 수 분 내)에 얻을 수 있는 알고리즘이 완성됐다고 한다.

대규모 3D human 데이터를 이용하여 메타 네트워크를 만들고 이를 기반으로 시작하는 컨셉이 효과적이어서 고정밀 3D scan을 쓰는 SCANimate보다 좋은 성능을 거두었다고 한다. 더불어 activation function으로 SIREN을 쓰거나 pose-dependent deformation을 따로 학습하도록 유도하는 방식이 효과적이었다는 것도 보여준다.

 

 

 

반응형