本發(fā)明涉及的是一種視頻圖像處理技術(shù)領(lǐng)域的方法,具體是一種基于深度遞歸神經(jīng)網(wǎng)絡(luò)的視頻去噪方法。
背景技術(shù):
視頻去噪是一個(gè)視頻圖像處理技術(shù)領(lǐng)域的典型問題,同時(shí)也是像素級(jí)視頻處理方法評(píng)價(jià)方法。因此該問題在學(xué)術(shù)界和工業(yè)界一直受到廣泛的關(guān)注。視頻去噪過程是輸入一個(gè)加噪視頻Y=X+N,其中X表示為是Y的原始視頻,通過特定方法以后,輸出一個(gè)去噪視頻。
在過去十多年間,許多方法都在圖像去噪和視頻去噪取得了巨大的進(jìn)步,如稀疏編碼(sparse coding)、條件隨機(jī)域(conditional random fields)、變換技術(shù)(variation techniques)、塊方法(patch based methods)等。視頻去噪技術(shù)與圖像去噪技術(shù)最大的不同在于視頻有大量運(yùn)動(dòng)信息和時(shí)間域冗余信息可以用于去噪過程。一種通用的方法是將圖像去噪通過在時(shí)間軸的不同幀中查找相似塊的方法,然后利用圖像去噪的方法,如小波壓縮(wavelet shrinkage)或是維納濾波等方法在三維變換域進(jìn)行去噪,如VBM3D(Block-matching and 3D filtering(BM3D))。VBM4D在VBM3D方法中做了改進(jìn)并成為目前最為先進(jìn)的圖像去噪技術(shù)。VBM4D去噪的方法是查找相似3維時(shí)空立體塊而不是2維平面塊然后將3維立體塊堆棧形成一個(gè)四維結(jié)構(gòu)。然后利用協(xié)同濾波去除該四維結(jié)構(gòu)的相關(guān)性,最后利用壓縮(shrinkage)和反變換完成視頻去噪。
目前,深度學(xué)習(xí)得利于其深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的強(qiáng)大表達(dá)能力和GPU(Graphics Processing Units)的快速運(yùn)算能力,在計(jì)算機(jī)視覺和模式識(shí)別領(lǐng)域取得了巨大進(jìn)步(如圖像分類)。如何將其應(yīng)用在視頻圖像處理領(lǐng)域成了人們重點(diǎn)關(guān)注和研究的方向。遞歸神經(jīng)網(wǎng)絡(luò)作為具有反饋能力的一種神經(jīng)網(wǎng)絡(luò),能夠在時(shí)間軸上傳遞運(yùn)動(dòng)信息,是處理序列的強(qiáng)有力工具,并在語音、文字等多個(gè)領(lǐng)域得到較好的應(yīng)用。遞歸神經(jīng)網(wǎng)絡(luò)最先被用在語言處理問題上,如語音識(shí)別、圖像描述(image description)。在視頻處理領(lǐng)域,Nitish Srivastava在《Unsupervised learning of video representations using LSTMs》一文中證實(shí)了 遞歸神經(jīng)網(wǎng)絡(luò)能夠從視頻中學(xué)習(xí)到運(yùn)動(dòng)信息和輪廓特征,并在文中成功將特征表示應(yīng)用于模式識(shí)別問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明在現(xiàn)有技術(shù)的基礎(chǔ)上,提出一種基于深度遞歸神經(jīng)網(wǎng)絡(luò)的視頻去噪方法,采用深度遞歸網(wǎng)絡(luò)模型用于視頻序列去噪,無須通過其他復(fù)雜算法獲取視頻的運(yùn)動(dòng)信息。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
本發(fā)明提供一種基于深度遞歸神經(jīng)網(wǎng)絡(luò)的視頻去噪方法,所述方法采用端到端的深度神經(jīng)網(wǎng)絡(luò)模型,利用時(shí)間域的遞歸結(jié)構(gòu)端到端地進(jìn)行視頻去噪;
所述深度神經(jīng)網(wǎng)絡(luò)模型包含兩層遞歸神經(jīng)網(wǎng)絡(luò),將有噪視頻作為輸入,第一層遞歸神經(jīng)網(wǎng)絡(luò)通過遞歸和非線性運(yùn)算獲得視頻的初級(jí)特征,并將其作為輸出傳遞到下一層遞歸神經(jīng)網(wǎng)絡(luò),視頻在第二層遞歸網(wǎng)絡(luò)中獲得高級(jí)特征,輸出層利用兩層遞歸神經(jīng)網(wǎng)絡(luò)獲得的特征解碼重構(gòu)最終輸出去噪后的視頻;
所述深度神經(jīng)網(wǎng)絡(luò)模型,具體表示如下:
y(t)=σ(Wyhh(t)+by)
其中,x(t)表示輸入數(shù)據(jù),表示深度遞歸神經(jīng)網(wǎng)絡(luò)第一層t時(shí)刻和t-1的狀態(tài), 表示深度遞歸神經(jīng)網(wǎng)絡(luò)第l層t時(shí)刻、第l-1層t時(shí)刻、第l層t-1的狀態(tài),y(t)表示輸出數(shù)據(jù)。Wyh、by均為模型的參數(shù),通過BPTT(back propagation through time)算法最小化損失函數(shù)獲得;t表示視頻圖像的時(shí)間序列索引。
本發(fā)明中,所述深度神經(jīng)網(wǎng)絡(luò)模型將視頻噪聲模型與深度遞歸網(wǎng)絡(luò)結(jié)合,利用深度網(wǎng)絡(luò)結(jié)構(gòu)強(qiáng)大的表達(dá)能力實(shí)現(xiàn)有噪視頻與去噪視頻之間的映射,對(duì)于一段時(shí)長(zhǎng)為T有噪的視頻序列其中t表示視頻圖像的時(shí)間序列索引,在視頻序列中任意t時(shí)刻的圖像xt看作是干凈圖像yt和噪聲nt的疊加:
xt=y(tǒng)t+nt
視頻去噪的目的是建立映射從xt中除去nt以得到具體為:
其中X表示帶噪視頻序列Θ表示模型參數(shù),表示模型預(yù)測(cè)的去噪結(jié)果,參數(shù)通過BPTT算法得到,損失函數(shù)L為去噪圖像和實(shí)際無噪圖像(公式中簡(jiǎn)寫為)的平方差:
本發(fā)明中,為了降低深度遞歸神經(jīng)網(wǎng)絡(luò)的計(jì)算復(fù)雜度,采用基于塊(patch-based)的方法來進(jìn)行去噪:
生成訓(xùn)練集時(shí),切割視頻成為m×n×T的連續(xù)圖像塊作為一個(gè)訓(xùn)練樣本,其中m×n表示張圖像小塊的大小,T表示視頻連續(xù)的T張圖像,其對(duì)應(yīng)的第(T+1)/2張圖像作為去噪的目標(biāo),并將原始的對(duì)應(yīng)第(T+1)/2張圖像作為訓(xùn)練時(shí)的標(biāo)注值(groundtruth);
測(cè)試時(shí),將給定的有噪視頻逐幀有重疊地(overlapping)分解為m×n×T的視頻立體塊(cubes),即用一個(gè)m×n×T的三維立體滑窗劃過視頻,分解后的視頻小塊通過訓(xùn)練好的深度遞歸神經(jīng)網(wǎng)絡(luò)模型得到對(duì)應(yīng)的去噪圖像小塊,這些視頻小塊重新按原位置拼接得到降噪后的視頻圖像。
本發(fā)明所述方法能夠通過模擬不同的視頻噪聲nt,訓(xùn)練不同的模型以除去不同類型、不同程度的視頻噪聲,比如:
高斯噪聲,表示為其中σ表示高斯分布的標(biāo)準(zhǔn)差,表示高斯分布,I表示單位矩陣;
泊松-高斯混合噪聲表示為:表示零均值標(biāo)準(zhǔn)差為σ的高斯噪聲, 表示零均值方差為λ=kyt的泊松噪聲。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
本發(fā)明利用深度遞歸神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)一種適合于視頻去噪的回歸模型,通過訓(xùn)練大量含有原始視頻的加噪視頻,最終能夠有效地去除視頻噪聲,其中:1)利用時(shí)間域的遞歸結(jié)構(gòu)端到端地進(jìn)行視頻去噪,無須通過其他復(fù)雜算法獲取視頻的運(yùn)動(dòng)信息;2)利用深度網(wǎng)絡(luò)結(jié)構(gòu)強(qiáng)大的表達(dá)能力實(shí)現(xiàn)有噪視頻與去噪視頻之間的映射;3)能夠延展并應(yīng)用在各種不同類型的噪聲中,如高斯噪聲、泊松-高斯混合噪聲等。
附圖說明
通過閱讀參照以下附圖對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為本發(fā)明一實(shí)施例中深度遞歸神經(jīng)網(wǎng)絡(luò)的去噪示意圖;
圖2為本發(fā)明一實(shí)施例中涉及的深度遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖;
圖3為本發(fā)明一實(shí)施例去除高斯噪聲效果示意圖;
圖4為本發(fā)明一實(shí)施例去除泊松-高斯混合噪聲效果示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對(duì)本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn)。這些都屬于本發(fā)明的保護(hù)范圍。
本發(fā)明提出一種端到端的深度神經(jīng)網(wǎng)絡(luò)模型用來視頻去噪,該模型包含兩層的遞歸網(wǎng)絡(luò)如圖1所示,在模型中輸入設(shè)定長(zhǎng)度的加噪視頻立體塊,輸出的目標(biāo)是無噪圖像塊,即該模型利用視頻前后多幀的信息作為輸入,對(duì)某一幀特定圖像進(jìn)行降噪。
遞歸神經(jīng)網(wǎng)絡(luò)是一類強(qiáng)大的神經(jīng)網(wǎng)絡(luò)模型,它能通過圖模型中的循環(huán)來獲取時(shí)間動(dòng)態(tài)信息。一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)單元如圖2(a)所示。在t時(shí)刻,隱藏單元h(t)接收到來自當(dāng)前時(shí)刻的輸入x(t)和前一時(shí)刻隱藏層狀態(tài)h(t-1)的激活值。輸出y(t)由當(dāng)前時(shí)刻t的隱藏層狀態(tài)h(t)計(jì)算得到:
h(t)=σ(Whxx(t)+Whhh(t-1)+bh)
y(t)=σ(Wyhh(t)+by)
權(quán)值矩陣Whx,Whh,Wyh以及偏差bh,by均為遞歸神經(jīng)網(wǎng)絡(luò)的參數(shù),σ(·)是激活函數(shù)(如tanh或sigmoid函數(shù))。在所述的深度神經(jīng)網(wǎng)絡(luò)模型中,激活函數(shù)除輸出層采用線性函數(shù)外,均采用雙曲正弦函數(shù)。遞歸神經(jīng)網(wǎng)絡(luò)和普通神經(jīng)網(wǎng)絡(luò)最大的區(qū)別在于遞歸隱藏單元的狀態(tài)受到當(dāng)前時(shí)刻輸入和上一時(shí)刻輸出兩方面的影響。于是,遞歸隱藏單元可以看作是一個(gè)帶有時(shí)間信息的容器。
深度遞歸神經(jīng)網(wǎng)絡(luò)是普通神經(jīng)網(wǎng)絡(luò)的延拓,由一個(gè)輸入層,多個(gè)隱藏層和一個(gè)輸出層的疊加構(gòu)成。這種疊加方式與多層感知機(jī)(Multi-Layer Perceptions)相似,如果除去每層的延遲節(jié)點(diǎn),即為多層感知機(jī),也可認(rèn)為是多層的普通神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。圖2(b)展示 了一個(gè)兩層的遞歸神經(jīng)網(wǎng)絡(luò)。在多層遞歸神經(jīng)網(wǎng)絡(luò)中,隱藏層同時(shí)接收到低層隱藏層當(dāng)前時(shí)刻的狀態(tài)信息和該層上一時(shí)刻隱藏層的狀態(tài)信息:
以上便是本發(fā)明運(yùn)用到的深度遞歸神經(jīng)網(wǎng)絡(luò)模型,為了將其與視頻去噪相結(jié)合,下面給出視頻去噪的數(shù)學(xué)模型。對(duì)于一段時(shí)長(zhǎng)T有噪的視頻序列每張圖像xt可以看作是干凈圖像yt和噪聲nt的疊加:
xt=y(tǒng)t+nt
視頻去噪的目的建立映射從xt中除去nt以得到
為了降低模型的訓(xùn)練復(fù)雜度,本發(fā)明采用塊方法(patch-based method),即將視頻分割為特定時(shí)長(zhǎng)特定大小的立體塊。這里的立體塊指的是多張連續(xù)時(shí)間相同位置的二維圖片小塊的疊加,如圖1(a)下方input處顯示的立體塊。該深度遞歸神經(jīng)網(wǎng)絡(luò)的目標(biāo)是建立一個(gè)映射,使得模型能夠從帶噪視頻立體塊(cube)得到去噪的圖像塊(patch),且該圖像塊表示的是立體塊最中間的那幅圖像:其中Θ表示模型參數(shù)。參數(shù)通過BPTT更新,損失函數(shù)為去噪圖像塊和實(shí)際無噪圖像塊的平方差:
該深度遞歸神經(jīng)網(wǎng)絡(luò)的視頻去噪流程直觀解釋如下:帶噪立體塊作為輸入數(shù)據(jù),第一層遞歸隱藏層讀取到輸入數(shù)據(jù)以后將特征表示傳輸給第二個(gè)隱藏層。第二個(gè)隱藏層嘗試從第一個(gè)隱藏層輸入的信息中提取高層特征以及更強(qiáng)大的表達(dá)方式。由于遞歸神經(jīng)網(wǎng)絡(luò)能夠保持物體的外觀信息和視頻的運(yùn)動(dòng)信息,故最后輸出層能夠從這些特征表示中得到去噪的圖像塊。
基于上述原理表述,提供基于深度神遞歸神經(jīng)網(wǎng)絡(luò)的視頻去噪模型的訓(xùn)練和測(cè)試方法,具體實(shí)施細(xì)節(jié)如下,以下實(shí)施例沒有詳細(xì)說明的部分參照發(fā)明內(nèi)容進(jìn)行:
(1).獲取訓(xùn)練集:
a)獲取大量原始視頻(如UCF-101視頻集);
b)在視頻集中加入給定噪聲(如加性高斯白噪聲、泊松-高斯混合噪聲);
c)切割視頻成為17×17×7的連續(xù)圖像塊作為一個(gè)訓(xùn)練樣本,其中17×17表示張圖像小塊的大小,7表示視頻連續(xù)的7張圖像,其對(duì)應(yīng)的第4張圖像作為去噪的目標(biāo),并將原始的對(duì)應(yīng)第4張圖像作為訓(xùn)練時(shí)的標(biāo)注值(groundtruth)。該方法大概需要10,000,000個(gè)訓(xùn)練樣本;
d)將訓(xùn)練樣本隨機(jī)分為兩部分,80%作為訓(xùn)練集用于模型訓(xùn)練,20%作為驗(yàn)證集用于檢驗(yàn)?zāi)P鸵苑乐惯^擬合。
(2).構(gòu)建模型:對(duì)于視頻立體塊集合輸入到兩層的遞歸神經(jīng)網(wǎng)絡(luò)中:
利用python庫(kù)Theano編程建立上述深度遞歸神經(jīng)網(wǎng)絡(luò)模型。
網(wǎng)絡(luò)參數(shù)的初始化采用一直分布,即其中n表示該層的大小。損失函數(shù)為去噪圖像塊和實(shí)際無噪圖像塊的平方差:
(3).訓(xùn)練模型:利用BPTT算法最小化損失函數(shù),在訓(xùn)練過程中采用以下學(xué)習(xí)策略。學(xué)習(xí)率(learning rate)初始化為0.03,隨著訓(xùn)練循環(huán)次數(shù)的增加最終降低至0.0001,同時(shí)沖量(momentum)初始化為0.9,最終下降至0.999。同時(shí)為了方式過擬合,設(shè)定停機(jī)機(jī)制,當(dāng)最新的200次循環(huán)中驗(yàn)證誤差(validation error)不再提升后,便停止訓(xùn)練并保存最好的驗(yàn)證誤差時(shí)的模型。
(4).對(duì)有噪視頻進(jìn)行去噪:將給定的有噪視頻逐幀有重疊地(overlapping)分解為17×17×7的視頻立體塊(cubes),即用一個(gè)17×17×7的三維立體滑窗劃過視頻,其中時(shí)間域步長(zhǎng)為1,空間步長(zhǎng)為3。分解后的視頻小塊通過訓(xùn)練好的深度遞歸神經(jīng)網(wǎng)絡(luò)模型得到對(duì)應(yīng)的去噪圖像小塊。這些視頻小塊重新按原位置拼接得到降噪后的視頻圖像。
實(shí)施效果
依據(jù)上述步驟,對(duì)由互聯(lián)網(wǎng)上提供的公開視頻去噪測(cè)試序列進(jìn)行實(shí)驗(yàn)。運(yùn)用該發(fā)明方法在不同的噪聲中做降噪測(cè)試,結(jié)果如下。
1.高斯噪聲
高斯噪聲表示為其中σ表示高斯分布的標(biāo)準(zhǔn)差。本實(shí)驗(yàn)中訓(xùn)練了去除高斯噪聲σ=35的深度遞歸神經(jīng)網(wǎng)絡(luò)模型,測(cè)試序列利用訓(xùn)練好的深度遞歸神經(jīng)網(wǎng)絡(luò)(deep RNNs,簡(jiǎn)稱DRNNs)得到的定量分析結(jié)果。量化分析的指標(biāo)為去噪后視頻和 原始視頻的信噪比(Peak Signal to Noise Ratio):
在8bit圖像中,n=8,MSE表示原圖像和處理圖像之間的均方誤差。PSNR越大,表示去噪后的圖像越接近原圖。VBM3D(《Video denoising by sparse 3d transform-domain collaborative filtering》)是目前的先進(jìn)去噪算法,將其作為參考。圖4是利用訓(xùn)練好的深度遞歸神經(jīng)網(wǎng)絡(luò)(deep RNNs,簡(jiǎn)稱DRNNs)去除σ=35的高斯白噪聲后的定性分析的結(jié)果。VBM3D的對(duì)三個(gè)視頻去噪PSNR均值為30.79dB,35.87dB,30.56dB,DRNNs方法去噪均值分布為30.41dB,35.88dB,30.09dB,表明該深度遞歸神經(jīng)網(wǎng)絡(luò)模型具有良好的去噪效果,其PSNR值和視覺結(jié)果均與VBM3D相當(dāng)。
2.泊松-高斯混合噪聲
泊松-高斯混合噪聲可以表示為:
表示零均值標(biāo)準(zhǔn)差的高斯噪聲,表示零均值方差為λ=kyt的泊松噪聲。在本實(shí)驗(yàn)中,取σ=25,k=15。由于目前沒有針對(duì)泊松-高斯混合噪聲的視頻去噪模型,同樣采用VBM3D方法作為參照。
圖4顯示測(cè)試視頻salesman中間幀(第25幀)利用不同方法的去噪結(jié)果,(b)到(d)的PSNR值依次為16.33dB,21.50dB,30.09dB。結(jié)果表明該發(fā)明的混合噪聲去噪效果在視覺上和PSNR值上均有良好表現(xiàn)。
以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容。