李德財,嚴(yán) 群,2*,姚劍敏,2,林志賢,董澤宇
(1.福州大學(xué) 物理與信息工程學(xué)院, 福建 福州 350108;2.晉江市博感電子科技有限公司, 福建 晉江 362200)
視頻修復(fù)旨在用視頻中時空相關(guān)的內(nèi)容來填充視頻序列中的缺失區(qū)域[1]。高質(zhì)量的視頻修復(fù)對損壞的視頻修復(fù)[2-3],未損壞的對象移除[4-5],視頻重新定向[6]和曝光不足或過度的視頻修復(fù)[7]等任務(wù)具有重要意義。高質(zhì)量的視頻修復(fù)仍然面臨著許多挑戰(zhàn),例如缺乏對視頻的高度理解[8]和高度的計算復(fù)雜性。大多數(shù)現(xiàn)有的視頻修復(fù)算法[9-14]遵循傳統(tǒng)的圖像修復(fù)方式,通過將問題公式化為基于塊拼接的優(yōu)化任務(wù),通過采樣空間或空間-時間匹配來解決已知區(qū)域的最小化問題。盡管有一些好的修復(fù)結(jié)果,但這些方法不能處理復(fù)雜運(yùn)動的情況,且計算復(fù)雜度較高。
隨著深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,深度視頻修復(fù)取得了重大進(jìn)展。其中使用3D卷積和遞歸網(wǎng)絡(luò)進(jìn)行視頻修復(fù)[15-16]越來越受到人們的關(guān)注。文獻(xiàn)[6]采用循環(huán)網(wǎng)絡(luò)來確保時間的一致性。文獻(xiàn)[16]首次提出將3D和2D全卷積網(wǎng)絡(luò)相結(jié)合來學(xué)習(xí)視頻的時間信息和空間細(xì)節(jié)。Xu等人[17-18]通過聯(lián)合估計空間特征和光流來提高性能。Chang等人提出了用于自由形式視頻修復(fù)的時態(tài)SN-PatchGAN[19]和時態(tài)移位模塊[20]。于冰等人[21]提出基于時空特征的生成對抗網(wǎng)絡(luò)進(jìn)行視頻修復(fù)。這些方法通常會從附近的幀中收集信息來填充丟失的區(qū)域,但由于有限的時間感受野,在每一幀上直接應(yīng)用圖像修復(fù)算法會導(dǎo)致時間偽影和抖動。為解決上述挑戰(zhàn),目前最先進(jìn)的方法是應(yīng)用注意力模塊來捕捉長距離幀的對應(yīng)關(guān)系,從而可以使用來自遠(yuǎn)處幀的內(nèi)容來填充目標(biāo)幀中的缺失區(qū)域[22-23]。文獻(xiàn)[22]是通過對視頻幀進(jìn)行加權(quán)求和來合成缺失的內(nèi)容,并進(jìn)行逐幀關(guān)注。文獻(xiàn)[23]通過逐像素的關(guān)注,從邊界向內(nèi)逐漸填充具有相似像素的缺失區(qū)域。雖然有較好的修復(fù)結(jié)果,但由于視頻中復(fù)雜的運(yùn)動會引起明顯的外觀變化,導(dǎo)致修復(fù)幀的匹配效果較差,無法對復(fù)雜的空間信息進(jìn)行合理匹配。此外由于沒有對復(fù)雜的時間信息處理模塊進(jìn)行針對性優(yōu)化,而是對所有視頻進(jìn)行逐幀處理,導(dǎo)致修復(fù)結(jié)果的時間一致性較差,而且需要較大的計算量和較長的處理時間。
針對上述問題,該文提出了一種基于殘差網(wǎng)絡(luò)[24]的卷積注意力網(wǎng)絡(luò)(RCAN)用以視頻修復(fù)。該網(wǎng)絡(luò)以視頻所有幀作為輸入,使用自注意力機(jī)制和全局注意力機(jī)制[25]來提取所有幀的時空特征信息,進(jìn)而對所有輸入幀進(jìn)行修復(fù)。此外殘差網(wǎng)絡(luò)的引入,能夠增強(qiáng)深度網(wǎng)絡(luò)的性能,提高網(wǎng)絡(luò)對所有幀的時空特征的學(xué)習(xí)能力,同時網(wǎng)絡(luò)采用時空對抗損失函數(shù)進(jìn)行優(yōu)化,提高模型泛化能力,實(shí)現(xiàn)時空一致的視頻修復(fù)。此外網(wǎng)絡(luò)還能夠高度自由地定義層數(shù)和參數(shù)量,降低計算復(fù)雜度,減少計算資源需求,加快網(wǎng)絡(luò)訓(xùn)練速度,大幅度提高實(shí)際應(yīng)用能力。
(1)

