王豫峰
(南陽(yáng)理工學(xué)院計(jì)算機(jī)與軟件學(xué)院,南陽(yáng) 473000)
圖像修復(fù)技術(shù)是計(jì)算機(jī)視覺(jué)任務(wù)中非常重要的一項(xiàng)任務(wù),是針對(duì)圖像中像素信息缺失或者受損部分,利用原有圖像中的像素信息和相關(guān)先驗(yàn)信息,來(lái)對(duì)原本已經(jīng)破損的圖像進(jìn)行信息補(bǔ)全和信息填充,得到一個(gè)經(jīng)過(guò)填充處理的圖像的過(guò)程,使得經(jīng)過(guò)處理的圖像和原完好圖像沒(méi)有太明顯的差別。圖像修復(fù)的本質(zhì)是根據(jù)圖像中的部分完整信息重構(gòu)整個(gè)圖像的完全信息,因此該問(wèn)題沒(méi)有明確的唯一解。圖像修復(fù)技術(shù)的應(yīng)用領(lǐng)域非常廣泛,比如:破損字畫(huà)等藝術(shù)品的修復(fù)、老舊照片的修復(fù)、失真圖片恢復(fù)、目標(biāo)移除和圖像超分。
與傳統(tǒng)的圖像去噪任務(wù)相比,圖像修復(fù)任務(wù)不僅需要將圖像缺損內(nèi)容補(bǔ)全,還需要根據(jù)整個(gè)圖像的紋理走向和圖像細(xì)節(jié)進(jìn)行補(bǔ)全。在補(bǔ)全圖像缺失部分的同時(shí),需要使補(bǔ)全后的圖像最大程度地接近真實(shí)圖像,使得修復(fù)后的圖像和原本完好圖像沒(méi)有太明顯的差別。在常規(guī)或小塊缺陷的圖像修復(fù)中,通過(guò)利用編碼器-解碼器架構(gòu)學(xué)習(xí)圖像的數(shù)據(jù)分布,取得了良好的效果。但隨著區(qū)域的增大,像素之間的相關(guān)性減弱,圖像修復(fù)的質(zhì)量就會(huì)急速下降。與常規(guī)的圖像修復(fù)和小塊圖像修復(fù)不同,大塊圖像修復(fù)需要預(yù)測(cè)的缺失內(nèi)容較多,信息量較少。圖像修復(fù)的性能在很大程度上取決于所設(shè)計(jì)模型的預(yù)測(cè)能力。當(dāng)前模型掌握的信息量較少時(shí),就會(huì)產(chǎn)生失真、模糊的紋理和扭曲的結(jié)構(gòu)。
現(xiàn)有的方法在方形遮罩和小比例損壞的圖像上取得了良好的性能,但對(duì)具有大比例不規(guī)則缺陷的圖像的修復(fù)算法是不夠的。針對(duì)大比例受損圖像,注意力機(jī)制是圖像修復(fù)任務(wù)中使用的一個(gè)重要工具,它可以匹配深度特征貼圖上的像素或面片以生成良好的結(jié)果。但是,固定單尺度上的面片匹配限制了將此模型應(yīng)用于不同場(chǎng)景的能力。針對(duì)這一現(xiàn)象,需要將不同層次的深層特征映射來(lái)獲取不同尺度的信息,從而利用背景信息準(zhǔn)確地恢復(fù)掩模區(qū)域。
為了使模型具有較強(qiáng)的預(yù)測(cè)能力,本文提出一種基于殘差網(wǎng)絡(luò)的圖像修復(fù)算法。利用殘差網(wǎng)絡(luò)的殘差特性,可以有效地降低模型退化。在殘差網(wǎng)絡(luò)中,以遞歸的方法收集并傳播不同層次的殘差信息,從而使不同層的特征表達(dá)不同的屬性,發(fā)揮不同的作用。算法將部分卷積策略引入到U-Net結(jié)構(gòu)中。在處理不同狀態(tài)的區(qū)域時(shí),包括已知背景和未知前景區(qū)域,可以避免誤用虛假特征信息。提出的損失函數(shù)結(jié)合了像素重建損失函數(shù)、感知損失函數(shù)、風(fēng)格損失函數(shù)和全局損失函數(shù),主要根據(jù)鑒別器和特征提取器生成,有助于獲得真實(shí)的細(xì)節(jié),修復(fù)圖像中受損區(qū)域的基本紋理和結(jié)構(gòu),獲得細(xì)膩的細(xì)節(jié)。
目前圖像修復(fù)技術(shù)主要分為兩種,一種是傳統(tǒng)圖像修復(fù)技術(shù),一種是基于深度學(xué)習(xí)的圖形修復(fù)技術(shù)。
傳統(tǒng)的圖像修復(fù)方法通過(guò)傳播信息來(lái)填充受損區(qū)域。根據(jù)傳播的內(nèi)容,傳統(tǒng)的方法可以簡(jiǎn)單地分為基于擴(kuò)散的方法和基于補(bǔ)丁的方法。基于擴(kuò)散的修復(fù)方法通過(guò)將局部像素強(qiáng)度的高階導(dǎo)數(shù)沿等像線從外部連續(xù)傳播到受損區(qū)域來(lái)重建目標(biāo)區(qū)域,或者通過(guò)最小化修復(fù)模型的高階偏微分方程來(lái)重建目標(biāo)區(qū)域。這些方法在保持局部平滑度和生成幾何結(jié)構(gòu)方面具有良好的性能。但是,當(dāng)孔洞較大時(shí),它們會(huì)產(chǎn)生模糊結(jié)果?;诿嫫姆椒梢酝ㄟ^(guò)在面片級(jí)別搜索圖像的已知區(qū)域來(lái)恢復(fù)稍大的孔洞,并將最佳匹配的面片復(fù)制到缺失區(qū)域。在Patch-Match方法中,通過(guò)隨機(jī)抽樣可以找到一些好的補(bǔ)丁匹配,圖像中的自然連貫性使這種匹配能夠快速傳播到周?chē)鷧^(qū)域。文獻(xiàn)[7]開(kāi)發(fā)了一種基于面片的圖像修復(fù)方法,該方法通過(guò)測(cè)量非局部紋理相似度來(lái)搜索已知區(qū)域,并將找到的候選面片與遮罩區(qū)域進(jìn)行平均濾波器融合。傳統(tǒng)的方法可以成功地恢復(fù)一些紋理細(xì)節(jié),并獲得滿(mǎn)意的結(jié)果,但捕獲全局結(jié)構(gòu)的問(wèn)題仍然存在。這些傳統(tǒng)算法通常通過(guò)數(shù)學(xué)和統(tǒng)計(jì)方法獲取信息,導(dǎo)致無(wú)法生成新內(nèi)容。在解決面部修復(fù)問(wèn)題時(shí),它們往往無(wú)法產(chǎn)生合理的結(jié)果。
隨著機(jī)器學(xué)習(xí)的發(fā)展,很多基于卷積神經(jīng)網(wǎng)絡(luò)的模型被提出,它們通過(guò)大規(guī)模的訓(xùn)練數(shù)據(jù)解決上述問(wèn)題。CE算法通過(guò)傳遞輸入圖像的表示特征,在語(yǔ)義層次上為填充損傷區(qū)域提供合理的內(nèi)容。文獻(xiàn)[8]提出了一種基于CE算法的全局和局部一致性圖像完成架構(gòu),該架構(gòu)由完成網(wǎng)絡(luò)、全局上下文鑒別器和局部上下文鑒別器組成,以確保全局一致性和局部合理細(xì)節(jié)。MNPS將內(nèi)容網(wǎng)絡(luò)和紋理網(wǎng)絡(luò)結(jié)合起來(lái),以獲得整體和局部的約束信息。文獻(xiàn)[10]將轉(zhuǎn)移連接引入U(xiǎn)-Net網(wǎng)絡(luò),用于填充受損區(qū)域,以快速生成合理的內(nèi)容。在轉(zhuǎn)移連接層的幫助下,有效區(qū)域的編碼器特征被轉(zhuǎn)移到缺失區(qū)域作為額外的約束。然而,這些方法通常集中于經(jīng)常出現(xiàn)在圖像中心的方形遮罩區(qū)域。通過(guò)改變遮罩層的外輪廓,從而解決某些特定任務(wù),如目標(biāo)移除。
對(duì)于隨機(jī)損壞的圖像,可以通過(guò)圖像空間位置的每個(gè)通道學(xué)習(xí)動(dòng)態(tài)特征,并根據(jù)圖像特征數(shù)據(jù)更新掩碼,將區(qū)域卷積添加到由粗到細(xì)的網(wǎng)絡(luò)中,并采用非局部運(yùn)算來(lái)處理完好區(qū)域和受損區(qū)域之間的差異和相關(guān)性。通過(guò)部分卷積和遮罩更新替換卷積層,僅利用有效輸入生成輸出。除了使用新的卷積方法改進(jìn)這些方法外,還可以考慮輪廓邊緣信息來(lái)恢復(fù)受損區(qū)域,通過(guò)檢測(cè)前景中顯著性對(duì)象的輪廓,建立由邊緣生成器和圖像組成的網(wǎng)絡(luò),然后使用該網(wǎng)絡(luò)指導(dǎo)圖像修復(fù)。
在圖像的修復(fù)中,想完整地表達(dá)圖像的結(jié)構(gòu)信息,需要使用注意力機(jī)制。注意力機(jī)制廣泛應(yīng)用于高級(jí)計(jì)算機(jī)視覺(jué)任務(wù)中,它是圖像修復(fù)中的一個(gè)重要工具,利用高層語(yǔ)義信息重構(gòu)底層圖像特征,可以幫助從背景中學(xué)習(xí)相關(guān)特征。利用圖像的上下文注意力模塊,可以建立起從粗到精的體系結(jié)構(gòu),該體系結(jié)構(gòu)專(zhuān)注于任何位置的相關(guān)功能補(bǔ)丁,以改進(jìn)修復(fù)結(jié)果。多元圖像補(bǔ)全方法采用了一種自我關(guān)注的方法,利用短期和長(zhǎng)期的上下文信息來(lái)保證外觀的一致性,用于處理不規(guī)則遮罩區(qū)域。但注意力機(jī)制還需要考慮不規(guī)則缺損區(qū)域的原因,需要構(gòu)建不同尺度的注意力機(jī)制。
本文提出一種基于多尺度特征融合的殘差網(wǎng)絡(luò)模型,該模型可以有效融合多尺度的特征信息、空間注意力和遞進(jìn)通道-空間注意力的表征特征,模型總體架構(gòu)如圖1所示。
圖1 整體網(wǎng)絡(luò)結(jié)構(gòu)
模型由編碼器和解碼器組成。編碼器用于學(xué)習(xí)特征,是一個(gè)下采樣和圖像特征化的過(guò)程。解碼器用于將先前編碼的特征轉(zhuǎn)換為所需的輸出,用于恢復(fù)和解釋特征地圖。為了避免連續(xù)下采樣導(dǎo)致丟失高頻信息,模型在下采樣前的卷積層和相應(yīng)的反卷積層之間添加跳躍連接,通過(guò)對(duì)稱(chēng)性保留細(xì)微的細(xì)節(jié)。從而使得圖像修復(fù)模型不僅保留初始細(xì)節(jié)以生成更精確的圖像,而且避免了計(jì)算成本的快速增加。
模型采用U-Net的體系結(jié)構(gòu)作為算法的主干。在該體系結(jié)構(gòu)中,每個(gè)特征尺度上使用跳躍連接,從而能夠充分地保留高-中-低層次的信息。模型的網(wǎng)絡(luò)參數(shù)可以聚焦于圖像的缺失部分,而忽略已知區(qū)域。
通過(guò)構(gòu)造常數(shù)映射函數(shù)可以減少模型退化。在淺層網(wǎng)絡(luò)的頂部覆蓋一層身份映射=,可以隨著網(wǎng)絡(luò)深度的增加來(lái)表示高級(jí)特征。如何獲得常數(shù)映射是構(gòu)建深度網(wǎng)絡(luò)的關(guān)鍵。在Resnet(見(jiàn)圖2)中,常量映射函數(shù)由以下函數(shù)構(gòu)造:
圖2 Resnet網(wǎng)絡(luò)中的殘差模型
其中,x表示第-1層特征,身份映射函數(shù)可以通過(guò)學(xué)習(xí)H(x)得到。
每一個(gè)殘差塊由兩個(gè)部分組成,即:特征地圖和標(biāo)識(shí)分支。在局部殘差模型中,存在多層特征和標(biāo)識(shí)分支。其中,特征是連續(xù)序列形式,標(biāo)識(shí)分支成倍增加。當(dāng)函數(shù)的輸入維度非常高、網(wǎng)絡(luò)的層數(shù)加深時(shí),會(huì)直接導(dǎo)致模型退化。但是,通過(guò)建立層的跳躍連接,可以更加有效地傳遞特征信息,減少了網(wǎng)絡(luò)深度帶來(lái)的副作用,從而使得帶短連接的網(wǎng)絡(luò)擬合高維函數(shù)的能力比普通連接的網(wǎng)絡(luò)更強(qiáng),所以殘差網(wǎng)絡(luò)可以擬合更高維的函數(shù)。
在局部殘差模型中,每層以前饋方式接收所有先前層的殘差,即:
為了使非局部特征在整個(gè)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程中發(fā)揮作用,模型在更高的層次上提出了一種全局殘差收集方法,在全局范圍內(nèi)的殘余聚集可以描述為:
其中,表示第一層,H(x)為最外層的身份映射。與普通殘差學(xué)習(xí)相比,本模型具有更強(qiáng)的參數(shù)傳導(dǎo)性和特征學(xué)習(xí)性。
為了更加有效地提高圖像修復(fù)模型的精準(zhǔn)度,在構(gòu)造損失函數(shù)時(shí),需要考慮全局一致性和局部的細(xì)節(jié)協(xié)調(diào)性。損失網(wǎng)絡(luò)由四部分組成,即像素重建損失函數(shù)、感知損失函數(shù)、風(fēng)格損失函數(shù)和全局損失函數(shù),用于局部像素完整性(局部區(qū)域有效損失)、細(xì)節(jié)協(xié)調(diào)性(內(nèi)容相似度損失)、全局一致性(空間平滑度的總變化損失)和整體損失(補(bǔ)償損失誤差)。
在圖像修復(fù)過(guò)程中,像素重建損失函數(shù)是利用真實(shí)圖像和遮罩圖像之間的像素差異特性,從而進(jìn)一步保證圖像缺損區(qū)域的修補(bǔ)的有效性。和是遮罩、輸出圖像和真實(shí)圖像I的L1正則項(xiàng):
其中,N表示真實(shí)圖像I和遮罩的相同的像素個(gè)數(shù),遮罩是一個(gè)二進(jìn)制矩陣,其中0表示缺失像素。
為了確保圖像高級(jí)結(jié)構(gòu)的相似性,以保持全局圖像的結(jié)構(gòu)信息,需要對(duì)真實(shí)圖像相似的特征進(jìn)行表示,而不是它們之間的像素匹配。本文通過(guò)在VGG-16特征提取器中輸入生成的圖像和真實(shí)圖像來(lái)計(jì)算感知損失。通過(guò)VGG的感知損失函數(shù)可以保證解碼器生成的圖像更接近真實(shí)圖像。使用ImageNet中經(jīng)過(guò)預(yù)訓(xùn)練的VGG-16網(wǎng)絡(luò)的第1、2、3層來(lái)進(jìn)行計(jì)算。
現(xiàn)在,在中國(guó),無(wú)論是繁華都市,還是偏遠(yuǎn)山村,只要提到方便面,沒(méi)人不知道康師傅,提到茶飲料,沒(méi)人不知道康師傅冰紅茶。
風(fēng)格損失函數(shù)用于圖像風(fēng)格的一致性,通過(guò)計(jì)算VGG特征地圖自相關(guān)系數(shù)的L1正則化數(shù)值,獲得圖像整體高層風(fēng)格樣式信息,確保修復(fù)的內(nèi)容能夠符合整體圖像的風(fēng)格樣式。
其中,H、W和C分別代表第層特征地圖Ψ的高度、寬度和通道數(shù)。
全局損失函數(shù)主要對(duì)圖像進(jìn)行平滑懲罰。
其中,表示圖像缺失區(qū)域。
因此,算法通過(guò)融合像素重建損失函數(shù)、感知損失函數(shù)、風(fēng)格損失函數(shù)和全局損失函數(shù)四種損失函數(shù),輸出不再代表整個(gè)圖像,而是圖像的不同區(qū)域。這樣,每一個(gè)判別結(jié)果都代表了圖像的局部特征,對(duì)于包含不規(guī)則區(qū)域的圖形修復(fù)任務(wù)是合理的。通過(guò)四類(lèi)損失函數(shù)訓(xùn)練模型的級(jí)聯(lián)性。圖像修復(fù)的解碼器輸出,用表示。
中各項(xiàng)的系數(shù),參考文獻(xiàn)[10]中的設(shè)置。
為了測(cè)試圖像修復(fù)算法的有效性,算法分別在Places2數(shù)據(jù)集和CelebA數(shù)據(jù)集上進(jìn)行了圖像修復(fù)測(cè)試。在訓(xùn)練階段,學(xué)習(xí)率設(shè)置為0.0003。在圖像修復(fù)評(píng)價(jià)中,使用填充圖像的視覺(jué)質(zhì)量來(lái)評(píng)估算法的性能。
圖3展示圖像修復(fù)前后的對(duì)比結(jié)果。在實(shí)驗(yàn)中,分別測(cè)試了建筑、景觀、房屋、人像等場(chǎng)景。從測(cè)試結(jié)果來(lái)看,算法可以處理帶有任意形狀孔的雜項(xiàng)圖像。即使缺損區(qū)域較大,圖像修復(fù)結(jié)果看起來(lái)也很自然。
圖3 圖像修復(fù)前后對(duì)比圖
在圖像修復(fù)的結(jié)果中,第一張圖像修復(fù)效果較好,不僅還原出原始的紋理信息,并且在結(jié)構(gòu)上也沒(méi)有出現(xiàn)較明顯的扭曲,因?yàn)榻ㄖ锏恼w線條直接,都是直線型。在未缺損區(qū)域,有效地保留了建筑物的整體風(fēng)格樣式。所以,圖像修復(fù)效果較好。第二張圖像在結(jié)構(gòu)上有部分扭曲,并且細(xì)節(jié)上有模糊的像素。主要原因是從已知區(qū)域中搜索近似最近鄰塊以匹配未知區(qū)域的時(shí)候,產(chǎn)生了大量不能適配的區(qū)域,從而導(dǎo)致圖像修復(fù)結(jié)果產(chǎn)生模糊紋理和扭曲結(jié)構(gòu)。第三張圖像修復(fù)的結(jié)果失真,主要是因?yàn)樵搱D像是一個(gè)風(fēng)景建筑物,在圖像缺損區(qū)域的鄰接區(qū)域中,正好有一個(gè)門(mén)。圖像在修復(fù)過(guò)程中,過(guò)多地學(xué)習(xí)了鄰域的感知信息,從而導(dǎo)致修復(fù)結(jié)果錯(cuò)誤。第四張圖像是人像場(chǎng)景,由于人臉區(qū)域較為復(fù)雜,出現(xiàn)的缺損部分將人臉輪廓等重要信息覆蓋。算法根據(jù)前后相鄰區(qū)域塊的交替信息,對(duì)人臉外輪廓進(jìn)行了預(yù)測(cè)。但是,在眼睛等細(xì)節(jié)部分,沒(méi)有搜索到明確匹配區(qū)域塊,從而導(dǎo)致出現(xiàn)圖像模糊的情況。
本文提出了一個(gè)基于U-Net的殘差聚集網(wǎng)絡(luò)來(lái)處理圖像修復(fù)問(wèn)題。算法充分利用了殘差學(xué)習(xí),利用多級(jí)注意力模塊,通過(guò)添加級(jí)聯(lián)實(shí)現(xiàn)了不規(guī)則掩模區(qū)域的多尺度特征表示。算法將部分卷積策略和多級(jí)注意力與提出的關(guān)節(jié)損失函數(shù)相結(jié)合,以保持背景區(qū)域的全局風(fēng)格并生成精細(xì)的細(xì)節(jié),從而得到真實(shí)的結(jié)果。實(shí)驗(yàn)表明,所提出的模型在生成真實(shí)和詳細(xì)的結(jié)果方面優(yōu)于最新的方法。
圖像損失區(qū)域的邊緣信息可能會(huì)導(dǎo)致圖像修復(fù)部分遮罩或重構(gòu)的失敗。在圖像修復(fù)中,通過(guò)預(yù)測(cè)輪廓,然后修復(fù)缺失區(qū)域是一種可能的解決方案,這也是下一步將要考慮的重點(diǎn)。