body pose, shape, clothing geometry 를 표현하는 생성 모델인 SMPLicit 를 제안
각 의류의 유형에 대한 특정 템플릿을 학습하여야 하는 기존의 방법과 다르게 우리의 방법은 각각의 의류 토폴로지를 같은 방식으로 나타내면서 의류의 크기나 조임같은 특성을 제아할 수 있음
SMPLicit의 표현성은 SMPL 인체 변수로 조정된 implicit 모델을 사용하고 의류 속성에 관련된 latent space를 학습함으로써 달성됨
제안된 모델은 endtoend에서 사용될 수 있음
다양한 체형과 포즈에서 의복의 스타일을 변형, 제어할 수 있는 생성 모델을 구축하면 좋음
하지만 지금까지 옷을 입은 사람들의 기하학을 표현하기 위한 방법은 SMPL을 사용하여 얻은 shape에다가 추가적인 변위를 사용해 의복을 흉내내는것이었음
-> 이러한 접근방식은 가변성이 큰 의류 모델링의 주요 과제를 해결할 수 없음
-> 이를테면 상체 의류는 반팔이거나 긴팔, 혹은 후드티나 재킷일 수 있음
이런 가변성을 처리하기 위해 기존 접근 방식은 각 의류 유형에 대한 모델을 따로 학습시켜야 하므로 실제 활용도를 낮춤
따라서 본 논문에서는 의복의 매개변수를 저차원 레이턴트 공간에 매핑시킬 수 있는 생성 모델인 SMPLicit를 제안함
SMPLicit는 몸의 포즈와 shape에 대해 조건을 가진 암시적 네트워크를 기반으로 이루어져 있음.
이 두가지 팩터를 통해 의복의 카테고리와, 토폴리지를 제어하면서 신체 shape의 함수로서 의복의 변형을 예측할 수 있게 됨
우리는 뚜렷하게 구분되는 상의와 하의 모델을 각각 독립적으로 훈련시킴
이렇게 훈련된 모델은 각각의 클러스터 안에서 기하학정 특성과 토폴로지가 다른 의류를 표현할 수 있으면서 기하학적 보간 역시 일관적으로 수행할 수 있게 됨
신발과 헤어 카테고리도 독립적으로 모델링 가능하게 됨
이미지에서 3d 재구성을 하는 도메인에 SMPLicit를 적용할 수 있음.
main contributions
1) : 여러 토폴로지의 옷들을 표현할 수 있는 생성 모델
2) : 옷의 카테고리와, 토폴로지를 제어할 수 있는 저차원(의미적) 레이턴트 스페이스
3) : 사람의 포즈,형상 및 의류에 조건화 될 수 있는 모델
4) : 다른 딥러닝 모델과 쉽게 통합될 수 있는 미분가능한 endtoend 네트워크
5) : real 이미지에서 3d 스캔하여 피팅하여 reconsturction 이 가능
6) : 의류를 편집하고 제어할 수 있는 reconsturcion 알고리즘
pass
train_inference
SMPL body function
pose와 shape를 파라미터로 입력하면 N개의 버텍스들을 예측하는 함수
몸의 형상()과 포즈()에 맞는 옷을 생성하기 위해 SMPL 모델을 기반으로 함
우리의 목적은 옷의 레이어를 SMPL 위에 추가하는것임
이전 연구의 단점은 신체에 변위를 추가하거나 고정된 버텍스를 가진 의류 모델을 학습시키는것임
고정된 정점의 수를 예측할 때의 문제는 다른 토폴로지를 가진 의류(티셔츠 <-> 자켓)이나 극단적인 기하학적인 변화(반팔 <-> 긴팔)를 단일 모델로 나타낼 수 없는 단점을 가짐
이를 해결하기 위해 SMPLict-core라는 T pose의 의류를 예측하는 implicit network임
SMPLict-core
임의의 점 가 주워졌을때 점과 옷의 표면까지의 거리를 예측함
->충분한 점을 샘플링하면 mesh를 reconstruct 할 수 있음(특정 임계값에 맞춰 marching cube를 돌리면 됨)
shape 이외에도 우리는 직관력있는 파라미터를 사용해서 옷 모델을 컨트롤 하고 싶음
이외에도 포인트 기반 변위 필드를 학습하고, 의복의 포즈를 만들기 위해 SMPL의 스키닝 가중치를 사용함.
->모델의 포즈에 따른 의류 변화를 학습시켰음
SMPLicit
따라서 SMPL body 위에 포즈가 취해진 mesh를 출력함
SMPLict-core
입력을 통해 학습된 두개의 레이턴트 스페이스로 옷의 스타일과 토폴로지를 컨트롤함.
이러한 표현
: 아웃풋의 옷 카테고리를(범위) 정의하는데 초점을 맞춤.
옷의 점유 범위에 대한 레이턴스 스페이스를 학습하기 위해 훈련 셋의 의류와 몸의 쌍으로 입력되고 이때 옷의 점유 범위를 UV 맵에 나타냄
우리는 SMPL을 UV맵으로 바꾼 다음 UV맵에서 옷에 의해 가려진 범위를 전부 1로 설정하고 나머지는 0으로 설정하였음
-> 네트워크 입력값 U val
이미지 인코더에 점유 맵을 입력해서 레이턴트 스페이스를 학습함
: 같은 신체 점유 UV맵을 가질 수 있을지라도 옷의 기하학적인 디테일이 다를 수 있음
이를 표현하기 위해 논문에서는 제로백터로 초기화되고 오토인코더 패턴으로 훈련되는 파라미터 의 서브셋을 추가함
의 서브셋 을 사용해서 옷의 디테일을 표현할 수 있도록 함
: 옷이 체형에 따라 달라지기를 원하기 때문에 포인트를 점유공간에서(?) 매핑하지 않고,
상대적인 포인트 매핑을 진행함
For each garment, we identify SMPL vertices that are close to ground truth models (e.g. torso vertices for upperbody clothes), and obtain K vertex clusters vk ∈ R 3 that are distributed uniformly on the body in a T-pose.
Then we map a 3D point in space p ∈ R 3 to a body relative encoding Pβ ∈ R K×3 matrix, with rows storing the displacements to the clusters Pβ,k = (p−vk).
This over-parameterized representation allows the network to reason about body boundaries, and we empirically observed superior performance compared to Euclidean or Barycentric distances.
각각의 의류에 대해서 우리는 GT 까가이에 있는 SMPL 버텍스를 식별하고, T 포즈에서 몸에 균일하게 분포된 K개의 버텍스 군집을 얻음()
-> vk 어디에씀?...
인코딩이 된 점은 SMPL의 군집들에 대한 어떤 피쳐를 가지고있을태니 그에 따라 옷을 매핑하는것이 쉬워지는 원리라고 생각함
그다음 우리는 3d point를 맵핑하는데 pb 메트릭스(body 관련 인코딩)에 맵핑...
아무튼 이런 표현을 통해 네트워크가 몸의 경계를 파악 할 수 있게 해줌
3d 의류 생성 모델을 학습하기에 있어 주요한 과제는 버텍스 기반 방법을 위해 필요한 훈련용 의류들을 모델에 등록하는것임
Implicit surface representations 은 등록이 필요하지 않지만(?) 점유도나 거리를 표현하기 위해 closed surfaces 가 필요함
-> 부호 있는 거리 : 내부를 음수로 표현하기 위해 필요함 -> 내부를 표현하기 위해서는 closed surfaces 가 필요함
근데 의류는 closed surfaces가 아니라 open surfaces 이기 때문에 최근 연구에 따라 부호가 없는 거리를 사용함
즉 질의 포인트 p-> 가 주워지면 우리는 천 매개변수 z 를 같이 입력으로 해서 디코더 네트워크 C 를 통해 옷의 표면까지의 부호 없는 거리 D(p)를 예측함
훈련이 진행되는 네트워크 파라미터는 W1,
레이턴트 파라미터
디코더 네트워크 파라미터 W2,
각각의 파라미터는 로스를 통해 학습되어짐
훈련을 진행하면서 body의 Bbox 안쪽에서,그리고 GT 표면 근처에서 포인트를 균일하게 샘플링하고 모든 의류 범주의 모델을 같이 학습함.
(대신 상체, 바지, 스커트, 신발, 머리카락 사이의 간섭은 별로 의미가 없기 때문에 다른 모델을 훈련시켰음)
인퍼런스 시에는 인코더를 사용하지 않고 바로 Z_cut를 사용하여 SMPLicit를 제어하였음
부드러운 보간과 새로운 옷의 생성을 위해 레이턴트 공간의 분포가 정규분포를 따르도록 함
->이것은 loss component 를 사용함으로써 달성됨
Gaussian noise
또한 평균 0의 공분산 가우스 노이즈를 의류 재표현 과정의 훈련과정에 추가함으로써
->
적은 양의 의류 데이터로도 재표현이 가능하도록 함
-> 네트워크 C와 의류 레이턴스 공간은 loss를 같이 학습시킴으로써 같이 학습시킴
-> 여기서 람다는 하이퍼파라미터임
3d 의류의 메시를 생성하기 위해 T 포즈에서 신체 주변을 샘플링하여 네트워크 C 를 훈련시켰음
이 네트워크를 통해 의류의 implicit function을 이를 marching cube(threshold : 0.1)로 구현함
td(스레시홀드)가 >0 이므로 reconstruction 된 메시는 실제 데이터보다 큰 볼륨을 가지고 있지만 이는 closed surface를 훈련시키는것보다 더 낫다.
즉 다음과 같은 입퍼런스 방법으로 body shape 에 fit 하는 의류를 생성할 수 있음
1) 옷(z)를 정규분포를 따르는 레이턴트 스페이스로 임베딩화
2) T-포즈 주변 지점에서 포지셔널 인코딩인 pb를 측정하는것, 그리고 C(.)를 측정하는것
3) 의류의 implicit surface 거리 구하기
4) 마칭큐브를 통해 mesh를 얻는것
T-pose에 옷을 걸치고 자세 의존적인 변형을 적용시키기 위해
포즈 의존 모델을 훈련시킴
Tailor Net에서 적용시킨 방법과 유사하게 T-pose에서 포즈 변형 모델을 학습하고 번형 메시를 포즈하기 위해 SMPL에 학습된 스키닝을 활용하고 Tailor Net 데이터셋을 활용함
학습이 가능한 잠재변수 z에 있는 포즈 파라미터 를 학습시키고 이를 점대점 변위인 P 에 매핑시킴
레이턴트 스페이스 z 는 z_style 과 같은 오토디코더 방식으로 학습됨<< ?
훈련 중에는 의류의 변화에만 관심이있기 때문에 T-pose에서 의류 표면에 떄라 샘플링된 점에 대해서만 모델을 평가함
또한 우리는 입력된 포인트를 p -> (몸통 표면 함수) 로 인코딩함
그리고 GT와 비교하여 훈련시킴
인퍼런스 시키는 동안 오직 SMPLicit-core에서 복구된 버텍스들 P 에 대해서만 평가함
그리고 그 버텍스들을 변형된 메시에 따라 p->p+d로 변형시킴 << ?
그 다음 SMPL을 변형된 의류와 몸에맞에 적용시킴.(의류는 pose에 따라 변형되어있음)
가장 가까운 SMPL 버텍스의 the skinning deformation을 사용해 의류의 버텍스를 변형시킴
Eq(2)
Eq(3)
이 과정은 Eq(3)을 결정함
In this section, we show the potential of SMPLicit for several computer vision and graphics applications.
pass
-Frankmocap: Fast monocular 3d hand and body motion capture by
regression and integration.-
사람을 감지하고 포즈와 shape에 대한 추정치 그리고 2d 세그먼트(의류)를 얻은 다음
모든 탐지에 대하여 SMPLicit를 적용시킴
-> 사람의 포즈 감지 + 옷에 대한 2d 세그멘트
-> 모든 탐지된 의류에 대해 T-posed 된 SMPL을 샘플링한 다음 SMPL의 포즈를 변형시킴( )
-> 그럼 포즈 + 2d 세그멘트니까 정보를 빼내서 t-pose의 SMPL에 입히고 다시 pose를 취하는것
탐지된 의복에 대해 T-pose된 SMPL 모델의 주변 공간을 샘플링하고 그 점들을 SMPL 포즈의 모양대로 변형시킴( ). 그리고 자신의 shape에 가려진 것들을 제거함
각각 포즈된 점 bar(p)는 투영되어있는 점임 , 이 점들을 시멘틱 세그멘트 픽셀로 분류하는데 1은 의류 클래스이고 0 은 나머지임. 이를 다음의 loss를 사용해서 훈련시킴
sp=0일 경우 우리는 모델이 최대한의 cut-off 거리를 예측하도록 집중하였음
-> 표면이 아닌 거리?..
sp=1일 경우 우리는 표면의 거리(point in surface)를 예측하도록 집중하였음
아무튼 ray를 따라 많은 점들이 투영될 수 있으므로 최소거리에 있는 점만을 고려함
-> 이를 통해 옷의 두꺼움을 방지하고 두겹이상의 옷을 재구성할 때 도움이 됨
pass
사용한 데이터셋 정리
BCNet Dataset
USC-HairSalon
TailorNet
we train a deformation model parameterized only by zθ, given manually warps generated using Blender.