이지업클래스 | 모두를 위한 온라인 IT CLASS

메뉴

이지채널

  • [paper review] MG VTON #2
  • 마스터 / 2021.02.16

 

  지난 리뷰에서 MG VTON의 Parsing과 Warp-GAN에 대해 살펴봤습니다.

 세밀한 GAN 학습, 생성 모델을 통해 고품질의 부드러운 결과물을 생성시켰습니다.

 

 계속해서 MG VTON의 Refinement rendering과 Geometric Matching Learning에 대해 살펴보겠습니다.

 


 

 3. Refinement Rendering

 

 

 Refinement Rendering은 위 과정에서 (e)의 단계를 나타냅니다.

 coarse 단계에서 사람의 식별 정보와 모습은 유지될 수 있지만, 옷 이미지의 복잡성으로 인해 디테일한 질감을 잃어버리게 됩니다.

 Warping된 옷을 사람에게 직접 붙여 넣으면 인위적이고 부자연스러운 형상이 생성될 수 있으며 warping된 옷 이미지와 1차 합성된 결과 사이의

 composition mask를 학습하면 다양한 포즈로 인해 부자연스러운 요소가 생성됩니다.

 위의 문제를 해결하기 위해 저자는 multi-pose composition 마스크를 사용하여 디테일한 질감과 일부 인공적인 요소를 제거하는 refinement render를 제시하였습니다.

 

 

 Cw를 geometric matching module에 의해 얻어진 warping된 옷 이미지로, (I hat)C는 Warp-GAN로 생성한 coarse result,

 P는 타겟 포즈 히트맵으로, GP는 refinement render의 generator로 정의하여  Refinement Render Generator는 CW,

 (I hat)CP를 인풋으로 하고 GP는 multi-pose composition mask를 예측하여 렌더링된 결과를 합성합니다.

 

 ⊙은 행렬 곱 연산이며 저자는 성능을 향상시키기 위해 perceptual loss를 채택하였습니다.

 GP의 목적 함수는 다음과 식과 같이

 

 μ1은 perceptual loss의 가중치 값이며 μ2는 mask loss의 가중치를 나타냅니다.

 composition mask가 지속적으로 학습을 하여 오차를 줄여나가고 Real Image와 거의 일치하는 옷의 형태를 생성합니다.

 


 

 4. Geometric Matching Learning

 저자는 feature 추출 레이어, feature matching 레이어, transformation 파라미터 추정 레이어를 포함하는 deconvolutional neural network를 채택하였습니다.

 위 그림 (f)에서 볼 수 있듯이, 옷 이미지의 마스크와 몸 형태의 마스크가 먼저 feature extract layer의 인풋으로 전달됩니다.

 그 다음 matching layers를 사용하여 두 마스크 사이의 상관관계 맵인 correlation map을 예측합니다.

 마지막으로, 회귀 네트워크를 적용하여 correlation map을 기반으로 TPS (Thin-Plate Spline) 변환 파라미터를 추정합니다.

 이를 도식화하면,

 conditional parsing 학습 단계 이후에 인풋 이미지로 옷 C와 마스크 Cmask가 주어지면, 합성된 human parsing으로부터 몸 형태 Mb와 합성된 옷 마스크 (C hat)mask를 얻습니다.

 이 하위 작업은 인풋으로 넣을 옷 이미지 C를 warping하기 위해 파라미터 θ를 가진 변환 매핑 함수 T를 학습하는 것을 목표로 합니다.

 합성된 옷은 보이지 않지만 합성된 옷의 마스크를 가지고 있기 때문에, 몸 형태 Mb에 맞게 원래의 옷 마스크 Cmask에서 합성된 옷 마스크 (C hat)mask를 매핑하는 것을 학습합니다.

 위와 같은 학습 과정을 토대로 geometric matching function의 목적 함수는 다음과 같이 수식화 하였습니다.

 

 

 그러므로 warping된 옷 Cw는 C(C) C= Tθ (C)로 수식화 할 수 있는데 이것은 오배치 및 compoistion 마스크 학습 문제를 해결하는데 도움을 주었습니다.

 


  Implementation Details

  환경. 

 ADAM optimizer를 사용하여 conditional parsing 네트워크, Warp-GAN, refinement render, geometric matching network를 각각 200, 15, 5, 35 epochs만큼

 배치 사이즈는 40, learning rate는 0.0002, β1=0.5β1=0.5, β2=0.999β2=0.999로 학습하였습니다.

 리뷰 1편에서 알려드린것처럼  2개의 NVIDIA Titan XP GPU, Ubuntu 14.04에서 Pytorch 플랫폼을 사용하였습니다.

 아키텍처. 

 MG-VTON의 각 generator는 ResNet과 유사한 네트워크로 3개의 다운샘플링 레이어, 3개의 업샘플링 레이어,

 9개의 residual 블록으로 구성되어 있습니다.

 각 블록은 3x3 필터 커널이 있는 3개의 convolutional 레이어를 가지고 있으며, 이어서 batch-norm 레이어와 Relu 활성화 함수를 연산합니다.

 필터 수는 64, 128, 256, 512, 512, 512, 512, 512, 512, 512, 512, 512, 256, 128, 64로 구성되어 있습니다.

 discriminator는 서로 다른 레이어로 다른 규모의 피쳐 맵을 다룰 수 있는 pix2pixHD와 동일한 아키텍처를 적용하였습니다.

 각각의 discriminator는 4x4 커널과 InstanceNorm, LeakyReLU 활성화 함수를 포함하는 4개의 다운샘플링 레이어를 포함하고 있습니다.

 


 

 기존의 loss값을 단순히 학습하던 모델들과 달리 mask를 차용하여 오차를 줄이고 GML을 통한 mask의 변형을 구사한 모델로 정확성과 시인성이 뛰어난 모델입니다.

 하지만 이 모델도 현재 개발중인 딥러닝 모델에서는 정확도가 어느정도 차이나는 것을 볼 수 있으며 학습 모델의 한계점을 가지고 있습니다.

 완벽하게 합성이 되지 않거나 원본 모델의 픽셀이 보존되지 않는 점 등이 존재합니다.

 최근에는 이를 개선한 모델을 발표한 NHN LA-VITON (←링크)모델의 경우 피사체가 상의를 가리는 부분에 대한 복원성,

 일반적으로 좌표를 찍어 mask를 생성하여 매칭시키는 GML을 grid를 왜곡시켜 학습하는 GMM & TOM 등을 활용하여 정확도를 더욱 높였습니다.

 

 언택트 시대에 맞춰 가상착용의 모델 연구는 지속적이고 활발하게 진행중입니다. 

 추후 좀 더 멋지고 정확한 모델이 발표된다면 계속해서 리뷰를 통해 분석해 보겠습니다.

 고맙습니다!

 

 

 

 

 

 

 

첨부파일