吳臣桓,楊 欣,李志強
(南京航空航天大學 自動化學院,江蘇 南京 211100)
圖像超分辨率重建[1-2]旨在恢復退化的圖像內容,填補缺失的信息.圖像超分辨率重建技術大致可以分為以下3種:①以雙3次插值、雙線性插值為代表的插值算法,該算法具有速度快的優點,但是重建圖像的質量往往較低;②基于重建模型的算法,該算法在上采用倍數較低時擁有不錯的效果,但是隨著上采樣倍數的增加,重建圖像的質量會發生顯著的降低;③基于學習[4-5]的方法,該算法通過大量的高、低分辨率圖像對學習圖像從低分辨率到高分辨率的非線性關系,在近年來的研究中取得了巨大的發展,成為主流的研究方向.基于學習的超分辨率重建算法最開始集中在機器學習領域,比如稀疏字典、隨機森林等方法被相繼提出.近年來,隨著深度學習技術的發展,大量的研究轉向為數據驅動的深度學習領域.Dong[3]等最先將神經網絡應用于圖像的超分辨重建,他們的模型SRCNN只包含了3個卷積層,但是效果優于以前非學習的方法.后來的研究利用神經網絡做了大量工作,但性能的提升往往伴隨著計算成本的急劇上升,計算效率并沒有得到提高,這也導致高性能超分辨重建算法很難實際展開應用.對此Chu[8]、Guo[9]等開始將神經架構搜索[10-11]用于高效超分辨率重建的研究.得益于神經架構搜索超參數自動調整,網絡不依賴人工設計,解空間大等優點,本文提出了一種基于神經架構搜索的高效超分辨重建算法,相比于其他人工設計的網絡,本算法在保證重建圖像準確的同時擁有了更高的計算效率.


圖1 模型總體結構示意圖
在神經架構搜索中,搜索空間大致分為鏈狀結構和基于cell的結構,前者代表搜索整個網絡結構,后者只搜索一些小的結構,通過堆疊、拼接的方法組合成完整的大網絡.采用鏈式結構時,隨著網絡深度的增加,搜索空間將按照指數增長,這顯然很難在實際中應用,因此本算法采用了cell結構,其內部由多個節點組成,節點之間相互連接形成邊,每條邊決定節點間的數據采用什么樣的運算方式.
考慮到盡可能地使計算量低,小尺寸的卷積核是至關重要的,本算法在表1中給出了針對輕量化模型的搜索空間.

表1 輕量化搜索空間
其中,RCAB表示殘差通道注意力模塊,ECA表示高效通道注意力機制.
在神經架構搜索中,常用的搜索策略有隨機搜索、遺傳算法、貝葉斯算法、強化學習等.本算法采用了強化學習的方法,將整個搜索分為宏觀搜索和微觀搜索兩部分.宏觀搜索主要搜索降采樣結構在網絡中位置,而微觀搜索主要搜索cell結構內部節點之間的連接和運算.
1.3.1 宏觀搜索
宏觀搜索定義了降采樣結構的位置關系,具體來說,假設在網絡的主干部分設置下采樣倍數為2倍,即只存在一個下采樣結構,那么對于包含n個cell結構的網絡,其位置共有n-1種可能.圖2(a)展示了這一搜索的過程,圖中紅色的箭頭代表某一確定下采樣結構位置的子網絡,即下采樣結構位于第一個普通cell結構后,而灰色的箭頭代表了下采樣結構所有潛在的位置.
1.3.2 微觀搜索
微觀搜索定義了cell結構內部之間的關系,cell結構內部可以被抽象為由多個節點連接而成的有向無環圖.為了構建這個有向無環圖,微觀搜索需要建立各節點之間的連接關系,并為這些連接分配運算操作.對于每個連接,其可能存在的運算操作如表1所示.
將神經架構搜索應用于圖像超分辨重建主要想解決的就是平衡計算量消耗和性能這一矛盾.在本算法中,采用了強化學習中的獎勵用來表示這一矛盾關系,強化學習的直覺是讓獎勵積累盡可能的多.所以在超分辨重建這一任務上,獎勵R由計算量Mflops和性能衡量指標MPSNR共同組成,其數學表達式如公式1所示:
R=0.2MPSNR-0.8Mflops.
(1)
循環神經網絡常常被用作強化學習的控制器.本算法采用了和文獻[9]一樣的控制器結構,使用長短期記憶網絡(LSTM[13])作為宏觀搜索和微觀搜索的控制器.整個控制器的結構如圖2(b)所示.
1.5.1 微觀搜索控制器
微觀搜索控制器被用來尋找最優的有向無環圖,如圖2(b)左側所示.在本算法中,共包含2種cell結構,一種是特征圖尺寸不變的普通cell結構,即輸入的特征圖尺寸與輸出特征圖尺寸相同,另一種則是分辨率擴大的cell結構,特征圖在經過該cell結構后,分辨率放大2倍.在每個cell結構中,包含2個輸入節點,4個中間節點以及1個輸出節點,每個中間節點可以接受任意前面兩個節點的輸出作為輸入,因此每個中間節點,控制器需要做出2個決策:①選擇哪些節點作為輸入;②兩節點之間形成的邊采用什么樣的運算操作.這些決策可以被看成一個時間序列,所以LSTM很適合用于去解決這一問題.

