陳海紅
(永州職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,湖南 永州 425100)
隨著高性能高清顯示設(shè)備的發(fā)展,人們對(duì)高質(zhì)量?jī)?nèi)容的需求也在增長(zhǎng)。目前大多數(shù)的視頻圖像內(nèi)容都是低質(zhì)量的,在高清設(shè)備上渲染較低分辨率的內(nèi)容會(huì)降低用戶體驗(yàn)。[1~2]因此,如何提高視頻分辨率以實(shí)現(xiàn)高清設(shè)備的顯示需求是一個(gè)重要的研究課題。視頻質(zhì)量的改善不僅需要提高空間分辨率,同時(shí)也需要提高時(shí)間維度上的分辨率,大多數(shù)現(xiàn)有方法已經(jīng)分別解決了視頻空間超分辨率(VSR)和時(shí)間視頻超分辨率(TSR)問(wèn)題。而實(shí)現(xiàn)時(shí)空視頻超分辨率的一個(gè)有效方案就是級(jí)聯(lián)VSR模型和TSR模型,以從低分辨率、低幀率視頻生成高分辨率、高幀率視頻。然而,這種方法沒(méi)有充分利用可用的時(shí)空信息,因此無(wú)法達(dá)到較好的效果。對(duì)此,有研究者研究了聯(lián)合時(shí)空視頻超分辨率的問(wèn)題。然而,這些方法需要大量的低分辨率、高幀率數(shù)據(jù)集,并假設(shè)了從高幀率的視頻幀中獲取低幀率的視頻幀的下采樣內(nèi)核是已知且固定的。本文利用元遷移學(xué)習(xí)技術(shù),提出了一種新穎的超分辨率視頻重構(gòu)算法,旨在從低分辨率、低幀率視頻生成高分辨率、高幀率視頻。
對(duì)于低分辨率、低幀率的視頻,我們的目標(biāo)是在盲超分辨率設(shè)置中生成高分辨率、高幀率視頻,同時(shí)在測(cè)試時(shí)降尺度內(nèi)核是未知的。用VLR=[L1,...,LL]表示低分辨率、低幀率視頻,用VHR=[S1,...,SN]表示高分辨率、高幀率視頻。本目標(biāo)是將給定輸入視頻VLR的空間分辨率提高a倍,將時(shí)間分辨率提高b倍。本算法的框架如圖1所示。
圖1 算法框架
在大規(guī)模的預(yù)訓(xùn)練中,使用高質(zhì)量的外部數(shù)據(jù)集DHR為元遷移學(xué)習(xí)提供warm start。由于具有不同降采樣內(nèi)核的超分辨率任務(wù)擁有相似的參數(shù)空間,大規(guī)模的訓(xùn)練有助于估計(jì)高分辨率、高幀率視頻的natural priori。大規(guī)模的預(yù)訓(xùn)練也有利于穩(wěn)定元學(xué)習(xí)算法MAML的訓(xùn)練過(guò)程。[3]外部學(xué)習(xí)的算法如算法1所示。
算法1外部學(xué)習(xí)
1:初始化參數(shù)θ,φ;
2:生成數(shù)據(jù)集Ds;
3:Loop until done:
4:從Ds中采樣;
5:使用式(1)計(jì)算損失;
6:更新φ;
7:從Dt采樣;
8:使用式(2)計(jì)算損失;
9:更換θ;
10:Loop until done:
11:從Dtr、Dte采樣
12:For each Tido
13:使用式(4)計(jì)算損失;
14:根據(jù)式(5)(6)更新參數(shù);
15:更新參數(shù)φ、θ;
16:根據(jù)式(8)(9)更新參數(shù);
對(duì)于SSR模塊,針對(duì)HR-HFR視頻VHR使用bicubic spatial degradation來(lái)獲得低分辨率、高幀率視頻LR-HFR。視頻VHR和形成合成數(shù)據(jù)集Ds。通過(guò)訓(xùn)練網(wǎng)絡(luò)Sφ進(jìn)行空間超分辨率任務(wù),以實(shí)現(xiàn)視頻幀和響應(yīng)真實(shí)視頻VHR幀之間l1重構(gòu)損失的最小化。網(wǎng)絡(luò)Sφ進(jìn)行大規(guī)模訓(xùn)練的目標(biāo)函數(shù)為:
TSR模塊用于增加低幀率視頻的幀率。通過(guò)對(duì)幀進(jìn)行插值,可以將幀率變?yōu)樵瓉?lái)的2倍。但是,這種方法無(wú)法很好地捕捉時(shí)間的動(dòng)態(tài)性。對(duì)此,借助時(shí)間維度中的patch recurrence來(lái)進(jìn)行TSR模塊Fθ的網(wǎng)絡(luò)訓(xùn)練。定義一個(gè)時(shí)間profile生成器函數(shù)fr,該函數(shù)將視頻作為輸入,在時(shí)間維度中進(jìn)行bi-cubic interpolation,并返回時(shí)間profile。選擇了高幀率視頻的alternate幀來(lái)生成低幀率視頻。然后使用函數(shù)fr來(lái)生成時(shí)間profileV′LR。將數(shù)據(jù)VˉLR和V′LR作為訓(xùn)練TSR模塊的數(shù)據(jù)集Dt。
TSR模塊的損失函數(shù)被定義為:
動(dòng)態(tài)任務(wù)生成器(DTG)使用diverse degradation設(shè)置為即時(shí)元訓(xùn)練生成任務(wù)。任務(wù)Ti是指空間下采樣內(nèi)核和時(shí)間sub-sampling。隨機(jī)選擇使用函數(shù)fs的anisotropic Gaussian內(nèi)核進(jìn)行4倍空間下采樣,而使用函數(shù)ft進(jìn)行時(shí)間子采樣。
在元遷移學(xué)習(xí)的過(guò)程中,需要找到一組可遷移的初始化參數(shù),使我們僅需要少量的迭代步數(shù)就可以將模型用于視頻,以此實(shí)現(xiàn)較大的性能增益。對(duì)于時(shí)空視頻超分辨率,使用元遷移學(xué)習(xí)策略來(lái)學(xué)習(xí)自適應(yīng)的權(quán)重。使用外部數(shù)據(jù)集來(lái)進(jìn)行元學(xué)習(xí),并在元測(cè)試中使用內(nèi)部學(xué)習(xí)。
在MAML元學(xué)習(xí)算法中,元學(xué)習(xí)器嘗試在一個(gè)或多個(gè)梯度下降步中學(xué)習(xí)task-specific的最優(yōu)參數(shù)。給定外部數(shù)據(jù)集DHR,獲得一個(gè)由VLR、Vs和Vts組成的元任務(wù)訓(xùn)練批次Dtr。訓(xùn)練TSR模型Fθ來(lái)產(chǎn)生視頻,該視頻的時(shí)間分辨率是輸入視頻的兩倍。SSR模型Fφ將TSR模型的輸出作為輸入,并重構(gòu)低分辨率低幀率視頻V^LR。這兩個(gè)模型的輸出為:
優(yōu)化上述兩個(gè)網(wǎng)絡(luò)以在每次迭代ni中增加視頻的分辨率。Task-specific訓(xùn)練的損失函數(shù)如下所示:
對(duì)于一個(gè)梯度更新,新獲得的自適應(yīng)參數(shù)θi和φi如下:
其中,α是學(xué)習(xí)率。
盲任務(wù)適應(yīng)將模型的參數(shù)用于新的任務(wù)。元測(cè)試批次Dte是從DHR中采樣得到的,Dte是由VHR、和VLR組成的。為了將模型用于新任務(wù)Ti,模型參數(shù)θ和φ將被優(yōu)化來(lái)獲得最小測(cè)試誤差。盲任務(wù)適應(yīng)的目標(biāo)是:
上述優(yōu)化的參數(shù)更新規(guī)則如下所示:
其中,β是學(xué)習(xí)率。
算法2是本算法的內(nèi)部學(xué)習(xí)和推斷步驟。給定一個(gè)低分辨率、低幀率的視頻,在空間上使用內(nèi)核估計(jì)算法進(jìn)行采樣,[4]并從低分辨率、低幀率視頻中選擇alternate幀來(lái)生成VI。接下來(lái),將VI作為輸入進(jìn)行梯度更新。這樣一來(lái),可以學(xué)習(xí)到給定視頻的internal statistics,用于在推斷步驟中生成高分辨率、高幀率的視頻。內(nèi)部學(xué)習(xí)的目標(biāo)函數(shù)是:然后,使用該經(jīng)過(guò)內(nèi)部學(xué)習(xí)訓(xùn)練出來(lái)的模型進(jìn)行推斷。該模型的輸入是VLR,輸出是V^HR。
算法2內(nèi)部學(xué)習(xí)
1:生成下采樣視頻VI;
2:For each step do
3:使用式(10)計(jì)算損失;
4:更新參數(shù)φ、θ
1.使用公共數(shù)據(jù)集Vimeo-90K[5]和Vid64[6]來(lái)評(píng)估本算法。Vimeo-90K數(shù)據(jù)集含有91 707個(gè)短視頻,每個(gè)視頻有7個(gè)幀,每一幀的空間分辨率為448×256,使用該數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練和元學(xué)習(xí)。Vid64數(shù)據(jù)集包含有4個(gè)視頻序列,每個(gè)視頻序列包含有30個(gè)幀,空間分辨率為720×480。
在PyTorch上實(shí)現(xiàn)了本算法。訓(xùn)練的批大小是32,使用ADAM優(yōu)化器作為元遷移學(xué)習(xí)中的元優(yōu)化器。Task-specific學(xué)習(xí)率α是0.01,適應(yīng)學(xué)習(xí)率β是0.000 1。Task-specific訓(xùn)練的迭代次數(shù)為10次,內(nèi)部學(xué)習(xí)的學(xué)習(xí)率γ是0.000 1。
將本算法與SConvIMDN、DAINIMDN、SConvSAN、DAINSAN、ZSM[7]和TempPro[8]進(jìn)行對(duì)比,對(duì)比結(jié)果如表1所示。由結(jié)果可知,本算法的性能遠(yuǎn)遠(yuǎn)優(yōu)于兩階段的算法(即SConvIMDN、DAINIMDN、SConvSAN、DAINSAN),而與ZSM和TempPro相比,本算法也略有優(yōu)勢(shì)。
表1 實(shí)驗(yàn)結(jié)果對(duì)比
考察算法的平均推斷時(shí)間結(jié)果如圖2所示。本算法可以以自適應(yīng)的方式學(xué)習(xí)權(quán)重,能夠很好地適應(yīng)新任務(wù),并在內(nèi)部學(xué)習(xí)階段中僅需要進(jìn)行少量的梯度更新。因此,本算法具有最少的推斷時(shí)間。
圖2 推斷時(shí)間對(duì)比
2.探討TSR模塊和SSR模塊大規(guī)模訓(xùn)練所帶來(lái)的好處。場(chǎng)景1是僅使用大規(guī)模訓(xùn)練所得到的預(yù)訓(xùn)練權(quán)重對(duì)SSR模塊進(jìn)行初始化,TSR模塊則進(jìn)行隨機(jī)初始化。場(chǎng)景2是僅使用大規(guī)模訓(xùn)練所得到的預(yù)訓(xùn)練權(quán)重對(duì)TSR模塊進(jìn)行初始化,SSR模塊則進(jìn)行隨機(jī)初始化。場(chǎng)景3是TSR模塊和SSR模塊均使用大規(guī)模訓(xùn)練所得到的預(yù)訓(xùn)練權(quán)重進(jìn)行初始化。實(shí)驗(yàn)結(jié)果如表2所示。由結(jié)果可知,僅在TSR模塊或SSR模塊使用預(yù)訓(xùn)練權(quán)重都會(huì)降低本算法的性能。由此可知,大規(guī)模訓(xùn)練對(duì)本算法性能的提高是很重要的。
表2 大規(guī)模訓(xùn)練對(duì)算法的響應(yīng)
本研究提出了一個(gè)高分辨率視頻重構(gòu)算法,該算法結(jié)合外部和內(nèi)部學(xué)習(xí)來(lái)實(shí)現(xiàn)超分辨率。外部學(xué)習(xí)使用元學(xué)習(xí)來(lái)學(xué)習(xí)自適應(yīng)的網(wǎng)絡(luò)參數(shù),內(nèi)部學(xué)習(xí)能捕捉下采樣和degradation的底層統(tǒng)計(jì)特征。所提出的算法不僅具有較優(yōu)秀的性能,還可以適應(yīng)未知的測(cè)試模型。本文在通用數(shù)據(jù)集上進(jìn)行評(píng)估實(shí)驗(yàn),并將該算法與現(xiàn)有的算法進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,該算法能夠有效地提高重構(gòu)視頻的信噪比,能維持視頻的結(jié)構(gòu)并提高視頻的質(zhì)量。同時(shí),該算法還極大地縮短了計(jì)算時(shí)間。