本發(fā)明涉及計(jì)算機(jī)圖像處理領(lǐng)域與人工智能技術(shù),尤其涉及一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法。
背景技術(shù):
圖像超分辨率是利用低分辨率的圖像重建出高質(zhì)量的高分辨率圖像的過(guò)程,在視頻壓縮與傳輸,醫(yī)學(xué)圖像輔助診斷,安防監(jiān)控以及衛(wèi)星成像等領(lǐng)域有著廣泛的應(yīng)用前景。對(duì)于圖像超分辨率有兩個(gè)評(píng)價(jià)標(biāo)準(zhǔn):(1)圖像的重建效果,其目標(biāo)是恢復(fù)圖像的高頻信息,提高圖像的質(zhì)量,盡可能地提升重建圖像的視覺(jué)效果;(2)圖像的重建效率,目標(biāo)就是在保證重建效果的同時(shí),盡可能地提高重建速度。目前主流的方法包括基于插值或者重構(gòu)的傳統(tǒng)方法和基于機(jī)器學(xué)習(xí)的新方法。基于插值或者重構(gòu)的傳統(tǒng)方法設(shè)定了固定的參數(shù)模型,由于重建速度快而被廣泛采用,例如應(yīng)用在美圖秀秀或者Photoshop等商業(yè)軟件中的超分辨率方法。然而利用這些技術(shù)重建的圖像會(huì)產(chǎn)生鋸齒、模糊或者振鈴等視覺(jué)偽影,圖像超分辨率重建的效果不佳?;跈C(jī)器學(xué)習(xí)的方法由于能夠自適應(yīng)學(xué)習(xí)模型參數(shù),具有很強(qiáng)的重建能力,逐漸成為國(guó)際上最前沿的圖像超分辨率方法。其中基于稀疏模型的字典學(xué)習(xí),是最早應(yīng)用于圖像超分辨率的一種機(jī)器學(xué)習(xí)方法,然而字典學(xué)習(xí)只有線性表示能力,其超分辨率重建效果有限。中國(guó)公開(kāi)專利“一種基于殘差的圖像超分辨率重建方法”(公開(kāi)號(hào)CN102722876A,公開(kāi)日為2012.10.10)和專利“基于稀疏表示的圖像超分辨率重建方法”(公開(kāi)號(hào)CN102722876A,公開(kāi)日為2013.10.23)采用了基于稀疏表示的字典學(xué)習(xí)的方法進(jìn)行圖像超分辨率重建。這種重建方法不僅受限于字典學(xué)習(xí)的線性表示能力,同時(shí)殘差圖像是基于傳統(tǒng)插值方法計(jì)算出來(lái)的全局殘差圖像,算法本質(zhì)上是在傳統(tǒng)插值算法的基礎(chǔ)上進(jìn)一步利用字典學(xué)習(xí)的方法提升重建效果,算法的重建性能會(huì)受到傳統(tǒng)插值方法的影響。
近年來(lái),基于深度學(xué)習(xí)的技術(shù)得到迅速地發(fā)展,它通過(guò)利用卷積神經(jīng)網(wǎng)絡(luò)的超強(qiáng)非線性特征表示能力,能夠很好地提高圖像超分辨率的重建效果。經(jīng)對(duì)對(duì)現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),中國(guó)專利公開(kāi)號(hào)CN105976318A,公開(kāi)日為2016.09.28,專利名稱“一種圖像超分辨率重建方法”使用了深度學(xué)習(xí)的方法來(lái)進(jìn)行超分辨率重建。然而此專利的圖像超分辨重建效果一般,重建效率也可以進(jìn)一步提高,其具體的不足之處是:(1)此專利利用雙三次插值作為預(yù)處理,實(shí)際上是傳統(tǒng)方法與機(jī)器學(xué)習(xí)方法的一種結(jié)合,重建效果會(huì)受到傳統(tǒng)的插值方法的影響,例如產(chǎn)生模糊效應(yīng)。(2)此專利只采用了3層的網(wǎng)絡(luò)結(jié)構(gòu),其非線性的特征表示能力和圖像重構(gòu)能力有限。(3)此專利的訓(xùn)練數(shù)據(jù)是低分率圖像和高分辨率圖像,高分辨率圖像的低頻信息也會(huì)在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中得到重建,從而沒(méi)有對(duì)圖像中高頻信息進(jìn)行特異性重建,圖像的超分辨率重建效果不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法super-resolution using sub-residual images(SRSRI)。
本發(fā)明采用的技術(shù)方案是:
一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法,其包括以下步驟:
1)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型:
1-1)將高分辨圖像y分解成s2個(gè)子圖像ysub;
1-2)計(jì)算s2個(gè)殘差子圖像rsub,并與對(duì)應(yīng)的低分辨率圖像x形成圖像訓(xùn)練集;
1-3)通過(guò)圖像訓(xùn)練集,采用基于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型訓(xùn)練得到優(yōu)化的網(wǎng)絡(luò)模型參數(shù)w和b;
2)利用訓(xùn)練完的深度神經(jīng)網(wǎng)絡(luò)模型將低分辨率圖像xtest重建成高分辨率圖像ytest:
2-1)基于訓(xùn)練好的網(wǎng)絡(luò)模型參數(shù)w和b,將低分辨率圖像xtest輸入卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型中,并計(jì)算獲得對(duì)應(yīng)的s2個(gè)殘差子圖像rtestsub;
2-2)利用殘差子圖像rtestsub,計(jì)算獲得s2個(gè)子圖像ytestsub,并變換各個(gè)子圖像的空間位置,最終獲得高分辨率圖像ytest。
所述圖像訓(xùn)練集包括低分辨率圖像x和對(duì)應(yīng)的殘差子圖像rsub;
進(jìn)一步地,步驟1-1)中s是圖像的超分辨率放大倍數(shù),子圖像按每隔s個(gè)像素點(diǎn)在高分辨率圖像中進(jìn)行抽樣取值。
進(jìn)一步地,步驟1-2)殘差子圖像的計(jì)算公式是:rsub=y(tǒng)sub-x,子圖像個(gè)數(shù)為s2。
進(jìn)一步地,步驟1-3)具體包括以下步驟:
步驟1-3-1)設(shè)定卷積神經(jīng)網(wǎng)絡(luò)模型的卷積層和激活函數(shù)均為L(zhǎng)層,采用規(guī)整化線性單元函數(shù)作為激活函數(shù),
步驟1-3-2)選用圖像對(duì)(x,r)作為訓(xùn)練集,輸入低分辨率圖像x和殘差子圖像r,得到卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標(biāo)函數(shù)是:
其中,f(w,b,x)為神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果,w和b分別為神經(jīng)網(wǎng)絡(luò)中的卷積模板參數(shù)和偏置參數(shù);
每一卷積層的輸出可以表示為:
fk(x)=φk(Wk*fk-1(x)+bk),k∈[1,L] (2)
其中фk為激活層的函數(shù),bk是網(wǎng)絡(luò)模型當(dāng)中第k層的偏置參數(shù),wk是網(wǎng)絡(luò)模型當(dāng)中第k層的卷積模板參數(shù),大小為nk-1*vk*vk*nk,其中nk-1為第k層輸入的特征圖的數(shù)目,nk為第k層輸出層的特征圖的數(shù)目,vk為第k層的卷積核的大小;
步驟1-3-3)采用隨機(jī)梯度下降法求解神經(jīng)網(wǎng)絡(luò)模型的卷積模板參數(shù)w和偏置參數(shù)b,在每次迭代過(guò)程中,計(jì)算預(yù)測(cè)結(jié)果誤差并反向傳播到卷積神經(jīng)網(wǎng)絡(luò)模型,計(jì)算梯度并更新卷積神經(jīng)網(wǎng)絡(luò)模型的參數(shù);
步驟1-3-4)基于卷積神經(jīng)網(wǎng)絡(luò)模型中各卷積層的模型參數(shù)生成低分辨率圖像到高分辨率圖像的映射關(guān)系并完成神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練。
進(jìn)一步地,步驟1-3-2)中神經(jīng)網(wǎng)絡(luò)模型中每一卷積層包含了卷積運(yùn)算和非線性激活函數(shù)運(yùn)算。
進(jìn)一步地,步驟1-3-3)中卷積模板參數(shù)w采用高斯分布初始化,偏置參數(shù)b初始化為0。
進(jìn)一步地,步驟2-1)所述殘差子圖像rtestsub表示在高分辨率圖像空間中各個(gè)不同方向的高頻圖像信息,具體包括圖像邊緣信息和紋理信息。
進(jìn)一步地,步驟2-2)子圖像ytestsub的計(jì)算過(guò)程為:
ytestsub=xtestsub+rtestsub (3)。
進(jìn)一步地,步驟2-2)中獲得子圖像ytestsub后,可以按照步驟1-1)中取子圖像的操作,反向把s2個(gè)子圖像的各個(gè)像素還原到高分辨率圖像空間相應(yīng)位置并重建高清圖像ytest。
本發(fā)明采用以上技術(shù)方案,具有如下優(yōu)點(diǎn):(1)本發(fā)明完全去除了雙三次插值的預(yù)處理,形成低分辨率圖像到高分辨率圖像之間端到端的直接映射,從而不會(huì)受到傳統(tǒng)插值算法的影響。(2)我們的發(fā)明中使用了11層的網(wǎng)絡(luò)結(jié)構(gòu),使得神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的表示和重構(gòu)能力極大地提升,從而能夠更好的提高超分辨率重建效果。(3)利用低分辨率圖像和殘差子圖像來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。由于殘差圖像表示圖像損失的信息,使得網(wǎng)絡(luò)更集中地針對(duì)損失的高頻信息來(lái)訓(xùn)練,從而增強(qiáng)了圖像的超分辨率重建效果。同時(shí),由于殘差圖像的稀疏屬性,可以提高神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度。(4)此外,本發(fā)明的另外一個(gè)創(chuàng)新點(diǎn)是提出了基于殘差子圖像的方法,將圖像超分辨的計(jì)算過(guò)程由高分辨空間轉(zhuǎn)移到低分辨率空間進(jìn)行,在提高超分辨率重建效果的同時(shí),也極大地加快了超分辨率的重建速度。
附圖說(shuō)明
以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明;
圖1為本發(fā)明的一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法的殘差子圖像計(jì)算過(guò)程;
圖2為本發(fā)明的一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法的原理圖;
圖3為本發(fā)明的一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法的流程圖;
圖4為多種算法比較時(shí)的輸入的低分辨率圖像;
圖5為采用傳統(tǒng)的雙三次插值算法的最終效果;
圖6為基于字典學(xué)習(xí)的Aplus算法的最終效果;
圖7為基于深度學(xué)習(xí)的算法SRCNN的最終效果;
圖8為本發(fā)明的一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法SRSRI的最終效果。
具體實(shí)施方式
如圖1-8之一所示,本發(fā)明公開(kāi)一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法,巧妙的結(jié)合了殘差子圖像和基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法,不僅可以很好的重建高質(zhì)量的圖像或者視頻,提供很好的用戶觀看體驗(yàn),而且能夠快速的重建出高分辨率圖像。具體實(shí)施流程如圖3所示,
其包括以下步驟:
1)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)模型:
1-1)如圖1所示,將高分辨圖像y分解成s2個(gè)子圖像ysub;其中s是圖像的超分辨率放大倍數(shù)。子圖像是在高分辨率圖像的行列中按每隔s個(gè)像素點(diǎn)進(jìn)行取值。如果輸入圖像是RGB空間,需要先轉(zhuǎn)換到Y(jié)CbCr空間,算法只在Y通道進(jìn)行訓(xùn)練,這是因?yàn)槿搜蹖?duì)Y通道的變化很敏感,而對(duì)Cb和Cr通道的變化不太敏感。
1-2)計(jì)算s2個(gè)殘差子圖像rsub,并獲取對(duì)應(yīng)的低分辨率圖像x形成圖像訓(xùn)練集;其中殘差子圖像的計(jì)算公式是:rsub=y(tǒng)sub-x。殘差子圖像表示低分辨率圖像與高分辨率圖像中各個(gè)方向分量的差異,包含了各個(gè)方向所丟失的邊緣和紋理等信息。這樣神經(jīng)網(wǎng)絡(luò)可以針對(duì)低分辨率圖像所丟失的高頻信息來(lái)訓(xùn)練,移除了對(duì)圖像中低頻信息的冗余重建過(guò)程。
1-3)利用圖像訓(xùn)練集,按照?qǐng)D2所示的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型訓(xùn)練得到優(yōu)化的網(wǎng)絡(luò)模型參數(shù)w和b;
2)利用訓(xùn)練完的神經(jīng)網(wǎng)絡(luò)模型將低分辨率圖像xtest重建成高分辨率圖像ytest:
2-1)基于訓(xùn)練好的網(wǎng)絡(luò)模型參數(shù)w和b,將低分辨率圖像xtest輸入卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型中,并計(jì)算獲得對(duì)應(yīng)的s2個(gè)殘差子圖像rtestsub;
2-2)利用殘差子圖像rtestsub,計(jì)算獲得s2個(gè)子圖像ytestsub,并變換各個(gè)子圖像的空間位置,最終獲得高分辨率圖像ytest。
所述圖像訓(xùn)練集包括低分辨率圖像x和對(duì)應(yīng)的殘差子圖像rsub;
進(jìn)一步地,步驟1-1)中s是圖像的超分辨率放大倍數(shù),子圖像按每隔s個(gè)像素點(diǎn)在高分辨率圖像中進(jìn)行抽樣取值。
進(jìn)一步地,步驟1-2)殘差子圖像的計(jì)算公式是:rsub=y(tǒng)sub-x,子圖像個(gè)數(shù)為s2。
進(jìn)一步地,步驟1-3)具體包括以下步驟:
步驟1-3-1)設(shè)定卷積神經(jīng)網(wǎng)絡(luò)模型的卷積層和激活函數(shù)均為L(zhǎng)層,采用規(guī)整化線性單元函數(shù)作為激活函數(shù),
步驟1-3-2)選用圖像對(duì)(x,r)作為訓(xùn)練集,輸入低分辨率圖像x和殘差子圖像r,得到卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標(biāo)函數(shù)是:
其中,f(w,b,x)為神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果,w和b分別為神經(jīng)網(wǎng)絡(luò)中的卷積模板參數(shù)和偏置參數(shù);
每一卷積層的輸出可以表示為:
fk(x)=φk(Wk*fk-1(x)+bk),k∈[1,L] (2)
其中f0(x)=φk為激活層的函數(shù),bk是網(wǎng)絡(luò)模型當(dāng)中第k層的偏置參數(shù),wk是網(wǎng)絡(luò)模型當(dāng)中第k層的卷積模板參數(shù),大小為nk-1*vk*vk*nk,其中nk-1為第k層輸入的特征圖的數(shù)目,nk為第k層輸出層的特征圖的數(shù)目,vk為第k層的卷積核的大小;
步驟1-3-3)采用隨機(jī)梯度下降法求解神經(jīng)網(wǎng)絡(luò)模型的卷積模板參數(shù)w和偏置參數(shù)b,在每次迭代過(guò)程中,計(jì)算預(yù)測(cè)結(jié)果誤差并反向傳播到卷積神經(jīng)網(wǎng)絡(luò)模型,計(jì)算梯度并更新卷積神經(jīng)網(wǎng)絡(luò)模型的參數(shù);具體的權(quán)重更新公式為:
公式中L為訓(xùn)練的損失誤差。m為結(jié)合動(dòng)量,λ為學(xué)習(xí)率。初始學(xué)習(xí)率設(shè)為0.01,并逐步減小到0.0001,同時(shí)采用梯度剪切方法,防止梯度在計(jì)算過(guò)程中過(guò)大。特征圖的數(shù)目nk設(shè)置為64,卷積核的大小設(shè)置為3。
步驟1-3-4)基于卷積神經(jīng)網(wǎng)絡(luò)模型中各卷積層的模型參數(shù)生成低分辨率圖像到高分辨率圖像的映射關(guān)系并完成神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練。
進(jìn)一步地,步驟1-3-2)中神經(jīng)網(wǎng)絡(luò)模型中每一卷積層包含了卷積運(yùn)算和非線性激活函數(shù)運(yùn)算。
進(jìn)一步地,步驟1-3-3)中卷積模板參數(shù)w采用高斯分布初始化,偏置參數(shù)b初始化為0。
進(jìn)一步地,步驟2-1)所述殘差子圖像rtestsub表示在高分辨率圖像空間中各個(gè)不同方向的高頻圖像信息,具體包括圖像邊緣信息和紋理信息。
進(jìn)一步地,步驟2-2)子圖像ytestsub的計(jì)算過(guò)程為:
ytestsub=xtestsub+rtestsub (3)。
進(jìn)一步地,步驟2-2)中獲得子圖像ytestsub后,可以按照步驟1-1)中取子圖像的操作,反向把s2個(gè)子圖像的各個(gè)像素還原到高分辨率圖像空間相應(yīng)位置并重建高清圖像ytest。
為了驗(yàn)證算法的重建效果,在公共測(cè)試圖像集Set5上測(cè)試,并與其它三種算法進(jìn)行比較。圖4-8為本發(fā)明與其它幾種算法的超分辨率重建實(shí)例比較,圖4是輸入神經(jīng)網(wǎng)絡(luò)的低分辨率圖像;圖5是基于傳統(tǒng)的雙三次插值算法的高分辨率重建效果圖;圖6是基于字典學(xué)習(xí)的Aplus算法的高分辨率重建效果圖;圖7是基于深度學(xué)習(xí)技術(shù)的SRCNN算法的重建效果圖;圖8是本發(fā)明一種基于殘差子圖像的深度學(xué)習(xí)超分辨率重建方法的重建效果圖。從圖8中可以看到本發(fā)明的SRSRI算法重建的高分辨率圖像包含了更加豐富的邊緣信息和紋理信息,能讓觀眾看到更加清晰的圖像,從而獲得更好的體驗(yàn)。同時(shí),我們利用英偉達(dá)的Titan X的GPU并行處理性能,加速我們的超分辨率重建過(guò)程。以放大四倍超分辨為例,本發(fā)明所提出的算法在Set5圖像集的平均處理時(shí)間為20.5ms,基本達(dá)到實(shí)時(shí)處理的要求,極大的提高了超分辨率的重建效率。