本週介紹一篇來自加利福尼亞大學伯克利分校今年8月推出的論文。該論文提出了一種在不同的人物影片中遷移動作的方法:給定兩個影片——一個是想要合成的目標人物的影片,另一個是動作源影片,透過一個端到端的管道,可以實現這兩個影片中人物的動作遷移(見圖1)。之前類似的工作需要3維圖形資訊,而本次的工作使用生成式對抗網路。透過從源影片中獲取的姿態特徵推斷目標人物畫面。
圖1:從源影片中遷移動作到兩個目標上
方法總覽
動作遷移管道分為三個部分:
1. 姿態檢測。在姿態檢測階段,透過預訓練的姿態檢測模型(openpose)從源影片中描繪給定幀的姿態圖形。
2. 全域性姿態標準化。全域性姿態標準化階段,計算給定幀內源和目標人物身體形狀和位置之間的差異,將源姿態圖形轉換到符合目標人物身體形狀和位置的姿態圖形。
3. 從標準化後的姿態圖形推斷目標人物的影像。這一階段使用一個生成式對抗模型,訓練模型學習從標準化後的姿態圖形推斷到目標人物影像。
圖2:訓練流程(上)遷移流程(下)
圖2上半部分描述生成式對抗模型訓練流程。
從目標影片中給定一個幀y,使用預訓練的姿態檢測模型P圖獲得對應的姿態圖形x = P(y)。在訓練階段使用對應的(x, y)影像對去學習從姿態圖形x到目標人物合成影像(即:G(x))的對映G。透過在鑑別器D使用對抗訓練和在預訓練VGGNet使用感知重建損失,我們可以最佳化生成器G,使其輸出接近真實影像y。判別器試圖區分“真實”的影像對(例如(x, y))和“偽造”的影像對(例如(x, G(x))。
圖2下半部分描述遷移流程。
和訓練過程相似,姿態檢測模型P從源影片給定幀y'中抽取姿態圖形x'。由於x'和目標影片中人物的身體尺寸和位置不同,我們透過全域性姿態標準化轉換,使其和目標人物更一致,記x。將x推入已訓練的模型G中生成目標人物影像G(x),生成的影像與源影片中的y幀相對應。
下面我們詳細的介紹方法細節。
姿態檢測和標準化
姿態檢測
本文的姿態檢測使用預訓練的模型P(如:開源專案openpose等),得到精確的肢體關節座標x,y的估計。透過連線各個關節點可以得到姿態圖形,如圖3所示。在訓練過程中,姿態圖形作為生成器G的輸入。在遷移過程中P從源動作物件中獲取估計x'並透過標準化匹配到目標人物。姿態估計相關文獻見文章末尾。
圖3:姿態圖形和對應目標幀
全域性動作標準化
首先找到源影片和目標人物影片中最小和最大的腳踝關鍵點位置(距離鏡頭最近為最大,反之為最小)。方法很簡單,靠近影像最底部的為最大腳踝關鍵點,另一個為最小。
偏移量b透過如下公式計算:
其中和分別為目標影片中最小和最大的腳踝關鍵點位置,和分為原影片的。為源影片的腳踝平均位置。為源影片當前幀相對於第一幀的姿態位置偏移量(文中未說明,我的觀點)。
比例scale透過如下公式計算:
其中和分別為目標影片中最小和最大腳踝關鍵點的高度,和
分為原影片的。
用於影像間轉換的對抗訓練
Pix2pix框架
透過修改基於pix2pixHD的對抗訓練,可以生成時間連貫的影片幀以及合成真實的面部影像。
在原始的條件化GAN中,生成器G用來對抗多尺寸的鑑別器D=(D1,D2,D3)。原始pix2pixHD的目標任務形式如下:
其中是原始pix2pixHD中的對抗損失,形式如下:
是pix2pixHD中提出的鑑別器特徵匹配損失。是感知重建損失,透過比較預訓練VGGNet不同特徵層中的差異獲得。
時序平滑
為了生成影片序列,本文修改了原始pix2pixHD中單個影像生成的模式,使其產生時間連續的相鄰幀(圖4)。模型預測兩個連續的幀,第一個輸出G(xt-1)由相應的動作圖形xt-1和一個空影像z(值為0,由於沒有t-2的幀輸入所以用空值作為一個佔位符)作為預測條件;第二個輸出G(xt)以xt和G(xt-1)為條件。相應的,鑑別器的任務變為鑑別真實序列(xt-1, xt, yt-1, yt)和偽造序列(xt-1, xt, G(xt-1), G(xt))的真實性以及時間連續性。透過在原始pix2pixHD最佳化目標上新增時序平滑損失得到新的最佳化目標,形式如下所示:
圖4:時序平滑訓練示意圖
面部生成式對抗網路
本文新增一個特殊的GAN結構來訓練生成更細節更真實的面部區域(圖5)。
在使用生成器G得到整幅影像後,我們擷取以面部為中心的小區域影像,將其和動作圖形的相應區域XF輸入到另一個生成器中,得到一個面部的殘差。最終的輸出是將殘差加上對應區域的原始值,即。和原始pix2pix最佳化目標類似,鑑別器嘗試區分“真實”面部影像對和偽造圖相對。
實驗結果
由於對於生成影像,沒有相應的真實影像來評價。為了評價單個影像的質量,本文測量影像的Structural Similarity(SSIM)和Learned Perceptual Image Patch Similarity(LPIPS)。依靠質量分析來評價輸出影片的時間連續性。SSIM和LPIPS的相關資料見文章末尾。
表1:身體影像輸出比較
表1記錄了將生成的目標人物影像,按標準化動作圖形邊框裁剪後計算的結果。T.S表示生成器結果經過時序平滑的方案。T.S.+Face是本文的完整模型,包含時序平滑和麵部生成。
表2:面部影像輸出比較
表2記錄了將生成的目標人物影像,按面部邊框裁剪後計算的結果。
表3:姿態距離
表3計算了姿態距離d。如果身體部分影像被正確的合成,那麼合成影像的姿態圖形應該和作為條件輸入的姿態圖形非常接近。為了評價姿態的一致性,本文設計了姿態距離矩陣來計算姿態差異。對於兩個姿態p和p',每一個有n個連線點:p1,......,pn和p'1,......p'n。我們計算對應連線點的L2距離均值來衡量姿態距離。
姿態距離越低,表示影像質量越好。
表4:平均每幅圖未檢測到的連線點數量
表4表示平均每幅圖,在源動作影像中根據姿態檢測得到連線點,而在生成圖中姿態檢測未檢測到的點的數量。
最後展示幾組源影像和對應動作圖形、生成影像的結果圖。
圖5:結果展示
相關文獻
影像相似性衡量
SSIM:
Zhou Wang, Alan C Bovik, Hamid R Sheikh,and Eero P Simoncelli.2004. Image quality assessment:from error visibility to structural similarity. IEEE transactions on image processing 13, 4(2004),600–612.
LPIPS:
Richard Zhang, Phillip Isola, Alexei A Efros, Eli Shechtman, and Oliver Wang. 2018. The Unreasonable Effectiveness of Deep Features as a Perceptual Metric.In CVPR.
pix2pixHD:
https://arxiv.org/pdf/1711.11585v2.pdf
姿態估計:
卷積姿態機器
https://arxiv.org/pdf/1602.00134.pdf
實時多人2d動作估計
https://arxiv.org/pdf/1611.08050.pdf
手部關鍵點探測
https://arxiv.org/pdf/1704.07809.pdf
本文原文(Everybody dance now):
https://arxiv.org/pdf/1808.07371.pdf