【计算摄影】图像与视频超分辨,深度学习核心技术与展望
大家好,這是專欄《計算攝影》的第七篇文章,這一個專欄來自于計算機科學與攝影藝術的交叉學科。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 作者&編輯 | 言有三
圖像超分,就是要將低分辨率的圖像恢復為高分辨率的圖像,它在日常的圖像和視頻存儲與瀏覽中都有廣泛的應用,本次我們介紹基于深度學習的圖像超分辨核心技術。
1 什么是圖像超分辨?
1.1 圖片超分辨
我們常說的圖像分辨率指的是圖像長邊像素數與圖像短邊像素數的乘積,比如iPhoneX手機拍攝照片的分辨率為4032px×3024px,為1200萬像素。
顯然,越高的分辨率能獲得更清晰的成像。與之同時,分辨率越高也意味著更大的存儲空間,對于空間非常有限的移動設備來說,需要考慮分辨率與存儲空間的平衡。
圖像超分,就是要從低分辨率的圖像恢復為高分辨率的圖像,它在日常的圖像和視頻存儲與瀏覽中都有廣泛的應用。
10年前手機中320px×240px分辨率的圖像是主流,其視覺美感相對如今隨處可見的4K分辨率來說是無法比擬的。我們可以使用超分技術來恢復當年拍攝的低分辨率圖像,如下圖是一個典型案例。
手機圖片瀏覽中也有超分算法的努力,即同一張圖片在不同手機上的顯示效果不一樣,是因為顯示分辨率越高的手機可以使用更清晰的分辨率進行展示。
1.2 視頻超分辨
人們在觀看視頻節目時總會更傾向于分辨率更高的配置,以騰訊視頻為例,它包含了多種分辨率配置,標清為270P,高清為480P,超清為720P,藍光為1080P。其中1080P的分辨率大小為1920×1080,相比于常見攝影圖像的分辨率仍有不小的差距。但是受到網絡帶寬的影響,往往藍光分辨率都不是所有人能夠流暢播放,而超分技術可以實現在網絡傳輸的時候使用低分辨率傳播,而播放端進行實時分辨率提升,即實現視頻超分。這在網絡直播,視頻播放與下載應用中非常有價值。
1.3 圖片預處理
除了作為一個單獨的任務,圖像超分還可以作為其他工作的預處理或者其中一個獨立的小模塊,在提高目標檢測任務中小目標的分辨率用于改善監控系統,提高醫學圖像中的模糊目標辨識度等很多應用領域中都有實際意義。
如今圖像超分技術被用于許多珍貴的歷史照片和視頻的修復,這具有很大的人文價值和紀念意義。
2 圖片超分辨關鍵技術
近年來CNN等深度學習模型在圖像超分任務中取得了非常大的進展,使得超分算法得以真正在產品中落地,下面我們基于深度學習模型中的上采樣位置,優化目標,模型結構特點來進行總結。
2.1 不同的采樣結構
根據上采樣(upsampling)在網絡結構中的位置和使用方式不同,可以把超分網絡結構設計主要分為三大類[1]:
(1) 前上采樣(pre-upsampling),即在網絡一開始的時候就完成上采樣過程。Chao Dong等人提出的SRCNN方法[2]是最早期的嘗試。
SRCNN框架首先使用雙線性插值等上采樣方法進行初始化,得到想要恢復的分辨率,這一步也可以使用反卷積來完成。
接下來就是對高分辨率圖細節的改良,如下:
首先使用卷積層對輸入的局部圖像塊進行特征提取,得到一系列特征圖,這相當于完成了稀疏編碼中重疊的圖像塊的構建,這一步驟可以表達如下:
其中W和B分別表示卷積核和偏置,*表示卷積操作,W1的尺寸為c×n1×f1×f1,其中c就是輸入圖的通道數量,n1是輸出特征通道數,f1×f1是卷積核大小。
接著,使用1×1卷積進行維度變換,即將n1個特征通道轉換為n2個特征通道,這就是相當于稀疏編碼中低分辨率字典到高分辨率字典的映射,這一步驟可以表達如下,其中f2=1:
最后就是將高分辨率的圖像塊重新拼接成完整的圖像,這一步驟可以表達如下:
當f2=1時,對于輸出圖像中的每一個像素,它在原圖中的感受野大小為(f3+f1-1)×(f3+f1-1),一個典型的設定是f1=9,f3=5,此時輸出像素與輸出的13×13=169個像素有關,相比于傳統方法具有較大的感受野,因此SRCNN具有較大的優勢。
SRCNN框架可以適用于任意分辨率的提升,因為在輸入網絡之前,上采樣過程已經對輸出分辨率做了初始化,所以CNN模型要學習的是由粗到精的改進,學習過程比較簡單。不過由于整個網絡在高分辨率空間進行計算,因此計算量大,而且噪聲容易被放大。
(2) 后上采樣(post-upsampling),即在網絡的最后才開始進行上采樣。
在前上采樣框架中首先使用反卷積來完成上采樣是一種很自然的操作,但是它計算復雜度較大,因此SRCNN的作者后來將該上采樣過程放置在網絡最后端,通過一個反卷積來學習該上采樣過程,將其命名為FSRCNN框架[3]。
而Twitter圖片與視頻壓縮研究組則采用了與反卷積完全不同的上采樣思路,提出了ESPCN模型[4],其中核心思想是亞像素卷積(sub-pixel convolution),完整流程示意圖如下:
對于維度為H×W×C的圖像,標準反卷積操作輸出的特征圖維度為rH×rW×C,其中r就是需要放大的倍數,而從圖6.6可以看出,亞像素卷積層的輸出特征圖維度為H×W×C×r×r,即特征圖與輸入圖片的尺寸保持一致,但是通道數被擴充為原來的r×r倍,然后再進行重新排列得到高分辨率的結果。
整個流程因為使用了更小的圖像輸入,從而可以使用更小的卷積核獲取較大的感受野,這既使得輸入圖片中鄰域像素點的信息得到有效利用,還避免了計算復雜度的增加,是一種將空間上采樣問題轉換為通道上采樣問題的思路。相比于前上采樣中在開始就進行單一的一次上采樣,后采樣策略能更好地利用模型的表達能力,學習更加復雜的低分辯率到高分辨率的轉換,因此ESPCN模型被驗證為更加有效,后續的超分模型基本沿用了該思路。
(3) 逐步式上采樣(progressive upsampling),即逐漸進行上采樣。
為了解決后采樣方法無法對高倍率因子進行很好的超分辨,LapSRN(Laplacian Pyramid Super-Resolution Network)[5]等漸進的上采樣方法被提出,其模型結構如下圖:
在上圖中包含了兩個分支,一個是特征提取分支(Feature Extraction Branch),它包括多個不同分辨率層級,每一個層級利用多個卷積層獲取非線性特征映射,最后加上反卷積來提升圖像的分辨率得到特征(feature)。
另一個是圖像重建分支(Image Reconstruction Branch),它將輸入圖進行上采樣后與相同分辨率大小的特征提取分支相加得到下一級分辨率的輸出圖像,直到得到最終的高分辨率結果圖。
LapSRN模型中由于各個分辨率層級的結構相似,所以其中的部分網絡層會進行參數共享,這讓每一個學習過程更加簡單。而且逐步式上采樣的方法利用了在很多計算機視覺任務中都使用的跳層連接多尺度技術,通過學習殘差簡化了學習過程。有的研究者使用了類似于LapSRN模型的漸進式模型[6],實現了對人臉圖像8倍的上采樣。
除了以上3種常見的結構,還有一種結構為升降采樣迭代式(iterative up-and-downsampling)[7]結構,它采用上采樣和下采樣過程交替進行。這一類模型試圖通過上采樣圖像到下采樣圖像的反饋來更好地捕捉它們之間的關系,結構非常復雜,訓練難度較高。
2.2 感知損失與對抗損失
早期的基于CNN模型的超分框架如SRCNN,ESPCN都使用圖像像素空間的歐式距離(即L2 loss,或者MSE損失)作為優化目標,結果能取得較高的PSNR和SSIM指標,但是存在結果過于平滑的問題。
人眼對重建結果質量的感知并不完全與這些指標相符,比如MSE指標較小并不能保證局部細節的清晰度,而較大的MSE指標也并不等價于較差的結果,比如原圖偏移一個像素后與原圖的MSE值可能較大,但是視覺感知效果很接近。
CNN網絡的高層特征空間相比于原始的像素空間,具有較高的抽象層級,它使得原始圖像的特征與目標圖像的特征差異可以反應在語義級別,這非常符合人眼的主觀評估感受,研究者基于此提出了感知損失。
基于特征空間計算的歐式距離被稱為感知損失(perceptual loss),令φ來表示網絡,j表示網絡的第j層,表示第j層的特征圖的大小,感知損失的定義如下;
研究者[8]將SRCNN模型的像素損失改為感知損失后,顯著提高了視覺效果,如下圖中的最后一幅圖就是使用感知損失的結果,因此感知損失也被后續的很多模型采用。
隨著生成對抗網絡GAN的發展,生成器和判別器的對抗學習機制在圖像生成任務中展現出很強大的學習能力。Twitter的研究者們使用ResNet作為生成器結構,使用VGG作為判別器結構,提出了SRGAN[9]模型,模型結構如下。
生成器結構包含了若干個不改變特征分辨率的殘差模塊和多個基于亞像素卷積的后上采樣模塊。判別器結構則包含了若干個通道數不斷增加的卷積層,每次特征通道數增加一倍時,特征分辨率降低為原來的一半。
SRGAN模型優化目標包含兩部分,一部分是基于VGG網絡特征構建內容損失函數(content loss),代替了之前的MSE損失函數,另一部分是對抗損失。
通過生成器和判別器的對抗學習取得了視覺感知上更好的重建結果,如下圖對比。
基于GAN的模型雖然可以取得好的超分結果,但是它往往會放大噪聲。在SRGAN的基礎上,有研究者通過優化生成器的結構,GAN的損失函數,感知損失計算特征的選擇提出了增強版的SRGAN,即ESRGAN[10],相比SRGAN取得了更好的超分結果。
當然除此之外,任務相關的損失也常被添加進優化目標,比如人臉超分辨常使用人臉關鍵點任務作為輔助,需要添加關鍵點損失[11]。
2.3 無監督模型
由于大部分有監督的超分辨模型都是基于成對的低分辨率和高分辨率圖進行訓練,研究者常通過固定的圖像算法對高分辨率圖進行采樣獲得低分辨率圖,這與真實的圖像蛻化過程并不一致,真實的圖像蛻化往往包括各類模糊和噪聲,缺陷等。
因此無監督的模型研究是非常重要的,典型的思路是首先學習降采樣,再使用獲得的成對數據集進行訓練,這是一個無監督的學習過程。
如下就是一個典型框架[12],整個流程包括一個High-to-Low GAN和一個Low-to-High GAN。
High-to-low GAN模型:這一個模型的作用是從高分辨率數據集中生成低分辨率的圖,高分辨率圖像數據集可以是人臉質量較高的Celeb-A、AFLW、LS3D-W和VGGFace2等,低分辨率圖像數據集可以是人臉質量較低的Wider face等,它們構成了未配對的高分辨率-低分辨率數據集。High-to-low GAN中的降采樣網絡(High-to-low)是一個編解碼結構,它的輸入是由隨機噪聲z和高分辨率圖拼接而成,生成低分辨率圖LR image。
Low-to-High GAN模型:從High-to-low GAN模型的輸出結果可以得到成對的低分辨率和高分辨率訓練數據,因此就可以訓練一個正常的超分網絡,即Low-to-High GAN模型,它是一個基于跳層連接的結構。
除了以上的無監督模型方案,還有兩個常見的思路供讀者進行延伸學習。
第一個是將高分辨率圖像和低分辨率圖像看作是兩個域,然后使用了CycleGAN的循環結構來解決該問題,代表性框架是CinCGAN[13]。
第二個是zero-shot super-resolution (ZSSR)[14],它只使用圖片本身的信息,對每一張圖都訓練一個CNN模型用于恢復分辨率,不過計算量也較大。
2.4? 展望
雖然研究者提出了數十個超分模型,但是目前大多數超分模型對于真實的圖像超分效果還不完美,主要存在以下幾個問題。
(1) 訓練數據難以獲取,目前大部分模型采用了仿真的數據,這個過程難以模仿真實的圖像蛻化過程,真實圖像退化不僅僅是分辨率降低,更是在這個過程中會引入各類圖像噪聲,所以基于采樣訓練出來的模型容易過擬合,泛化能力不好。
(2) 模型難以通用,對于特定類型的圖像,比如人臉超分則需要專門訓練人臉相關的模型,通用的超分模型往往難以獲得很好的效果。
3 參考資料
[1]?Wang Z ,? J? Chen,? Hoi S C H . Deep Learning for Image Super-resolution: A Survey[J].? 2019.
[2] Dong C, Loy C C, He K, et al. Image super-resolution using deep convolutional networks[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 38(2): 295-307.
[3] C. Dong, C. C. Loy, and X. Tang, “Accelerating the super-resolution convolutional neural network,” in ECCV, 2016.
[4] Shi W , Caballero J , Ferenc Huszár, et al. Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network[J]. 2016.
[5] Lai W S, Huang J B, Ahuja N, et al. Fast and accurate image super-resolution with deep laplacian pyramid networks[J]. IEEE transactions on pattern analysis and machine intelligence, 2018, 41(11): 2599-2613.?
[6] Kim D, Kim M, Kwon G, et al. Progressive Face Super-Resolution via Attention to Facial Landmark[J]. arXiv preprint arXiv:1908.08239, 2019.?
[7] Haris M, Shakhnarovich G, Ukita N. Deep back-projection networks for super-resolution[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 1664-1673.
[8] Johnson J, Alahi A, Fei-Fei L. Perceptual losses for real-time style transfer and super-resolution[C]//European conference on computer vision. Springer, Cham, 2016: 694-711.
[9] Ledig C, Theis L, Huszár F, et al. Photo-realistic single image super-resolution using a generative adversarial network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4681-4690.
[10] Wang X, Yu K, Wu S, et al. Esrgan: Enhanced super-resolution generative adversarial networks[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 0-0.
[11] Bulat A, Tzimiropoulos G. Super-fan: Integrated facial landmark localization and super-resolution of real-world low resolution faces in arbitrary poses with gans[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 109-117.
[12] Bulat A, Yang J, Tzimiropoulos G. To learn image super-resolution, use a gan to learn how to do image degradation first[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 185-200.
[13] Y. Yuan, S. Liu, J. Zhang, Y. Zhang, C. Dong, and L. Lin, “Unsupervised image super-resolution using cycle-in-cycle generative adversarial networks,” in CVPRW, 2018.
[14] Shocher A, Cohen N, Irani M. “zero-shot” super-resolution using deep internal learning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 3118-3126.
更多內容與實踐細節,請參考我最近出版的新書,《深度學習之攝影圖像處理》,介紹如下:
言有三新書來襲,業界首本深度學習計算攝影書籍,科技與藝術的結合
總結
本文介紹了基于深度學習模型的圖像超分辨關鍵技術,這是一個相對比較成熟,應用價值較大的領域,值得對視覺技術感興趣的朋友了解學習。
有三AI秋季劃-圖像質量組
圖像質量小組需要掌握與圖像質量相關的內容,學習的東西包括8大方向:圖像質量評價,圖像構圖分析,圖像降噪,圖像對比度增強,圖像去模糊與超分辨,圖像風格化,圖像深度估計,圖像修復。了解詳細請閱讀以下文章:
【CV秋季劃】圖像質量提升與編輯有哪些研究和應用,如何循序漸進地學習好?
轉載文章請后臺聯系
侵權必究
往期精選
【CV春季劃】2021年有三AI-CV春季劃出爐,最后一屆言有三手把手從零帶學
【CV夏季劃】告別入門,提升眼界,從掌握最有價值的那些CV方向開始
【CV秋季劃】生成對抗網絡GAN有哪些研究和應用,如何循序漸進地學習好?
【CV秋季劃】模型優化很重要,如何循序漸進地學習好?
【CV秋季劃】人臉算法那么多,如何循序漸進地學習好?
【CV秋季劃】圖像質量提升與編輯有哪些研究和應用,如何循序漸進地學習好?
【計算攝影】淺析多重曝光與自動圖像融合技術
【計算攝影】先拍照后對焦,淺析基于深度估計的景深編輯與背景虛化
【計算攝影】計算機如何學會自動地進行圖像美學增強?
【計算攝影】計算機如何學會自動裁剪圖片(自動構圖)?
【計算攝影】計算機如何學會欣賞照片的美感?
【計算攝影】圖像美學專欄上線,先從學點攝影知識開始
總結
以上是生活随笔為你收集整理的【计算摄影】图像与视频超分辨,深度学习核心技术与展望的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arduino nano电路图
- 下一篇: STM32驱动3.97寸TFT液晶触摸屏