楊改娣,黎敬濤,宋開雨
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
超分辨率圖像重建在圖像壓縮、醫(yī)學成像、遙感成像、公共安防等計算機視覺子領域有廣泛應用[1-4],并且在圖像識別、目標檢測、目標分割等許多監(jiān)督式學習任務的預處理階段有重要作用[1].監(jiān)督式學習訓練階段使用的訓練樣本需要對目標進行標注,但由于拍攝過程的不穩(wěn)定性或某些特定領域采集環(huán)境的影響[5],獲取到的圖像往往是低分辨率的.低分辨率圖像在進行標注時由于缺乏高頻細節(jié),會出現(xiàn)目標對象誤標和漏標問題,尤其訓練集中有相似目標和小目標的圖像,影響更為明顯.因此,得到超分辨率圖像是提高監(jiān)督式學習任務性能的保障.
Dong 等[6](SRCNN)首次利用卷積網(wǎng)絡實現(xiàn)超分辨率的重建,但Shi 等[7](ESPCN)認為SRCNN使用插值進行預上采樣操作影響了性能,認為應讓網(wǎng)絡從訓練樣本中學習如何進行放大,便將預上采樣操作替換為在重建操作之后增加一個亞像素卷積層來實現(xiàn)放大,這種方法在降低SRCNN 計算量的同時重建效果也得到改善.Ledig 等[8](SRGAN)則認為SRCNN、ESPCN 以及其他使用均方誤差(Mean Square Error,MSE)作為重建目標損失的算法,其模型重點學習的是顏色、亮度等像素上的差異而非圖像固有的語義差異,導致重建出來的圖像過于平滑,缺乏高頻信息,在感知上不令人滿意.對此,SRGAN 定義了感知損失函數(shù),并利用可以生產(chǎn)具有真實圖像感知的生成對抗網(wǎng)絡來重建超分辨率圖像.Haris 等[9](DBPN)則仍然使用MSE 作為重建損失函數(shù),通過設計具有自回歸功能的上下采樣單元構成網(wǎng)絡,利用反饋機制挖掘低分辨率圖像與高分辨率圖像之間的相關性信息來重建超分辨率圖像,該算法同樣提升了峰值信噪比(Peak Signal to Noise Ratio,PSRN)和結構相似性(Structural Similarity,SSIM)值[10].除了在網(wǎng)絡結構、損失函數(shù)的討論之外,Blau 等[11]關注算法的評估指標,用數(shù)學理論證明失真與感知質量并不是完全相關,有時候較大的失真也可能有較好的感知質量,為此提出新的評估指標平衡兩者.
近年來,為了改善使用MSE 作為重建目標損失導致重建出來的超分辨率圖像在失真和感知兩個屬性上難以兼得的問題,許多改進算法相繼被提出.段麗娟等[12]鑒于小波變換能夠將圖像內容的“粗略”和“細節(jié)”特征進行分離,提出一種基于小波域的深度殘差網(wǎng)絡,解決傳統(tǒng)的神經(jīng)網(wǎng)絡方法忽略重要細節(jié)的問題.也有許多研究者在SRGAN模型上進行優(yōu)化改進,丁玲等[13]為緩解判別器在接收高分辨率圖像作為輸入時,輸出判別信號不穩(wěn)定問題,設計了一個穩(wěn)定的基于能量的輔助對抗損失;李強等[14]與辛元雪等[15]方法相似,均刪除生成網(wǎng)絡中的所有批歸一化層,設計多級殘差密集連接模塊,重新改進網(wǎng)絡結構.針對一些算法忽略了特征通道間相關信息以及網(wǎng)絡數(shù)據(jù)傳遞中信息丟失問題,蔡體健等[16]、許嬌等[17]提出多尺度殘差融合與通道注意力相結合類重構網(wǎng)絡;蔡文郁等[18]將殘差與注意力機制引進到循環(huán)生成對抗網(wǎng)絡中.
這些算法主要對生成對抗網(wǎng)絡[19]、殘差網(wǎng)絡[20]等這類單向機制進行改進,雖然在一定程度上重建效果有所提高,但單向機制只從一個方向學習低分辨率與高分辨率圖像之間的信息,不能同時挖掘低分辨率圖像演進到高分辨率圖像和高分辨率圖像退化到低分辨率圖像兩個方向信息,導致在超分辨率特征重建時,兩者的相關性信息沒有得到充分利用,進而限制了網(wǎng)絡性能,影響重建效果.本文受《每日郵報》報道的變色龍眼睛有著可以同時向前向后看的非凡視覺功能一文啟發(fā)[21],借助具有可以結合序列演進前向與反向兩個方向給輸出提供不同方向時間信息功能的雙向循環(huán)神經(jīng)網(wǎng)絡(Bidirectional Recurrent Neural Network,BRNN)[22],進行網(wǎng)絡模型設計.變色龍的兩只眼球可以360 度獨立旋轉,兩只眼睛可以同時注視兩個不同方向,有非常寬廣的視野范圍,這一特殊功能幫助他們更快地捕捉到昆蟲[23].而雙向循環(huán)神經(jīng)網(wǎng)絡的前向循環(huán)網(wǎng)絡和反向循環(huán)網(wǎng)絡如同變色龍的兩只眼睛,同時看低分辨率圖像如何演進到高分辨率圖像以及高分辨率圖像如何退化到低分辨率圖像兩個過程.通過雙向循環(huán)機制獲取兩個方向信息,在重建超分辨率特征時將這兩個分向上的特征聯(lián)合起來進行最終預測,實現(xiàn)在超分辨率圖像重建過程中失真和感知屬性的兼顧,改善重建效果.
本文提出的基于雙向循環(huán)網(wǎng)絡的變色龍視覺超分辨率重建算法,定義了特征演進和退化序列,并在VGG[24]基礎結構上設計了低分辨率圖像到高分辨率圖像演進和高分辨率圖像到低分辨率圖像退化網(wǎng)絡;將演進和退化網(wǎng)絡對應應用為雙向循環(huán)網(wǎng)絡的前向循環(huán)和反向循環(huán)網(wǎng)絡結構.完整的SRBRNN 網(wǎng)絡結構如圖1 所示,包括一個雙向循環(huán)重建模塊和兩個卷積模塊,其中雙向循環(huán)重建模塊包含特征演進和退化網(wǎng)絡以及雙向循環(huán)超分辨率特征重建網(wǎng)絡.特征演進和退化網(wǎng)絡模擬低分辨率圖像到高分辨率圖像演進和高分辨率圖像到低分辨率圖像退化兩個過程;雙向循環(huán)超分辨率特征重建網(wǎng)絡的兩個循環(huán)網(wǎng)絡則模擬變色龍的兩只眼睛,負責獲取演進和退化兩個過程信息.網(wǎng)絡模型采用先放大再修復流程,將低分辨率圖像先放大到目標尺寸作為網(wǎng)絡輸入,并經(jīng)過卷積特征提取模塊1 提取低分辨率圖像特征,然后把提取的特征送給BRNN 進行超分辨率特征重建,最后在卷積模塊2 中對重建的超分辨率特征進行特征通道數(shù)調整,輸出超分辨率圖像.
圖1 SRBRNN 網(wǎng)絡結構Fig.1 The network structure of SRBRNN
1.1 特征演進和退化網(wǎng)絡特征演進和退化網(wǎng)絡主要功能是對卷積特征提取模塊1 提取到的低分辨率圖像特征進行加工,構造像素到語義特征演進序列和語義到像素特征退化序列,模擬低分辨率圖像到高分辨率圖像演進和高分辨率圖像到低分辨率圖像退化過程.采用VGG 網(wǎng)絡作為特征演進和退化網(wǎng)絡的骨干模型.VGG 模型的不同深度卷積層梯度機制,可以提取不同類型特征,淺層更多是顏色亮度像素特征,深層更多是語義特征.將通道數(shù)逐層加深方向提取到的各層特征定義為像素到語義特征演進序列,對應低分辨率圖像到高分辨率圖像演進過程信息;而通道數(shù)逐層遞減方向提取到的各層特征定義為語義到像素特征退化序列,對應高分辨率圖像到低分辨率圖像退化過程信息.
網(wǎng)絡結構如圖2 所示,將序列演進方向稱為Forward VGG,序列退化方向稱為Backward VGG,圖2 中的k表示卷積核數(shù).每個卷積層均采用3×3小卷積核,與SRCNN 使用的5×5、9×9 大卷積核相比,多個小卷積核降低計算量的同時具有更強的非線性表達能力,可以學習到像素與語義特征之間更豐富、精準的映射關系.
圖2 特征演進和退化網(wǎng)絡Fig.2 Feature evolution and degenerate networks
1.2 雙向循環(huán)超分辨率特征重建網(wǎng)絡雙向循環(huán)超分辨率重建網(wǎng)絡的雙向循環(huán)機制通過像素到語義特征演進序列和語義到像素特征退化序列不同方向的信息交流,并結合低分辨率圖像到高分辨率圖像演進及高分辨率圖像到低分辨率圖像退化兩個過程信息,對低分辨率圖像與高分辨率圖像之間的相關性信息進行全面推理學習,使網(wǎng)絡在重建超分辨率特征時可以兼顧到失真和感知兩個屬性.
雙向循環(huán)超分辨重建網(wǎng)絡由輸入序列、兩個循環(huán)網(wǎng)絡和輸出序列組成,輸入序列為卷積特征提取模塊1 提取到的低分辨率特征,前向循環(huán)和反向循環(huán)網(wǎng)絡的網(wǎng)絡模型分別為Forward VGG 和Backward VGG,輸出序列則是前向循環(huán)網(wǎng)絡以及反向循環(huán)網(wǎng)絡的各個同層輸出特征對應疊加.雙向循環(huán)網(wǎng)絡推理流程:前向循環(huán)網(wǎng)絡Hi層的輸入由輸入序列Xi特征和前向循環(huán)網(wǎng)絡Hi-1層的輸出特征同時控制,而反向循環(huán)網(wǎng)絡Hi層的輸入由輸入序列Xi特征和反向循環(huán)網(wǎng)絡Hi+1層的輸出特征同時控制,然后前向和反向循環(huán)網(wǎng)絡的同層輸出特征同時輸入到輸出模塊G中.前向和反向循環(huán)網(wǎng)絡的同層輸出特征,一個來自演進過程中的特征,另一個來自退化過程中的特征,輸出模塊對接收到的多種像素與語義特征組合進行信息整合后作為超分辨率特征序列輸出.BRNN 結構如圖3 所示,推理流程如式(1)~(4).
圖3 BRNN 網(wǎng)絡結構Fig.3 The network structure of BRNN
1.3 損失函數(shù)SRBRNN 使用的損失包括MSE和雙向循環(huán)超分辨率特征重建網(wǎng)絡輸出序列的最后一個特征映射之間的歐氏距離,損失函數(shù)如式(5)~(7)所示.經(jīng)過SRBRNN 網(wǎng)絡的雙向循環(huán)信息交流,輸出的超分辨率圖像包含了豐富的低分辨率圖像與高分辨率圖像演進和退化過程信息,使得Lmse可以兼顧優(yōu)化超分辨率圖像與高分辨率圖像之間失真和感知差異;LG特征損失輔助優(yōu)化感知差異.
式中:r表示圖像通道數(shù)(r=3),表示源高分辨率圖像第 (x,y) 像素點的像素值,表示重建超分辨率圖像第 (x,y)像素點的像素值,W、H和W j、H j表示輸出特征圖的尺寸大小,?j()表示雙向循環(huán)超分辨率特征重建網(wǎng)絡輸出序列第j個特征圖的每個像素值.
實驗在Set5[25]、Set14[26]、BSD100[27]基準測試集上進行4 倍重建,并用PSNR 和SSIM 指標對算法效果進行評估.為證明算法的有效性,將Bicubic[28]、SRCNN、ESPCN、SRGAN、SRResNet、DBPN、EMSRN[17]算法作為對比實驗.實驗硬件平臺為64 位Windows 操作系統(tǒng),配合2 塊GTX 2080 TI 顯卡加速,深度學習框架為Pytorch1.11 版本.
實驗設置如下:訓練樣本采用RGB 三通道圖像,使用大小為16 的批訓練,中心裁剪加載圖像96×96 的子塊作為原始高分辨率圖像,對原始高分辨率圖像進行4 倍雙線性降采樣后再使用雙三次插值進行放大到目標尺寸作為低分辨率圖像,原始高分辨率圖像與低分辨率圖像構成訓練樣本對.訓練使用LSRBRNN損失函數(shù)和Adam 優(yōu)化器(β1=0.9,β2=0.999,ε=10-8),學習速率設為η=10-4,進行10 輪預訓練.
表1 顯示SRBRNN 算法與各個比較算法在Set5、Set14、BSD100 測試集經(jīng)過4 倍重建后的PSNR 和SSIM([0,1])結果及模型大小對比,最優(yōu)結果加粗標出.可以看出,與Bicubic、SRCNN、ESPCN、SRGAN、SRResNet、DBPN、EMSRN 算法相比,SRBRNN 算法的PSNR 和SSIM值最優(yōu);模型大小,實時性優(yōu)勢不突出.值得注意的是,EMSRN 算法的PSNR 和SSIM 值雖然優(yōu)于Bicubic、SRCNN、ESPCN、SRGAN、SRResNet、DBPN 算法,但并不能很好地代表感知質量,所以增加Mean Opinion Score(MOS)主觀評價指標,補充說明算法的重建效果.MOS 是讓一定數(shù)量的觀察者對重建出來的圖像進行評分,然后計算所有觀察者評分的平均值.MOS 取值范圍[1,5],分值越高表示重建的高分辨率圖像感知效果越好.為了與算法更公平地對比,對低分辨率圖像進行4 倍重建.如表2 所示,SRBRNN 算法的MOS 值最大,重建效果最優(yōu),EMSRN 算法劣于SRGAN 和DBPN 算法.
表1 不同算法×4 的PSNR 和SSIM 結果與模型大小對比Tab.1 Comparison of PSNR and SSIM and model size of different algorithms ×4
表2 不同算法×4 的MOS 對比Tab.2 MOS comparison of different algorithms ×4
圖4 展示了不同算法在4 倍重建圖像的局部細節(jié)對比圖,HR(High Resolution)表示源高分辨率圖像.從圖4 中可以看到SRBRNN 重構出來的蝴蝶翅膀上的紋理更豐富,線條更清晰,具有令人滿意的視覺感知效果.圖5 是Set14/Set5/BSD100/cocoVal2017/other 的部分圖片測試效果,包含了不同類別事物,結果圖中SRBRNN 重建出來的圖像在失真與感知質量上均有較好表現(xiàn).
圖4 不同算法4 倍重建細節(jié)對比Fig.4 4× comparison of reconstruction details of different algorithms
圖5 SRBRNN 算法不同測試集4 倍重建效果Fig.5 4× reconstruction effect of different test sets of SRBRNN algorithm
本文借由變色龍視覺功能,結合雙向循環(huán)神經(jīng)網(wǎng)絡結構,設計了雙向循環(huán)變色龍超分辨率重建模型,為超分辨率圖像重建任務提供了新的思考角度.通過在基于深度學習的超分辨率圖像重建算法使用的基準測試集和評估標準上進行實驗評估與比較,實驗結果表明,在客觀評估指標和主觀評估指標上,SRBRNN 模型優(yōu)于比其他算法,重建的超分辨率圖像在失真和感知上都有較好表現(xiàn).因使用VGG 作為雙向循環(huán)網(wǎng)絡的骨干網(wǎng)絡,所以SRBRNN 模型參數(shù)略大,后續(xù)將關注模型的輕量化,讓模型有更好的實時性.