本文提出的殘差卷積注意力網(wǎng)絡(luò),以目標(biāo)幀的相鄰幀和遠(yuǎn)距離幀即視頻所有幀作為輸入,對所有視頻輸入幀進(jìn)行修復(fù)。通過將自注意力機(jī)制和全局注意力機(jī)制引入進(jìn)殘差網(wǎng)絡(luò)中,增強(qiáng)網(wǎng)絡(luò)對所有幀的空間及時間維度信息的學(xué)習(xí)能力,保持與相鄰幀以及遠(yuǎn)距離關(guān)鍵幀的時空一致,提高視頻修復(fù)效果。


圖1 殘差卷積注意力網(wǎng)絡(luò)結(jié)構(gòu)
殘差卷積注意力模塊由輕量型多頭自注意力機(jī)制,殘差前饋網(wǎng)絡(luò)以及殘差感知單元構(gòu)成,每部分具體描述如下。
2.2.1 輕量型多頭自注意力機(jī)制
自注意力機(jī)制由自注意層構(gòu)成,在自注意層中,輸入向量通過3個不同的投影矩陣轉(zhuǎn)換為3個不同的向量,即查詢向量q、鍵向量k與值向量v,各向量的維度相同。之后將不同輸入獲得的向量合為3個不同的矩陣Q、K和V,進(jìn)行放縮點(diǎn)積計算,具體以計算過程如下:
(2)
自注意層進(jìn)一步完善,形成了多頭自注意力機(jī)制。其中多頭自注意力機(jī)制進(jìn)行了h次放縮點(diǎn)積計算,使模型能夠在不同位置聯(lián)合關(guān)注來自不同表示子空間的信息。具體處理過程如下:
MultiHead(Q,K,V)=
Concat(head1,…,headh)WO,
(3)
其中headi=Attention(Qi,Ki,Vi),Wo是線性投影矩陣。多頭自注意力機(jī)制進(jìn)行放縮點(diǎn)積計算時,會根據(jù)頭部的個數(shù)來動態(tài)調(diào)整每個頭部的維度,以保持多頭自注意力機(jī)制的總計算量與全維單頭注意力機(jī)制的計算量相當(dāng),不增加其計算量。
為減少原始自注意力模塊的計算復(fù)雜度,本文采用了分塊處理,具體結(jié)構(gòu)如圖2所示。在自注意力網(wǎng)絡(luò)中通過卷積網(wǎng)絡(luò)映射出不同的空間,將特征圖分成不同的特征塊,將每個特征塊的特征空間劃分為成不同的特征塊,之后計算當(dāng)前圖像的注意力。分塊處理即將x∈H×W×C的圖像進(jìn)行處理,變成一系列xp∈N×(P2·C)的展平的2D塊的序列[27]。這個序列共有N=HW/P2個展平的2D塊,每個塊的維度是(P2·C),其中P是塊大小,C是通道數(shù)。進(jìn)行分塊處理,可以使網(wǎng)絡(luò)更關(guān)注低層次特征,提高對低層次特征的提取能力,同時局部圖像變小,可以降低計算量,提高模型速度。

