https://arxiv.org/pdf/1808.07371.pdf
Input : Source Video, Target Video
Output : Target Person with Source Motion Video
Abstract
- 이 논문은 "do as I do" 라고 하는 motion transfer에 관한 내용이다.
- 소스 비디오에서 춤추는 사람이 있으면, 타겟에 transfer 해서 소스의 움직임을 따라하게 한다.
- Video-to-video translation using pose as an intermediate representation.
- 모션을 transfer 하기 위해서 소스의 포즈를 추출하고, 학습된 pose-to-appearance mapping을 적용시켜 타켓 영상을 생성한다.
- 두개의 연속된 프레임을 예측해서 일관된 비디오 결과를 만들고
- Face synthesis를 위해 별도의 파이프라인을 사용했다.
1. Introduction
- Video retargeting
- 자동으로 소스에 있는 모션을 타겟 서브젝트에 transfer 한다.
- 비디오에서 프레임별로 포즈를 디텍션하고
- 다시 포즈를 기반으로 프레임별 이미지를 생성하는것을 학습 시킨다.

- 우리는 2D representation을 이용한다.
3. Method
.png)
- 위 그림처럼 우리는 3 단계의 파이프라인으로 구성된다.
- Pose detection
- state-of-the-art pose detector(P: Open pose) 로 Source Video에서 pose stick을
frame별로 뽑아낸다.
1) estimate 2D (x, y) joint coordinates
2) key points 들을 floating 하고, 연결돤 관절 사이에 선을 그려 colored pose stick 을 만든다.
- Global pose normalization
- Source 와 Target Video 간에 frame 별로 Body shape 차이, 위치 를 파악한다.
- 사람마다 팔다리 등의 길이 비율도 다르고, 카메라로부터의 거리도 다를 것이다.
따라서 Source 로부터 따온 key points 들의 좌표를 Target에 맞춰 변경해야한다.
변경 방법: Source/Target 각각 사람의 키와 무릎 위치를 분석하고,
두 무릎이 가장 가까운 떄와 멀때를 찾아서 linear 하게 mapping 한다.
- Mapping from normalized pose stick figures to the target subject
- 적대적 training 을 사용하여 mapping 한다.
3.1 Pose Encoding and Normalization
- body pose를 인코드 하기 위해서 우리는 pretrained pose detector(2D)를 사용한다.
- 소스와 타겟의 키가 다를수 있기 때문에 normalization을 적용한다.
3.2 Pose to Video Translation
- Conditional GAN 기반으로 싱글 프레임 이미지들을 생성해서 비디오를 만든다.
- 싱글 프레임 image-to-image translation 방법은 비디오 합성에 적합하지 않다.
- artifact가 보이고 디테일이 떨어진다.
- 그래서 우리는 temporal coherence model과 고해상도 얼굴 생성 모듈을 추가했다.
.png)
- Temporal smoothing
- 연관된 프레임 사이에 일관성을 부여하기 위해 사용
- Face GAN
- 얼굴 부분의 디테일과 사실성을 강화하기 위해 사용
4. Experiments
Evaluation metrics
- SSIM
- Structural Similarity
- 두 이미지 간의 픽셀별 차이를 계산하는 MSE와 달리, 휘도와 명암비를 고려한 VDP에서 이미지의 구조적인 차이를 추가하여 설계되었다.
- 인간의 시각에서 주요 내용으로 인지하는 휘도, 명암비, 구조로 식을 구성하고 연립하여 전체 이미지의 품질을 다루도록 만들었다.
- LPIPS
- Learned Perceptual Image Patch Similarity
- 이미지 패치들 간의 거리를 계산한다.
- 값이 작을수록 더 비슷하다는 뜻.
- VGG같은 뉴럴넷을 학습시켜서 값을 구한다.
7. Limitations and Discussion
- 몇몇 예제들에서 artifacts가 보인다.
- 한쪽 팔이 없는 경우도..
- 물구나무 서기 같은 extreme한 동작을 할 경우 포즈 디텍션이 잘 안될 수도 있다.
8.2 Implementation Details
- Generator와 Discriminator 구조는 pix2pixHD에서 가져왔다.
- 학습시 첫번째 스테이지(글로벌)에서는 512 256 으로 학습시키고 두번째 스테이지(로컬)에서 1024 512로 업샘플했다.
- 글로벌 스테이지는 5 에포크로 트레이닝하고, 로컬 스테이지에서 30 에포크, face GAN은 5 에포크 돌렸다.