你明白的,對於大部分影像編輯軟體來說,平時用它們修修臉、加個濾鏡什麼的,效果相當好。
但是當你用它們“修補”照片的時候,表現就不那麼亮眼了。通常影像編輯工具可以借用相鄰區域的畫素(比如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 還能在保證影像不失真的情況下放大照片。或許,我們苦哈哈的用修圖工具補圖摳圖的日子就要一去不復返了。