圖2 輕量型多頭自注意力機(jī)制
2.2.2 殘差前饋網(wǎng)絡(luò)及殘差感知單元
殘差網(wǎng)絡(luò)是由一系列殘差塊組成的。殘差塊的引入可以解決網(wǎng)絡(luò)退化現(xiàn)象,在增加網(wǎng)絡(luò)層數(shù)時,網(wǎng)絡(luò)不會發(fā)生退化,提高了網(wǎng)絡(luò)的性能。殘差塊的一個通用表示為:
xl+1=xl+F(xl,Wl),
(4)
其分為映射和殘差兩部分,恒等映射通過直連實(shí)現(xiàn),殘差部分通常由2~3個卷積組成。其中直連是深度殘差網(wǎng)絡(luò)中旁路的支線,可以跳過一層或多層的連接,直接將輸入連接到后面的網(wǎng)絡(luò)層,使得后面的網(wǎng)絡(luò)層可以直接學(xué)習(xí)殘差,保留了信息的完整性和有效性。這種連接方式不會增加額外的參數(shù)計算復(fù)雜度,能夠簡化學(xué)習(xí)目標(biāo)和難度,加速深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,提高深度網(wǎng)絡(luò)的性能。
本文提出的殘差前饋網(wǎng)絡(luò)在原始的前饋網(wǎng)絡(luò)基礎(chǔ)上添加殘差連接,并使用LeakyRelu作為激活函數(shù),通過改變連接方式來獲得更好的性能。具體結(jié)構(gòu)如圖3(a)所示,包含了一個擴(kuò)張層、深度卷積、投影層以及殘差連接結(jié)構(gòu)。

圖3 殘差前饋網(wǎng)絡(luò)與殘差感知單元
視覺任務(wù)中經(jīng)常使用旋轉(zhuǎn)與平移來增廣數(shù)據(jù),這些操作應(yīng)當(dāng)不能影響模型最終的結(jié)果。然而,Transformer中的絕對位置編碼會破壞該不變性。此外,Transformer忽略了塊內(nèi)的局部相關(guān)性與結(jié)構(gòu)信息。為緩解該限制,本文提出了殘差感知單元以提升局部信息,定義如下:
RPU(X)=DWConv(X)+X.
(5)
具體結(jié)構(gòu)如圖3(b)所示,由一個卷積核為1×3×3的3D卷積和一個殘差連接組成。
解碼模塊由反卷積的疊加并添加殘差連接構(gòu)成,具體結(jié)構(gòu)如圖4所示。先將殘差卷積注意力模塊的輸出進(jìn)行轉(zhuǎn)換處理,從T幀變成單幀進(jìn)行處理,然后進(jìn)行反卷積,卷積核大小為3×3,步長為1,將通道數(shù)減半,輸入幀特征比例加倍,之后進(jìn)行3×3卷積,步長為1,將通道數(shù)減半,最后進(jìn)行1×1卷積進(jìn)行投影。

