論文探討—Everybody Dance Now

羅士倫
Jun 6, 2021

--

Introduction

此篇Paper為UC Berkeley在2018/08所發表

輸入專業舞者(Source)以及一般人(target,我們想要套用的目標),藉由作者所提出的方法,將Source的pose轉換到target身上,來達到motion transfer。

除了pose外,作者同樣也在臉部額外處理,讓輸出結果更加真實。

Methods Overview

流程可以分為三個部分:

Pose Dectection(取得pose)

pose normalization(修正不同畫面高度、不同人物身高差異)

GAN Mapping(利用Pix2PixHD、FaceGAN來生成)

圖片中,上半部分是GAN model的訓練流程,P network幫助我們取得畫面中人物的動作姿勢,藉由Generator G來生成圖片G(X),透過Discriminator D來判斷是生成的圖片還是ground truth,以及VGG LOSS計算真實影像以及生成影像的差距來訓練Generator。

圖片的下半部分則是transfer過程,將target y(就是舞者影像)輸入P network後,要再多出一個正規化,來避免因為人物在畫面高度不同或是身高不同導致transfer品質不佳。

了解大致架構後,就讓我們看看細部流程吧!

Pose Detection

P network是pre-train好的model,實驗過程中作者所採用的是OpenPose,利用此模型來取得畫面中人物的動作姿勢。

https://github.com/CMU-Perceptual-Computing-Lab/openpose

Pose Normalization

好,我們剛剛透過P已經取得了動作姿勢,在這邊我們稱呼他為x'。

但隨著人物在畫面中高度以及身高的不同,對於產生結果的品質一定會有所影響,這裡,作者使用了兩個normalization方法

Translation: 修正畫面中的高度

作者表示他所實作的方法是利用人物腳踝來判斷人物位置

Sourse closest position -> Sclose

Source farthest position -> Sfar

target則是Tfar, Tclose

Scale: 修正身高

身高的部分,則是和剛剛一樣取得華面中的位置後,再分別取得身高

作者的測量方法為由腳踝的鼻子的距離

h表示身高

GAN Mapping

經過前面的pose detection及pose normalization後,我們要正式進入model了

model overview

就像我們一開始說的,在取得姿勢以及正規化後後,利用Pix2PixHD來合成

相較起傳統使用MSE來計算pixel之間的誤差,利用VGG 取得feature之後,計算兩張frame feature之間的誤差,可以看到更global的內容、semantic上也更加相似 (有興趣可參考原始論文: https://arxiv.org/pdf/1603.08155v1.pdf)

由於pix2pixHD原先是針對單一影像所設計,但是對於影片來說,我們必須考慮frame的關聯以及平滑程度,於是作者多加上了temporal smoothing

temporal smoothing

x: generated y:ground truth

由上圖可以看到,在目標函數當中,Discriminator 所判斷的內容不只是單一影像,還包含了前一張影像,讓整體影像品質更連貫。

FaceGAN

對於臉部,作者額外訓練了一個FaceGAN model,讓生成影像在臉部能夠更加真實,與前面model不同地方在於使用了residual的方式生成影像。

Experiments

為了瞭解增加temporal smoothing以及FaceGAN對於整體的幫助

作者使用Ablation condition(拿掉部分的網路),並使用SSIM(Structural Similarity)以及LPIPS(Learned Perceptual Image Patch Similarity)兩個metric來衡量

SSIM越高越好 LPIPS越低越好

上表中,FBF為Frame-by-Frame(即pix2pixHD)、TS為temporal smoothing、FG為FaceGAN

可以看到,最右側(也就是加上TS以及FG)在各項指標中皆表現最好,但是就如同作者所說的,FaceGAN對於整體表現雖然有所幫助,但影響不大(相較起TS的表現)

Limitation

儘管結果表現相當優異,依然還是有可以改善的部分

左邊第一章圖可以看出頭髮和較寬鬆的衣服生成品質不佳

中間的圖則可看到少了一隻手

右側則是在衣服皺摺上不夠真實

以上三點,作者認為取得更多的Data以及改善pose detection model後可以有所改善

同時,作者也表示在比較極端的動作(跳躍、劇烈移動)時生成表現不佳

而在normalization的部分則無法對於關節長度還有相機距離調整

這是我的第一篇medium文章,希望大家可以多指教

未來也會分享論文、技術以及其他內容

Everybody Dance Now
Caroline Chan, Shiry Ginosar, Tinghui Zhou, Alexei A. Efros
ICCV, 2019

arixv: https://arxiv.org/pdf/1808.07371.pdf

--

--

羅士倫
羅士倫

Written by 羅士倫

喜歡狗狗貓貓的科技宅,中央資工所人工智慧與圖形識別實驗室

No responses yet