你明白的,對於大部分圖像編輯軟件來講,平時用它們修修臉、加個濾鏡什麼的,效果至關好。網絡
可是當你用它們「修補」照片的時候,表現就不那麼亮眼了。一般圖像編輯工具能夠借用相鄰區域的像素(好比Photoshop就是這麼操做的)填補缺失部分,但缺點很明顯:沒法肯定圖像原本缺失的內容。架構
所以只能用它們修補邊邊角角,不能從總體上覆原圖像。這個缺點在修復照片時暴露無遺,特別是當你想修補一張幾十年前的老照片,並且你知道照片缺失部分原來都有什麼。框架
不過沒關係,AI 已經解決了這個問題。最近英偉達的研究人員研發出一種極其先進的深度學習技術,可以復原圖像本來缺失的內容。好比說,假若有一張缺失了眼睛部分的人臉照片,往常你用 Photoshop 這些編輯工具修補的話,只能用相鄰部分的像素填充,沒法還原出人的眼睛,可是英偉達研發的這個 AI 知道往缺失部分填補人的眼睛,哪怕結果有時看着不是很協調。機器學習
其實在此以前也有很多人嘗試用基於 AI 的技術修補圖像,但都侷限於修復矩形截面,只重點關注圖像中心部分的修復,沒法修補照片的任意缺失部分,並且每每還須要花費大量的時間進行後期處理,可是英偉達的 AI 不同。函數
它可以穩定地處理任何形狀、大小或與照片邊緣任意距離的缺失部分。更厲害的是,哪怕照片缺失部分在不斷變大,AI 也能從容應對,優雅地修復。工具
研究人員在他們發佈的論文中解釋到,他們應用了一種叫作「部分卷積」(partial convolution)的方法,也就是爲神經網絡添加一個部分卷積層,它包括掩膜式再歸一化卷積以及掩膜更新兩個部分,掩膜式再歸一化卷積在圖像分割任務中又稱爲 segmentation-aware卷積。這種技術能保證模型用於修補缺失像素的輸出不會徹底依賴輸入值,從而能修補任意形狀、大小和位置的缺失部分。部分卷積層可以根據對應接受域的正確性,再歸一化每一個輸出,從而確保輸出值獨立於每一個接受域的缺失像素值。另外研究人員也應用了一些損失函數、匹配特徵損失的 VGG 模型以及風格損失等,讓 AI 的生成結果更逼真更匹配。學習
這樣 AI 對圖像的修補效果,簡直是難以想象的好,即使 AI 沒法確切地知道缺失了什麼,修復的結果每每看起來也很是貼合,毫無違和感。測試
爲了訓練這個 AI,也是費了很大力氣。研究人員首先製做了 55,116 張存在任意形狀和大小缺失部位的掩膜圖像用於訓練,又準備了約 25,000 張用於測試。接着他們進一步將這些圖像根據缺失部分大小細分爲 6 個類別,以優化 AI 的復原效果。優化
藉助英偉達 Tesla V100 GPU 和 cuDNN 驅動的深度學習框架 PyTorch,研究人員將前面製做的掩膜圖像應用在來自 ImageNet,Place2 和 CelebA-HQ 數據集中的圖像上,以此訓練搭建的模型。cdn
在訓練階段,研究人員將圖像缺失部分引入來自這些數據集中的完整訓練圖像,以此讓 AI 學習如何重建圖像缺失的像素。
而在測試階段,研究人員將沒有應用在訓練階段的圖像缺失部分引入到測試圖像中,從而無誤差的驗證 AI 重建缺失像素的準確率。
最終訓練成的這款 AI 模型,修補圖像的效果秒殺其它一衆圖像修補技術。在論文中,研究人員和其他四種圖像修補技術進行了比較,這四種技術分別是:
PatchMatch:簡稱 PM,是當前很是先進的一款沒有基於機器學習技術的圖像修補方法。
GL:由 Iizuka 等人提出的圖像修補技術。
GntIpt:由 Yu.J 等人提出的藉助語境關注的生成式圖像修補方法。
Conv:沒有應用「部分卷積」的一種傳統神經網絡架構。
研究人員將他們研發出的 AI 命名爲 PConv,下圖展現了這 5 種方法修補相同圖像的結果對比:
不光是修復景物和動物,也能修補人臉:咱們能夠看到,不管是什麼樣的圖像,英偉達的這款AI修復效果都遠高於其它方法。更多效果能夠戳這裏。
固然 AI 的修圖結果也不是一直天衣無縫,你在視頻中會發現有些臉部特徵明顯是從別處「借」來的,若是缺失部分面積很大,沒有足夠信息供 AI 重建像素時,AI 修復的效果就比較遜色。
但整體來看,這仍然不失爲一種無比神奇和驚豔的實用技術。有了它,以往一些看似沒有但願復原的照片都可以最大程度的還原缺失內容,並且不用花好幾個小時痛苦的修補。另外,英偉達研究人員稱 AI 還能在保證圖像不失真的狀況下放大照片。或許,咱們苦哈哈的用修圖工具補圖摳圖的日子就要一去不復返了。