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
- gptq 中W4A16 或者 W8A16 中具體是怎麼計算的呢?GPT
- ubuntu 16.04找不到php怎麼辦UbuntuPHP
- 放大倍數超5萬倍的Memcached DDoS反射攻擊,怎麼破?反射
- 輔導作業這麼費勁的事,還是交給這個大模型吧大模型
- win8藍芽不見了怎麼辦?藍芽
- win10系統192.168.1.1進不去怎麼辦_win10系統192.168.1.1打不開的解決方法Win10
- 網站首頁報416錯誤怎麼辦?網站
- RFM是什麼?這個模型有什麼用?模型
- 看完這個你還不會 插入排序 麼排序
- 面試問到springmvc不會怎麼辦?看這篇就夠了,springmvc面試SpringMVC
- javascript中怎麼判斷某變數是null,undefined,還是不存這個變數 ? 以及變數是array 還是 object 還是 null ?JavaScript變數NullUndefinedObject
- 遊戲手柄是怎麼進化到今天這樣的?遊戲
- 192.168.0.1路由器設定進不去怎麼辦路由器
- AI的未來是一個巨大的模型,還是多個specialized小模型AI模型Zed
- 做大資料分析的怎麼可以不會這個?大資料
- 【機器學習】李宏毅——類神經網路訓練不起來怎麼辦機器學習神經網路
- 這是怎麼了啊,我怎麼就是掛載不上啊(轉)
- 一個高中生開發的全域影象搜尋App讓人讚不絕口, 這是谷歌和蘋果還沒做到的事情APP谷歌蘋果
- 這麼簡單,還不會使用java8 stream流的map()方法嗎?Java
- 什麼是16949證書
- Nacos配置中心互動模型是 push 還是 pull ?你應該這麼回答模型
- ps放大縮小快捷鍵是什麼 ps裡面放大縮小怎麼操作
- iOS照片怎麼放大 iOS照片無限放大的放大方法iOS
- 1650顯示卡怎麼樣 gtx1650能玩哪些遊戲遊戲
- 遊戲大廠花了這麼多心思做這件事,為什麼還是吃力不討好?遊戲
- 健康還是工作,這是個問題
- 這不僅僅是另一個使用TensorFlow來做MNIST數字影象識別的教程
- 魅族16和小米8區別對比:魅族16和小米8哪個好?
- ot 這個蛋疼的快取是怎麼回事快取
- 電腦無法連線到這個網路是什麼原因 電腦無法連線到這個網路怎麼解決
- 如果你還不瞭解機器學習的簡史,請看這篇文章機器學習
- Docker裝不上怎麼辦Docker
- 勒索軟體即服務(RaaS)是什麼?這個模型是如何工作的?模型
- 【機器學習】什麼樣的機器學習產品是最符合使用者需求的;機器學習模型的衡量不止準確率:還有精度和召回率機器學習模型
- gtx1650顯示卡怎麼樣 gtx1650顯示卡能玩什麼遊戲遊戲
- Fedora16怎麼安裝Chrome?Fedora16安裝Chrome的方法教程Chrome
- 這個男人讓你的爬蟲開發效率提升8倍爬蟲