圖2 控制器網絡示意圖
1.5.2 宏觀搜索控制器
宏觀搜索控制器被用來尋找最優的降采樣結構位置,如圖2(b)右側所示,假設模型包含了n-1個普通cell,網絡級控制器被用來選擇在第i個cell后進行降采樣操作(0≤i 綜上,在控制器被設計好后,對控制器進行訓練以期望采樣出最優子網絡.神經架構搜索采用參數共享的方式.假設子網絡的采樣次數為S,首先初始化控制器參數θ與共享參數P;然后控制器每一次采樣得到子網絡α,將該子網絡在訓練集上進行訓練,利用梯度下降的方式更新參數P;完成子網絡訓練迭代的次數后,在驗證集上進行控制器參數的更新,控制器參數更新的公式如式2所示: (2) 通過迭代和訓練,得到所學習的策略π(·),本算法首先抽樣幾個候選子網絡,然后通過驗證集選擇一個圖像質量評分最高的子網絡結構.最后,使用該架構(包括普通cell和上采樣cell以及降采樣結構的位置)建立SR模型,并將其從頭訓練. 考慮到計算量和性能的兼顧,對于上采樣因子為2的超分辨率重建任務,本算法將降采樣倍數設置為2,整個網絡包含15個cell結構(14個普通cell結構,1個上采樣cell結構),Batch-size設置為64.本算法使用Adam優化器作為模型訓練的優化方法,其中參數β1=0.9,β2=0.999,ε=10-8.當進行神經架構搜索時,學習率設置為2×10-4.完成搜索后進行最優網絡訓練時,初始學習率被設置為1×10-4,每迭代2萬次進行一次對半的衰減,總迭代次數設置為10萬次.訓練使用DIV2K作為訓練集,在2張Nvidia-2080Ti GPU上完成訓練. 本算法共采樣了400個子網絡,從中選取最優結構.如圖3所示,隨著控制器參數的更新,采樣出的子網絡在驗證集上的損失逐漸降低,證明控制器使得采樣的子網絡往最優的方向發展. 圖3 神經架構搜索時子網絡的損失曲線 在尋找到最優子網絡后,對該網絡結構進行重新訓練以期望得到更好的性能.圖4展示了本算法所搜索出的普通cell和上采樣cell結構,可以看到其結構是難以通過人工設計所得到的.本算法將訓練完成的最優網絡同其它深度學習算法做了性能的比較,結果如表2所示,其中Mult-Add表示模型在一幅480×480×3大小的圖片上所消耗的加乘計算量.和計算量差別較小的LapSRN相比,本算法在表中所有的測試集的PSNR、SSIM上都取得了不小的優勢;CARN、DRRN憑借更大的模型,得到了更好的指標,但是本算法的算力消耗不及其10%. 圖4 搜索出的上采樣cell和普通cell結構示意圖 表2 本算法與其他算法性能和計算量的比較 圖5展示了本算法與其他算法在視覺效果上的比較,相比于SRCNN、VDSR,本算法在邊緣處更加銳利和準確,紋理清晰自然. 圖5 4倍放大因子下本算法與其他算法的視覺效果比較 本文針對圖像超分辨重建中算力消耗和性能難以平衡這一問題,提出了一種神經架構搜索高效超分辨率重建算法.首先采用全局殘差連接提高模型收斂性能;其次在模型的主干部分設計了下采樣結構用于縮小特征圖尺寸,降低計算量;然后將搜索分為宏觀搜索和微觀搜索兩部分,宏觀搜索用于搜索特征圖尺寸縮小結構的位置,微觀搜索用于搜索兩種不同cell結構;最后通過實驗比較,證明了該算法的有效性.2 訓練及最優結構推斷
2.1 網絡訓練

2.2 最優網絡結構推理
3 實驗
3.1 實驗設置
3.2 實驗結果



3.3 視覺效果比較


4 結語