人類可以輕松地描述一幅圖像,在機器學習中,這種任務就被看成是判別分類/回歸問題,即從輸入的圖像中預測特征標簽。機器學習技術最近的進步中,尤其是深度學習模型都開始解決這類任務,有些能達到甚至超過人類水平.
但是,根據文字敘述生成逼真的圖片難度較大,需要進行很多年的圖形設計訓練。在機器學習領域,這是一種生成任務,比判別式任務更有挑戰性,因為生成模型需要根據更小的輸入產出更豐富的信息。
雖然生成模型在創建時有很多困難,但是在以下幾種情況下非常有用:
內容創造:比如一家廣告公司可以自動生成吸引人的產品圖像、一位時尚設計師可以讓算法生成他所希望的鞋子樣式,再從中挑選符合要求的作品,或者一項游戲可以讓玩家根據簡單的描述創造逼真的人物形象。
根據內容智能編輯:有了這種模型,攝像師只需要點擊鼠標就可以改變圖像的面部表情、皺紋和發型;電影制作者可以將陰天背景改為晴天。
數據增強:自動駕駛公司可以生成合成特殊場景的逼真圖像,增強訓練數據集;信用卡公司可以合成特殊的欺詐數據,增強欺詐探測系統中的數據集。
在這篇文章中,我將介紹我們最近的研究成果,稱為透明隱空間GAN(TL-GAN),它擴展了目前先進的模型,提出了一種新的交互方式。關于GAN的基礎介紹,論智君就不在此詳細展開了,我們曾經寫過很多相關文章,感興趣的讀者可以閱讀:從零學習:生成敵對網絡(GAN)入門指南。
控制GAN模型的輸出
GAN的最初形式和其他的幾種主流形式(例如DC-GAN和pg-GAN)都是無監督的學習模型。經過訓練后,生成網絡會將隨機噪聲看作輸入,生成類似照片一樣的逼真圖像,基本上辨別不出到底是訓練集中的樣本,還是真實圖像。然而,我們無法進一步控制產生的圖像的特點,在很多應用中,用戶想根據自己的偏好定制樣本(例如年齡、頭發顏色、面部表情等等),最好還能對這些特征不斷調整。
為了實現這種控制生成的效果,很多GAN的變體都做出了嘗試,它們大致可以分為兩類:風格遷移網絡和條件生成器。
風格遷移網絡
以CycleGAN和pix2pix為代表的風格遷移網絡是將圖像從一個領域轉移到另一個領域的模型(例如將馬變成斑馬,將素描畫編程帶有顏色的圖像)。結果是,我們無法在兩個獨立的狀態之間對一種特征進行調整(例如在面部添加一點點胡子)。同時,一個網絡只能應用于一種類型的遷移,所以如果要調整10個特征,就要建立10個不同的網絡。
條件生成器
以條件GAN、AC-GAN和Stack-GAN為代表的條件生成器是可以在訓練期間,互相聯合學習帶有特征標簽的圖像的模型,從而生成帶有定制特點的圖像。所以當你想要在生成過程中添加新的可調整特征時,你就需要重新訓練整個GAN模型,這就需要花費大量計算資源和時間。除此之外,整個過程只需要一個數據集,其中要包含所有自定義特征標簽。
我們的TL-GAN模型,從新的角度控制生成任務,解決了現有的問題。它可以讓用戶用單一網絡逐步調整一個或多個特征。另外,用戶也可以在一個小時內添加新的可調整的特征。
TL-GAN:控制合成和編輯的高效方法
將隱藏空間透明化
英偉達的pg-GAN是可以生成高分辨率人臉圖像的的模型,生成的1024×1024圖像都是由隱藏空間中的一個512維度的噪聲向量決定所有的特征。所以,如果我們能理解隱藏空間表示什么,即讓它透明化,我們就能完全掌握生成過程。
在使用pg-GAN進行預訓練之后,我發現隱藏空間有兩個優點:
空間中的大部分點都能生成可靠的圖像;
它非常連貫,說明隱藏空間中兩點之間的插值會在引起對應圖像之間平穩的過渡。
知道了這兩個特點,我認為在隱藏空間中是可以找到可預測特征方向的。如果能實現的話,我們可以利用這些方向的單位向量作為特征軸,控制生成過程。
方法:特征軸的提出
為了找到隱藏空間中的特征軸,我們會在隱藏向量z和特征標簽y之間建立連接,其中會用到在成對的數據(z,y)上訓練的監督式學習方法。目前的問題就成了如何得到成對的數據。現存的數據集只含有圖像x和它們對應的特征標簽y。
連接隱藏向量z和特征標簽y的方法
可用方法
其中一種方法是從現有的帶有標簽的數據集中計算圖像xreal相對應的隱藏向量。但是GAN網絡在計算zencode=G^(-1)(x_real)的時候比較困難,所以這一方法難以實現。
另外一種方法是從隨機隱藏向量z中生成合成圖像x_gen,這里的問題是,合成的圖像是沒有標簽的,我們也不能輕易地使用可用標簽數據集。
為了解決這一問題,關鍵就是訓練一個獨立的特征提取器——模型y=F(x),利用現有的帶有標簽的圖像數據集(xreal,yreal),之后將特征提取網絡F與GAN的生成器G結合。完成后,我們可以預測合成圖像xgen的特征標簽ypred,從而在z和y之間建立起連接。
現在我們有了成對的隱藏向量和特征,我們可以訓練一個回歸模型y=A(z),來得出控制圖像生成過程的所有特征軸。
TL-GAN模型架構
如圖,TL-GAN模型中包含五步:
學習分布:選擇一個訓練好的GAN模型和生成器網絡,我選的是經過訓練的pg-GAN,它能生成質量最高的人臉圖像。
分類:選擇一個預訓練特征提取模型(可以使一個卷積神經網絡或其他計算機視覺模型),或者用經過標記的數據集訓練自己的特征提取網絡。
生成:生成多個隨機隱藏向量,將它們輸入到訓練過的GAN生成器中,生成合成圖像,然后用一個訓練過的特征提取器,為每張圖像生成特征。
聯系:用一個通用的線性模型(GLM)在隱藏向量和特征之間執行回歸。回歸斜率就是特征軸。
探索:從一個隱藏向量開始,移動到其他特征軸上,檢查這是如何影響圖像的生成的。
這一過程效率很高,一旦我們有了預訓練GAN模型,確定特征軸只需要在一個GPU上花費一個小時的時間。
結果
讓我們看看這一模型的效果如何。首先我測試了特征軸能否被用于控制相對應的生成圖像特征之上。結果如下,這一過程非常不錯!圖像的性別、年齡都能得到“完美”改變:
但上面的案例顯示出了一個缺點,當我想要減少胡子的數量時,不可避免地會讓人臉更加“女性化”。這一問題是由于性別特征和胡須特征是相關聯的,改變其中一個就會導致另一個發生改變。
為了解決這一問題,我用到了線性代數方法,將代表胡須的軸投射到與性別軸正交的其他方向,有效地消除了二者的相關性。
最后用動圖了解下TL-GAN在控制圖像生成過程時的速度:
-
圖像
+關注
關注
2文章
1086瀏覽量
40496 -
GaN
+關注
關注
19文章
1944瀏覽量
73653 -
機器學習
+關注
關注
66文章
8423瀏覽量
132752
原文標題:TL-GAN:可以定制人臉圖像的高質量模型
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論