本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,具體是一種圖像超分辨方法,可用于衛(wèi)星遙感領(lǐng)域,醫(yī)學(xué)領(lǐng)域,交通監(jiān)控領(lǐng)域以及視頻壓縮領(lǐng)域等。
背景技術(shù):
圖像超分辨是指從一個低分辨圖片中學(xué)習(xí)恢復(fù)出高分辨圖像的一種技術(shù)。相比較于低分辨圖像來說,高分辨圖像可以表達(dá)更多詳細(xì)的信息,其細(xì)節(jié)表達(dá)能力更強,因此,圖像超分辨在很多的領(lǐng)域都有著極大應(yīng)用,如衛(wèi)星遙感領(lǐng)域,醫(yī)學(xué)領(lǐng)域,交通監(jiān)控領(lǐng)域,以及視頻壓縮領(lǐng)域等。
目前為止,圖像的超分辨方法主要有三個主要分類:基于插值,基于重建和基于學(xué)習(xí)的方法。而基于學(xué)習(xí)的方法由于引入了先驗信息的樣例,增加了更有效的約束,提高了重建圖像的準(zhǔn)確性,所以在近幾年來取得了極大的發(fā)展,逐漸成為圖像超分辨的主流方法,而且其性能也遠(yuǎn)遠(yuǎn)超過了另外兩種方法。在基于學(xué)習(xí)的方法中大致又分為兩大方向:基于字典學(xué)習(xí)的方法和基于神經(jīng)網(wǎng)絡(luò)的方法。
基于字典學(xué)習(xí)的方法主要是基于稀疏編碼的超分辨算法scsr,它是由yang等人就是從壓縮感知理論出發(fā)提出的,這種方法的流程是:首先從輸入圖像中有重合的提取圖像塊,并拉成一個向量,并進(jìn)行減均值和歸一化的預(yù)處理;然后經(jīng)過低分辨學(xué)到的字典進(jìn)行編碼,學(xué)到他們的稀疏表示;接著,將稀疏參數(shù)對應(yīng)到高分辨字典中,得到高分辨的圖像塊;最后,有重合的重構(gòu)原圖,對重合部分取平均,就得到了最終的高分辨圖像。該方法的缺點是在應(yīng)用時學(xué)習(xí)低分辨字典的稀疏表示的時候用時非常長。
基于神經(jīng)網(wǎng)絡(luò)的方法中最典型的就是基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨方法srcnn,它是由chaodong等人在2015年提出的,方法中構(gòu)建了一種基于三層卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨模型,該模型是一個由低分辨圖像到高分辨圖像的端到端的映射。在應(yīng)用過程中,由于不需要另外學(xué)習(xí)參數(shù),所以用時短;但該方法的弊端是在網(wǎng)絡(luò)的層數(shù)加深時模型的學(xué)習(xí)效果會下降。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對上述現(xiàn)有技術(shù)的不足,提出了一種基于深度門限卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨方法,以加快圖像超分辨的速度,提高圖像超分辨的性能。
本發(fā)明的技術(shù)方案是對原有的srcnn方法進(jìn)行改進(jìn),其一方面,是用門限卷積層取代傳統(tǒng)的卷積層;另一方面,將原有三層網(wǎng)絡(luò)的拓展到了更多層,其具體的實現(xiàn)步驟如下:
1)獲取成對的低分辨和高分辨圖像數(shù)據(jù):
對自然圖像先進(jìn)行下采樣處理,然后再用雙線性三次插值法,得到與之對應(yīng)的低分辨圖像,最后隨機(jī)采樣,得到大小相同的成對低分辨圖像和高分辨圖像作為訓(xùn)練數(shù)據(jù);
2)對基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨模型srcnn進(jìn)行改進(jìn),構(gòu)建一個端到端的深層門限卷積神經(jīng)網(wǎng)絡(luò):
2a)定義一種門限卷積層,并用它來代替srcnn中的卷積層,得到淺層的門限卷積神經(jīng)網(wǎng)絡(luò);
2b)將淺層的門限卷積神經(jīng)網(wǎng)絡(luò)拓展到更多層神經(jīng)網(wǎng)絡(luò),且最后一層采用反卷積神經(jīng)網(wǎng)絡(luò)重構(gòu)高分辨圖像,得到多層門限卷積神經(jīng)網(wǎng)絡(luò)和一層反卷積神經(jīng)網(wǎng)絡(luò)級聯(lián)的深層門限卷積神經(jīng)網(wǎng)絡(luò);
3)用adam優(yōu)化方法對深層門限卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練:
3a)將低分辨圖像樣本作為深層門限卷積神經(jīng)網(wǎng)絡(luò)的輸入,計算其輸出與高分辨圖像樣本之間的重構(gòu)誤差
3b)將重構(gòu)誤差e作為目標(biāo)函數(shù),用adam優(yōu)化方法優(yōu)化該目標(biāo)函數(shù),得到一組最優(yōu)的深層門限卷積神經(jīng)網(wǎng)絡(luò)參數(shù);
4)利用深層門限卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像超分辨:
4a)對于輸入的低分辨圖像,通過一次門限卷積后得到低分辨圖像所對應(yīng)的特征圖像;
4b)由4a)中得到的低分辨圖像的特征圖像再經(jīng)過多層的門限卷積神經(jīng)網(wǎng)絡(luò)精確的映射到高分辨圖像的特征圖像;
4c)由4b)中得到的高分辨圖像的特征圖像經(jīng)過一層反卷積網(wǎng)絡(luò)重構(gòu)得到我們的高分辨圖像。
本發(fā)明具有如下優(yōu)點:
1.本發(fā)明由于是用門限卷積層來構(gòu)建的深層門限卷積神經(jīng)網(wǎng)絡(luò),有效的減少了深層神經(jīng)網(wǎng)絡(luò)的梯度消失的問題,解決了深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問題,可以得到一個優(yōu)化良好的深層神經(jīng)網(wǎng)絡(luò);
2.本發(fā)明由于最終使用的深層門限卷積神經(jīng)網(wǎng)絡(luò)是一個優(yōu)化良好的深層神經(jīng)網(wǎng)絡(luò),特征提取的非常充分,故能更好地描述細(xì)節(jié)的信息,使圖像超分辨效果更好;
3.本發(fā)明由于采用的深層門限卷積神經(jīng)網(wǎng)絡(luò)是一個端到端的模型,而端到端的的模型在實際應(yīng)用中具有速度快的優(yōu)點,所以本發(fā)明可以快速的得到高分辨圖像。
附圖說明
圖1是本發(fā)明的實現(xiàn)流程圖;
圖2是本發(fā)明中的圖像超分辨子流程圖;
圖3是本發(fā)明中的門限卷積層示意圖;
圖4是本發(fā)明與其他方法的訓(xùn)練重構(gòu)誤差比較圖;
圖5是本發(fā)明與其他方法對自然圖像的超分辨結(jié)果比較圖。
具體實施方式
下面將結(jié)合附圖,對本發(fā)明的實施例和效果作進(jìn)一步詳細(xì)說明。
參照圖1,本發(fā)明的實現(xiàn)步驟如下。
步驟一,獲取成對的低分辨和高分辨圖像數(shù)據(jù)。
1.1)獲取低分辨圖像:
對原始圖像先進(jìn)行下采樣,再對下采樣圖像采用雙線性三次插值法將圖像恢復(fù)到原來大小,得到的圖片即為低分辨圖像;
所述雙線性三次插值,通過如下公式進(jìn)行:
f(i+u,j+v)=abc
其中,u表示橫向的插值位置,v表示縱向的插值位置,i為當(dāng)前像素點的橫坐標(biāo),j為當(dāng)前像素點的縱坐標(biāo),f(i+u,j+v)表示圖像在(i+u,j+v)處插值后的像素值;a是橫向因子矩陣,b矩陣是包括像素值f(i,j)在內(nèi)的周圍共計16個點的像素值組成的矩陣,c是縱向因子矩陣,這三個矩陣分別表示如下:
a=[s(1+u)s(u)s(1-u)s(2-u)],s是插值基函數(shù);
c=[s(1+v)s(v)s(1-v)s(2-v)]t。
1.2)獲取同樣大小的低分辨圖像和高分辨圖像:
由于模型訓(xùn)練時要求輸入的圖像要具有相同大小,故用隨機(jī)采樣的方式在低分辨圖像和高分辨圖像相對應(yīng)的位置采集n個p×p的同樣大小的圖片塊作為低分辨圖像訓(xùn)練樣本集xl和高分辨圖像訓(xùn)練樣本集xh;
低分辨圖像訓(xùn)練樣本集表示為xl={xl1,xl2...xli...xln},xli表示第i個低分辨訓(xùn)練樣本圖像;高分辨圖像訓(xùn)練樣本集表示為xh={xh1,xh2...xhi...xhn},xhi表示第i個高分辨訓(xùn)練樣本圖像,i=1...n。
步驟二,構(gòu)建深層門限卷積神經(jīng)網(wǎng)絡(luò)。
2.1)構(gòu)建淺層門限卷積神經(jīng)網(wǎng)絡(luò):
(2.1a)參照圖3,定義一種門限卷積層:
首先,設(shè)門限卷積層的輸入為x,對該輸入進(jìn)行兩路卷積操作,得到第一路卷積結(jié)果f(ω1*x+b1)和第二路卷積的結(jié)果g(ω2*x+b2),其中“*”表示卷積操作,ω1為第一路的卷積核,ω2為第二路的卷積核,b1是第一路的偏置,b2是第二路的偏置,f是第一路激活函數(shù),g是第二路激活函數(shù);
然后,將這兩路卷積的結(jié)果經(jīng)過一個點乘操作,得到門限卷積的輸出g_conv(x),其數(shù)學(xué)表達(dá)形式為:
g_conv(x)=f(ω1*x+b1)·g(ω2*x+b2);
f函數(shù)常用的一種是f(x)=x,另一種是
(2.1b)用(2.1a)中的門限卷積層代替基于卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨模型srcnn中的卷積層conv(x)=f(ω*x+b),得到淺層門限卷積神經(jīng)網(wǎng)絡(luò);
2.2)將淺層門限卷積神經(jīng)網(wǎng)絡(luò)拓展到深層門限卷積神經(jīng)網(wǎng)絡(luò):
(2.2a)引入門限卷積層后,減小深層神經(jīng)網(wǎng)絡(luò)的梯度衰減:
根據(jù)分步求導(dǎo)準(zhǔn)則,門限卷積層的輸出對門限卷積層的輸入的導(dǎo)數(shù)可表示為:
根據(jù)上式,如果有一路的出現(xiàn)梯度衰減問題,門限卷積層的梯度可以由另一路傳導(dǎo)下去,所以門限卷積層可以減小深層神經(jīng)網(wǎng)絡(luò)的梯度衰減;
(2.2b)用多個門限卷積層級聯(lián),構(gòu)建多層門限卷積神經(jīng)網(wǎng)絡(luò);
(2.2c)為了更好地重構(gòu)高分辨圖片,在(2.2b)的多層門限卷積神經(jīng)網(wǎng)絡(luò)后面再加入一層反卷積網(wǎng)絡(luò),最終構(gòu)建一個多層門限卷積神經(jīng)網(wǎng)絡(luò)與一層反卷積網(wǎng)絡(luò)級聯(lián)的深層門限卷積神經(jīng)網(wǎng)絡(luò)。
步驟三,訓(xùn)練基于圖像超分辨應(yīng)用的深層門限卷積神經(jīng)網(wǎng)絡(luò)。
3.1)將低分辨圖像樣本作為深層門限卷積神經(jīng)網(wǎng)絡(luò)的輸入,計算其輸出與高分辨圖像樣本之間的重構(gòu)誤差
3.2)將重構(gòu)誤差e作為目標(biāo)函數(shù),用adam優(yōu)化方法優(yōu)化該目標(biāo)函數(shù):
3.2a)初始化深層門限卷積神經(jīng)網(wǎng)絡(luò)參數(shù)θ,設(shè)定優(yōu)化總次數(shù)t;
3.2b)計算出目標(biāo)函數(shù)對每一個參數(shù)的梯度gt;
3.2c)根據(jù)求得的梯度gt求出如下幾個參數(shù):
梯度的一階距:mt=αmt-1+(1-α)gt,其中α是第一個固定參數(shù),取值為α=0.9;
校正后的梯度一階距:
梯度的二階距:
校正后的梯度二階距:
3.2d)根據(jù)3.2c)求出第t次參數(shù)θ微調(diào)的大?。?imgfile="bda0001284880480000062.gif"wi="318"he="101"img-content="drawing"img-format="gif"orientation="portrait"inline="no"/>其中η為設(shè)定的初始步長;
(3.2e)將深層門限卷積神經(jīng)網(wǎng)絡(luò)參數(shù)更新為:θt=θt-1+δθt;
(3.2f)將當(dāng)前更新次數(shù)t與訓(xùn)練總次數(shù)t比較:當(dāng)t<t時,則重復(fù)3.2b)-3.2e)操作;當(dāng)t=t時,訓(xùn)練結(jié)束,t次優(yōu)化得到的參數(shù)θt即為最終的深層門限卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)。
步驟四,利用深層門限卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像超分辨。
參照圖2,本步驟的過程如下:
(4a)對于輸入的低分辨圖像,通過一層門限卷積層后得到低分辨圖像的特征圖像;
(4b)由(4a)中得到的低分辨圖像的特征圖像再經(jīng)過多層的門限卷積神經(jīng)網(wǎng)絡(luò)精確的映射到高分辨圖像的特征圖像;
(4c)由(4b)中得到的高分辨圖像的特征圖像經(jīng)過一層反卷積網(wǎng)絡(luò)重構(gòu)得到高分辨圖像,完成對低分辨圖像的超分辨。
本發(fā)明的效果可通過以下測試進(jìn)一步說明:
一.測試條件
采用cifar-10數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)對深層門限卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練,用自然圖像作為測試數(shù)據(jù),用峰值信噪比psnr作為測試時的度量標(biāo)準(zhǔn)。
二.測試內(nèi)容
測試1,用淺層門限卷積神經(jīng)網(wǎng)絡(luò)與srcnn網(wǎng)絡(luò)在進(jìn)行加深時,測試其測試樣本重構(gòu)誤差的變化,結(jié)果如圖4所示。從圖4可以看出srcnn在模型加深時,測試樣本的重構(gòu)誤差沒有減小,反而會有一定的增大,而用本發(fā)明使用的淺層門限卷積神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)加深時,測試樣本的重構(gòu)誤差會明顯減小。
測試2,用本發(fā)明對自然圖像進(jìn)行超分辨,結(jié)果如圖5所示,其中圖5(a)原始圖片,圖5(b)為低分辨圖像,圖5(c)是srcnn的超分辨結(jié)果,峰值信噪比為22.26db,圖5(d)為本發(fā)明的超分辨結(jié)果,峰值信噪比為22.42db,可見,本發(fā)明的超分辨效果要優(yōu)于srcnn模型。