圖4 解碼模塊
RCAN共包含5個解碼模塊,每個模塊通過反卷積將特征反向解碼,將輸入幀特征比例依次變?yōu)?/32,1/16,1/8,1/4,最后經(jīng)過Tanh激活函數(shù)得到完整的修復(fù)圖像。其中第2,3,4個解碼模塊與對應(yīng)的殘差卷積注意力模塊添加了殘差連接,將上一個解碼模塊的輸出與殘差卷積注意力模塊的輸出拼接在一起,然后輸入下一個解碼模塊。此外第一個解碼模塊與第五個解碼模塊的通道數(shù)有所不同,第一個解碼模塊通道數(shù)減半一次,由512降為256,而第五個解碼模塊通道數(shù)由32降為16再降為3。
選擇優(yōu)化目標(biāo)函數(shù)的原則是確保生成的視頻的像素重建精度、修復(fù)內(nèi)容的合理性及時空一致性。該文選擇像素級重建損失和時空對抗損失作為損失函數(shù)。在生成幀和原始幀之間計算L1,以此衡量每個像素的重建精度。目標(biāo)修復(fù)區(qū)域的L1表示為:
(6)
原始無空洞的有效區(qū)域的L1表示為:
(7)
由于對抗性訓(xùn)練有助于高質(zhì)量內(nèi)容生成,該文借鑒使用了T-PatchGAN(Temporal Patch-GAN)[28]作為判別器。具體來說,T-PatchGAN由6層3D卷積層組成,其可以學(xué)習(xí)區(qū)分每個時空特征的真假,以便網(wǎng)絡(luò)更好地利用真實(shí)數(shù)據(jù)的時空信息和局部到全局的感知細(xì)節(jié)進(jìn)行重建。T-PatchGAN判別器的詳細(xì)優(yōu)化函數(shù)如下:
(8)
本文在其基礎(chǔ)上進(jìn)行改進(jìn),提出了時空對抗損失函數(shù),具體計算過程如下所示:
(9)
結(jié)合兩部分的總體損失函數(shù)為:
L=λrh·Lrh+λrv·Lrv+λadv·Ladv,
(10)
其中:λrh、λrv、λadv表示兩個像素級重建損失及時空對抗損失在網(wǎng)絡(luò)總體損失函數(shù)中的比重,通過調(diào)整比重參數(shù),可以更有針對性地調(diào)整網(wǎng)絡(luò)參數(shù),提高網(wǎng)絡(luò)訓(xùn)練的靈活性和網(wǎng)絡(luò)的泛化能力。一般情況下為了平衡時空對抗損失和重建損失,將損失權(quán)重設(shè)置為λrh=0.5,λrv=0.5,λadv=0.9。
該網(wǎng)絡(luò)使用YouTube-VOS[29]數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練使用數(shù)據(jù)集原始的數(shù)據(jù)分割方式,其中訓(xùn)練視頻3 471個,驗證視頻474個,測試視頻508個。將視頻幀大小調(diào)整為384×192,然后對每個視頻幀進(jìn)行固定掩膜處理,之后對視頻幀進(jìn)行隨機(jī)旋轉(zhuǎn),提高網(wǎng)絡(luò)對視頻序列旋轉(zhuǎn)角度的魯棒性,最后將經(jīng)過處理后的視頻幀輸入到網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。
該網(wǎng)絡(luò)使用4張NVIDIA RTX2080Ti顯卡進(jìn)行訓(xùn)練,使用Adam優(yōu)化器,初始學(xué)習(xí)率為1e-4,batch size為6,步數(shù)為50萬步。此外還可以在DAVIS[30]數(shù)據(jù)集上訓(xùn)練,不過由于DAVIS數(shù)據(jù)集規(guī)模較小,一般是將在YouTube-VOS數(shù)據(jù)集上訓(xùn)練得到的模型來初始化模型,提高其訓(xùn)練速度和精度。
為了更公平合理地評估本文提出的模型,更好地與現(xiàn)有視頻修復(fù)模型進(jìn)行比較,本文采用了視頻修復(fù)中常用的DAVIS和YouTube-VOS數(shù)據(jù)集。其中DAVIS是面向?qū)嵗壏指畹臄?shù)據(jù)集,共有50個視頻,3 455幀,每個視頻序列包含一個對象或者兩個空間連接的對象。視頻中的每一幀,都擁有像素級別的精度。YouTube-VOS是迄今為止最大、最全面的視頻對象分割數(shù)據(jù)集。YouTube-VOS包含94種類別,4 453個YouTube視頻,每個視頻時長約3~6 s,平均視頻長度約為150幀,共有197 272個對象注釋,每個對象由專業(yè)注釋員手動分割。
本文使用兩種自由形式的掩膜進(jìn)行模型驗證:一種是固定掩膜,用來模擬水印去除、空洞修復(fù)等應(yīng)用;另一種是動態(tài)掩膜,用來模擬對象移除等應(yīng)用。固定掩膜是隨機(jī)生成不規(guī)則形狀的掩膜并將其應(yīng)用在整個視頻幀的固定區(qū)域,動態(tài)掩膜是同一對象掩膜應(yīng)用在整個視頻幀中;但每一幀的掩膜區(qū)域不同,一般使用數(shù)據(jù)集中標(biāo)注的對象分割標(biāo)注數(shù)據(jù)。本文使用YouTube-VOS數(shù)據(jù)集進(jìn)行固定掩膜測試,使用DAVIS數(shù)據(jù)集進(jìn)行固定掩膜和移動掩膜測試。
實(shí)驗結(jié)果分析采用峰值信噪比(PSNR)、結(jié)構(gòu)相似性(SSIM)和 FID三種評價標(biāo)準(zhǔn)。其中PSNR是基于對應(yīng)像素點(diǎn)間誤差的圖像質(zhì)量評價方法,通過均方差進(jìn)行定義。其具體計算公式如式(11)所示:
(11)


