
看看下面這張圖,你是不是覺得,第一行是某個靈魂畫手照著第二行帥哥美女畫的肖像?

真相可能讓你大跌眼鏡,第二行的帥哥美女都是AI根據(jù)第一行的靈魂畫作想象出來的。神奇的是AI能準(zhǔn)確地識別出潦草的筆觸畫出的發(fā)型、眉毛、眼神、臉部輪廓,甚至是嘴巴的張合和笑容,還有胡子的分布,沒有畫出的耳朵就用頭發(fā)遮住,可以說完美地抓住了草圖中的所有關(guān)鍵信息。如果這個AI聽得懂語言的話,或許會讓罪犯畫像師擔(dān)心自己的飯碗。
我們來看看作者提供的交互界面的作畫過程:

在背景草圖的引導(dǎo)下,即使僅僅畫出了臉部輪廓,AI也立刻可以生成一張完整的人臉,并在畫手作畫的過程中,實(shí)時地修改眉毛、眼皮、嘴型、牙齒、鼻型和發(fā)型,甚至露不露齒都可以還原出來,小雙眼皮或者大雙眼皮也任君選擇。并且在作畫結(jié)束后,你還可以對眼、口、鼻和其它部位進(jìn)行微調(diào),使之更加接近草圖。作者還在演示視頻里做了以下演示,也就是說,AI可以根據(jù)草圖從數(shù)據(jù)集中取素材拼出新的人臉五官組合。論文講解視頻
這個項(xiàng)目來源于中科院和香港城市大學(xué)的一項(xiàng)研究DeepFaceDrawing,論文標(biāo)題是《DeepFaceDrawing: Deep Generation of Face Images from Sketches》,已經(jīng)被SIGGRAPH2020接收。
論文地址:http://geometrylearning.com/paper/DeepFaceDrawing.pdf項(xiàng)目地址:http://geometrylearning.com/DeepFaceDrawing/ 可喜的是,作者已經(jīng)放出了源代碼,目前的實(shí)現(xiàn)采用的是清華開源的Jittor框架,作者表示,后續(xù)會放出PyTorch實(shí)現(xiàn)。并且在項(xiàng)目頁面,作者還提供了試用地址,感興趣的同學(xué)還在等什么呢?GitHub地址:https://github.com/IGLICT/DeepFaceDrawing-Jittor試用地址:http://www.geometrylearning.com:3000/index_621.html我們也急不可耐地想試用,可惜登陸時收到這樣的通知:不過經(jīng)過長時間的等待最后還是成功登陸上了,看看我們的成果:在試用過程中,我們發(fā)現(xiàn),背景草圖會隨著畫手添加的筆畫而改變,變成更加適應(yīng)當(dāng)前草圖的參考草圖。要使草圖更加接近人臉,只要在區(qū)域置信度的“其他”項(xiàng)多進(jìn)行調(diào)節(jié)就好。此外,如果在區(qū)域置信度上不進(jìn)行調(diào)整,則生成的人臉和草圖相差還是挺大的,不過更接近真實(shí)的人臉,在整體上神似形不似。如果將區(qū)域置信度全部調(diào)到最大,則生成的人臉和草圖的整體輪廓、五官輪廓都很接近,可謂形神兼?zhèn)?,雖然輪廓還比較清晰,只是表情很怪異。另外背景草圖的存在也是挺有用的,否則將區(qū)域置信度調(diào)到最大后,就容易生成嚴(yán)重畸變的人臉。以下兩張圖是在有背景草圖引導(dǎo)下,分別將區(qū)域置信度調(diào)到最小和最大后生成的結(jié)果。以下兩張圖是在沒有背景草圖引導(dǎo)下,分別將區(qū)域置信度調(diào)到最小和最大后生成的結(jié)果。僅僅通過簡單的視頻演示,我們就可以感受到,DeepFaceDrawing的優(yōu)點(diǎn)在于可以根據(jù)嚴(yán)重畸變或不完整的草圖畫出逼真程度高的人臉。以下是DeepFaceDrawing論文中的對比實(shí)驗(yàn)結(jié)果,可以看出,DeepFaceDrawing不僅五官和整體輪廓更加清晰,也更加“正?!薄?/span>研究者也在論文的感知評估研究中,比較了通過全局檢索、局部檢索和帶插值的局部檢索(DeepFaceDrawing使用的方法)對草圖進(jìn)行細(xì)化的結(jié)果,可以看出,DeepFaceDrawing生成的人臉更接近草圖的輪廓,無論是整體還是局部,全局檢索的效果更像是圖像搜索,局部檢索的效果則出現(xiàn)了較嚴(yán)重的五官畸變。 最新的圖像到圖像深度轉(zhuǎn)換技術(shù)可將手繪草圖快速生成人臉圖像,但過去的解決方案往往存在以下問題:1)對草圖過擬合,因而要求輸入專業(yè)的素描甚至邊緣圖;
2)通常采用幾乎固定的輸入草圖,推導(dǎo)筆畫之間缺少的紋理或陰影信息,在某種程度上,這種問題更像是將輸入草圖作為硬約束的重建問題;
3)通常從成對的真實(shí)圖像及其對應(yīng)的邊緣圖中訓(xùn)練網(wǎng)絡(luò),由于深度學(xué)習(xí)基于數(shù)據(jù)驅(qū)動的本質(zhì),需要在與真實(shí)圖像的邊緣圖質(zhì)性相似的測試草圖,來合成真實(shí)的人臉圖像。但這種草圖很難制作,尤其是對于那些幾乎沒有繪畫訓(xùn)練的用戶。
這篇論文則針對以上問題提出了自己的解決方案。到這里為止,我們對DeepFaceDrawing有以下幾個疑問:1)為什么生成人臉對草圖畸變不敏感?為什么能從不完整的草圖生成完整的人臉?
2)為什么生成人臉的五官能精準(zhǔn)對應(yīng)數(shù)據(jù)集中人臉的五官?
3)為什么不完整草圖生成的人臉性別固定為男性或女性?
4)為什么可以根據(jù)草圖從數(shù)據(jù)集中取素材拼出新的人臉五官組合?
5)為什么區(qū)域置信度的調(diào)整可以使生成人臉從神似變成形神兼?zhèn)洌?nbsp;
我們把“why”換成“how”,看看DeepFaceDrawing做了什么。1)如何使生成人臉對草圖畸變不敏感,如何從不完整的草圖生成完整的人臉?為了解決第一個問題,作者采取了從局部到全局的隱式建模方法。對合理的人臉圖像的形狀空間進(jìn)行隱式建模,并在該空間中合成人臉圖像以接近輸入的草圖。從真實(shí)人臉?biāo)孛鑸D像中隱式學(xué)習(xí)一個可行的人臉?biāo)孛璧目臻g,并在該空間中找到最接近的點(diǎn)來接近輸入草圖。這樣,草圖可以作為軟約束用于指導(dǎo)圖像合成。因此,即使對于粗糙和/或不完整的輸入草圖,系統(tǒng)也可以提高合成圖像的可信度,同時不損害草圖所顯示的特征。由于針對期望的高維特征空間的訓(xùn)練數(shù)據(jù)有限,因此全局地學(xué)習(xí)這樣一個空間(如果存在的話)不太可行。這促使作者隱式建模組件級流形,那么將每個組件流形假設(shè)為低維的和局部線性的就更有意義。這一方案不僅有助于使用有限數(shù)量的人臉數(shù)據(jù)在局部跨越這種流形,而且還支持對形狀細(xì)節(jié)進(jìn)行更細(xì)粒度的控制。受到Lee等人的論文《Shadowdraw:real-time user guidance for freehand drawing》的啟發(fā),作者提供了一個陰影引導(dǎo)界面(基于CE的實(shí)現(xiàn)),使用戶更簡便地輸入具有適當(dāng)結(jié)構(gòu)的人臉草圖,如下圖所示。輸入草圖的相應(yīng)部分被投影到下面的人臉組件流形,然后映射到相應(yīng)的特征圖以進(jìn)行圖像合成。2)如何使生成人臉的五官能精準(zhǔn)對應(yīng)數(shù)據(jù)集中人臉的五官?為了解決第二個問題,DeepFaceDrawing提出了一種新的基于草圖的人臉圖像合成的深度學(xué)習(xí)框架,以改善信息流,如下圖所示。DeepFaceDrawing還提供更大的靈活性來融合單個人臉組件,從而獲得更高質(zhì)量的合成結(jié)果。系統(tǒng)由三個主要模塊組成,即CE(組件嵌入),F(xiàn)M(特征映射)和IS(圖像合成)。CE模塊采用自編碼器架構(gòu),分別從人臉?biāo)孛钄?shù)據(jù)中學(xué)習(xí)“左眼”、“右眼”、“鼻子”、“嘴”和“其余”五個特征描述符,用于局部跨出組件流形。FM和IS模塊共同組成了另一個用于條件圖像生成的深度學(xué)習(xí)子網(wǎng)絡(luò),并將組成的特征向量映射到真實(shí)圖像。 作者將人臉草圖分解為五個組件,分別表示“左眼”,“右眼”,“鼻子”,“嘴巴”和“其余”。為了更好地控制各個組件的細(xì)節(jié),對于每種人臉組件類型,都學(xué)習(xí)了局部特征嵌入。作者通過使用五個自編碼器網(wǎng)絡(luò)獲得單個組件的特征描述符。每個自編碼器由五個編碼層和五個解碼層組成。在中間添加一個完全連接的層,以確保所有五個組件的潛在描述符的尺寸均為512維。針對潛在表征嘗試了不同數(shù)量的尺寸(128、256、512),發(fā)現(xiàn)512維足以重構(gòu)和表征草圖細(xì)節(jié),而低維表征往往會導(dǎo)致模糊的結(jié)果。如上圖所示,給定相同的輸入草圖(a),基于流形投影后特征向量的圖像合成獲得了結(jié)果(d),它比基于一個中間草圖(b)的圖像合成結(jié)果(c)更為逼真。請看中間草圖(b)和相應(yīng)的pix2pixHD合成結(jié)果(c)中的高亮部分。給定輸入草圖,將其各個組件投影到組件流形上以提高其合理性。pix2pixHD的解決方案是首先將解碼后的組件草圖融合為完整的人臉草圖(上圖(b)),然后執(zhí)行草圖到圖像合成以獲得人臉圖像(上圖(c))??梢钥闯?,該解決方案很容易在合成草圖中引起偽影(例如人臉組件之間的對不準(zhǔn)、不兼容的發(fā)型),這樣的偽影會遺傳到合成的圖像上,因此如前文所說,現(xiàn)有的用于草圖到圖像合成的深度學(xué)習(xí)解決方案是傾向于使用輸入草圖作為相當(dāng)硬的約束。作者觀察到,上述問題主要發(fā)生在各自組件的裁剪窗口的重疊區(qū)域。由于草圖只有一個通道,相鄰組件在重疊區(qū)域的不兼容問題難以通過草圖-圖像網(wǎng)絡(luò)自動解決,因此將采樣流形點(diǎn)的特征向量映射到多通道特征映射(即三維特征張量)。這大大改善了信息流,融合特征圖而不是草圖組件有助于解決人臉組件之間的不一致性。由于不同成分的描述符具有不同的語義含義,因此作者設(shè)計(jì)了具有五個獨(dú)立解碼模型的FM模塊用以將特征向量轉(zhuǎn)換為空間特征圖。給定組合的特征映射,IS模塊將它們轉(zhuǎn)換為真實(shí)的人臉圖像。作者使用一個條件性GAN架構(gòu)來實(shí)現(xiàn)這個模塊,它將特征映射輸入到一個生成器,該生成由一個鑒別器來指導(dǎo)進(jìn)行。與pix2pixHD中的全局生成器一樣,生成器包含一個編碼部分、一個其余塊和一個解碼單元。輸入特征圖按順序遍歷這些單元。與Wang等(2018)相似,discriminators被設(shè)計(jì)來以多尺度的方式確定樣本:向下采樣多尺度大小的輸入,并使用多個鑒別器在不同的尺度處理不同的輸入。作者使用這種設(shè)置來隱式地學(xué)習(xí)各部分之間的高級關(guān)聯(lián)。3)如何使不完整草圖生成的人臉性別固定為男性或女性?作者采用兩階段訓(xùn)練策略來訓(xùn)練網(wǎng)絡(luò)。第一階段,僅僅訓(xùn)練CE模塊,通過使用組件草圖來訓(xùn)練5個獨(dú)立的特征嵌入自動編碼器。以自監(jiān)督的方式進(jìn)行訓(xùn)練輸入草圖圖像和重建圖像之間的均方誤差(MSE)損失。在第二階段,固定訓(xùn)練好的組件編碼器的參數(shù),用FM和IS模塊中的未知參數(shù)對整個網(wǎng)絡(luò)進(jìn)行端到端的訓(xùn)練。對于IS中的GAN,除了GAN損失之外作者還加入了L1損失,以進(jìn)一步指導(dǎo)生成器,從而確保生成圖像的像素級質(zhì)量。利用判別器中的感知損失來比較真實(shí)圖像和生成圖像之間的高階差異。由于男性和女性肖像的不同特征,作者使用了完全數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),但是將搜索空間限制在男性和女性空間中進(jìn)行測試,這也相應(yīng)回答了我們第三個問題。4)如何實(shí)現(xiàn)根據(jù)草圖從數(shù)據(jù)集中取素材拼出新的人臉五官組合?對于第四個問題,DeepFaceDrawing的圖像合成子網(wǎng)絡(luò)能夠解決包含光源和形狀方面的不同來源的人臉組件之間的不一致性問題。首先將人臉組件草圖(可能來自不同的主體)編碼為特征向量,然后通過使用FM和IS模塊將它們組合為新人臉來實(shí)現(xiàn)??捎闷渌麃碓吹南鄳?yīng)組件替換現(xiàn)有人臉的組件,或組合多個人的組件。如下圖所示,通過重新組合四個來源草圖中的眼睛、鼻子、嘴巴和其余區(qū)域,可合成新的人臉。5)如何調(diào)整區(qū)域置信度使生成人臉從神似變成形神兼?zhèn)洌?nbsp;對于第五個問題,相比那些未經(jīng)繪畫訓(xùn)練的用戶而言,具有良好繪畫技能的用戶傾向于信任自己的繪畫。因此,作者為每種組件類型提供了一個滑塊,以控制流線型投影后草繪的組件與其細(xì)化版本之間的混合權(quán)重,如下圖所示。wb^c=1表示完全使用輸入草圖進(jìn)行圖像合成(形神兼?zhèn)洌?,而wb^c=0,本研究則完全信任插值數(shù)據(jù)(神似形不似)。 對于創(chuàng)建與任何現(xiàn)有樣本或其混合樣本非常不同的人臉來說,這種混合特征特別有用。例如,對于訓(xùn)練集中的女性數(shù)據(jù),大多數(shù)受試者的發(fā)型都很長。若總將輸入草圖推入此類樣本,就不能創(chuàng)建短發(fā)型效果,作者認(rèn)為可以通過調(diào)整輸入草圖的“其余”組件分量來解決此問題,方法是調(diào)整其相應(yīng)的混合權(quán)重。 對于第六個問題,為了協(xié)助繪畫技能欠佳的用戶,研究者還設(shè)計(jì)了將K個合理草圖作為背景放置在畫板上,以引導(dǎo)用戶繪畫的方法,如下圖所示,這樣就能更高效地生成合理的人臉。只要用戶沿著背景的草圖輪廓進(jìn)行作畫,草圖的特征向量就更加接近于已有的K個合理草圖的特征向量,也就有更高的概率可以生成正常的人臉。當(dāng)用戶作畫偏離背景草圖時,這K個合理草圖也會發(fā)生相應(yīng)變化,引導(dǎo)用戶到其它的合理輸入。Reddit 有一位網(wǎng)友提問,如果給一張丑陋的草圖,系統(tǒng)會輸出一個丑陋的人嗎?從圖中可以看出,即使給出丑陋的草圖,輸出的也會是平均來說漂亮的人臉,這大概是因?yàn)樗玫挠?xùn)練數(shù)據(jù)集都是名人,平均“顏值”較高,因此神經(jīng)網(wǎng)絡(luò)學(xué)到了一種漂亮的平均;這能算是一種在“顏值上的”數(shù)據(jù)不平衡問題嗎。另外關(guān)于生成人物的膚色和種族問題,這和訓(xùn)練數(shù)據(jù)集也是有關(guān)的。正如另一位網(wǎng)友總結(jié)的:“就算是這樣,你也只能畫出漂亮的、擁有精致妝容的白人明星”。研究者們使用的是CelebAMask-HQ數(shù)據(jù)集,這個數(shù)據(jù)集收集了眾多白人明星的人臉圖像,這也就意味著不管你怎么畫,都無法生成黑種人或黃種人的臉。所以這種神奇性也可以用一句精辟的話來概括:只要有欠擬合,就沒有什么事情做不到。
也就是說,無論草圖如何畸變,都不會使生成結(jié)果發(fā)生太大變化。例如,如果在研究中使用了高難度概念藝術(shù),那么也能輕易實(shí)現(xiàn)草圖變概念藝術(shù)。比如人臉支付場景中,可能存在利用該項(xiàng)技術(shù)盜刷的問題。隨著人臉活體檢測技術(shù)的發(fā)展,這種隱患應(yīng)該能得以有效避免。相比于Deepfake,本文的DeepFaceDrawing應(yīng)該算是相對無害的。如論文作者所說,這項(xiàng)技術(shù)在犯罪偵查、人物設(shè)計(jì)、教育培訓(xùn)等方面都可以有所作為。期待有一天這項(xiàng)技術(shù)更加通用,這樣一來其商業(yè)價值會更大。會有類似ImageNet一樣的數(shù)據(jù)集和相關(guān)比賽出現(xiàn)來幫助推動這項(xiàng)技術(shù)的發(fā)展嗎?
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。