影象填充(image inpainting)旨在從缺失的圖片目標區域中合理地恢復內容,以使圖片恢復至未缺失之前的狀態。大多數現有的技術利用影象中存在的內容相似性,或大規模資料中學習的語義和紋理資訊來填充圖片的缺失部分。但現有的技術在面對大面積缺失時表現不佳:一方面很難恢復影象的原有語義,另一方面很容易產生人工生成的痕跡。然而,如果有另外的一張相同場景的參考圖作為依據,我們就可以把圖片填充問題轉變為圖片融合及生成問題。此類技術有著未被人充分關注但頗具潛力的應用價值,源於我們通常有著一景多拍的拍攝習慣和大量的參考圖片。此次介紹Adobe Photoshop團隊發表於CVPR2021的研究成果TransFill,利用一種多個單應變換(Muli-Homography) 、多個色彩及空間(color-spatial) 變換的融合方法,使用參考圖中的內容對目標圖進行填充。此方法結合了深度檢測、圖片配準、深度學習的圖片空間變換和顏色匹配、單圖填充等最優方法,以實現對參考圖內容的重用。模型在具有顏色差和視差的成對的使用者影象上亦得到了最優的填充效果。
嘉賓介紹
周宇乾:
美國伊利諾伊香檳分校(UIUC) 在讀博士,曾師從已故計算機科學家Thomas Huang (黃煦濤)教授。本科和碩士畢業於香港科技大學,是港科大2015年度學術成就獎獲得者。曾在曠視科技,微軟研究院和Adobe實習。發起和組織了ICCV/ECCV有關真實世界低質量輸入識別和檢測的子會議(RIQ2019/2020) 及相關世界挑戰賽。主要研究方向為影象修復,影象生成,低質量圖片分析,醫學影象分析,情感計算和人機互動等,研究成果發表於CVPR/ICCV/AAAI/MICCAI等。
個人主頁: https://yzhouas。github。io/。
背景介紹
1
什麼是影象填充技術?
我們很可能遇到這樣一種情況:在一張圖片中有的部分我們不想讓它出現。一般情況下我們會選擇為它打上馬賽克,但這個時候是能看出來這個部分是被擋住的。那有沒有一種技術在我們在看起來沒有人為操作的情況下把不想在圖片中出現的目標消除呢?影象填充就是主要負責解決這個問題的。除此之外,影象填充還有一些其他的應用場景,比如一些古老相片的修復,影象編輯任務等。
圖1 影象填充的應用舉例:(a)目標消除,(b)影象修復,(c)影象編輯
下面列舉了影象填充任務中可能遇到的圖片。比如自然景觀:山川河流等,人造建築。這類圖片相對來說會複雜一點,因為有更復雜的結構。
圖2 影象填充任務圖1
又比如下面的牆壁,有一些重複性的紋理,這樣的圖片做影象填充相對而言就會簡單一點,因為在影象本身就可以找到一些相似畫素進行填充。
圖3 影象填充任務圖
2
影象填充有時也會失效
影象填充技術在很多工中都會產生錯誤。像下圖(a)中的老婆婆、圖(b)憨豆先生修復世界名畫失敗一樣,影象填充如果在待填充區域生成了不符合常理的畫素,也會產生非常不符合邏輯的效果。
圖4 引例:修復世界名畫
圖5展示了一些新的比較有名的影象修復模型在某張影象上比較災難的影象填充效果,針對當前影象填充技術的不穩定性,本文提出了一種全新的策略來較好地實現影象填充。
圖5 一些深度學習模型在填充任務的失敗舉例
帶參考圖的影象填充
1
什麼是帶參考圖的影象填充
通常在同一個拍攝場景下我們會拍攝多張圖片,所以我們可以參考相同場景的其中一張圖片(source)的內容來替換當前圖片(target)待填充區域。這就是我們所說的Reference-guided image inpainting。
如圖6,我們的目標是填充黃色遮擋的部分,因為我們想遮擋的物體所在的背景的結構和複雜紋理很難透過神經網路訓練去學習到,相對而言,當影象填充任務中提供了一張相同場景的參考圖時,影象填充的結果就會更自然,目標物消除的效果也更好。
圖6 無參考圖的影象填充(上)和待參考圖的影象填充(下)
2
帶參考圖的影象填充技術面臨的挑戰
帶參考圖的影象填充技術並不是一個簡單地對target和source之間進行復制貼上就可以完成的,這其中的過程比較複雜。
首先是如何進行source和target的匹配,source和target之間的差異大小會直接影響到影象填充任務的難度和效果,其中會遇到一些影象配準中會遇到的問題。
(1)差異較大的拍攝角度(Large Parallax):如果拍攝角度差異比較大,那很難透過兩張圖片預測出整個場景的三維結構。
(2)顏色和曝光的不匹配(Color and Exposure Mismatching):當兩個場景的顏色對比度以及曝光不匹配時,如何讓這兩個圖片融合後的場景自然和諧也是一個很值得研究的問題。
(3)遮擋問題(Occlusions and Non-existing Regions):當使用一張圖片去填充另一張時,依然會有一些區域在第一張圖片中是被遮擋或者不可見的,那將這些不可見的區域填充也是很有挑戰的。
圖7 影象配準中遇到的挑戰
3
帶參考圖的影象填充演算法介紹
論文提出了一個帶參考圖的填充演算法模型——TransFill。下圖是該模型的整體演算法流程,包括影象配準、調整色彩和空間連續性、畫素級的影象融合。
圖8 TransFill影象填充流程
(1)影象配準(Image Registration)
在進行影象配準時,我們肯定是希望得到兩張影象的密集匹配,但僅有兩張圖片很難實現密集匹配。首先由於source和target許多情況下的視差較大,因此也無法使用影片中常用於影象配準的光流法;其次還有一種利用一個3X3的單應性(Homography)矩陣對畫素座標進行warp從而配準的方法(圖9)。這種方法能成功的前提是兩張圖片在一個平面上或者相機的運動比較簡單(如旋轉),而且在實際操作中一般無法得到隨機給到的兩張影象之間的轉換矩陣的引數,因此僅使用一個Homography進行配準的可行性不高。
那使用多個Homography是否可以完成本演算法的配準任務呢?下面論文提出了使用多個Homography進行影象配準的思路。
圖9 單應性
1)首先對target和source進行特徵點計算
圖10 特徵點計算
2)計算target的深度圖
圖11 Target圖深度圖計算
3)特徵點聚類
圖12 Target圖特徵點聚類
4)按照深度等級給出匹配策略
根據深度等級的個數,給出N個homography生成N種不同的匹配結果,然後在參考時融合每種建議中比較優秀的部分。
圖13 按照深度等級提供不同的匹配模型
(2)色彩和空間校正(Image Harmonization)
論文參考了《Deep bilateral learning for real-time image enhancement》的方法,提出了一種能夠在顏色和空間轉換時保留影象邊緣資訊的模型,如下圖所示。
圖14 色彩和空間轉換模型
當將source直接進行影象填充時,得到下圖中左圖的結果,如果將source圖的顏色調節到與target圖匹配的程度得到下圖中間圖的結果,而下圖右圖結果是進行了色彩和空間轉換的結果。可以看到進行色彩和空間轉換提高了影象填充結果的和諧性,使得圖片看起來更真實。
圖15 色彩空間轉換操作對影象填充效果的影響
下面給出了模型在Adobe-FiveK資料集和真實影象上的測試效果。
(a)
(b)
圖16 測試效果
(3)融合(Merging)
1)Single-Proposal Fusion(SPF):
作者發現,直接學習對N個建議的影象混合十分困難,生成圖片的區域連續性較差,所學得的融合遮罩空間分佈過於密集。所以,我們首先利用SPF將每個Homography對應的建議分別和無參考圖的影象填充的結果合併。
其中,圖17中的黑白圖表示一個每個建議與target融合連續性的置信度對映,亮的區域表示置信度越高。
圖17 單個建議與無參考圖填充合併
(2)Multi-Proposal Fusion(MPF) :
以SPF得到的置信度為參考條件,對所有建議進行重新融合。下圖中高亮部分為系統學習到的融合取樣區域。可以看到,最終結果充分利用了各個建議中色彩和對齊較好的區域,學習到的取樣蒙版也具有更好的區域連續性。
圖18 MPF處理過程及樣例結果
實驗部分
下面給出了TransFill模型與其他模型對比的影象填充效果,更多詳細實驗細節可以參考文末給出的論文連結。
(a)
(b)
圖19 效果對比
使用者互動介面
當演算法選擇的建議不夠優良時,該模型給出了使用者自主選擇刪除某些對影象填充結果發揮消極作用的建議,以此提高最終的影象填充結果。
圖20 使用者自主篩選建議
演算法侷限性
下面兩種情況TransFill的填充效果很難做到比較好的水平。
1、 大視差
2、 顏色差異較大(比如source和target影象分別拍攝於白天和黑夜)
專案主頁:
https://yzhouas。github。io/projects/TransFill/index。html