基於深度學習的超分辨率圖像技術一覽

  • 2019 年 12 月 6 日
  • 筆記

本文轉載自:黃浴(知乎同名ID)(SR)取得了顯著進步。一般可以將現有的SR技術研究大致分為三大類:監督SR,無監督SR和特定領域SR(人臉)。

先說監督SR。

如今已經有各種深度學習的超分辨率模型。這些模型依賴於有監督的超分辨率,即用LR圖像和相應的基礎事實(GT)HR圖像訓練。雖然這些模型之間的差異非常大,但它們本質上是一組組件的組合,例如模型框架,上採樣方法,網絡設計和學習策略等。從這個角度來看,研究人員將這些組件組合起來構建一個用於擬合特定任務的集成SR模型。

由於圖像超分辨率是一個病態問題,如何進行上採樣(即從低分辨率產生高分辨率)是關鍵問題。基於採用的上採樣操作及其在模型中的位置,SR模型可歸因於四種模型框架:預先採樣SR,後上採樣SR,漸進上採樣SR和迭代上下採樣SR,如圖所示。

除了在模型中的位置之外,上採樣操作如何實現它們也非常重要。為了克服插值法的缺點,並以端到端的方式學習上採樣操作,轉置卷積層(Transposed Convolution Layer)和亞像素層(Sub-pixel Layer)可以引入到超分辨率中。

轉置卷積層,即反卷積層,基於尺寸類似於卷積層輸出的特徵圖來預測可能的輸入。具體地說,它通過插入零值並執行卷積來擴展圖像,從而提高了圖像分辨率。為了簡潔起見,以3×3內核執行2次上採樣為例,如圖所示。首先,輸入擴展到原始大小的兩倍,其中新添加的像素值被設置為0(b)。然後應用大小為3×3、步長1和填充1的內核卷積(c)。這樣輸入特徵圖實現因子為2的上採樣,而感受野最多為2×2。

由於轉置卷積層可以以端到端的方式放大圖像大小,同時保持與vanilla卷積兼容的連接模式,因此它被廣泛用作SR模型的上採樣層。然而,它很容易在每個軸上產生「不均勻重疊(uneven overlapping)」,並且在兩個軸的乘法進一步產生了特有的不同幅度棋盤狀圖案,從而損害了SR性能。

亞像素層也是端到端學習的上採樣層,通過卷積生成多個通道然後重新整形,如圖所示。首先卷積產生具有s2倍通道的輸出,其中s是上採樣因子(b)。假設輸入大小為h×w×c,則輸出大小為h×w×s2c。之後,執行整形(shuffle)操作產生大小為sh×sw×c的輸出(c)。感受野大小可以達到3×3。

由於端到端的上採樣方式,亞像素層也被SR模型廣泛使用。與轉置卷積層相比,亞像素層的最大優勢是具有較大的感知場,提供更多的上下文信息,能幫助生成更準確的細節。然而,亞像素層的感受野的分佈是不均勻的,塊狀區域實際上共享相同的感受野,這可能導致在塊邊界附近的一些畸變。

各種深度學習的模型已經被用於SR,如圖所示。

ResNet學習殘差而不是徹底的映射,已被SR模型廣泛採用,如上圖(a)所示。其中,殘差學習策略可以大致分為兩種類型,即全局和局部殘差學習。

由於超分辨率是圖像到圖像的轉換任務,其中輸入圖像與目標圖像高度相關,全局殘差學習僅學習兩個圖像之間的殘差。在這種情況下,它避免學習從完整圖像到另一個圖像的複雜轉換,而只需要學習殘差圖來恢復丟失的高頻細節。由於大多數區域殘差接近於零,模型的複雜性和學習難度都大大降低。這種方法在預上採樣的SR框架普遍採用。

局部殘差學習類似於ResNet的殘差學習,用於緩解不斷增加的網絡深度引起的退化問題並提高學習能力。

實踐中,上述方法都是通過快捷連接(通常有小常數因子的縮放)和逐元素加法操作實現的。區別在於,前者直接連接輸入圖像和輸出圖像,而後者通常在不同深度的網絡中層之間添加多個快捷方式。

• 遞歸學習

遞歸學習(以遞歸方式多次應用相同模塊)也被超分辨率採用,如上圖 (b)所示。在實踐中,遞歸學習固有地帶來了消失(vanishing)或爆漲(exploding)梯度問題,因此殘差學習和多信號監督等一些技術通常與遞歸學習相結合,以減輕這些問題。

• 通道關注

考慮到不同通道之間特徵表徵的相互依賴和作用,一種「擠壓-激發(SAE,squeeze-and-excitation)」模塊明確對通道相互依賴性建模,來提高表示能力,如上圖(c)所示。其中用全局平均池化將每個輸入通道壓縮到通道描述子(即一個常數)中,然後將這些描述子饋送到兩個全連接層產生通道尺度因子。基於通道乘法,用尺度因子重新縮放輸入通道得到最終輸出。

