Deep Learning for Image Super-resolution: A Survey
超分辨簡介
圖像超分辨率是計算機(jī)視覺和圖像處理領(lǐng)域一個非常重要的研究問題夷野,在醫(yī)療圖像分析在旱、生物特征識別、視頻監(jiān)控與安全等實際場景中有著廣泛的應(yīng)用萍虽。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的圖像超分方法在多個測試任務(wù)上舔涎,取得了目前最優(yōu)的性能和效果。本篇綜述給出了一個統(tǒng)一的深度學(xué)習(xí)視角,來回顧最近的超分技術(shù)進(jìn)展咽弦,主要包括三個方面:
給出了綜合性的基于深度學(xué)習(xí)的圖像超分技術(shù)綜述,包括問題設(shè)置胁出、數(shù)據(jù)集型型、性能度量、一組基于深度學(xué)習(xí)的圖像超分方法集合划鸽,特定領(lǐng)域的圖像超分方法應(yīng)用等等输莺。
為最近基于深度學(xué)習(xí)的圖像超分算法提供了系統(tǒng)性、結(jié)構(gòu)化的視角裸诽,并總結(jié)了高效圖像超分解決方案中的優(yōu)勢與劣勢嫂用。
-
討論了這個領(lǐng)域的挑戰(zhàn)與開放問題,并總結(jié)了最近的新趨勢與未來的發(fā)展方向丈冬。
最新進(jìn)展
1. 超分網(wǎng)絡(luò)的升采樣結(jié)構(gòu)
根據(jù)升采樣(upsampling)在網(wǎng)絡(luò)結(jié)構(gòu)中的位置和使用方式嘱函,可以把超分網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計分為四大類:前端升采樣(pre-upsampling)超分網(wǎng)絡(luò)、后端(post-upsampling)升采樣超分網(wǎng)絡(luò)埂蕊、漸進(jìn)式升采樣(progressive upsampling)超分網(wǎng)絡(luò)往弓、升降采樣迭代式(iterativeup-and-down sampling)超分網(wǎng)絡(luò)。
前端升采樣網(wǎng)絡(luò)蓄氧,一般使用雙三次(bicubic)插值直接將低分辨率圖像插值到目標(biāo)分辨率函似,然后深度卷積網(wǎng)絡(luò)等模型重建高質(zhì)量細(xì)節(jié)信息,這類方法顯著降低了學(xué)習(xí)的難度喉童,但是預(yù)先設(shè)定的升采樣方法會引入模糊(noise)撇寞、噪聲放大(noise amplification)等問題,同時因為網(wǎng)絡(luò)在前端即進(jìn)行插值到高分辨率空間堂氯,所需的存儲空間和耗時都遠(yuǎn)高于其他類型超分網(wǎng)絡(luò)蔑担。
后端升采樣網(wǎng)絡(luò),一般在網(wǎng)絡(luò)結(jié)構(gòu)的最后一層或幾層咽白,使用端到端可學(xué)習(xí)的升采樣層啤握,絕大部分映射變換都在低分辨率空間進(jìn)行,計算復(fù)雜度和空間復(fù)雜度都明顯降低晶框,同時訓(xùn)練和測試速度也都明顯提高排抬,被多前主流超分網(wǎng)絡(luò)框架所使用。
漸進(jìn)式升采樣網(wǎng)絡(luò)三妈,主要是解決多個超分倍增系數(shù)(scaling factor)和大的超分倍增系數(shù)畜埋,升采樣不是一步完成的,而是采用拉普拉斯金字塔或者級聯(lián)CNN等方式畴蒲,產(chǎn)生一些中間(intermediate)的重建圖像作為后續(xù)模塊的輸入圖像(“base images”),另外諸如課程學(xué)習(xí)(curriculum learning)和多級監(jiān)督(multi-supervision)等學(xué)習(xí)策略也可以被引入進(jìn)來悠鞍,這類方法可以降低學(xué)習(xí)難度,特別是在大的超分倍增系數(shù)時。另外咖祭,在多尺度超分問題上也可以減少參數(shù)量和耗時掩宜。
升降采樣迭代式超分網(wǎng)絡(luò),借鑒了反向投影(back-projection)的思想么翰,通常會交替地使用升采樣和降采樣層牺汤,最終重建的高分辨率結(jié)果會用到之前全部中間層得到高分辨率特征圖,這類方法的思想剛被引入圖像超分問題不久浩嫌,已經(jīng)取得了非常好的性能和效果檐迟,有很大的潛力,值得關(guān)注和探索码耐。
2. 可學(xué)習(xí)的升采樣方法
轉(zhuǎn)置卷積(transposed convolution),也就是所謂的反卷積(deconvolution),相當(dāng)于正常卷積的反向操作追迟,可以嵌入到端到端的網(wǎng)絡(luò)結(jié)構(gòu)中,但是容易產(chǎn)生棋盤格效應(yīng)骚腥。
-
亞像素(sub-pixel)卷積,同樣可以嵌入到端到端的網(wǎng)絡(luò)結(jié)構(gòu)中敦间,使用正常的卷積結(jié)構(gòu),但是輸出的通道數(shù)(channel)與目標(biāo)分辨率有關(guān)束铭,隨后對這些通道進(jìn)行“洗牌”(shuffle)操作廓块,類似于像素重排,得到與目標(biāo)分辨率相同的輸出契沫。亞像素卷積與轉(zhuǎn)置卷積相比带猴,最大的優(yōu)勢在于神經(jīng)元的感受野較大,可以為超分辨率重建提供更多上下文信息懈万,但是這些神經(jīng)元感受野的分布是不均勻的浓利,像素“洗牌”操作中同一個小塊狀區(qū)域(blocky region)的感受野相同,容易在一些邊緣區(qū)域產(chǎn)生偽影現(xiàn)象钞速。
3. 全局和局部網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
殘差學(xué)習(xí)(residual learning),在ResNet被提出之前嫡秕,在超分領(lǐng)域?qū)埐钸M(jìn)行學(xué)習(xí)的思想已經(jīng)在很多研究工作中出現(xiàn)渴语。其中,全局殘差學(xué)習(xí)(global residual learning)只是學(xué)習(xí)插值后得到的圖像和高分辨率圖像之間的殘差昆咽,通過學(xué)習(xí)一張殘差圖來恢復(fù)高頻細(xì)節(jié)驾凶;而局部殘差學(xué)習(xí)(local residual learning)則類似于ResNet中的短連接(shortcut connection)。
遞歸學(xué)習(xí)(recursive learning)可以不引入額外參數(shù)的同時掷酗,大大增加網(wǎng)絡(luò)的感受野调违,做法就是遞歸地多次使用同個模塊,例如對同一卷積層遞歸使用多次泻轰,還有將大的超分倍增系數(shù)的問題技肩,分解成多個子問題,使用遞歸的網(wǎng)絡(luò)子結(jié)構(gòu)來解決等等浮声。但是虚婿,遞歸學(xué)習(xí)容易出現(xiàn)梯度消失和爆炸的問題旋奢,需要將殘差學(xué)習(xí)和多級監(jiān)督等策略融入進(jìn)來以減輕這些問題。
多支路學(xué)習(xí)(multi-path learning)主要思路是為網(wǎng)絡(luò)設(shè)計多條支路來提升模型的容量和表達(dá)能力然痊,分為全局多支路學(xué)習(xí)(global multi-path learning)至朗、局部多支路學(xué)習(xí)(localmulti-path learning)、尺度相關(guān)的多支路學(xué)習(xí)(scale-specificmulti-path learning)等
稠密連接(dense connections)剧浸,是與DenseNet緊密聯(lián)系的锹引,稠密連接被引入圖像超分問題,不僅可以減輕梯度消失的問題唆香,還可以對特征進(jìn)行重用嫌变,提升效果,在使用小的增長率(growth rate)時袋马,可以很好地控制參數(shù)量初澎,目前越來越受到關(guān)注和使用。
通道重縮放(channel attention)是考慮特征表達(dá)中不同通道之間的關(guān)系虑凛,通常是引入一些額外的小結(jié)構(gòu)來按通道(channel-wise)進(jìn)行重縮放(rescale)碑宴。
高級卷積結(jié)構(gòu)(advanced convolution),近來受到關(guān)注的主要是空洞卷積(dilated convolution)和成組卷積(group convolution)兩種。
像素遞歸學(xué)習(xí)(pixel recursive learning)桑谍,這類方法是逐像素生成(pixel-by-pixel generation)高分辨率圖像的延柠,可以更好地捕獲全局上下文信息和像素序列生成時的相關(guān)性,但是計算代價很高锣披,同時訓(xùn)練也比較復(fù)雜贞间。
金字塔池化(pyramid pooling)通常使用多個不同的尺度參數(shù),來聚合全局和局部上下文信息雹仿。
小波域變換(wavelet transformation)分別對高分辨圖像和低分辨率圖像進(jìn)行小波變換增热,在不同的子頻帶(sub-bands)進(jìn)行映射學(xué)習(xí)。
4. 損失函數(shù)設(shè)計
像素級(pixel loss)胧辽,主要比較兩幅圖像像素級的差別峻仇,包括L1和L2損失,近來研究表明L1損失可以取得更好的性能和收斂速度邑商。這類損失沒有對圖像內(nèi)容和語義進(jìn)行評價摄咆,通常會產(chǎn)生過于平滑的超分結(jié)果。
內(nèi)容損失(content loss)人断,主要是從圖像內(nèi)容理解和感知層面對圖像質(zhì)量進(jìn)行評價吭从,通常使用預(yù)訓(xùn)練好的圖像識別(如VGG和ResNet等)網(wǎng)絡(luò),比較中間某些層的特征圖之間的歐式空間距離恶迈。
紋理損失(texture loss)涩金,想法來源于風(fēng)格遷移工作中,重建圖像應(yīng)該與原始圖像有相同的風(fēng)格(顏色、紋理鸭廷、對比度等)枣抱。因此,紋理損失又稱為風(fēng)格重建損失(style reconstruction loss),一般使用不同特征通道的相關(guān)性來度量辆床。
競爭生成損失(adversial loss)佳晶,隨著GAN的興起,競爭生成網(wǎng)絡(luò)中生成器和判別器的思路被引入超分問題讼载,超分網(wǎng)絡(luò)即是生成器(generator),另外定義一個判別器來判斷輸入的圖像是否為生成的轿秧。在這種損失函數(shù)中,也可以借鑒內(nèi)容損失的想法咨堤,判別器使用圖像的高層表達(dá)來進(jìn)行判斷菇篡。
往復(fù)一致性保持損失(cycle consistency loss),受CycleGAN的啟發(fā),通常是在兩階段生成時一喘,保持再次生成的圖像和原始輸入相同驱还。
全變分損失(total variation loss),主要是為了抑制生成圖像中的噪聲,一般定義是相鄰像素之間差的絕對值凸克,引入全變分損失可以使圖像變得平滑议蟆。
基于先驗知識的損失(prior-based loss),通過一些外部已知的先驗萎战,作為一些約束放入損失函數(shù)咐容,例如人臉超分對關(guān)鍵點的約束等。
5. 批歸一化
批歸一化(BatchNormalization蚂维,BN)層在很多視覺任務(wù)中被驗證有效戳粒,但是在最近關(guān)于超分中使用BN層存在一些爭議,部分研究者指出使用BN層會丟失圖像的尺度信息和網(wǎng)絡(luò)參數(shù)的自由范圍變化虫啥,導(dǎo)致超分效果下降蔚约。
6. 課程學(xué)習(xí)
課程學(xué)習(xí)(curriculumlearning)從簡單的子任務(wù)開始逐漸增加難度,因為圖像超分問題存在很多困難情形涂籽,如大的超分倍增系數(shù)炊琉,噪聲,模糊等又活,這種從易到難的策略可以起到很大幫助。例如锰悼,可以將8x的超分問題分解成三個子問題柳骄,1x到2x,2x到4x箕般,4x到8x耐薯,為每個子問題單獨學(xué)習(xí)一個網(wǎng)絡(luò)。
7. 多級監(jiān)督
多級監(jiān)督(multi-supervision)為網(wǎng)絡(luò)的學(xué)習(xí)增加多個額外的監(jiān)督信號,可以有效減輕梯度消失和爆炸問題曲初,例如在遞歸式結(jié)構(gòu)中就可以使用多級監(jiān)督策略体谒,對每一級遞歸產(chǎn)生的結(jié)果進(jìn)行監(jiān)督,通常多級監(jiān)督的表現(xiàn)形式是在損失函數(shù)里添加了若干相關(guān)項臼婆。
8. 其他網(wǎng)絡(luò)設(shè)計和學(xué)習(xí)策略
上下文融合網(wǎng)絡(luò)(context-wise network fusion抒痒,CNF),將多個超分網(wǎng)絡(luò)模型的結(jié)果使用stacking的策略融合起來颁褂。
數(shù)據(jù)增強(qiáng)(data augmentation),常見的隨機(jī)裁剪故响、翻轉(zhuǎn)、縮放颁独、旋轉(zhuǎn)彩届、顏色微小抖動等,最近也出現(xiàn)了隨機(jī)打亂RGB三個通道的方法誓酒。
多任務(wù)學(xué)習(xí)(multi-task learning)樟蠕,通過訓(xùn)練數(shù)據(jù)中和超分相關(guān)聯(lián)的任務(wù)蘊含的專有領(lǐng)域的信息來提升模型的泛化性能。例如可以分別訓(xùn)練一個去噪網(wǎng)絡(luò)和一個超分網(wǎng)絡(luò)靠柑,或者嵌入預(yù)訓(xùn)練好的語義分割網(wǎng)絡(luò)來提供語義信息等寨辩。
網(wǎng)絡(luò)插值(network interpolation),為了平衡視覺質(zhì)量和圖像保真度病往,可以對兩個網(wǎng)絡(luò)相應(yīng)參數(shù)進(jìn)行插值捣染,來生成中間模型,不需要重訓(xùn)練就可以得到折中的超分結(jié)果停巷。
圖像自融合(self ensemble)耍攘,又稱預(yù)測增強(qiáng)(enhanced prediction),將一張圖像多種旋轉(zhuǎn)角度后畔勤,得到一組圖像蕾各,分別得到超分辨圖像,然后逆旋轉(zhuǎn)回到原始角度庆揪,將所有這組超分辨率圖像進(jìn)行加權(quán)平均或者取中值式曲,得到最終的超分結(jié)果。
9. 無監(jiān)督圖像超分辨率
監(jiān)督學(xué)習(xí)的圖像超分辨率缸榛,基本上是學(xué)習(xí)了人為設(shè)計的圖像降質(zhì)過程的逆過程吝羞,需要LR-HR的圖像對(image pairs),與實際場景中的圖像超分問題不太符合内颗。實際中的超分問題钧排,只有不成對(unpaired)的低分辨率和高分辨圖像可以用來進(jìn)行訓(xùn)練。無監(jiān)督的圖像超分辨率也受到越來越多關(guān)注均澳。
- 零樣本學(xué)習(xí)的圖像超分
考慮到圖像自身內(nèi)容就可以為超分提供統(tǒng)計信息恨溜,因此符衔,可以不用在大數(shù)據(jù)集上訓(xùn)練一個普適超分模型,而是在測試階段訓(xùn)練一個專有圖像的超分網(wǎng)絡(luò)糟袁,比如可以使用核估計(kernel estimation)的方法在單張測試圖像中估計降質(zhì)過程判族,但是這類方法每張圖像測試時都需要學(xué)習(xí)一個網(wǎng)絡(luò),非常耗時项戴。
- 弱監(jiān)督學(xué)習(xí)的圖像超分
近來弱監(jiān)督學(xué)習(xí)的圖像超分主要有兩類方法形帮,一類是學(xué)習(xí)HR到LR的降質(zhì)過程,一類是同時學(xué)習(xí)LR到HR肯尺,HR到LR這種往復(fù)的映射(cycle-in-cycle)關(guān)系沃缘。
- 深度圖像先驗
深度圖像先驗(DeepImage Prior)目前主要是使用隨機(jī)初始化的CNN作為手工設(shè)計的先驗去進(jìn)行超分。
10. 超分在專有領(lǐng)域的應(yīng)用
目前圖像在專有領(lǐng)域的超分则吟,主要有深度圖像超分槐臀、人臉圖像超分、高光譜圖像超分氓仲、視頻圖像超分水慨、檢測分割中的小物體超分等。
發(fā)展趨勢
下面從超分網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計敬扛、學(xué)習(xí)策略晰洒、評價指標(biāo)、無監(jiān)督學(xué)習(xí)啥箭、實際場景等幾個方面谍珊,來闡述一下圖像超分領(lǐng)域的發(fā)展趨勢。
1. 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
融合局部和全局信息
融合底層和高層信息
不同上下文信息區(qū)別對待的注意力機(jī)制
輕量化網(wǎng)絡(luò)結(jié)構(gòu)
升采樣層的改進(jìn)
2. 學(xué)習(xí)策略
精確表達(dá)圖像差異的損失函數(shù)設(shè)計
適合圖像超分的歸一化方法
3. 評價指標(biāo)
全面評價超分圖像質(zhì)量的主客觀統(tǒng)一指標(biāo)
無參考圖像的圖像質(zhì)量評價
4. 無監(jiān)督的圖像超分
- 不成對的低分辨率和高分辨圖像之間的降質(zhì)過程進(jìn)行學(xué)習(xí)急侥,而不再使用人工設(shè)計好的降質(zhì)過程去生成低分辨率和高分辨率圖像對砌滞。
5. 實際場景中的圖像超分
適應(yīng)多種多樣的降質(zhì)過程
專有領(lǐng)域圖像超分的應(yīng)用
任意尺寸縮放的圖像超分