趙洋
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
現(xiàn)今社會(huì)中隨著科技的發(fā)展,相機(jī)、手機(jī)等攝影設(shè)備逐漸普及,數(shù)字圖像的應(yīng)用愈加廣泛。但伴隨著時(shí)間的推移,也出現(xiàn)了一些問(wèn)題,如數(shù)字圖像很有可能因?yàn)槿舾扇绱鎯?chǔ)介質(zhì)磨損等原因致使圖像質(zhì)量下降。而圖像修復(fù)正是一種改善圖像質(zhì)量的技術(shù),按照一定規(guī)律對(duì)缺失部分圖像進(jìn)行補(bǔ)全,修復(fù)的最終目的是使得補(bǔ)全后的圖像盡可能接近原圖像。
圖像修復(fù)最初為專業(yè)修復(fù)師對(duì)油畫(huà)、壁畫(huà)等文藝品的修復(fù)工作。藝術(shù)品往往因?yàn)槟晗蘧眠h(yuǎn),溫度、濕度等保存條件不當(dāng)出現(xiàn)斑駁、脫落等情況,使得藝術(shù)品無(wú)法呈現(xiàn)其原有的光彩。手工修復(fù)工作對(duì)修復(fù)者的要求極高,不僅體現(xiàn)在修復(fù)者的手工能力,也體現(xiàn)在修復(fù)者對(duì)圖像的理解,欣賞水平上。國(guó)外某壁畫(huà)的修復(fù)就受限于修復(fù)者的專業(yè)水準(zhǔn),使得時(shí)代氣息濃厚的壁畫(huà)變成了現(xiàn)代的壁畫(huà)。手工修復(fù)容易導(dǎo)致藝術(shù)品受到二次傷害?;谏鲜鲈颍瑪?shù)字圖像修復(fù)技術(shù)使用掃描的方式得到圖像,再對(duì)其進(jìn)行修復(fù),使用該方法可減少對(duì)藝術(shù)品的二次傷害,同時(shí)也可以通過(guò)不同修復(fù)技術(shù)選擇最貼近原圖的修復(fù)圖像[10]。
近年來(lái),結(jié)合物理學(xué)、視覺(jué)學(xué)和計(jì)算機(jī)視覺(jué)等的交叉學(xué)科,圖像修復(fù)技術(shù)、修復(fù)水平飛速提升,并逐漸形成了四種圖像修復(fù)方法:
(1)基于偏微分的方法;
(2)基于稀疏表示的方法;
(3)基于樣本塊的方法;
(4)基于深度學(xué)習(xí)的方法。
圖像修復(fù)該技術(shù)源于修補(bǔ)圖片。在傳統(tǒng)工藝中,專業(yè)的修復(fù)師應(yīng)當(dāng)實(shí)現(xiàn)以下目標(biāo):
(1)視待修復(fù)圖像全局情況填補(bǔ)缺口,使得修復(fù)后的圖像整體和諧,統(tǒng)一;
(2)在缺口,即待修復(fù)區(qū)域四周結(jié)構(gòu)延續(xù)到缺口內(nèi)部;
(3)缺口內(nèi)部可以被四周結(jié)構(gòu)的延伸劃分為若干區(qū)域,每個(gè)區(qū)域填充與四周邊界相似的顏色;
(4)待修復(fù)部分細(xì)節(jié)自然。
(1)去除劃痕等[10]:老照片因?yàn)闀r(shí)間久,保管不善等原因,照片容易出現(xiàn)劃痕、折痕、刮痕等破損部分,通過(guò)圖像修復(fù)技術(shù),可以使得圖像呈現(xiàn)沒(méi)有破損的樣子。老電影因?yàn)榻橘|(zhì)遭受磨損使得圖像被破壞,使用人工修復(fù)效率較慢,而使用數(shù)字圖像處理技術(shù)可以大大提升修復(fù)效率,節(jié)省成本。
(2)移除特定目標(biāo):對(duì)于已有的圖像,存在某些場(chǎng)合想扣去部分圖像。如想去掉人像的眼鏡;去掉相片的相機(jī)水??;想得到?jīng)]有人或移動(dòng)物體的完整風(fēng)景;想去除某視頻字幕等。
(3)其他圖像處理領(lǐng)域:在圖像處理領(lǐng)域,目標(biāo)被遮擋是影響效果的主要原因之一。如姿勢(shì)識(shí)別領(lǐng)域中,目標(biāo)被遮擋可能導(dǎo)致某些重要信息如重要的骨骼點(diǎn)缺失。在醫(yī)學(xué)成像領(lǐng)域中,受到機(jī)器與采集方式的約束,可能會(huì)出現(xiàn)圖像模糊或信息缺失等情況,通過(guò)圖像修復(fù)技術(shù),可以提高圖像質(zhì)量,使得醫(yī)生在診斷時(shí)有理有據(jù)。
為達(dá)到上述目標(biāo),國(guó)內(nèi)外許多科研人員經(jīng)過(guò)若干年的不懈努力,提出各種不同的方法,取得了一定的成果。目前,圖像修復(fù)技術(shù)主要分為以下方向:基于偏微分的方法、基于樣本塊的方法、基于稀疏的方法、基于深度學(xué)習(xí)的方法。
基于偏微分的方法本質(zhì)上基于熱擴(kuò)散原理,將已知區(qū)域的圖像信息沿著等照線擴(kuò)散到破損區(qū)域來(lái)進(jìn)行修復(fù),修復(fù)過(guò)程通過(guò)對(duì)三階偏微分方程進(jìn)行求解實(shí)現(xiàn),加入異向擴(kuò)散方程,適用于修復(fù)小尺度破損的圖像,其典型方法如TV、CDD 等。TV[1]算法即Total Variation全變分修復(fù)方法,該方法利用變分法求解歐拉-拉格朗日方程,將圖像修復(fù)問(wèn)題轉(zhuǎn)換為求最優(yōu)問(wèn)題。CDD[2]算法即曲率驅(qū)動(dòng)擴(kuò)散修復(fù)方法,該方法用梯度與曲率來(lái)約束擴(kuò)散系數(shù),使得邊緣信息較為明了,但在修復(fù)區(qū)域存在曲率角度較大的角點(diǎn)時(shí),容易導(dǎo)致邊緣不平滑的問(wèn)題[10]。
基于稀疏的方法主要基于稀疏理論,其假設(shè)自然信號(hào)能被壓縮;采用學(xué)習(xí)字典的方式,即根據(jù)大量樣本圖像和輸入的有效圖像估計(jì)學(xué)習(xí)字典。稀疏的修復(fù)方法容易造成偽影。
基于深度學(xué)習(xí)的方法比較熱門,該類方法可以提取到待修復(fù)對(duì)象的高級(jí)語(yǔ)義信息的特征,一定程度上與實(shí)際人工修復(fù)圖像較為類似,比較適用于大區(qū)域的修復(fù)。該類方法通過(guò)訓(xùn)練學(xué)習(xí)大量數(shù)據(jù)得到訓(xùn)練樣本間的非線性映射關(guān)系。從具體實(shí)施方案來(lái)看,可以分為以下若干分類:基于卷積自編碼網(wǎng)絡(luò)(CAE)[5,7]、基于對(duì)抗生成網(wǎng)絡(luò)(GAN)[11]的修復(fù)方式、基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[6]的圖像修復(fù)方式。
基于樣本塊的方法主要思想如下:以像素塊為單位進(jìn)行修復(fù),在圖像已知區(qū)域內(nèi)搜索與待修復(fù)塊相似的樣本塊。該種算法的經(jīng)典方法為Criminisi 算法,先計(jì)算待修復(fù)樣本塊集合的優(yōu)先級(jí),選取優(yōu)先級(jí)最大的待修復(fù)塊進(jìn)行修復(fù),在已知區(qū)域內(nèi)計(jì)算候選塊與待修復(fù)塊的相似度,選取最為相似的樣本塊填充至待修復(fù)塊上。后續(xù)逐漸提出了基于馬爾科夫隨機(jī)場(chǎng),置信傳播等圖像修復(fù)算法。
Criminisi[3]修復(fù)算法通過(guò)計(jì)算優(yōu)先級(jí),先修復(fù)結(jié)構(gòu)較為復(fù)雜的部分,再修復(fù)平滑部分。該算法如圖1所示。