(12)
SSIM基于原始圖像x和生成圖像y之間的亮度、對比度和結(jié)構(gòu)來進(jìn)行衡量。計算公式如式(13)所示:
(13)
其中μ是均值,σ是方差,c1、c2為兩個常數(shù),避免分母為零。
FID是計算原始圖像和生成圖像的特征向量之間距離的一種度量。計算公式如式(14)所示:
FID(x,g)=‖μx-μg‖+

(14)
其中:x為原始圖像,g為生成圖像,tr表示矩陣對角線的元素之和,μ是均值,∑是協(xié)方差。FID的數(shù)值越小,表示生成圖像的多樣性和質(zhì)量越好。
為了更好地驗證RCAN模型視頻修復(fù)質(zhì)量的有效性,本文選擇將RCAN模型與4種現(xiàn)存主流模型進(jìn)行了對比。其中VINet[6]、DFVI[17]、LGTSM[31]是基于卷積神經(jīng)網(wǎng)絡(luò)或遞歸網(wǎng)絡(luò)的模型,能夠同時對所有幀進(jìn)行修復(fù),但只使用了相鄰幀沒有使用遠(yuǎn)距離幀建模。CPN[22]、OPN[23]是基于注意力的模型,對視頻逐幀修復(fù),使用了遠(yuǎn)距離幀建模,而對相鄰幀關(guān)注度不夠。本文提出的RCAN模型是在注意力的基礎(chǔ)上,使用視頻相鄰幀及遠(yuǎn)距離幀即視頻所有幀進(jìn)行建模,能夠同時對所有幀進(jìn)行修復(fù)。
本文使用YouTube-VOS測試集的508個視頻,并使用固定掩膜進(jìn)行模型驗證。該網(wǎng)絡(luò)在YouTube-VOS數(shù)據(jù)集上的視頻修復(fù)結(jié)果與其他模型結(jié)果的比較如表1所示。與其他模型相比,該模型的PSNR為30.69 dB,SSIM為0.965,F(xiàn)ID為0.059,運(yùn)行時間為每幀0.85 s,遠(yuǎn)快于DFVI和LGTSM,內(nèi)存為6 742 MB,整體性能優(yōu)于其他模型。結(jié)果表明RCAN在像素級和整體感知上都有著更好的視頻修復(fù)質(zhì)量和較快的修復(fù)速度。

表1 RCAN與現(xiàn)有網(wǎng)絡(luò)在YouTube-VOS上的修復(fù)結(jié)果對比
為了更好地驗證模型性能,實(shí)驗還比較了不同模型的視覺效果,結(jié)果如圖5所示。圖5(a)是輸入幀,圖5(b)是LGTSM模型的結(jié)果,圖5(c)是CPN模型結(jié)果,圖5(d)是本文RCAN模型結(jié)果。其中第一行和第三行中框選區(qū)域為修復(fù)區(qū)域,第二行和第四行為放大的修復(fù)結(jié)果,通過對比放大的修復(fù)結(jié)果可知,RCAN的修復(fù)質(zhì)量更好,時空結(jié)構(gòu)更一致,修復(fù)內(nèi)容更完整。實(shí)驗表明了RCAN模型在固定掩膜視頻修復(fù)中的有效性。

圖5 YouTube-VOS固定掩膜修復(fù)結(jié)果
此外為了更好地驗證網(wǎng)絡(luò)的通用性,本文還在DAVIS數(shù)據(jù)集上使用固定掩膜以及移動掩膜兩種方式進(jìn)行驗證。固定掩膜驗證結(jié)果如表2所示,PSNR為30.67 dB,SSIM為0.956,F(xiàn)ID為0.167,運(yùn)行時間為每幀0.69 s,內(nèi)存消耗為6 928 MB,整體性能優(yōu)于其他模型。數(shù)據(jù)顯示在DAVIS數(shù)據(jù)集上,本文模型取得了較高的修復(fù)精度和較快的修復(fù)速度。

