16×16 影象放大 8 倍還不糊!這個機器學習模型是怎麼辦到的?
https://www.leiphone.com/news/201909/v810zqfxtQ38T9Bp.html
雷鋒網 (公眾號:雷鋒網)開發者按:本篇文章為 AI 研習社社員 @Pita 的特別約稿。我們歡迎更多優秀的 AI 青年一起加入到我們的大家庭,共享 AI 領域的真知灼見(網址: https://ai.yanxishe.com )
最近看到了一個比較好玩的專案,號稱可以將非常小的圖片表情恢復原狀。通過一個機器學習模型對面部的標誌進行漸進式的超分辨,訓練後的網路可以輸入小至16×16畫素的影象進行面部影象的重建,並重新縮放到128×128畫素大小作為輸出影象,以下是他們給出的例子:
相關論文介紹
該機器學習模型來自論文:Progressive Face Super-Resolution via Attention to Facial Landmark( https://arxiv.org/abs/1908.08239 ),論文提出了一種新的人臉識別方法,用這個方法可生成逼真的8倍超解析度的人臉影象的同時,完全保留其面部細節。該神經網路的訓練方法是漸進式的,通過將網路分割成連續的步驟,使訓練穩定下來,每一步輸出的解析度都在不斷提高。論文還提出了一種新的面部注意力丟失方法,並將其應用於每一步的訓練中,通過增加畫素差和熱圖值來更詳細地恢復面部屬性。最後,論文還提出一個壓縮版本的人臉對齊網路(FAN)的標誌熱圖提取。利用所提出的FAN,可以提取出適合於人臉SR的熱圖,並減少了整體訓練時間。實驗結果證明,該方法在定性和定量測量方面都優於目前最先進的方法,尤其是在面部感知質量方面。
然而,論文中有一個沒被提及的細節,就是最後輸出的圖片帶有疤痕的比例非常高?,活脫脫都變成了哈利波特呢。
左:真人,中:原輸入表情,右:輸出結果
仔細一看右圖還真的怪嚇人的,幸好農曆七月已經過去了
另外,該模型的最佳訓練場景是輸入的影象大小應該為16×16畫素,並且需要使用與訓練和測試模型完全相同的程式碼。
如果原影象不是16×16畫素的呢?
如上圖所示,在Twitter上有一組大小正好為16×16畫素的表情符號(大家也可以自行到Twitter表情的Github專案檢視: https://github.com/twitter/twemoji ),作者利用這些表情進行了測試,結果可以看下圖:
以上8組表情的的左側都是原圖,右側則是輸出結果,這訓練出來的結果也太老齡化了吧,面部全部都滿臉皺紋,連披薩都烤的毫無食慾(還是叫個必勝客的披薩吃吧,推特牌就算了)。
現在有了新的進展!因為這個模型是專門用於尋找面部標誌的,所以任何一個標誌都可以在一個畫素上畫出眼睛和鼻孔。作者表示非常肯定義大利辣香腸披薩就是模仿人類的嘴脣?製成的…
下面的樣本是經過精心挑選的,然而許多輸出的結果都不是很理想。作者也花了很大力氣鼓勵模型對面部特徵做出積極的猜測。例如,雖然推特的影象已經是16×16畫素,但如果首先通過傳統的大小調整將其從16×16畫素的輸入調整到128×128畫素,然後再降低到16×16畫素,通常會得到更好的結果。這顯然增加了很多模糊,但似乎為模型提供了更多創造性的空間來解釋某個事物。作者還將預測的影象作為輸入傳送回模型進行迭代(迭代次數多達10次),其中有許多輸入影象都是來自後來迭代生成的結果。然而,在10次迭代中只有3次可以看到人的眼睛。
作者還非常喜歡這個綠色的很像龍(或者像蛇)的表情。除了一隻眼睛以外,它從來沒有真正擁有過人類的特徵,但生成圖片的人造風格令作者非常喜歡。
當你放大或縮小一個StyleGAN面部模型時,作者聯想到這篇Gan可操控性論文( https://arxiv.org/pdf/1907.07171.pdf )。
以下是用Face Super-Resolution模型縮放的影象結果:
該動圖無法上傳,敬請移步到原文檢視: https://iforcedabot.com/photo-realistic-emojis-and-emotes-with-progressive-face-super-resolution/ 。
Twitch表情的輸出效果如何?
令人驚訝的是,只需要一點點調整,爬行動物圖片的輸出結果,面部看起來更像人類了!說好的建國以後動物不能成精呢?!!
Twitch表情並不完全適用於16×16,其中一些具有高解析度版本,而另一些則沒有。作者嘗試了所有種類,因此對於以下的某些圖片,輸入的時候已經是高解析度,但在進入模型之前被調整為16×16畫素大小。圖片輸出結果也在下方,因為與真正的高解析度表情經常有一種有趣的對比。
最後來看看遊戲精靈們的生成結果
由於篇幅有限,作者沒有拿更多的精靈進行測試,不過可以期待作者之後的更新~
進一步探索
我認為可以做更多的事情來鼓勵模型在應用人類特徵方面具有創造性 —— 目前我只是嘗試對管道進行一些調整並迭代,幾乎沒有做其他的事情。使用其他模型的可能性是無窮無盡的。作者立即聯想到StyleGAN編碼: https://twitter.com/jonathanfly/status/1138236372572135424
在 https://selfie2anime.com/ 上也有一個快速測試,可以告訴你在動漫里長什麼樣子,輸出的結果會傳送到郵箱中。
更新1:更多Minecraft
我被要求嘗試用更多的Minecraft紋理去進行測試,當然是以16×16畫素的圖片作為樣本。結果很顯然,絕大多數的樣本並沒有真正發揮作用......?
完整資料集地址: https://drive.google.com/open?id=1kzmgMAshMeO8dOs6gnr0IzHWHsn_MBux
面部特徵通常非常微妙,實際上會比明顯的面部特徵更令人毛骨悚然。想象一下在玩遊戲的時候,隱隱約約感覺看到了一張臉,但是又不能對這張影象做出什麼操作......
更新2:不能停止嘗試的事情
為了尋找更多可以用來進行測試的畫素影象,作者在這顆恆星的影象上嘗試了 Face Super-Resolution 訓練。只花了大約40次迭代,(輸出的影象)就揭示它實際上是一個可愛的小外星人的形象。很確定天文學是如何運作的? https://t.co/dUQjERGllq
更新3:視訊的 Face Super-Resolution
繼續用Face Super-Resolution神經網路對一個16x16畫素的視訊進行超分辨,結果大家也都看到了,Face Super-Resolution 基本上把它變成了DeepFake裡的魔鬼。?
YouTube視訊: https://youtu.be/H8qH_mdceNM
最後,對 Face Super-Resolution 感興趣的同學,可以到Colab進行嘗試。如果大家知道為什麼會出現如此恐怖的現象,也可以在留言區進行留言~
快速線上體驗地址:
彩蛋時間到
以下是小編自己在Colab上測試的結果,圖片都是在網路找的,只需要在程式碼中修改網路圖片的地址即可執行。具體效果如何,請大家自行感受吧
(不能讓我一個人辣眼睛)
via https://iforcedabot.com/photo-realistic-emojis-and-emotes-with-progressive-face-super-resolution/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2655699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開源這麼難,怎麼辦?8月16日Apache給你答案Apache
- Java16的Vector API更好支援機器學習JavaAPI機器學習
- gptq 中W4A16 或者 W8A16 中具體是怎麼計算的呢?GPT
- 16個用於資料科學和機器學習的頂級平臺資料科學機器學習
- jmeter學習指南之16個邏輯控制器JMeter
- 火爆 GitHub 的 16 張機器學習速查表,值得收藏!Github機器學習
- 【機器學習】什麼樣的機器學習產品是最符合使用者需求的;機器學習模型的衡量不止準確率:還有精度和召回率機器學習模型
- 2024/8/16
- 機器學習:安全還是威脅?機器學習
- 機器學習用java還是python?機器學習JavaPython
- “機器學習還是很難用!機器學習
- 林軒田機器學習技法課程學習筆記16(完結) — Finale機器學習筆記
- 吳恩達機器學習筆記 —— 16 異常點檢測吳恩達機器學習筆記
- (byte)1658385462>>16=-40,怎麼算的?
- 網紅女神是怎麼誕生的-深度學習影象分割技術深度學習
- 【機器學習】李宏毅——類神經網路訓練不起來怎麼辦機器學習神經網路
- 機器學習模型機器學習模型
- 魅族16和小米8區別對比:魅族16和小米8哪個好?
- 值得探索的 8 個機器學習 JavaScript 框架機器學習JavaScript框架
- 貸還是不貸:如何用Python和機器學習幫你決策?Python機器學習
- 林軒田機器學習基石課程學習筆記16(完結) — Three Learning Principles機器學習筆記
- Java虛擬機器16:MetaspaceJava虛擬機
- 放大倍數超5萬倍的Memcached DDoS反射攻擊,怎麼破?反射
- 什麼是機器學習治理?機器學習
- 機器學習怎麼入門?這有一套完整的入門到精通路線圖機器學習
- 輔導作業這麼費勁的事,還是交給這個大模型吧大模型
- Fedora16怎麼安裝Chrome?Fedora16安裝Chrome的方法教程Chrome
- 【圖機器學習】cs224w Lecture 16 - 圖神經網路的侷限性機器學習神經網路
- Python程式設計的16個壞習慣Python程式設計
- 什麼是 AI、機器學習與深度學習?AI機器學習深度學習
- 什麼是AI、機器學習與深度學習?AI機器學習深度學習
- 3月16日學習進度
- python基礎學習16—-模組Python
- Python學習之路16-使用APIPythonAPI
- 【Go學習筆記16】解析xmlGo筆記XML
- 15大領域、127個任務,這裡有最全的機器學習SOTA模型機器學習模型
- 11 個 AI 和機器學習模型的開源框架AI機器學習模型框架
- 什麼是機器學習MLOps? - kdnuggets機器學習