圖1
Ω 為待修復(fù)(目標(biāo))區(qū)域,Φ 為完好區(qū)域,?Ω 為待修復(fù)區(qū)域邊界,Ψp為?Ω 上點(diǎn)p 為中心的待修復(fù)塊,np為點(diǎn)p 的法線,?I⊥p為點(diǎn)P 的等照度線。
Criminisi 算法的優(yōu)先級(jí)分為置信度與數(shù)據(jù)項(xiàng)部分:
P(p)=C(p)*D(p) (1)
其中C(p)為置信度部分,代表以點(diǎn)p 為中心的待修復(fù)塊的所有像素平均置信度,置信度越大,越該優(yōu)先修復(fù),其公式如下:

其中i 為待修復(fù)樣本塊中已知的像素點(diǎn),當(dāng)p ∈Ω時(shí),C(p)=1,否則C(p)=0。
數(shù)據(jù)項(xiàng)D(p)為待修復(fù)樣本塊的結(jié)構(gòu)特征,其數(shù)值越大,越該先修復(fù)該塊,其公式如下:

其中δ=255。
在通過(guò)2.1 小節(jié)的計(jì)算后,得到當(dāng)前優(yōu)先級(jí)最高的樣本塊Ψp?,在已知區(qū)域Φ 中尋找匹配塊Ψq?來(lái)修復(fù)圖像,經(jīng)過(guò)不斷計(jì)算,直到遍歷Ω 為止。匹配的規(guī)則如下:

其中d(Ψp?,Ψq?)為Ψp?與最佳匹配塊Ψq?的對(duì)應(yīng)像素點(diǎn)的像素差的平方和,其公式定義如下:

其中m,n 分別代表樣本塊的長(zhǎng)度,寬度;pij,qij分別代表Ψp?,Ψq像素塊中已知的像素點(diǎn)的值。當(dāng)該公式取得最小,即Ψq為所求的Ψp?的最佳匹配塊Ψq?。
隨著2.1 與2.2 小節(jié)中算法的不斷迭代,未知區(qū)域的邊界也需要更新,即:
C(p)=C(p?),p ∈Ψp??Ω (7)
其中p?是具有最高優(yōu)先權(quán)的像素點(diǎn),p 點(diǎn)為選擇的優(yōu)先級(jí)最高的樣本快Ψp?的中心像素點(diǎn)。
第2 節(jié)中所介紹的Criminisi 算法,C(p)與D(p)相互補(bǔ)充又互相制約,C(p)越靠近未知區(qū)域中心,其比值越小,D(p)使得修復(fù)過(guò)程按照求得的等照線方向進(jìn)行。該算法的缺陷在于置信項(xiàng)C(p)在迭代過(guò)程中迅速下降最終趨于0,使得D(p)逐漸失效,最終導(dǎo)致算法修復(fù)過(guò)程中并沒(méi)有按照算法本身的思想進(jìn)行修復(fù)。
針對(duì)上述原因,對(duì)該算法的改進(jìn)如下。
改進(jìn)后的優(yōu)先級(jí)公式為:
P(p)=αC(p)+βD(p)+γE(p) (8)
其中α,β,γ 均為正數(shù),且α+β+γ=1。
D(p) 與Criminisi 算法中D(p) 相同,C(p) 的改進(jìn)如下:
對(duì)于點(diǎn)p 為中心的待修復(fù)樣本塊Ψp?,此時(shí)該樣本塊的邊長(zhǎng)為h,以點(diǎn)p 為中心,獲取邊長(zhǎng)為λh 的樣本塊Ψp?。對(duì)Ψp?依次做二值化,高斯模糊處理,隨后對(duì)該樣本塊通過(guò)用Canny 算子求其邊緣[8],得到樣本塊Ψp',此時(shí)C(p)的計(jì)算公式如下:

優(yōu)先級(jí)計(jì)算公式中,邊緣項(xiàng)E(p)的定義如下:

其中E(i)[9]定義如下:

其中E 的確定規(guī)則如下:
對(duì)圖像I 作高斯模糊處理,對(duì)處理后的圖像作小波變換求圖像的顯著邊緣E',因?yàn)樵谡麖垐D像中,掩膜邊緣過(guò)于顯著,因此需要將掩膜邊緣從E'中扣去得到顯著邊緣E。
在Criminisi 算法中,隨著算法的迭代,后修復(fù)的像素部分并未使用已修復(fù)的部分來(lái)修復(fù)其他區(qū)域,因此做出改進(jìn)如下:
n=boundary(Ω') (12)
其中Ω'為某階段待修復(fù)的部分,n 為Ω'邊緣像素點(diǎn)的數(shù)目。
令m=φn ,在經(jīng)過(guò)m 次修復(fù)后需要重新計(jì)算掩膜、優(yōu)先級(jí)等信息,修復(fù)迭代。
對(duì)于樣本塊的匹配,采用文獻(xiàn)[4]的非局部紋理相似性匹配公式,其定義如下:

其中?2 為逐項(xiàng)冪運(yùn)算符,⊕為逐項(xiàng)乘運(yùn)算符,Gp?定義如下:
Gp?=[G(Ψp?(l));l={1,2,…,m2}] (14)
高斯核G 在像素點(diǎn)k 的權(quán)重如下:

其中(x1,y1) 為待修復(fù)塊已知區(qū)域的幾何中心,(x0,y0) 為帶修復(fù)塊未知區(qū)域的幾何中心,計(jì)算公式如下:

其中 |Ψp??Ωc|為待修復(fù)塊已知區(qū)域像素的數(shù)目,|Ψp??Ω |為待修復(fù)塊未知區(qū)域像素的數(shù)目。

上述參數(shù)α,β,γ,λ 分別為0.3,0.4,0.3,1.5。上述算法的實(shí)驗(yàn)結(jié)果如圖2-4。

圖2

圖3

圖4
上述三組圖片為實(shí)驗(yàn)所得圖片,第一列為帶掩膜的待修復(fù)圖像,第二列為Criminisi 算法的修復(fù)結(jié)果,第三列為提出的算法的修復(fù)結(jié)果。由第一組圖像,圖2可以看出,某些情況下本文給出的方法與Criminisi 算法結(jié)果相似。
由第二組圖像,圖3 可以看出,Criminisi 算法出現(xiàn)了明顯不應(yīng)該出現(xiàn)的紋理,即海洋的紋理中出現(xiàn)了沙灘的紋理。而本文提出的算法相較于改進(jìn)前的算法沒(méi)有明顯違和的紋理。
由第三組圖像,圖4 可以看出,Criminisi 算法的結(jié)果在掩膜中間因?yàn)橹眯彭?xiàng)過(guò)小,數(shù)據(jù)項(xiàng)失效,即在掩膜較大,在修復(fù)過(guò)程中掩膜中部圖像并未使用已修復(fù)圖像的信息。本文給出的算法相較于改進(jìn)前的算法圖像更為自然。
本文給出了基于Criminisi 算法的改進(jìn)算法,主要針對(duì)該算法的優(yōu)先級(jí)改進(jìn)其置信項(xiàng),增添了顯著邊緣項(xiàng);在修復(fù)過(guò)程中使用了已經(jīng)修復(fù)好的部分信息,即修復(fù)過(guò)的部分樣本塊作為候選塊與待修復(fù)塊進(jìn)行匹配;采用非局部的紋理信息相似來(lái)匹配候選塊與待修復(fù)快。實(shí)驗(yàn)證明,改進(jìn)后的算法相較于改進(jìn)前,效果有較大的提升。