• 緻密連接

緻密連接在視覺任務中變得越來越流行。在緻密塊的每個層,所有前層的特徵圖用作輸入,並且其自身特徵圖用作所有後續層的輸入,在一個有l層緻密塊中帶來l·(l – 1)/ 2個連接。緻密連接,不僅有助於緩解梯度消失問題、增強信號的傳播並促進特徵重用,而且在連接之後採用小增長率(即緻密塊的通道數)和通道縮減來大大減少參數量。

為了融合低級和高級特徵以提供更豐富的信息來重建高質量的細節,緻密連接被引入SR領域,如上圖(d)所示。

• 多路徑學習

多路徑學習指模型存在多個路徑傳遞特徵,這些路徑執行不同的操作以提供更好的建模功能。具體而言,它可以分為三種類型:全局法、局部法和特定尺度法。

全局多路徑學習是指用多個路徑提取圖像不同方面的特徵。這些路徑可以在傳播中相互交叉,從而大大增強了特徵提取的能力。

本地多路徑學習用新塊進行多尺度特徵提取,如上圖(e)所示。該塊採用不同內核大小的卷積同時提取特徵,然後將輸出連接起來並再次進行相同的操作。快捷方式通過逐元素添加來連接該塊的輸出和輸入。通過這種局部多路徑學習,SR模型可以更好地從多個尺度提取圖像特徵,進一步提高性能。

特定尺度多路徑學習共享模型的主要部分(即特徵提取的中間部分),並分別在網絡的開頭和結尾附加特定尺度的預處理路徑和上採樣路徑,如上圖(f)所示。在訓練期間,僅啟用和更新與所選尺度對應的路徑。這樣大多數參數在不同尺度上共享。

• 高級卷積

卷積運算是深度神經網絡的基礎,改進卷積運算可獲得更好的性能或更快的速度。這裡給出兩個方法:擴張卷積(Dilated Convolution)和群卷積(Group Convolution)。眾所周知,上下文信息有助於在圖像超分辨率生成逼真的細節。擴張卷積能將感受野增加兩倍,最終實現更好的性能。群卷積以很少的性能損失可減少大量的參數和操作,如上圖(g)所示。

• 像素遞歸學習

大多數SR模型認為這是一個與像素無關的任務,因此無法正確地確定生成像素之間的相互依賴性。在人注意力轉移機制推動下,一種遞推網絡可依次發現參與的補丁並進行局部增強。以這種方式,模型能夠根據每個圖像自身特性自適應地個性化最佳搜索路徑,從而充分利用圖像全局的內依賴性(intra-dependence)。不過,需要長傳播路徑的遞歸過程,特別對超分辨率的HR圖像,大大增加了計算成本和訓練難度。

• 金字塔池化

金字塔池化模塊更好地利用全局和局部的上下文信息,如上圖(h)所示。具體地,對於尺寸為h×w×c的特徵圖,每個特徵圖被劃分為M×M個區間,並經歷全局平均池化產生M×M×c個輸出。然後,執行1×1卷積輸出壓縮到一個單信道。之後,通過雙線性插值將低維特徵圖上採樣到與原始特徵圖相同的大小。使用不同的M,該模塊可以有效地整合全局和局部的上下文信息。

• 小波變換

眾所周知,小波變換(WT)是一種高效的圖像表示,將圖像信號分解為表示紋理細節的高頻小波和包含全局拓撲信息的低頻小波。將WT與基於深度學習的SR模型相結合,這樣插值LR小波的子帶作為輸入,並預測相應HR子帶的殘差。WT和逆WT分別用於分解LR輸入和重建HR輸出。

另外學習策略問題,涉及損失函數的設計(包括像素損失,內容損失,紋理損失,對抗損失和周期連續損失)、批處理歸一化(BN)、課程學習(Curriculum Learning)和多信號監督(Multi-supervision)等等。


再說無監督SR。

現有的超分辨率工作主要集中在監督學習上,然而難以收集不同分辨率的相同場景的圖像,因此通常通過對HR圖像預定義退化來獲得SR數據集中的LR圖像。為了防止預定義退化帶來的不利影響,無監督的超分辨率成為選擇。在這種情況下,只提供非配對圖像(HR或LR)用於訓練,實際上得到的模型更可能應對實際場景中的SR問題。

• 零擊(zero shot)超分辨率

單個圖像內部的統計數據足以提供超分辨率所需的信息,所以零擊超分辨率(ZSSR)在測試時訓練小圖像特定的SR網絡進行無監督SR,而不是在大數據集上訓練通用模型。具體來說,核估計方法直接從單個測試圖像估計退化內核,並在測試圖像上執行不同尺度因子的退化來構建小數據集。然後在該數據集上訓練超分辨率的小CNN模型用於最終預測。

