- [paper review] MG VTON #1
- 마스터 / 2021.02.02
2019년 2월 28일자로 등재된 Towards Multi-pose Guided Virtual Try-on Network (←링크) 논문을 간략히 살펴보고자 합니다.
위 논문은 Sun Yat-sen Univ., South China Normal Univ. 연구원들의 공저 논문으로 기존에 발표된 Virtual Try-on Network 모델을 개량한 것으로
딥러닝 모델링에서 사용된 human parsing network, Warp-GAN 기술 외에 추가적으로 refinement와 geometric matching을 통하여
parsing된 이미지의 범위를 복원/복구 한 뒤 합성 이미지의 품질을 향상시켰습니다.
제 프로젝트를 구현할 때 위의 기술을 직접 구현해보려고 부단히 애를 쓰고 공부를 했었기에 위의 논문을 첫번째 리뷰로 선정하였습니다.
그럼 살펴보겠습니다!
Multi-pose Guided Virtual Try-on Network(이하 MGVTON)은 이미 많이 보았던 이미지 합성 모델과 비슷하지만
조금 더 세부적인 사항으로 의류 합성 모델 중 사람의 다양한 포즈를 기반으로 학습하는 모델을 생성하였습니다.
MG VTON Network의 기본 과정
진행 과정은 다음과 같습니다.
- Conditional Parsing
- Warp-GAN
- Refinement render
- Geometric matching learning
학습 workstation은 NVIDIA Titan XP GPU (x2), Ubuntu 14.04, Pytorch 를 사용했다고 합니다.
이번 포스팅에서는 먼저 Conditional Parsing과 Warp-GAN의 내용을 살펴보겠습니다.
1. Conditional Parsing Learning
합성 모델을 생성하는 가장 첫번째 단계는 사람의 포즈에서 각 형태를 분해하는 것입니다.
옷 이미지, pose heatmap, 몸의 형태, face mask, hair mask를 조건으로 human parsing network를 생성했다고 합니다.
위의 이미지에서 보듯 기존 방식은 사람에게 옷 이미지를 직접 넣었기 때문에 특정 영역의 보존이 제대로 이루어지지 않았습니다.
이를 보완하기 위해 human parsing maps를 활용하여 해결하였고 generator가 고품질 이미지를 생성하는데 효과적이었다고 합니다.
위에서 (b)를 생성한 식은 다음과 같습니다.
식을 정리해보면,
헤어 마스크 Mh, 얼굴 마스크 Mf, 몸 형태 Mb, 타겟 포즈 P를 추출한 후 옷 이미지를 연결하여 conditional parsing 네트워크의 인풋으로 넣습니다.
S′t의 inference는 사후 확률 p(S′t | (Mh, Mf, Mb, C, P))을 최대화하는 것으로 수식화 할 수 있습니다.
또한, 이 단계는 이미지 조작에 좋은 결과를 생성하는 conditional generative adversarial network (CGAN)을 기반으로 생성하였다고 합니다.
이것으로 posterior probability가 표현 되었습니다.
ResNet과 같은 네트워크를 generator G로 채택하여 conditional parsing model을 작성하였으며
pix2pixHD의 discriminator D를 채택하고 성능 향상을 위해 L1 loss를 적용하였는데 이것이 부드러운 결과를 생성하는데 유리합니다.
마지막으로 pixel-wise softmax loss를 적용하여 generator가 좀 더 높은 품질의 human parsing maps을 합성하도록 하였습니다.
결과적으로 conditional parsing 학습은 다음의 수식대로 이루어졌습니다.
여기서 M은 Mh, Mf, Mb 를 묶은 값이며 Lparsing은 pixel-wise softmax loss를 나타냅니다.
St는 human parsing, pdata는 실제 데이터의 분포를 나타냅니다.
2. Warp-GAN
픽셀의 오배치로 결과물이 흐릿해지기 때문에 deep Warping Generative Adversarial Network(Wrap-GAN)을 도입하여
원하는 옷 모양을 합성된 human parsing maps에 warping을 시켰습니다.
이 논문에서는 다른 논문 deformableGANs와는 달리 affine에서 TPS(Thin-Plate Spline)을 사용하여 bottleneck 레이어에서 feature map을 warping 시켰습니다.
human parsing maps 생성 후 warping network 과정
위 그림의 (c), (d)단계에서 나타난 결과물들은 geometric matching module을 구성한 것을 사용하여 옷 이미지를 warping합니다.
perceptual loss를 적용하여 pre-trained 모델의 high-level feature 간의 거리를 측정하여 generator가 높은 품질의 실제같은 이미지를 합성하도록 작성되었습니다.
위에 기술된 perceptual loss는 위와 같은 수식으로 구성되어있는데 이것은 pre-trained 모델에 적용된 것이므로 feature loss에 이것을 도입하여 다음의 수식을 작성하였습니다.
이 논문에서는 Dwarp 값은 feature map의 i번째 레이어 값으로 각각의 loss 계산 값들은 Gwarp가 좀 더 부드러운 결과물을 학습 할 수 있도록 연산되었습니다.
우선 여기까지가 parsing 및 Warp-GAN의 단계였습니다.
각각의 feature map들의 loss값들을 정밀하게 계산한 후 가중합을 토대로 generator가 부드러운 결과물을 생성할 수 있도록 학습시키는 과정이었습니다.
다음 포스팅에서는 정제된 렌더링과 합성물 단계에 대해 살펴보도록 하겠습니다.
고맙습니다!