本發明涉及圖像超分辨率重建技術,具體涉及一種基于深度卷積神經網絡的單幅圖像超分辨率重建方法,屬于數字圖像處理領域。
背景技術:
因為攝像硬件設備限制或者攝像條件等影響,會導致圖像質量低下、邊緣不明顯。單方面地提高硬件設備的成像精度會增加產品的成本,而且也不能徹底解決成像環境的干擾。超分辨率重建技術的提出無疑是解決這一難題的最佳途徑,既能合理避免因改進成像系統造成的浪費,又能有效提高圖像質量。
基于稀疏編碼的方法是基于外部樣本的圖像超分辨率重建的代表性方法之一。該方法涉及幾個步驟。從圖像中密集地提取小塊并進行預處理;將這些小塊用低分辨率字典進行編碼;將低分辨率字典映射為高分辨率字典,用于重建高分辨率小塊;重建的小塊被聚集(或平均)以產生輸出。基于稀疏編碼的方法需要對輸入數據進行大量預處理,特別注意字典的學習和優化,并且每個步驟都需要逐一優化,沒有把全部步驟當成一個完整的框架統一優化,可能面臨結構復雜并且計算速度慢的挑戰。
近年來,由于機器學習與深度學習的飛速發展,基于學習的超分辨率重建方法取得較大進步。基于深度學習的超分辨率方法相比于傳統的基于學習的超分辨率方法,具有結構簡單,速度快的優點,且由于在訓練階段,基于深度學習的方法同時優化了所有操作,并且基于深度學習的方法重建出來的高分辨率圖像在質量上要優于傳統的基于學習的方法。
技術實現要素:
本發明的目的在于克服現有技術的缺點與不足,提供一種基于深度卷積神經網絡的單幅圖像超分辨率重建方法,該方法直接學習低分辨率和高分辨率圖像之間的端對端映射,映射表示為一個深度卷積神經網絡,將低分辨率圖像作為輸入,并輸出高分辨率圖像。
本發明將深度學習應用到單圖像超分辨重建方法中,采用雙通道分別進行三層的深度神經網絡的訓練,運用梯度下降法和反向傳導算法不斷優化網絡,再用優化的網絡重建出高分辨率圖像。
本發明的目的可以通過以下技術方案實現:一種基于深度卷積神經網絡的單幅圖像超分辨率重建方法,包括以下步驟:
步驟1:預處理步驟:把輸入圖像從RGB顏色空間轉換到YCbCr顏色空間,并且只取其中的Y通道,也就是亮度通道;
步驟2:將步驟1的預處理后的圖像進行下采樣,然后分兩個通道進行插值,形成通道1和通道2訓練數據;
步驟3:從步驟1的預處理后的圖像密集提取小塊,結果作為標簽;
步驟4:將步驟2的通道1和通道2的訓練數據合并作為深度卷積神經網絡模型輸入,將步驟3的標簽作為深度卷積神經網絡模型的輸出,利用梯度下降法和反向傳導算法不斷優化網絡模型。
步驟5:輸入低分辨率圖像,經過雙通道插值后利用本發明訓練好的深度卷積神經網絡輸出高分辨率圖像。
步驟2所述的預處理圖像進行下采樣后,分兩個通道進行插值,通道1進行雙三次插值,然后密集提取小塊,將這些小塊作為通道1訓練數據;通道2進行最近鄰插值,結果與通道1的雙三次插值結果相乘作為掩碼,然后密集提取小塊,將這些小塊作為通道2訓練數據;
步驟4所述的深度卷積神經網絡模型,在訓練階段,首先構造一個雙通道,每通道分別有三層卷積層的深度卷積神經網絡,三層卷積層分別是特征提取層,非線性映射層和高分辨率重建層,然后將步驟2的通道1和通道2的訓練數據合并作為深度卷積神經網絡模型輸入,將步驟3的標簽作為深度卷積神經網絡模型的輸出,利用梯度下降法和反向傳導算法不斷訓練優化網絡模型。
本發明的具體步驟可以如下:
(1)預處理步驟:把輸入圖像從RGB顏色空間轉換到YCbCr顏色空間,并且只取其中的Y通道,也就是亮度通道。
(2)將步驟(1)的預處理后的圖像進行下采樣,然后分兩個通道進行插值:
(2.1)通道1進行雙三次插值,然后密集提取小塊,將這些小塊作為通道1訓練數據;
(2.2)通道2進行最近鄰插值,結果與通道1的雙三次插值結果相乘作為掩碼,然后密集提取小塊,將這些小塊作為通道2訓練數據;
(3)從步驟(1)的預處理后的圖像密集提取小塊,結果作為標簽;
(4)將步驟(2)的通道1和通道2的訓練數據合并作為深度卷積神經網絡模型輸入,將步驟(3)的標簽作為深度卷積神經網絡模型的輸出,利用梯度下降法和反向傳導算法不斷優化網絡模型。
(5)輸入低分辨率圖像,經過雙通道插值后利用本發明訓練好的深度卷積神經網絡輸出高分辨率圖像。
相對于現有技術,本發明具有如下的優點與有益效果:本發明的方法需要的圖像預處理少;不同于傳統方法分別處理每個組件,本發明的方法聯合優化所有層;本發明的深度卷積神經網絡具有輕量的結構,而且有很好的恢復質量,并在實際在線使用中有較快速度。
附圖說明
圖1是本發明圖像預處理步驟的框圖;
圖2是本發明預處理后的圖像經過雙通道插值形成雙通道訓練數據的框圖;
圖3是本發明預處理后的圖像形成標簽的框圖;
圖4是本發明利用訓練數據和標簽反復訓練深度卷積神經網絡的框圖;
圖5是本發明利用最終訓練好的深度卷積神經網絡將低分辨率的輸入圖像轉化為高分辨率的輸出圖像。
具體實施方式
下面結合附圖詳細解釋本發明提出的基于深度卷積神經網絡的單幅圖像超分辨率重建方法。
實施例
一種基于深度卷積神經網絡的單幅圖像超分辨率重建方法,包括以下步驟:
(1)如圖1所示,圖像預處理步驟包含2個過程:把輸入圖像從RGB顏色空間轉換到YCbCr顏色空間、提取YCbCr顏色空間里面的Y通道,也就是亮度通道作為預處理圖像;
(2)如圖2所示,把所述步驟(1)得到的預處理圖像進行下采樣,形成低分辨圖像,然后分兩個通道進行插值:
(2.1)通道1進行雙三次插值,然后密集提取小塊,將這些小塊作為通道1訓練數據;
(2.2)通道2進行最近鄰插值,結果與所述步驟(2.1)的通道1的雙三次插值結果相乘作為掩碼,然后密集提取小塊,將這些小塊作為通道2訓練數據;
具體地,如步驟(1)的預處理圖像像素大小為255x255,經過尺度為3的下采樣,圖像像素大小變成85x 85(低分辨率),然后分兩個通道進行插值;通道1進行雙三次插值。
插值后圖像大小原圖像大小(255x255),然后再密集提取小塊,提取小塊方法可以是以步長14,大小為33x 33的窗口進行提取,將這些小塊作為通道1的訓練數據;通道2進行最近鄰插值,令插值后像素的灰度值等于距它最近的像素的灰度值,插值后圖像大小為原圖像大小(255x255),然后把兩個通道插值后的結果相乘作為掩碼,然后再從掩碼中密集提取小塊,提取方法跟雙三次插值提取方法一樣,將這些小塊作為通道2的訓練數據。
(3)在圖3中,將所述步驟(1)的預處理后的圖像進行密集提取小塊,提取方法跟所述步驟(2)方法一樣,將這些小塊跟步驟(2)的訓練數據小塊一一對應作為標簽;
(4)在圖4中,將步驟(2)的兩個通道訓練數據合并作為深度卷積神經網絡模型輸入,將步驟(3)的標簽作為深度卷積神經網絡模型的輸出,利用梯度下降法和反向傳導算法不斷優化網絡模型。
具體地,本發明把第一層卷積神經網絡表示為操作F1:
F1(X)=max(0,W1*X+B1),
式中,X是雙通道訓練數據,它作為第一層卷積神經網絡的輸入,W1是第一層卷積神經網絡的系數,*是卷積操作,將輸入數據與網絡系數卷積后的結果再加上偏置向量B1,然后對結果應用修正線性單位(ReLu),它的函數為:
f(x)=max(0,x)(這里x=W1*X+B1)。
把第二層卷積神經網絡表示為操作F2:
F2(X)=max(0,W2*F1(X)+B2),
式中,F1(X)是第一層卷積層的輸出結果,W2是第二層卷積神經網絡的系數,*是卷積操作,B2是第二層卷積神經網絡的偏置向量,對其結果也應用ReLu修正線性單位。
把第三層卷積神經網絡表示為操作F3:
F(X)=W3*F2(X)+B3,
式中,F2(X)是第二層卷積層的輸出結果,W3是第三層卷積神經網絡的系數,B3是第三層卷積神經網絡的偏置向量。F(X)就是網絡計算出來的高分辨率圖像。
學習端到端映射函數F需要估計參數Θ={W1;W2;W3;B1;B2;B3}。這是通過最小化重建圖像F(X)和相應的高分辨率圖像Y(即步驟(3)的標簽)之間的損失來實現的。給定一組高分辨率圖像{Yi}及其對應的低分辨率圖像{Xi},本發明使用均方錯誤(MSE)作為損失函數:
式中,L(Θ)表示損失,n是所有圖像的樣本量。圖4中的從右往左的虛線箭頭就是反向傳導,用反向傳導的隨機梯度下降使損失L(Θ)最小化。圖4中把三層的卷積神經網絡放到一起形成一個深度卷積神經網絡,在這個模型中,所有的網絡系數和偏置都要根據損失不斷優化,最終的卷積神經網絡就是最優的網絡。
(5)在圖5中,輸入低分辨率圖像,進行雙通道插值,然后利用所述步驟(4)訓練好的深度卷積神經網絡模型,輸出最終的高分辨率圖像,完成本發明的圖像重建。
上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受上述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護范圍之內。