ZSSR利用圖像內部特定信息的跨尺度復現這一特點,對非理想條件下(非bi-cubic退化核獲得的圖像,受模糊、噪聲和壓縮畸變等影響)更接近現實世界場景的圖像,比以前的方法性能提高一大截,同時在理想條件下(bi-cubic插值構建的圖像),和以前方法結果差不多。儘管這樣,由於需要在測試期間為每個圖像訓練單個網絡,使得其測試時間遠比其他SR模型長。

• 弱監督SR

為了在超分辨率中不引入預退化,弱監督學習的SR模型,即使用不成對的LR-HR圖像,是一種方案。一些方法學習HR-LR退化模型並用於構建訓練SR模型的數據集,而另外一些方法設計周期循環(cycle-in-cycle)網絡同時學習LR-HR和HR-LR映射。

由於預退化是次優的,從未配對的LR-HR數據集中學習退化是可行的。一種方法稱為「兩步法」:

  • 1)訓練HR-LR 的GAN模型,用不成對的LR-HR圖像學習退化;
  • 2)基於第一個GAN模型,使用成對的LR-HR圖像訓練LR- HR 的GAN模型執行SR。

對於HR到LR 的GAN模型,HR圖像被饋送到生成器產生LR輸出,不僅需要匹配HR圖像縮小(平均池化)獲得的LR圖像,而且還要匹配真實LR圖像的分佈。訓練之後,生成器作為退化模型生成LR-HR圖像對。

對於LR到HR 的GAN模型,生成器(即SR模型)將生成的LR圖像作為輸入並預測HR輸出,不僅需要匹配相應的HR圖像而且還匹配HR圖像的分佈 。

在「兩步法」中,無監督模型有效地提高了超分辨率真實世界LR圖像的質量,比以前方法性能獲得了很大改進。

無監督SR的另一種方法是將LR空間和HR空間視為兩個域,並使用周期循環結構學習彼此之間的映射。這種情況下,訓練目的包括推送映射結果去匹配目標的域分佈,並通過來回(round trip)映射使圖像恢復。

• 深度圖像先驗知識

CNN結構在逆問題之前捕獲大量的低級圖像統計量,所以在執行SR之前可使用隨機初始化的CNN作為手工先驗知識。具體地講,定義生成器網絡,將隨機向量z作為輸入並嘗試生成目標HR圖像I。訓練目標是網絡找到一個Iˆ y,其下採樣Iˆy與LR圖像Ix相同。因為網絡隨機初始化,從未在數據集上進行過訓練,所以唯一的先驗知識是CNN結構本身。雖然這種方法的性能仍然比監督方法差很多,但遠遠超過傳統的bicubic上採樣。此外,表現出的CNN架構本身合理性,促使將深度學習方法與CNN結構或自相似性等先驗知識相結合來提高超分辨率。


特定SR

特定SR領域主要包括深度圖、人臉圖像、高光譜圖像和視頻等內容的SR應用。

面部圖像超分辨率,即面部幻覺(FH, face hallucination),通常可以幫助其他與面部相關的任務。與通用圖像相比,面部圖像具有更多與面部相關的結構化信息,因此將面部先驗知識(例如,關鍵點,結構解析圖和身份)結合到FH中是非常流行且有希望的方法。利用面部先驗知識的最直接的方式是約束所生成的HR圖像具有與基礎事實(GT)的HR圖像相同的面部相關信息。

與全色圖像(PAN,panchromatic images),即具有3個波段的RGB圖像相比,有數百個波段的高光譜圖像(HSI,hyperspectral images)提供了豐富的光譜特徵並有助於各種視覺任務。然而,由於硬件限制,收集高質量的HSI比收集PAN更困難,收集的HSI分辨率要低得多。因此,超分辨率被引入該領域,研究人員傾向於將HR PAN和LR HSI結合起來預測HR HSI。

就視頻超分辨率而言,多個幀提供更多的場景信息,不僅有幀內空間依賴性而且有幀間時間依賴性(例如,運動、亮度和顏色變化)。大多數方法主要集中在更好地利用時空依賴性,包括顯式運動補償(例如,光流算法、基於學習的方法)和遞歸方法等。


參考文獻

  1. Z Wang, J Chen, S Hoi,「Deep Learning for Image Super-resolution: A Survey」, Arxiv 1902.06068,2019
  2. W Yang et al.,「Deep Learning for Single Image Super-Resolution: A Brief Review」, Archiv 1808.03344, 2018
  3. Z Li et al.,「Feedback Network for Image Super-Resolution」, CVPR 2019
  4. C Chen et al.,「Camera Lens Super-Resolution」, CVPR 2019
  5. K Zhang et al.,「Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels」, CVPR 2019