본문 바로가기
ML | DL/딥러닝 논문

PBNS(Physically Based Neural Simulation for Unsupervised Outfit Pose Space Deformation) 논문 리뷰

by Leeys 2024. 4. 11.

introduce

 

이번에 소개할 PBNS은 제가 회사에서 의류 3D 관련 프로젝트를 하면서 읽게된 논문 입니다. SMPL의 다양한 자세에서 의류가 신체에 맞춰질 수 있도록 학습하는 모델입니다. 기본적으로 3D mesh에 대한 이해도가 있어야 읽을 수 있기 때문에 미리 공부하시고 읽으시면 좋습니다.


 

Abstract

본 논문은 딥러닝을 활용하여 PSD(Pose Space Deformation)를 통한 의류 시뮬레이션의 새로운 방법론을 제시합니다. 고전적인 PBS(Physically Based Simulations) 방식은 우수한 결과를 제공하지만 장면 수정 시에 계산 비용이 많이 드는 단점이 있습니다. 이에 반해, 본 논문에서 제안하는 LBS(Linear Blend Skinning)을 사용한 PSD 방식은 PBS의 효율적인 대안으로서, 더 낮은 계산 비용으로 실제와 같은 의류 시뮬레이션을 가능하게 합니다.

 

본 연구는 Unsupervised Learning을 활용하여 인간에게 입혀진 옷의 현실적인 PSD를 생성하는 딥러닝 기반 의류 시뮬레이터를 제안합니다. 이를 통해 단 몇 시퀀스의 PBS 데이터만으로도 짧은 시간 내에 모델을 훈련시킬 수 있습니다.

기존의 방식에서는 Supervised Learning을 사용하여 PBS 데이터로부터 주름 형성을 학습함으로써 일정 수준의 결과를 달성했으나, 물리적으로 일관성이 없는 결과를 도출하기도 하였습니다. 또한, PBS 데이터에 대한 의존도가 높아 확장성이 제한되며, 복잡한 공식의 적용은 사용성과 호환성을 저해합니다.

 

본 연구는 PBS 데이터에 대한 의존성과 복잡한 공식 사용의 문제를 해결하였습니다. 제안하는 방법론은 다양한 종류의 의류에 효과적으로 적용될 수 있으며, Unsupervised Learning을 통해 의류의 사이즈 변형 및 모든 3D 아바타에 쉽게 적용 가능합니다. 이로써, 본 논문은 의류 시뮬레이션 분야에서의 새로운 가능성을 제시하며, 계산 비용을 절감하면서도 현실적인 의류 시뮬레이션을 달성하는 방법을 제공합니다.

 

PBS(Physically Based Simulations) ?

  • PBS는 실제 세계의 물리적 특성을 가능한 한 정확하게 모델링하는 것을 목표로 합니다. 이를 위해 물리 법칙, 수학적 모델, 시뮬레이션 알고리즘 등을 사용하여 시스템의 동작을 예측하고 재현합니다. PBS는 계산 비용이 높을 수 있으므로 효율적인 알고리즘과 하드웨어 리소스를 사용하는 것이 중요합니다.

LBS(Linear Blend Skinning) ?

  • LBS는 인간의 joint를 미리 정해놓고 그 관절에 따라 신체를 움직일 수 있게 하는 모델 입니다. 3D 개체를 나타내는 메시의 vertex은 blend weight에 의해 관절에 연결됩니다.

 

Model Architecture

  • Pose parameters 값들은 4-layers 32차원인 각 layer에 공급됩니다.
  • X는 MLP를 통과한 pose의 pose embedding 값이며 Xavier Glorot 으로 초기화된 (32, 옷의 shape, 3) 형태인 PSD matrix값과 X를 연산하여 D를 얻습니다.
  • D는 T(rest) 포즈에 대한 옷의 변형 상태값이며 옷의 원래 상태 값을 더하고 포즈를 변환하는 G행렬과 연산을 통하여 pose에 대한 옷입은 mesh를 얻을 수 있습니다.
  • 마지막으로, 바디와 의류의 물리적 시스템이 맞도록 potential energy를 최적화 합니다.

 

Loss

PBNS는 총 3개의 loss를 가지고 학습합니다.

 

cloth loss -

해당 로스는 의류의 elastic potential energy로 모델이 일관적인 옷메쉬를 예측하도록 유도합니다.

collision loss -

해당 로스는 몸(mesh)에 침투하는것을 potential energy로 공식화합니다. 따라서 gradients가 바디에 옷 vertices 들이 유효한 위치로 가도록 유도합니다.

gravity loss -

해당 로스는 중력 potential energy로 vertices height(정점 높이) 제약 조건 내에서 다른 loss 들과 최소화 합니다.

 

 

 

Supervised 방법을 사용한 a,b,c vs d 입니다.

Result

이 논문에서는 최초로 unsupervised learning 딥러닝 시뮬레이터를 이용하여 다양한 자세 및 체형에서 옷의 핏을 맞추는 모델을 제안했습니다. 간단한 모델 아키텍쳐에 물리적 공식을 loss로 사용하여 바디 메쉬에 의류 메쉬가 충돌하는 문제를 Supervised learning을 사용한 다른 모델보다 더 개선하였습니다.

데이터가 SMPL 바디 메쉬, 옷 메쉬, 자세변형 행렬만 필요한게 인상적입니다. 하지만 SMPL이 아닌 다른 모델이면 SMPL 기존 포맷에 값을 맞춰야 사용할 수 있습니다. 그리고 옷도 자세에 맞게 맞춰진 상태여야만 사용할 수 있습니다.

Custom data를 만들어 보려고 했는데 blender나 3D max, Maya같은 컴퓨터 그래픽스 툴 지식이 많이 필요해보이네요.

댓글