茹妞妞,于晉偉,楊衛(wèi)華,卞 瑋
(太原理工大學(xué) 數(shù)學(xué)學(xué)院,太原 030000)
視頻插值技術(shù)是在序列中的實(shí)際幀之間合成中間幀,使得實(shí)際拍攝的視頻幀滿足高時(shí)間分辨率的要求。它作為計(jì)算機(jī)視覺任務(wù)的基礎(chǔ)工作,已被廣泛應(yīng)用于包括幀速率轉(zhuǎn)換、慢動(dòng)作生成和新視圖合成的各項(xiàng)衍生技術(shù)中。
在實(shí)際場(chǎng)景中,復(fù)雜運(yùn)動(dòng)、遮擋和光照變化情況下的視頻幀很難以固定方式估計(jì),而光流估計(jì)是通過光流逆向扭曲輸入幀來(lái)計(jì)算中間幀,能夠解決視頻運(yùn)動(dòng)估計(jì)準(zhǔn)確率低的問題。該方法依賴于光流估計(jì)的準(zhǔn)確性,當(dāng)估計(jì)不準(zhǔn)確時(shí),合成的中間幀容易出現(xiàn)偽影。文獻(xiàn)[1]探究光流的變化,通過計(jì)算輸入圖像中的路徑,將像素梯度沿路徑復(fù)制到插值圖像中,并進(jìn)行泊松重建。文獻(xiàn)[2]采用基于歐拉-相位方法進(jìn)行插值,但該方法僅限于動(dòng)作幅度小的運(yùn)動(dòng)。文獻(xiàn)[3]將兩個(gè)輸入幀引入到卷積神經(jīng)網(wǎng)絡(luò)中,以合成中間幀,但圖像出現(xiàn)了嚴(yán)重的模糊現(xiàn)象。文獻(xiàn)[4]構(gòu)建一種基于空間和時(shí)間上的3D 深度體素流插值模型。該模型參數(shù)量較少且模糊度低。文獻(xiàn)[5-6]提出使用空間自適應(yīng)內(nèi)核對(duì)輸入幀進(jìn)行卷積。這種模型合成的中間幀精度較高,但其按像素位的計(jì)算模式會(huì)帶來(lái)較大的參數(shù)量和運(yùn)算量,并且感受野受卷積核大小的限制。文獻(xiàn)[7]擴(kuò)展了自適應(yīng)內(nèi)核,同時(shí)估計(jì)卷積核權(quán)重和像素位置偏移量,擴(kuò)大了卷積核的感受野區(qū)域。文獻(xiàn)[8]通過雙向光流估計(jì)扭曲輸入幀,并使用深度網(wǎng)絡(luò)處理遮擋效應(yīng),但對(duì)輸入幀的質(zhì)量要求很高。文獻(xiàn)[9]將光流估計(jì)、視頻插值方法、內(nèi)容提取相結(jié)合,并檢測(cè)深度信息以處理遮擋效應(yīng)。這類模型依賴于卷積內(nèi)核的局部特征,無(wú)法處理超出矩形內(nèi)核區(qū)域中動(dòng)作幅度較大的運(yùn)動(dòng),且參數(shù)量較大使其不適用于在移動(dòng)端的部署。
本文提出基于壓縮與精化深度體素流的視頻插值模型。通過對(duì)深度體素流模型進(jìn)行預(yù)訓(xùn)練,利用稀疏壓縮技術(shù)增大權(quán)重矩陣的稀疏度,同時(shí)計(jì)算卷積權(quán)重的稀疏度并得到對(duì)應(yīng)卷積裁減后輸入輸出的通道數(shù),構(gòu)建精體素流網(wǎng)絡(luò),并對(duì)體素流進(jìn)行精細(xì)化處理,從而提高中間幀質(zhì)量。
本文模型的構(gòu)建流程分為4 個(gè)步驟:1)預(yù)訓(xùn)練深度體素流(Deep Voxel Flow,DVF)模型,使其具有較高質(zhì)量的插值效果,并確定高精度參數(shù);2)基于訓(xùn)練好的模型參數(shù),利用稀疏壓縮技術(shù)來(lái)增加權(quán)重矩陣的稀疏度,即為卷積權(quán)重設(shè)置?1損失;3)計(jì)算卷積權(quán)重的稀疏度并求得對(duì)應(yīng)卷積裁減后的輸入輸出通道數(shù);4)在裁減后的體素流上增加精體素流模型,并重新訓(xùn)練新模型。本文模型的構(gòu)建流程如圖1所示。
圖1 本文模型的構(gòu)建流程Fig.1 Construction procedure of the proposed model
本文對(duì)深度體素流模型[4]進(jìn)行預(yù)訓(xùn)練。深度體素流模型將前后輸入幀(以I0和I1表示)輸入到U-Net 網(wǎng)絡(luò)中,并輸出3D 體素流F=(Δx,Δy,Δt)。其中,Δx,Δy,Δt分別為空間兩個(gè)維度及時(shí)間維度的偏移量。利用3D 體素流F的空間分量分別定義前后輸入幀對(duì)應(yīng)的位置坐標(biāo)L0=(x-Δx,y-Δy),L1=(x+Δx,y+Δy),并將時(shí)間分量用于前后兩幀圖片的線性混合權(quán)重。在視頻插值過程中,通過歸一化雙線性插值計(jì)算兩幀圖片I0,I1對(duì)應(yīng)位置L0,L1上的像素值,并根據(jù)時(shí)間分量進(jìn)行線性插值。該過程等價(jià)于三線性插值運(yùn)算Tx,y,t合成中間幀It的估計(jì)ˉI t=Tx,y,t([I0,I1],F)。
深度體素流模型預(yù)訓(xùn)練的目的是更新參數(shù)。在模型預(yù)訓(xùn)練過程中,本文采用深度體素流模型中的參數(shù)以及對(duì)應(yīng)的損失函數(shù)進(jìn)行訓(xùn)練。當(dāng)模型性能穩(wěn)定時(shí),本文終止模型參數(shù)的更新,并保存最優(yōu)迭代時(shí)的參數(shù)用于壓縮,記預(yù)訓(xùn)練好的模型為D0。
深度體素流模型的參數(shù)主要集中在U-Net 網(wǎng)絡(luò)的卷積核中,因此,本文對(duì)其通道數(shù)進(jìn)行壓縮[10]。壓縮方法是在預(yù)訓(xùn)練模型的損失函數(shù)中增加卷積權(quán)重的?1范數(shù)稀疏與正則化損失函數(shù),解決最小化問題[11],如式(1)所示:
其中:f(·)為深度體素流模型的損失函數(shù);λ>0 為正則化系數(shù);θ為模型的參數(shù)。合理選擇正則化系數(shù)可以有效提高稀疏度。本文采用基于正交的隨機(jī)優(yōu)化算法OBPROXSG[12-13]來(lái)調(diào)節(jié)正則化系數(shù)λ,與其他求解器相比,該算法能夠有效增大稀疏度,并且小幅度地降低回歸性能[14]。在稀疏化過程中,如果稀疏度在4 個(gè)迭代周期后不再下降,則認(rèn)為稀疏度飽和并停止訓(xùn)練。
本文在獲得模型的稀疏參數(shù)解后,根據(jù)稀疏度裁減模型D0中的每層卷積參數(shù)[15]。對(duì)于最后一層卷積層ConvL,參數(shù)個(gè)數(shù)。由壓縮后的模型計(jì)算卷積權(quán)重的稀疏度sL,即零權(quán)重參數(shù)的占比,以及密度dL=1-sL,將輸入通道數(shù)裁減為。根據(jù)卷積輸入輸出通道數(shù)的前后一致原則,并且以此類推到第一層卷積。因此,壓縮步驟根據(jù)每個(gè)卷積層的密度比來(lái)裁剪內(nèi)核通道數(shù),以重新構(gòu)建一個(gè)小網(wǎng)絡(luò),并從后到前進(jìn)行。在壓縮過程中,模型中間幀的質(zhì)量隨著總體密度的變化情況如圖2 所示,折線上方為峰值信噪比(Peak Signal-to-Noise Ratio,PSNR),下方為密度率。從圖2 可以看出,隨著密度率的降低,合成質(zhì)量會(huì)有小幅的降低,表明稀疏度的提高不會(huì)對(duì)模型的合成質(zhì)量產(chǎn)生顯著影響。
圖2 合成質(zhì)量隨稀疏度的變化曲線Fig.2 Variation curve of synthetic quality with sparsity
模型參數(shù)壓縮能夠有效減少模型參數(shù)量和訓(xùn)練成本。而深度體素流模型難以保留圖像的邊緣細(xì)節(jié)信息,其原因?yàn)閮H通過一個(gè)U-Net[16]網(wǎng)絡(luò)計(jì)算體素流,未充分捕獲運(yùn)動(dòng)的邊緣信息。為解決該問題,本文提出由粗到精的體素流網(wǎng)絡(luò),通過對(duì)體素流進(jìn)行精細(xì)化處理,以提升模型對(duì)邊緣信息的捕獲能力,從而提高中間幀的質(zhì)量。
精化深度體素流模型架構(gòu)如圖3 所示,包括粗體素流網(wǎng)絡(luò)、粗信息拼接、精體素流網(wǎng)絡(luò)3 個(gè)部分。網(wǎng)絡(luò)以前后兩幀作為輸入,通過兩層U-Net 網(wǎng)絡(luò)逐步提取精體素流,最后由精體素流插值合成中間幀。
圖3 精化深度體素流模型架構(gòu)Fig.3 Architecture of refined deep voxel flow model
1.4.1 粗體素流網(wǎng)絡(luò)
粗體素流網(wǎng)絡(luò)取自裁剪卷積通道參數(shù)后深度體素流模型中的U-Net 網(wǎng)絡(luò),具有較少的參數(shù)量和提取體素流的能力。U-Net網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示,具體參數(shù)設(shè)置如表1 所示。
圖4 U-Net 網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 U-Net network structure
表1 U-Net 網(wǎng)絡(luò)參數(shù)設(shè)置Table 1 Parameter settings of U-Net network
U-Net 網(wǎng)絡(luò)是一個(gè)U 型結(jié)構(gòu)的編碼器-解碼器卷積網(wǎng)絡(luò)。編碼器采用金字塔模型對(duì)輸入圖片進(jìn)行下采樣,解碼器同樣采用金字塔模型進(jìn)行上采樣,并在編碼器和解碼器的對(duì)應(yīng)層中添加跳躍連接。U-Net 網(wǎng)絡(luò)的最后一層是tanh 函數(shù),將體素流F的三個(gè)成分規(guī)范化到-1~1,便于三線性插值處理。本文選取最大池化進(jìn)行雙線性上采樣,以避免產(chǎn)生棋盤狀偽影。模型的前后輸入幀經(jīng)過粗體素流U-Net 網(wǎng)絡(luò)得到初步的體素流,并將其稱為粗體素流F′。粗體素流F′將在之后模型中進(jìn)行修正,得到精體素流。
在得到粗體素流后,本文采用深體素流模型的三線性插值方法合成粗中間幀。其目的在于為精化體素流網(wǎng)絡(luò)提供訓(xùn)練的原材料。與文獻(xiàn)[8]的方法不同,本文未選取在前后兩幀上的雙線性插值圖像作為訓(xùn)練原材料,其原因?yàn)橐韵? 個(gè)方面:1)粗中間幀使用了空間偏移量,具有約束體素流中空間成分的可能性;2)粗中間幀可通過均方誤差確保初步生成質(zhì)量;3)輸入精體素流網(wǎng)絡(luò)的維度(3 維)低于采用兩張插值圖片的維度(6 維),能夠減少后續(xù)卷積層輸入的通道數(shù)和參數(shù)量。
1.4.2 粗信息拼接
粗信息拼接的作用是整合粗粒度信息,并將其作為精提取的材料。這是由于精體素流網(wǎng)絡(luò)需要額外的輸入信息修正粗體素流,以捕獲邊緣信息。本文在通道維度上拼接前后輸入幀、粗插值幀和粗體素流,以拼接后的信息作為精體素流網(wǎng)絡(luò)的輸入。粗體素流將調(diào)整前后輸入幀與粗中間幀的邊緣信息差異[17-18],至此,完成了體素流的粗
提取流程。
1.4.3 精體素流網(wǎng)絡(luò)
精體素流網(wǎng)絡(luò)用于處理粗信息拼接后的材料,并修正獲得精體素流。精體素流網(wǎng)絡(luò)采用與粗體素流網(wǎng)絡(luò)中卷積通道數(shù)相同的U-Net 網(wǎng)絡(luò),但不共享卷積權(quán)重參數(shù)。這樣的選取不會(huì)大幅增加模型的參數(shù)量,使得模型具有輕量級(jí)。此外,在精體素流網(wǎng)絡(luò)的編碼器中,在第一個(gè)卷積層中使用7×7 卷積核,其余部分和解碼器的超參數(shù)設(shè)置與粗體素流網(wǎng)絡(luò)相同。
在精體素流網(wǎng)絡(luò)中,粗體素流捕獲前后輸入幀與粗插值幀的差異,并調(diào)整運(yùn)動(dòng)的邊緣細(xì)節(jié)信息[19]。精體素流網(wǎng)絡(luò)輸出粗體素流的修正ζ,即增加跳躍連接[20]使得,以提高模型精度。基于精體素流對(duì)前后輸入幀進(jìn)行三線性插值,以得到精中間幀。
本文構(gòu)建完成精化體素流網(wǎng)絡(luò)后,重新開始訓(xùn)練模型,給定前后輸入幀I0和I1,以及真實(shí)中間幀It。本文選取的損失函數(shù)l是四項(xiàng)的線性組合,如式(2)所示:
重構(gòu)損失lr模擬合成中間幀的重建度,如式(3)所示:
這種重建損失定義在RGB 空間中,其中像素值在[0,255]范圍內(nèi)浮動(dòng)。
粗重構(gòu)損失λr'約束粗體素流的網(wǎng)絡(luò)重構(gòu)效果,確保粗體素流空間、時(shí)間成分的正確性以及初步的重構(gòu)效果。粗重構(gòu)損失λr'如式(4)所示:
感知損失lp保持預(yù)測(cè)幀的細(xì)節(jié)信息和銳度,緩解合成的中間幀模糊現(xiàn)象的發(fā)生。感知損失lp如式(5)所示:
其中:?(·)為ImageNet 預(yù)訓(xùn)練VGG16 模型的Conv4_3的特征。
平滑損失ls均化相鄰體素流的變化率,使得相鄰像素具有相似的體素流值。平滑損失ls如式(6)所示:
權(quán)重依據(jù)經(jīng)驗(yàn)設(shè)置為λr=102,λr'=51,λp=0.05,λs=0.1。其中λr/λr′=2,使得網(wǎng)絡(luò)訓(xùn)練能夠降低重建損失,以達(dá)到精化體素流的目的。
Vimeo 90K[21]是一個(gè)大規(guī)模、高質(zhì)量的視頻數(shù)據(jù)集。該數(shù)據(jù)集包含從vimeo.com 下載的89 800 個(gè)視頻剪輯,其中涵蓋各種場(chǎng)景和動(dòng)作,并廣泛應(yīng)用于時(shí)間幀插值、視頻去噪、視頻解塊和視頻超分辨率重建領(lǐng)域中。
UCF101[22]數(shù)據(jù)集是由中央佛羅里達(dá)大學(xué)提供的開源數(shù)據(jù)集。數(shù)據(jù)集采集自YouTube 網(wǎng)站,每個(gè)視頻時(shí)長(zhǎng)不等,主要包括人與物體交互、單純的肢體動(dòng)作、人與人交互、演奏樂器、體育運(yùn)動(dòng)五大類動(dòng)作。
本文選用Vimeo 90K 數(shù)據(jù)集進(jìn)行模型預(yù)訓(xùn)練與訓(xùn)練,并在Vimeo 90K 和UCF101 數(shù)據(jù)集上進(jìn)行測(cè)試。訓(xùn)練集與測(cè)試集劃分比例為7∶3,并從UCF101數(shù)據(jù)集中隨機(jī)選取1 000 組數(shù)據(jù)進(jìn)行測(cè)試。所有圖像的尺寸均剪切為256×256 像素。在訓(xùn)練前,本文對(duì)數(shù)據(jù)集中的圖像隨機(jī)進(jìn)行數(shù)據(jù)增強(qiáng),包括翻轉(zhuǎn)、剪切、旋轉(zhuǎn)、模糊和平移。
本文實(shí)驗(yàn)操作系統(tǒng)環(huán)境為Ubuntu20.04.2 LTS,CPU 型號(hào)為Inter?Core ?i9-190900K,GPU 型號(hào)為NVIDIA GeForce RTX 3090,GPU 軟件加速環(huán)境為CUDA11.1 和CUDNN8.05,并通過Pytorch 框架及Python3.7 編程語(yǔ)言實(shí)現(xiàn)。
本文采用SDG 優(yōu)化算法訓(xùn)練網(wǎng)絡(luò),學(xué)習(xí)率初始設(shè)置為0.001。學(xué)習(xí)率調(diào)整策略采用階梯法,共設(shè)置400 個(gè)迭代次數(shù)epoch,下降間隔設(shè)置為100,學(xué)習(xí)率調(diào)整倍數(shù)γ設(shè)置為0.1。
本文選取的基準(zhǔn)深度學(xué)習(xí)模型主要有以下4 個(gè):1)SepConv 模型,采用2 個(gè)1D 卷積核擬合1 個(gè)2D 卷積核的方式計(jì)算每一個(gè)像素的2D 卷積核,以合成中間幀;2)DVF 模型,通過卷積神經(jīng)網(wǎng)絡(luò)計(jì)算體素流,同時(shí)進(jìn)行三次線性插值得到中間幀;3)Super SloMo 模型,采用2 個(gè)U-Net 網(wǎng)絡(luò)計(jì)算雙向光流及遮擋掩碼插值,以合成中間幀;4)CDFI 模型,在自適應(yīng)卷積AdaCoF 基礎(chǔ)上引入多尺度特征來(lái)改善合成的中間幀效果。
本文通過參數(shù)量來(lái)對(duì)比模型的復(fù)雜度,并使用PSNR 和結(jié)構(gòu)相似性(Structural Similarity,SSIM)評(píng)估合成幀質(zhì)量。兩類指標(biāo)越高,合成質(zhì)量越好。PSNR 的計(jì)算如式(7)所示:
其中:n為每一個(gè)像素的比特值,取值為8;MMSE為圖像X和Y的均方誤差。MMSE如式(8)所示:
其中:W和H分別為圖像的寬和高。
SSIM 的計(jì)算如式(9)所示:
其中:μX(或μY)、σX(或σY)、σX2(或σY2)和σXY分別為圖像X或Y的期望值、標(biāo)準(zhǔn)差、方差和協(xié)方差;C1、C2和C3為常數(shù)。
2.5.1 定量評(píng)估
不同模型的評(píng)價(jià)指標(biāo)如表2 所示。相比深度體素流模型(DVF),本文模型在UCF101 數(shù)據(jù)集上PSNR 和SSIM 分別提高1.04 dB 和0.004。因此,本文模型在參數(shù)量小幅增加的條件下能夠有效提高合成精度。在Vimeo 90K 數(shù)據(jù)集上,本文模型的PSNR、SSIM 與DVF 模型相比分別提高2.14 dB 和0.026,表明粗體素流的修正能夠有效提高合成精度。相比SepConv、Super SloMo 模型,本文模型的評(píng)價(jià)指標(biāo)均最優(yōu)。雖然本文模型的PSNR 略低于
表2 不同模型的評(píng)價(jià)指標(biāo)對(duì)比Table 2 Evaluation indexs comparison among different models
CDFI 模型,但是本文模型具有較少的參數(shù)量。
2.5.2 定性評(píng)估
為了定性觀察合成中間幀的質(zhì)量,不同模型的中間幀視覺對(duì)比如圖5 所示,第二行是5 種模型在方框區(qū)域內(nèi)的局部放大圖。從圖5 可以看出,SepConv模型中間幀的右上方白點(diǎn)較模糊;Super SloMo、DVF、CDFI 模型的中間幀在前弓處均有不同程度的模糊現(xiàn)象和結(jié)構(gòu)缺失;本文模型不壓縮時(shí)合成的中間幀合成的中間幀會(huì)出現(xiàn)嚴(yán)重的抖動(dòng)現(xiàn)象。
圖5 不同模型的中間幀視覺效果對(duì)比Fig.5 Intermediate frame visual effect comparison among different models
本文提出一種壓縮驅(qū)動(dòng)的精化體素流視頻插值模型,以解決邊緣細(xì)節(jié)信息提取不充分、精度較低的問題。利用精體素流網(wǎng)絡(luò)學(xué)習(xí)前后輸入幀、粗插值幀、粗體素流的信息差異,以精化體素流,通過參數(shù)壓縮技術(shù)裁減卷積層的通道數(shù),在不增加參數(shù)量的同時(shí)以充分捕獲視頻的邊緣信息。實(shí)驗(yàn)結(jié)果表明,相比DVF、SepConv、CDFI 等模型,本文模型能有效提高合成的中間幀質(zhì)量。下一步將通過結(jié)構(gòu)重參數(shù)化技術(shù)改進(jìn)本文模型,在保證輕量級(jí)的前提下,使其適用于多幀同時(shí)合成的場(chǎng)景。