人工智能修補圖片技術大躍進

人工智能修補圖片技術大躍進
Nvidia影片截圖

我們想讓你知道的是

Nvidia研究人員的新演算法,能夠大幅減少修補圖片留下的痕跡。

2010年推出的Photoshop CS5版本,首度加入「內容感知填色」(Content-Aware Fill)功能,可以讓人移除照片中特定區域的內容——例如拍照時不小心進了畫面的路人——原理是透過PatchMatch演算法按照區域附近資訊,計算及搜尋出要填補的內容。

像PatchMatch這類使用統計方式的圖片修補演算法,受限於圖片上的資訊分佈,而且無法理解圖像內容。借助近年發展迅速的深度學習技術,人工智能專家開始研發相關的圖片修補演算法。近日繪圖處理器(GPU)大廠Nvidia的研究人員發表研究,介紹他們利用部分卷積層(partial convolutions layer)的圖片修補演算法,並附上測試圖片顯示其結果。

圖1四張圖片中,左上是原圖,右上則是被抹除部分區域作測試用的圖片。演算法需要填補右上圖中的空白︰

Image_Inpainting_1
Image Credit: Guilin Liu et al. 2018
圖1

下面兩張圖片是演算法修補的結果,左下是PatchMatch演算法,右下則是今次研究的演算法。從結果可見,PatchMatch無法區分圖中畫作和牆壁,因此用上部分牆壁的顏色資訊來填滿畫作部分的空白,而Nvidia的演算法則無此問題。

至於過往一些使用卷積神經網絡的演算法,修補結果亦似乎不太好(左邊演算法簡稱為GL,右邊為GntIpt)︰

Image_Inpainting_2
Image Credit: Guilin Liu et al. 2018
圖2

研究人員表示,過往卷積網絡演算法會受要填補的洞影響,視覺上有明顯加工痕跡,以致需要大量後製,此外這類演算法亦主要修補長方形、在圖片中心的洞,實際應用有限。

為了令演算法可用於填補不規則的洞,他們分析了含有不同大小、形狀的洞的圖片修補結果,發現除了洞的大小外,那些洞是否跟圖片邊界接觸也會影響結果。對應這個問題,他們建議使用部分卷積網絡來處理,以下是部分測試結果(左邊為要修補的圖片、中間是演算法修補結果、右邊為原圖)︰

Image_Inpainting_3
Image Credit: Guilin Liu et al. 2018
圖3

仔細跟原圖比較的話,還是能看到不少差異,不過考慮到要修補的圖抹去不少像素資訊,這個結果可謂非常優異。而且重點是,從結果圖片中我們不太看得到修補的痕跡。

另一項測試使用名人頭像照片,研究人員亦有把他們的演算法跟另一演算法GntIpt比較(由左至右︰測試圖片、GntIpt演算法修補結果、是次研究演算法修補結果、原圖)︰

Image_Inpainting_4
Image Credit: Guilin Liu et al. 2018
圖4

雖然受資訊限制,演算法無法把圖片回復原狀,但從結果顯示,演算法修補結果逼真,其「無中生有」的能力甚佳。

不過這個演算法也不是毫無弱點,在面對一些較疏落的結構時,其修補結果就跟其他演算法差不多(左至右︰測試圖片、修補結果、原圖)︰

Image_Inpainting_5
Image Credit: Guilin Liu et al. 2018
圖5

除了修補圖片外,演算法亦可以用來把低解像圖片放大(左至右,低解像圖版本、演算法放大結果、原圖)︰

Image_Inpainting_6
Image Credit: Guilin Liu et al. 2018
圖6

研究人員表示,就他們所知,這是首次有人成功訓練神經網絡修補圖片中不規則的洞。他們亦打算把訓練使用的不規則遮罩數據公開,促進未來類似演算法的發展。

以下是Nvidia的示範影片,可見演算法處理圖像甚快︰

相關文章︰

資料來源︰