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