以下鏈接是個人關於Liquid Warping GAN(Impersonator)-姿態遷移,所有見解,如有錯誤歡迎大家指出,我會第一時間糾正。有興趣的朋友可以加微信:a944284742相互討論技術。若是幫助到了你什麼,一定要記得點贊!因爲這是對我最大的鼓勵。
風格遷移1-00:Liquid Warping GAN(Impersonator)-目錄-史上最新無死角講解
Abstract
我們僅僅使用了一個框架,就處理human motion imitation(人類動作模仿), appearance transfer(外觀轉換),以及 novel view synthesis(新視覺生成),並且訓練其中任意一個模型,就完成這3個任務。一些方法利用2D的keypoints(關鍵點)或者pose(姿態)去估算人類身體的結構,然而他們只能表現了位置信息,沒有能力去體現一個人的形狀(高矮胖瘦)以及四肢的旋轉。在這篇論文中,我們提到了一個3D身體恢復的模型,去處理姿態和形狀的問題,他不僅能表達出位置和旋轉信息,並且還能描述出個人的形狀以及個性化。
爲了保護原圖的信息,比如紋理,風格,顏色,和人臉身份等細節,我們提出了一個Warping GAN(扭曲GAN) 以及Liquid Warping Block (LWB),他能在特徵空間和原圖之間傳遞信息,並且能夠使多張參考圖像合成一張圖像。爲了更好的描述原圖的身份ID,使用的一個auto-encoder(自動編碼)的降噪卷積提取原圖的特徵。
我們提出的模型,能夠很靈活的支持多個sources img的warping(扭曲)。另外,我們還構建的一個新的數據集Impersonator (iPER),後續的實驗對比,如動作模仿,外觀轉換,新視角生成,已經存的先進模型,以及我們的模型,都是在這個數據的基礎上進行實驗的。
1. Introduction
人類圖像合成,包含了動作模仿,外觀轉換,新視角合成。他們有巨大的潛在運用價值,如動漫角色,虛擬換衣服等等。都是給定一張source human image以及一張 reference human image。動作模仿的目標是把source human image的動作,變換成reference human image的動作,外觀轉換是交換兩張圖像中人物的外觀(如衣服,褲子,鞋子等,但是不包含臉部),新視角合成,就是對視角進行轉換,比原圖是一張正面圖,去合成他的背面圖,展示如下:
在圖像合成領域,之前處理上面介紹的三個任務,都是分開來的,換而言之就是一個模型很難同時適用於3種任務。最近,GAN網絡額出現,在三個任務上,都能達到一個很好的效果,比如我們這裏把動作模仿作爲一個例子,做了一些總結,如下圖所示:
圖示翻譯:現在有三種把原圖信息傳播到目標圖像的方法:a 是最早的串聯方式,即把原圖,原條件,和目標條件一起併入顏色通道。b 和 c 是進行紋理或者特徵提取,然後把提取到信息傳入到目標條件之中。
在早期的工作中,如上圖的a所示,source image(帶有姿態條件信息)和target 姿態條件被串接起來,然後被送入網絡對抗神經網絡進行訓練,得到一張預期姿態的圖像。然而,之間拼接,不考慮空間佈局,對於生成器來說,很難再正確的位置上生成想要的像素,因此他得到的圖像總是模糊不清的,經常丟失原圖的身份信息。後來受到到the spatial transformer networks(STN)的啓發,一個紋理扭曲的方法被提出,如上圖的 b 所示,這種方法,他首先擬合一個從source pose 到 reference poses 的反射矩陣,然後使用 STN 利用source image,以及反射矩陣的信息,把source img 扭曲成reference pose 的圖像,然後基於扭曲之後得到的圖像,去生成目標圖像。對於Texture warping(紋理扭曲),其不能很好地保留原圖的細節信息,比如衣服顏色,身份ID,個性風格等,因爲生成網絡在經過幾次下采樣操作之後,選擇性的丟失了這些信息。在此期間,同時出現了一些方法,提出了深度特徵的扭曲,而不是直接在原圖上進行圖像扭曲,如上圖的 c 所示,叫做feature warping,但是這種方法,特徵的提取是通過編碼的方式,這種扭曲很難描述出圖像的細緻特點,所以生成圖像一般都是低逼真度,或者模糊的圖像。
之前的方法,生成的圖像看起來不逼真,主要有以下三個原因。1.網絡捕獲不同衣服的紋理,風格,顏色以及人臉身份是十分弱的。2.關節和可變形人體導致空間幾何的變化十分巨大。3.所有的方法,都不能處理多個source 的輸入,比如外觀轉換,衣服褲子分別來自不同的圖像。
在這篇論文中,爲了保護源信息,如衣服,風格,身份ID等,我們提出了Liquid Warping Block (LWB),其從三個方面解決了這些問題:1.使用降噪的自動編碼網絡,去提取有用的特徵代表souce img的信息,2.爲了保護特徵細節,每個局部的源特徵,通過我們提出的LWB進入到全局特徵。3.我們提出的方法是支持多個source warping的,比如來自一張source img的頭,另外一張source img的身體,一起去聚合成一個全局的特徵stream。
另外,現在存在的方法主要依賴 2D pose,dense pose 以及body parsing,這些方法值關心到了位置佈局,忽略了人物個性形(胖矮高瘦)狀以及四肢(關節)的旋轉。但是在圖片合成時,後者的重要性或許比前者更爲重要,比如,在一種極端的情況,使用基於2D(或者dense pose ,body parsing)的方法,讓一個比較高的人,去模仿一個比較矮的人,將不可避免的去改變這個比較高的人的大小,問題展示如下圖Figure 6所示:
Figure 6
原圖註釋:上圖時候其他的方法,以及我們的方法,在iPER上面的對比,2D pose方法pG2 , DSC ,SHUP 不能保護原圖衣服,面部ID等信息,我們的方法很用藍色或者紅色框去突出細節。
爲了克服這個缺點,我們使用了一個 parametric statistical human body model(SMPL-自行百度瞭解),能使人體的姿態和形狀脫離開來,該網絡的輸出是一個3D mesh (帶顏色),而不是一個關節和姿態的佈局。同時,兩個3D triangulated meshes 之間的轉換流,是很容易被計算出來的,並且相對於使用關鍵反射矩陣的方法,其更加準確。
基於 SMPL model 和 Liquid Warping Block (LWB),我們的方法進一步擴展了其他的任務,包含了人物動作模仿,外觀轉換,新視角合成。我們方法的提出,主要做了以下貢獻:
1.提出了LWB去減少原圖信息損失,比如紋理,顏色以及面部ID等。
2.通過基於LWB的對抗神經網絡,以及3D parametric model,我們的方法集成了一個統一的框架,可以同時完成動作模仿,外貌轉換以及新視角生成。
3.我們創建了一個動作模仿的數據集。
2. Related Work
Human Motion Imitation. 最近很多的方法都是基於條件生成網絡(CGAN),或者變異的自動編碼網絡。他們的關鍵技術在於使用帶有原姿態(2D key-points)的圖像,當做GANs的輸入,去生成目標圖像,這些方法的不同點,主要在於loss定義的不同,一個U-Net 生成器是使用由粗到細的策略去生成256x256的圖像,Si等人提出一個多級對抗loss,並且分別生成前景和背景,或者不同的身體部位。Neverova 等人使用dense correspondences dense(密集對其DensePose)的方法代替了2D 關鍵點的方法。Chan等人使用pix2pixHD 結構去生成一個比較逼真的目標圖像,再後來Wang 等人,擴展到了視頻生成,Liu 等人提出了人體動作的行爲視頻渲染。然而,他們的工作僅僅是訓練了來自每個人2D姿態的映射(現實世界),對於每個人都需要去訓練他們自己的模型,這樣很大程度上,限制了他們的利用
Human Appearance Transfer 人體外觀建模或者轉換是一個比較熱門的話題,尤其是在虛擬試穿領域,計算機圖像建模的方法或者深度學習的利用。基於圖像建模的方法,首先是使用衣服,以及衣服掃描儀或者多個攝像頭組合評估3D human mesh的 細節,然後基於細緻的3D mesh 進行衣服外觀的交換,儘管這些方法能獲得一個比較好的效果,但是他們的消耗比較巨大,容易受到環境的干擾。最近在很多實用深度神經網絡的方法,如SwapNet 首先學習一個基於服裝位置引導的合成網絡,然後將服裝解析結果與紋理特徵從源圖像反饋到編解碼器網絡中,生成所需要的服裝圖像。還有的使用3D形狀模型去結合深度學習,訓練出一個能推斷出圖像看不見圖像位置,的頂點的模型。
Human Novel View Synthesis. 同一目標的新視角合成,現在存在的方式,核心的步驟是去擬合從原圖視角到目標視角的對應關係圖,有的方法是利用CNN去預測一個外觀,然後基於預測的外觀從source image複製像素到新的目標圖像,其在類似於汽車這種剛性的物體上,取得了比較好的效果。接下來的一些相關工作提出了基於外觀流,使用GAN去推測看不見的紋理信。 Zhu 等人基於外觀流的方法,對於用在可變形的物體上,效果是比較差的,比如人的身體。,爲了新視角圖的合成,他們提出了一個appearance-shape-flow的策略。除此之外Zhao等人設計了一個GAN基於coarse-to-fine 的方法提出一種高分辨率視角合成的方法。
3. Method
我的Liquid Warping GAN包含了3個步驟,body mesh recovery,flow composition以及帶有Liquid Warping Block (LWB)的GAN module。對於不同的任務,他們的訓練方法是相同的,其中的任意一個任務訓練好了,都能夠適用於其他的任務。這裏,我們使用動作模仿作爲一個例子來講解,如下圖Fig. 3所示:
Fig. 3
圖示翻譯:對於我們訓練的方法,我們隨機選取來自同一個視頻的兩幀圖片,注意,他們其中的一張爲source image ,另外一種爲reference image 。(a)一個身體網絡恢復模型會估算每一幀圖像的 3D mesh,並且對他們進行渲染,得到.(b)composition module(這個合成模型)首先基於兩個對應的計算他們之間的轉換矩陣T,然後將從原圖分離出來的前景圖以及背景圖,基於轉換矩陣 扭曲 source image 生成一個唄扭曲的圖像。(c)在最右邊的GAN模型,其包含了3個 streams,他們分別是,通過生成背景圖,並且結合通過生成的結果,合成。爲了保留圖片的細節信息,我們提出了一個新異的Liquid Warping Block (展示在 Fig. 4),他會在幾個成廣播的信息進入到。
輸入的圖像source image使用,reference image使用表示。首先mesh recovery module會去估算 以及 的3D mesh,並且把他們渲染成與,下一步,composition module會基於前面獲得的 以及計算轉換矩陣 ,sourece img 被分解成前景 以及通過mask獲得的背景 ,並且基於轉換矩陣 扭曲成 , 最後的GAN模型,其包含了3個 streams(上圖註釋翻譯比較詳細,就不重複了)
3.1. Body Mesh Recovery Module
如Fig. 3的(a)所示,送入source img 以及 reference img , 然後預兩張圖片的kinematic pose(rotation of limbs-四肢的旋轉)與shape parameters(高矮胖瘦)。爲了平衡準確率和運行效率,在這片論文中,我們使用的 HMR 其進行估算。在 HMR 中,首先把通過ResNet-50把輸入圖像編碼成,然後通過3D迴歸網絡去預測SMPL模型的攝像頭參數,pose (72個人體關鍵點)以及shape (身高胖瘦等等)。 SMPL是一個能通過映射的3D人體模型,這個模型能被帶有姿態以及的,(網孔)個至高點和(網孔)個表面點描述出來。通過這個過程,我們就能獲source image以及reference image的SMPL模型參數
3.2. Flow Composition Module
在上述的基礎上,我們首先在的視角視角下,對source mesh 以及reference mesh 進行渲染,得到與,在這篇論文中,我們使用的是一個可以微調的渲染-Neural Mesh Renderer (NMR),因此我們投射source 的向量到 2D 圖像空間,。然後我們計算每個mesh face(網孔的)的重心座標獲得。接下來通過source map對應的mesh face 座標 以及reference map對應的mesh face座標,去計算轉換矩陣.因此,一個前景圖像和通過mask 掩碼獲得的背景圖像都是基於source img 對應的獲得。最後利用轉換矩陣把 扭曲成 ,在Fig. 3中可見。
3.3. Liquid Warping GAN
這個步驟主要是爲了,在給定的條件下,合成高度逼真的人體圖像,1.合成背景圖像,2.預測隱藏部分的像素顏色,3.生成頭髮,衣服的像素以及其他的超出SMPL模型的部分。
Generator. 我們的生成網絡有3個分支,其中一個分支叫做,他的主要職責是輸入經過mask 掩碼處理的然後生成,在Fig. 3 ©中能看到其大致過程。另外的兩個分支分別爲與, 前者是一個自動編碼器,主要是爲了提取特徵並且保留住圖像細節信息。他的輸入是通過source img獲得的以及對應的,然後得到以及,與生成的結合,重構得到。的任務是去合成最終的結果,他的輸入是經過扭曲得到的以及經過渲染的(6個通道),爲了保護源圖的細節信息,我們提出了Liquid Warping Block (LWB)去鏈接與,這樣,在兩個分支之間。就能進行細節信息的傳遞了。
我們提出的Liquid Warping Block(LWB)他能同時接受多個source的輸入,比如在進行外觀轉換的時候,保留source1頭部外觀,source2上衣外貌,source2下身外貌。這些不同的身體特徵通過自己的對應的轉換矩陣變換,然後聚合一起送入。下面我們來看兩個source 的例子,如下圖所示:
圖示翻譯:這是 Liquid Warping Block的插圖,a是LWB的結構,與是利用在不同卷積層提出的各個特徵。如是在成提取的特徵。最後輸出一起聚合的特徵,採用雙線性採樣器(BS)對T1和T2的流場進行了彎曲源特徵分析.b .是LWB的結構。最後他們輸出的結果可以表示如下:
注意的是,上面的例子使用的是兩個 sources 的例子,我們還能接受更多sources。
,與他們的結構是比較顯示的,都是ResUnet結構,即包含了 ResNet 與 UNet 的組件,但是他們之間的參數不是共享的。對於 我們直接回歸背景圖像,對於與我們會生成一個attention map A和一個color map P,如Fig. 3 ©所示,最後的結果可以用以下公式表示
**Discriminator.**生成器對應的鑑別器我們使用的是Pix2Pix的架構。
好了,就到這裏了,下篇博客我會把剩下的翻譯完成。