吳臣桓,楊 欣,李志強
(南京航空航天大學 自動化學院,江蘇 南京 211100)
圖像超分辨率重建[1-2]旨在恢復退化的圖像內(nèi)容,填補缺失的信息.圖像超分辨率重建技術(shù)大致可以分為以下3種:①以雙3次插值、雙線性插值為代表的插值算法,該算法具有速度快的優(yōu)點,但是重建圖像的質(zhì)量往往較低;②基于重建模型的算法,該算法在上采用倍數(shù)較低時擁有不錯的效果,但是隨著上采樣倍數(shù)的增加,重建圖像的質(zhì)量會發(fā)生顯著的降低;③基于學習[4-5]的方法,該算法通過大量的高、低分辨率圖像對學習圖像從低分辨率到高分辨率的非線性關(guān)系,在近年來的研究中取得了巨大的發(fā)展,成為主流的研究方向.基于學習的超分辨率重建算法最開始集中在機器學習領(lǐng)域,比如稀疏字典、隨機森林等方法被相繼提出.近年來,隨著深度學習技術(shù)的發(fā)展,大量的研究轉(zhuǎn)向為數(shù)據(jù)驅(qū)動的深度學習領(lǐng)域.Dong[3]等最先將神經(jīng)網(wǎng)絡(luò)應用于圖像的超分辨重建,他們的模型SRCNN只包含了3個卷積層,但是效果優(yōu)于以前非學習的方法.后來的研究利用神經(jīng)網(wǎng)絡(luò)做了大量工作,但性能的提升往往伴隨著計算成本的急劇上升,計算效率并沒有得到提高,這也導致高性能超分辨重建算法很難實際展開應用.對此Chu[8]、Guo[9]等開始將神經(jīng)架構(gòu)搜索[10-11]用于高效超分辨率重建的研究.得益于神經(jīng)架構(gòu)搜索超參數(shù)自動調(diào)整,網(wǎng)絡(luò)不依賴人工設(shè)計,解空間大等優(yōu)點,本文提出了一種基于神經(jīng)架構(gòu)搜索的高效超分辨重建算法,相比于其他人工設(shè)計的網(wǎng)絡(luò),本算法在保證重建圖像準確的同時擁有了更高的計算效率.
圖1 模型總體結(jié)構(gòu)示意圖
在神經(jīng)架構(gòu)搜索中,搜索空間大致分為鏈狀結(jié)構(gòu)和基于cell的結(jié)構(gòu),前者代表搜索整個網(wǎng)絡(luò)結(jié)構(gòu),后者只搜索一些小的結(jié)構(gòu),通過堆疊、拼接的方法組合成完整的大網(wǎng)絡(luò).采用鏈式結(jié)構(gòu)時,隨著網(wǎng)絡(luò)深度的增加,搜索空間將按照指數(shù)增長,這顯然很難在實際中應用,因此本算法采用了cell結(jié)構(gòu),其內(nèi)部由多個節(jié)點組成,節(jié)點之間相互連接形成邊,每條邊決定節(jié)點間的數(shù)據(jù)采用什么樣的運算方式.
考慮到盡可能地使計算量低,小尺寸的卷積核是至關(guān)重要的,本算法在表1中給出了針對輕量化模型的搜索空間.
表1 輕量化搜索空間
其中,RCAB表示殘差通道注意力模塊,ECA表示高效通道注意力機制.
在神經(jīng)架構(gòu)搜索中,常用的搜索策略有隨機搜索、遺傳算法、貝葉斯算法、強化學習等.本算法采用了強化學習的方法,將整個搜索分為宏觀搜索和微觀搜索兩部分.宏觀搜索主要搜索降采樣結(jié)構(gòu)在網(wǎng)絡(luò)中位置,而微觀搜索主要搜索cell結(jié)構(gòu)內(nèi)部節(jié)點之間的連接和運算.
1.3.1 宏觀搜索
宏觀搜索定義了降采樣結(jié)構(gòu)的位置關(guān)系,具體來說,假設(shè)在網(wǎng)絡(luò)的主干部分設(shè)置下采樣倍數(shù)為2倍,即只存在一個下采樣結(jié)構(gòu),那么對于包含n個cell結(jié)構(gòu)的網(wǎng)絡(luò),其位置共有n-1種可能.圖2(a)展示了這一搜索的過程,圖中紅色的箭頭代表某一確定下采樣結(jié)構(gòu)位置的子網(wǎng)絡(luò),即下采樣結(jié)構(gòu)位于第一個普通cell結(jié)構(gòu)后,而灰色的箭頭代表了下采樣結(jié)構(gòu)所有潛在的位置.
1.3.2 微觀搜索
微觀搜索定義了cell結(jié)構(gòu)內(nèi)部之間的關(guān)系,cell結(jié)構(gòu)內(nèi)部可以被抽象為由多個節(jié)點連接而成的有向無環(huán)圖.為了構(gòu)建這個有向無環(huán)圖,微觀搜索需要建立各節(jié)點之間的連接關(guān)系,并為這些連接分配運算操作.對于每個連接,其可能存在的運算操作如表1所示.
將神經(jīng)架構(gòu)搜索應用于圖像超分辨重建主要想解決的就是平衡計算量消耗和性能這一矛盾.在本算法中,采用了強化學習中的獎勵用來表示這一矛盾關(guān)系,強化學習的直覺是讓獎勵積累盡可能的多.所以在超分辨重建這一任務(wù)上,獎勵R由計算量Mflops和性能衡量指標MPSNR共同組成,其數(shù)學表達式如公式1所示:
R=0.2MPSNR-0.8Mflops.
(1)
循環(huán)神經(jīng)網(wǎng)絡(luò)常常被用作強化學習的控制器.本算法采用了和文獻[9]一樣的控制器結(jié)構(gòu),使用長短期記憶網(wǎng)絡(luò)(LSTM[13])作為宏觀搜索和微觀搜索的控制器.整個控制器的結(jié)構(gòu)如圖2(b)所示.
1.5.1 微觀搜索控制器
微觀搜索控制器被用來尋找最優(yōu)的有向無環(huán)圖,如圖2(b)左側(cè)所示.在本算法中,共包含2種cell結(jié)構(gòu),一種是特征圖尺寸不變的普通cell結(jié)構(gòu),即輸入的特征圖尺寸與輸出特征圖尺寸相同,另一種則是分辨率擴大的cell結(jié)構(gòu),特征圖在經(jīng)過該cell結(jié)構(gòu)后,分辨率放大2倍.在每個cell結(jié)構(gòu)中,包含2個輸入節(jié)點,4個中間節(jié)點以及1個輸出節(jié)點,每個中間節(jié)點可以接受任意前面兩個節(jié)點的輸出作為輸入,因此每個中間節(jié)點,控制器需要做出2個決策:①選擇哪些節(jié)點作為輸入;②兩節(jié)點之間形成的邊采用什么樣的運算操作.這些決策可以被看成一個時間序列,所以LSTM很適合用于去解決這一問題.
圖2 控制器網(wǎng)絡(luò)示意圖
1.5.2 宏觀搜索控制器
宏觀搜索控制器被用來尋找最優(yōu)的降采樣結(jié)構(gòu)位置,如圖2(b)右側(cè)所示,假設(shè)模型包含了n-1個普通cell,網(wǎng)絡(luò)級控制器被用來選擇在第i個cell后進行降采樣操作(0≤i 綜上,在控制器被設(shè)計好后,對控制器進行訓練以期望采樣出最優(yōu)子網(wǎng)絡(luò).神經(jīng)架構(gòu)搜索采用參數(shù)共享的方式.假設(shè)子網(wǎng)絡(luò)的采樣次數(shù)為S,首先初始化控制器參數(shù)θ與共享參數(shù)P;然后控制器每一次采樣得到子網(wǎng)絡(luò)α,將該子網(wǎng)絡(luò)在訓練集上進行訓練,利用梯度下降的方式更新參數(shù)P;完成子網(wǎng)絡(luò)訓練迭代的次數(shù)后,在驗證集上進行控制器參數(shù)的更新,控制器參數(shù)更新的公式如式2所示: (2) 通過迭代和訓練,得到所學習的策略π(·),本算法首先抽樣幾個候選子網(wǎng)絡(luò),然后通過驗證集選擇一個圖像質(zhì)量評分最高的子網(wǎng)絡(luò)結(jié)構(gòu).最后,使用該架構(gòu)(包括普通cell和上采樣cell以及降采樣結(jié)構(gòu)的位置)建立SR模型,并將其從頭訓練. 考慮到計算量和性能的兼顧,對于上采樣因子為2的超分辨率重建任務(wù),本算法將降采樣倍數(shù)設(shè)置為2,整個網(wǎng)絡(luò)包含15個cell結(jié)構(gòu)(14個普通cell結(jié)構(gòu),1個上采樣cell結(jié)構(gòu)),Batch-size設(shè)置為64.本算法使用Adam優(yōu)化器作為模型訓練的優(yōu)化方法,其中參數(shù)β1=0.9,β2=0.999,ε=10-8.當進行神經(jīng)架構(gòu)搜索時,學習率設(shè)置為2×10-4.完成搜索后進行最優(yōu)網(wǎng)絡(luò)訓練時,初始學習率被設(shè)置為1×10-4,每迭代2萬次進行一次對半的衰減,總迭代次數(shù)設(shè)置為10萬次.訓練使用DIV2K作為訓練集,在2張Nvidia-2080Ti GPU上完成訓練. 本算法共采樣了400個子網(wǎng)絡(luò),從中選取最優(yōu)結(jié)構(gòu).如圖3所示,隨著控制器參數(shù)的更新,采樣出的子網(wǎng)絡(luò)在驗證集上的損失逐漸降低,證明控制器使得采樣的子網(wǎng)絡(luò)往最優(yōu)的方向發(fā)展. 圖3 神經(jīng)架構(gòu)搜索時子網(wǎng)絡(luò)的損失曲線 在尋找到最優(yōu)子網(wǎng)絡(luò)后,對該網(wǎng)絡(luò)結(jié)構(gòu)進行重新訓練以期望得到更好的性能.圖4展示了本算法所搜索出的普通cell和上采樣cell結(jié)構(gòu),可以看到其結(jié)構(gòu)是難以通過人工設(shè)計所得到的.本算法將訓練完成的最優(yōu)網(wǎng)絡(luò)同其它深度學習算法做了性能的比較,結(jié)果如表2所示,其中Mult-Add表示模型在一幅480×480×3大小的圖片上所消耗的加乘計算量.和計算量差別較小的LapSRN相比,本算法在表中所有的測試集的PSNR、SSIM上都取得了不小的優(yōu)勢;CARN、DRRN憑借更大的模型,得到了更好的指標,但是本算法的算力消耗不及其10%. 圖4 搜索出的上采樣cell和普通cell結(jié)構(gòu)示意圖 表2 本算法與其他算法性能和計算量的比較 圖5展示了本算法與其他算法在視覺效果上的比較,相比于SRCNN、VDSR,本算法在邊緣處更加銳利和準確,紋理清晰自然. 圖5 4倍放大因子下本算法與其他算法的視覺效果比較 本文針對圖像超分辨重建中算力消耗和性能難以平衡這一問題,提出了一種神經(jīng)架構(gòu)搜索高效超分辨率重建算法.首先采用全局殘差連接提高模型收斂性能;其次在模型的主干部分設(shè)計了下采樣結(jié)構(gòu)用于縮小特征圖尺寸,降低計算量;然后將搜索分為宏觀搜索和微觀搜索兩部分,宏觀搜索用于搜索特征圖尺寸縮小結(jié)構(gòu)的位置,微觀搜索用于搜索兩種不同cell結(jié)構(gòu);最后通過實驗比較,證明了該算法的有效性.2 訓練及最優(yōu)結(jié)構(gòu)推斷
2.1 網(wǎng)絡(luò)訓練
2.2 最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)推理
3 實驗
3.1 實驗設(shè)置
3.2 實驗結(jié)果
3.3 視覺效果比較
4 結(jié)語