表2 RCAN與現(xiàn)有網(wǎng)絡(luò)在DAVIS上的修復(fù)結(jié)果對比
使用固定掩膜及移動掩膜兩種方式的定性修復(fù)結(jié)果如圖6所示,前兩行是固定掩膜測試,后兩行是移動掩膜測試,圖6(a)是輸入幀,圖6(b)是LGTSM模型的結(jié)果,圖6(c)是CPN模型結(jié)果。圖6(d)是本文RCAN模型結(jié)果。對比發(fā)現(xiàn),本文模型結(jié)果空間結(jié)構(gòu)相似性和時間連貫性更強(qiáng),在復(fù)雜場景中也有很好的修復(fù)結(jié)果。
本文提出的RCAN模型將自注意力機(jī)制和全局注意力機(jī)制引入殘差網(wǎng)絡(luò)中,增強(qiáng)網(wǎng)絡(luò)對所有幀的空間及時間維度信息的學(xué)習(xí)能力,保持與相鄰幀以及遠(yuǎn)距離關(guān)鍵幀的時空一致,提高視頻修復(fù)效果。表3是殘差網(wǎng)絡(luò)加入注意力機(jī)制后在DAVIS數(shù)據(jù)集上的修復(fù)效果對比,修復(fù)圖像的PSNR和SSIM得到了大幅度的提升,分別提高了5.4 dB和0.04,F(xiàn)ID降低了0.075。結(jié)果表明引入注意力機(jī)制,網(wǎng)絡(luò)能夠關(guān)注到重要的特征并抑制無關(guān)的干擾特征,能夠關(guān)注到視頻所有幀的關(guān)鍵幀及相鄰幀和遠(yuǎn)距離幀的關(guān)鍵特征,從而提高了模型對所有幀的時空特征學(xué)習(xí)能力,提高了視頻修復(fù)效果。

表3 添加注意力機(jī)制修復(fù)結(jié)果對比
此外RCAN模型還可以高度自由地定義層數(shù)和參數(shù)量,通過控制殘差卷積注意力模塊的殘差層數(shù)來控制模型深度,以此來控制模型的復(fù)雜度和計算量。表4是網(wǎng)絡(luò)在不同殘差層數(shù)結(jié)構(gòu)的結(jié)果比較,數(shù)據(jù)顯示網(wǎng)絡(luò)層數(shù)越多,網(wǎng)絡(luò)的整體精度越高,但同時也提高了網(wǎng)絡(luò)的復(fù)雜度和計算量。在現(xiàn)實(shí)應(yīng)用中,可根據(jù)實(shí)際應(yīng)用情況的不同來定義和選擇網(wǎng)絡(luò)的層數(shù)和參數(shù)量,提高模型的實(shí)際應(yīng)用能力。
本文提出了一種新的用于視頻修復(fù)的殘差卷積注意力網(wǎng)絡(luò),通過將自注意力機(jī)制和全局注意力機(jī)制引入進(jìn)殘差網(wǎng)絡(luò)中,規(guī)避了卷積結(jié)構(gòu)由于其感受野而無法獲得全局信息的缺陷,并由此獲得更加強(qiáng)大的表達(dá)能力,增強(qiáng)了網(wǎng)絡(luò)對視頻輸入幀時空特征的學(xué)習(xí)能力以及泛化能力,提高了視頻修復(fù)質(zhì)量。同時結(jié)合時空對抗損失,提升修復(fù)內(nèi)容的真實(shí)性,提高了網(wǎng)絡(luò)的整體性能。此外網(wǎng)絡(luò)還能夠根據(jù)現(xiàn)實(shí)應(yīng)用中的實(shí)際情況自由地定義層數(shù)和參數(shù)量,來權(quán)衡網(wǎng)絡(luò)精度和速度,提高了模型的實(shí)際應(yīng)用能力。實(shí)驗表明,本文提出的模型在YouTube-VOS和DAVIS數(shù)據(jù)集上的修復(fù)效果明顯優(yōu)于其他模型,對比DFVI模型,平均PSNR高出2.67 dB,SSIM高出0.044,F(xiàn)ID降低了12.98%,表明了殘差卷積注意力網(wǎng)絡(luò)在視頻修復(fù)中的有效性。