本發(fā)明屬于計(jì)算機(jī)視覺(jué)技術(shù)領(lǐng)域,更具體地,涉及一種基于深度學(xué)習(xí)的高幀率視頻生成方法及系統(tǒng)。
背景技術(shù):
隨著科技的發(fā)展,人們獲取視頻的方式越來(lái)越便捷,然而由于硬件的原因,大部分視頻都是非專業(yè)設(shè)備采集到的,幀率一般只有24fps-30fps。高幀率的視頻具有極高的流暢度,可以給人們帶來(lái)更好的視覺(jué)體驗(yàn)。如果人們直接將高幀率的視頻上傳到網(wǎng)上,由于流量消耗增大,人們的成本也隨著增加。如果直接上傳輸?shù)蛶实囊曨l,由于網(wǎng)絡(luò)線路的原因,視頻在傳輸?shù)倪^(guò)程中難免存在丟幀的問(wèn)題,視頻越大越容易出現(xiàn)這種現(xiàn)象,使得遠(yuǎn)端的視頻質(zhì)量不能得到有效的保證,這極大地影響了人們的體驗(yàn)。因此有必要在遠(yuǎn)端采用合理的處理方式對(duì)人們上傳的視頻進(jìn)行后續(xù)處理,使得視頻的質(zhì)量能滿足人們的需求甚至進(jìn)一步提升人們的體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于深度學(xué)習(xí)的高幀率視頻生成方法,其目的在于將低幀率的視頻轉(zhuǎn)換為高幀率的視頻,由此解決由于低幀率視頻在網(wǎng)路傳輸過(guò)程中的丟幀而造成視頻質(zhì)量下降給人們的體驗(yàn)帶來(lái)影響的技術(shù)問(wèn)題。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于深度學(xué)習(xí)的高幀率視頻生成方法,包括以下步驟:
(1)利用一個(gè)或多個(gè)原始高幀率視頻片段生成訓(xùn)練樣本集,所述訓(xùn)練樣本集中包括多個(gè)視頻幀子集合,所述每個(gè)視頻幀子集合中包含兩張訓(xùn)練幀和一張對(duì)照幀,所述兩張訓(xùn)練幀為高幀率視頻片段中間隔一幀或多幀的兩張視頻幀,所述對(duì)照幀為所述兩張訓(xùn)練幀中間間隔的任意一幀;所述高幀率視頻片段的幀率高于設(shè)定幀率閾值;
(2)利用所述訓(xùn)練樣本集中的多個(gè)視頻幀子集合訓(xùn)練雙通道卷積神經(jīng)網(wǎng)絡(luò)模型,以獲得優(yōu)化后雙通道卷積神經(jīng)網(wǎng)絡(luò);其中,所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型為由兩個(gè)卷積通道融合而成的卷積神經(jīng)網(wǎng)絡(luò),兩個(gè)卷積通道分別用于輸入視頻幀子集合中的兩張視頻幀并分別對(duì)輸入的視頻幀進(jìn)行卷積,雙通道卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)兩個(gè)卷積通道的卷積結(jié)果進(jìn)行融合并輸出為預(yù)測(cè)幀,根據(jù)所述預(yù)測(cè)幀與所述視頻幀子集合中的對(duì)照幀回歸訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型;
(3)利用所述優(yōu)化后雙通道卷積神經(jīng)網(wǎng)絡(luò),根據(jù)低幀率視頻中的任意相鄰兩視頻幀生成這兩視頻幀的插入幀,從而生成幀率高于所述低幀率視頻的視頻。
本發(fā)明的一個(gè)實(shí)施例中,所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型中的每個(gè)卷積通道包括k個(gè)卷積層,其中k>0,每個(gè)卷積層的數(shù)學(xué)描述為:
Zi(Y)=Wi*Fi-1(Y)+Bi
其中i表示卷積層的層數(shù),輸入視頻幀為第0層,*代表卷積操作,F(xiàn)i-1表示第i-1層的輸出,Zi(Y)表示第i層卷積操作后的輸出,Wi為第i層的卷積核參數(shù),Bi為第i層的偏置參數(shù)。
本發(fā)明的一個(gè)實(shí)施例中,在所述卷積通道中,在前k-1個(gè)卷積層之后分別接有一個(gè)ReLU的激活層以保持網(wǎng)絡(luò)的稀疏性,其數(shù)學(xué)描述為:
Fi(Y)=max(0,Zi)。
本發(fā)明的一個(gè)實(shí)施例中,在所述兩張視頻幀經(jīng)過(guò)最后一個(gè)卷積層之后得到的特征響應(yīng)圖采用對(duì)應(yīng)位置值相加的方式進(jìn)行融合。
本發(fā)明的一個(gè)實(shí)施例中,在所述融合操作得到特征響應(yīng)圖之后接一個(gè)Sigmoid激活層以將圖片的像素值映射到0-1之間,其數(shù)學(xué)描述為:
本發(fā)明的一個(gè)實(shí)施例中,采用均值為0,標(biāo)準(zhǔn)差為1的高斯分布初始化卷積核參數(shù),偏置初始化為0,基準(zhǔn)學(xué)習(xí)速率初始化為1e-6,迭代m個(gè)周期后基準(zhǔn)學(xué)習(xí)速率縮小10倍,其中m為預(yù)設(shè)值。
本發(fā)明的一個(gè)實(shí)施例中,根據(jù)所述預(yù)測(cè)幀與所述視頻幀子集合中的對(duì)照幀回歸訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型,具體為:
利用預(yù)測(cè)幀與對(duì)照幀之間的誤差,采用誤差反向傳播算法來(lái)訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò);其中采用最小平方誤差為我們的優(yōu)化函數(shù),其數(shù)學(xué)描述為:
其中i表示第i張樣本圖片,n表示樣本訓(xùn)練集的數(shù)量,Yi表示網(wǎng)絡(luò)預(yù)測(cè)的視頻幀,表示相應(yīng)視頻幀的真實(shí)值。
本發(fā)明的一個(gè)實(shí)施例中,所述k取值為3;第一個(gè)卷積層有64個(gè)9*9的卷積核,步長(zhǎng)為1個(gè)像素,填充值為4,填充值是指在特征圖周邊補(bǔ)零的圈數(shù);第二個(gè)卷積層有32個(gè)1*1的卷積核,步長(zhǎng)為1個(gè)像素,填充值為0;第三個(gè)卷積層有3個(gè)5*5的卷積核,步長(zhǎng)為1,填充值為2。
按照本發(fā)明的另一方面,還提供了一種基于深度學(xué)習(xí)的高幀率視頻生成系統(tǒng),包括訓(xùn)練樣本集生成模塊、雙通道卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化模塊以及高幀率視頻生成模塊,其中:
所述訓(xùn)練樣本集生成模塊,用于利用一個(gè)或多個(gè)高幀率視頻片段生成訓(xùn)練樣本集,所述訓(xùn)練樣本集中包括多個(gè)視頻幀子集合,所述每個(gè)視頻幀子集合中包含兩張訓(xùn)練幀和一張對(duì)照幀,所述兩張訓(xùn)練幀為高幀率視頻片段中間隔一幀或多幀的兩張視頻幀,所述對(duì)照幀為所述兩張訓(xùn)練幀的中間間隔的任意一幀;所述高幀率視頻片段的幀率高于設(shè)定幀率閾值;
所述雙通道卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化模塊,用于利用所述訓(xùn)練樣本集中的多個(gè)視頻幀子集合訓(xùn)練雙通道卷積神經(jīng)網(wǎng)絡(luò)模型,獲得優(yōu)化后雙通道卷積神經(jīng)網(wǎng)絡(luò);其中,所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型為兩個(gè)通道融合的卷積神經(jīng)網(wǎng)絡(luò),兩個(gè)通道分別用于輸入所述視頻幀子集合中的兩張視頻幀并對(duì)輸入的視頻幀分別進(jìn)行卷積,雙通道卷積神經(jīng)網(wǎng)絡(luò)模型的對(duì)兩個(gè)通道卷積的結(jié)果進(jìn)行融合并輸出為預(yù)測(cè)幀,根據(jù)所述預(yù)測(cè)幀與所述視頻幀子集合中的對(duì)照幀回歸訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型;
所述高幀率視頻生成模塊,用于利用所述優(yōu)化后雙通道卷積神經(jīng)網(wǎng)絡(luò),根據(jù)低幀率視頻中的任意相鄰兩視頻幀生成這兩視頻幀的插入幀,從而生成幀率高于所述低幀率視頻的視頻。
本發(fā)明的一個(gè)實(shí)施例中,所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型中的每個(gè)卷積通道包括k個(gè)卷積層,其中k>0,每個(gè)卷積層的數(shù)學(xué)描述為:
Zi(Y)=Wi*Fi-1(Y)+Bi
其中i表示卷積層的層數(shù),輸入視頻幀為第0層,*代表卷積操作,F(xiàn)i-1表示第i-1層的輸出,Zi(Y)表示第i層卷積操作后的輸出,Wi為第i層的卷積核參數(shù),Bi為第i層的偏置參數(shù)。
總體而言,通過(guò)本發(fā)明所構(gòu)思的以上技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下技術(shù)效果:
(1)本發(fā)明的特征提取和幀的預(yù)測(cè)都是通過(guò)訓(xùn)練樣本的監(jiān)督學(xué)習(xí)得到,無(wú)需人工干預(yù),在大規(guī)模數(shù)據(jù)的場(chǎng)景下能更好地?cái)M合空間差異信息;
(2)本發(fā)明的整個(gè)過(guò)程是端到端的,利用卷積神經(jīng)網(wǎng)絡(luò)的自我學(xué)習(xí)能力,通過(guò)自我學(xué)習(xí)的方式學(xué)得模型參數(shù),簡(jiǎn)潔高效,克服了傳統(tǒng)技術(shù)在處理視頻幀率轉(zhuǎn)換時(shí)耗時(shí)耗力且效果不明顯的特點(diǎn)。
附圖說(shuō)明
圖1是本發(fā)明的基于深度學(xué)習(xí)的視頻幀率轉(zhuǎn)換方法的流程圖,其中Fi表示第i層的輸出,Yt-1、Yt、Yt+1表示連續(xù)的三幀視頻幀,Yt作為真實(shí)值用于計(jì)算誤差,Prediction表示網(wǎng)絡(luò)預(yù)測(cè)的視頻幀。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
以下首先就本發(fā)明的技術(shù)術(shù)語(yǔ)進(jìn)行解釋和說(shuō)明:
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN):一種可用于圖像分類、回歸等任務(wù)的神經(jīng)網(wǎng)絡(luò),它的特殊性體現(xiàn)在兩個(gè)方面,一方面是它的神經(jīng)元間的連接是非全連接的,另一方面同一層中某些神經(jīng)元之間的連接的權(quán)重是共享的。網(wǎng)絡(luò)通常由卷積層、池化層和全連接層構(gòu)成。卷積層和池化層負(fù)責(zé)提取圖像的層級(jí)特征,全連接層負(fù)責(zé)對(duì)提取到的特征進(jìn)行分類或者回歸。網(wǎng)絡(luò)的參數(shù)包括卷積核以及全連接層的參數(shù)及偏置,參數(shù)可以通過(guò)反向傳導(dǎo)算法從數(shù)據(jù)中學(xué)習(xí)得到。
反向傳導(dǎo)算法(Backpropagation Algorithm,BP):是一種與最優(yōu)化方法(如梯度下降法)結(jié)合使用的,用來(lái)訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)的常見(jiàn)方法。該方法對(duì)網(wǎng)絡(luò)中所有權(quán)重計(jì)算損失函數(shù)的梯度,這個(gè)梯度會(huì)反饋給最優(yōu)化方法,用來(lái)更新權(quán)值以最小化損失函數(shù)。該算法主要包含兩個(gè)階段:激勵(lì)的前向、反向傳播和權(quán)重的更新。
隨著大數(shù)據(jù)時(shí)代的到來(lái),視頻數(shù)據(jù)庫(kù)的規(guī)模也越來(lái)越大,這個(gè)問(wèn)題的解決也越來(lái)越迫切。深度神經(jīng)網(wǎng)絡(luò)能夠以一種較好的方式模擬人類大腦的工作方式對(duì)數(shù)據(jù)進(jìn)行分析,近年來(lái),深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)的各個(gè)領(lǐng)域都取得了成功的應(yīng)用,但是對(duì)于視頻幀率的轉(zhuǎn)換問(wèn)題尚無(wú)明顯的研究,鑒于傳統(tǒng)的視頻幀率轉(zhuǎn)換方法過(guò)程復(fù)雜,時(shí)間人力成本較高,本發(fā)明提出了一種基于深度學(xué)習(xí)視頻幀率轉(zhuǎn)換方法。該方法整個(gè)過(guò)程是端到端的,簡(jiǎn)便且高效,對(duì)于視頻的抖動(dòng)、場(chǎng)景切換等問(wèn)題都具有較強(qiáng)的魯棒性。
如圖1所示,本發(fā)明基于深度學(xué)習(xí)的視頻幀率轉(zhuǎn)換方法,可以包括以下步驟:
(1)利用一個(gè)或多個(gè)原始高幀率視頻片段生成訓(xùn)練樣本集,所述訓(xùn)練樣本集中包括多個(gè)視頻幀子集合,所述每個(gè)視頻幀子集合中包含兩張訓(xùn)練幀和一張對(duì)照幀,所述兩張訓(xùn)練幀為高幀率視頻片段中間隔一幀或多幀的兩張視頻幀,所述對(duì)照幀為所述兩張訓(xùn)練幀中間間隔的任意一幀;所述高幀率視頻片段的幀率高于設(shè)定幀率閾值;
具體地,可以提取高幀率視頻片段得到視頻幀集合,按照一定比例獲得訓(xùn)練樣本集;
訓(xùn)練樣本集是由多個(gè)視頻幀子集合組成的,所述每個(gè)視頻幀子集合中包含兩張訓(xùn)練幀和一張對(duì)照幀。對(duì)照幀選取為所述兩張訓(xùn)練幀的最中間或靠近最中間的那一幀。一般情況下是指取連續(xù)3幀,中間一幀為對(duì)照幀,另兩幀為訓(xùn)練幀;如果幀率足夠高,則也可以取相隔多幀(視幀率而定,不能太多)的兩幀作為訓(xùn)練幀,而中間相隔的多幀中可選取中間間隔的任意一幀為對(duì)照幀;例如用于訓(xùn)練的高視頻幀率為60,該視頻有N幀,那么按照間隔一幀取樣本訓(xùn)練的方式,從第2至第N-1幀里隨機(jī)取一幀作為真實(shí)值(對(duì)照幀),并將該幀相鄰的兩幀作為訓(xùn)練樣本(兩個(gè)訓(xùn)練幀)輸入到網(wǎng)絡(luò)里面。同理,也可以按照間隔多幀的方式來(lái)訓(xùn)練樣本,這樣可以用于更低幀率的視頻,即更低幀率的視頻轉(zhuǎn)換為高幀率的視頻。
(2)利用所述訓(xùn)練樣本集中的多個(gè)視頻幀子集合訓(xùn)練雙通道卷積神經(jīng)網(wǎng)絡(luò)模型,以獲得優(yōu)化后雙通道卷積神經(jīng)網(wǎng)絡(luò);其中,所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型為由兩個(gè)卷積通道融合而成的卷積神經(jīng)網(wǎng)絡(luò),兩個(gè)卷積通道分別用于輸入視頻幀子集合中的兩張視頻幀并分別對(duì)輸入的視頻幀進(jìn)行卷積,雙通道卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)兩個(gè)卷積通道的卷積結(jié)果進(jìn)行融合并輸出為預(yù)測(cè)幀,根據(jù)所述預(yù)測(cè)幀與所述視頻幀子集合中的對(duì)照幀回歸訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò)模型;
首先要設(shè)計(jì)并實(shí)現(xiàn)一個(gè)雙通道卷積神經(jīng)網(wǎng)絡(luò),具體地:
所建立的雙通道卷積神經(jīng)網(wǎng)絡(luò)模型為兩個(gè)卷積通道融合的卷積神經(jīng)網(wǎng)絡(luò),共包含k個(gè)卷積層,k>0,優(yōu)選為3,分別對(duì)兩張視頻幀圖片(訓(xùn)練幀)單獨(dú)進(jìn)行卷積。第一個(gè)卷積層有64個(gè)9*9的卷積核,步長(zhǎng)為1個(gè)像素,填充值為4,填充值是指在特征圖周邊補(bǔ)零的圈數(shù)。第二個(gè)卷積層有32個(gè)1*1的卷積核,步長(zhǎng)為1個(gè)像素,填充值為0。第三個(gè)卷層有3個(gè)5*5的卷積核,步長(zhǎng)為1,填充值為2。卷積層的數(shù)學(xué)描述為:
Zi(Y)=Wi*Fi-1(Y)+Bi
其中i表示網(wǎng)絡(luò)的層數(shù),輸入圖像為第0層,*代表卷積操作,F(xiàn)i-1表示第i-1層的輸出,Zi(Y)表示第i層卷積操作后的輸出,Wi為第i層的卷積核參數(shù),Bi為第i層的偏置參數(shù);
在所述3個(gè)卷積層中,第1和第2個(gè)卷積層之后分別接有一個(gè)ReLU的激活層以保持網(wǎng)絡(luò)的稀疏性,其數(shù)學(xué)描述為:
Fi(Y)=max(0,Zi)。
兩張視頻幀圖片經(jīng)過(guò)第三個(gè)卷積層之后得到的特征響應(yīng)圖采用對(duì)應(yīng)位置值相加的方式進(jìn)行融合;
在所述融合操作之后,得到的特征響應(yīng)圖后接一個(gè)Sigmoid激活層以將圖片的像素值映射到0-1之間,其數(shù)學(xué)描述為:
在訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò)之前,需要對(duì)視頻幀中的每個(gè)像素值除以255進(jìn)行歸一化處理,歸一化后的像素值在0到1之間;
并且,在訓(xùn)練所述雙通道卷積神經(jīng)網(wǎng)絡(luò)之前,需要初始化卷積神經(jīng)網(wǎng)絡(luò)參數(shù)采用均值為0,標(biāo)準(zhǔn)差為1的高斯分布初始化卷積核參數(shù),偏置初始化為0,基準(zhǔn)學(xué)習(xí)速率初始化為1e-6,迭代m個(gè)周期后基準(zhǔn)學(xué)習(xí)速率縮小10倍,其中m為預(yù)設(shè)值;例如,m優(yōu)選2,則在前1—m個(gè)迭代周期中,學(xué)習(xí)速率=1e-6,迭代m個(gè)周期后,學(xué)習(xí)速率=1e-7,并一直保持不變。
具體地,可以利用網(wǎng)絡(luò)的預(yù)測(cè)值與對(duì)照之間的誤差,采用誤差反向傳播算法來(lái)訓(xùn)練雙通道卷積神經(jīng)網(wǎng)絡(luò)。采用最小平方誤差為我們的優(yōu)化函數(shù),其數(shù)學(xué)描述為:
其中i表示第i張樣本圖片,n表示樣本訓(xùn)練集的數(shù)量,Yi表示網(wǎng)絡(luò)預(yù)測(cè)的視頻幀,表示相應(yīng)視頻幀的真實(shí)值;
(3)利用所述優(yōu)化后雙通道卷積神經(jīng)網(wǎng)絡(luò),根據(jù)低幀率視頻中的任意相鄰兩視頻幀生成這兩視頻幀的插入幀,從而生成幀率高于所述低幀率視頻的視頻。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。