1. 程式人生 > >從SRCNN到EDSR,總結深度學習端到端超解析度方法發展歷程(轉)

從SRCNN到EDSR,總結深度學習端到端超解析度方法發展歷程(轉)



超解析度技術(Super-Resolution, SR)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛星影象和醫學影像等領域都有重要的應用價值。

本文針對端到端的基於深度學習的單張影象超解析度方法(Single Image Super-Resolution, SISR),總結一下從SRCNN到EDSR的發展歷程。(排列順序大致按論文中給出的4倍上取樣結果的峰值信噪比(Peak Signal to Noise Ratio, PSNR)從低到高排列)

1. SRCNN

SRCNN是深度學習用在超解析度重建上的開山之作。SRCNN的網路結構非常簡單,僅僅用了三個卷積層,網路結構如下圖所示。



SRCNN首先使用雙三次(bicubic)插值將低解析度影象放大成目標尺寸,接著通過三層卷積網路擬合非線性對映,最後輸出高解析度影象結果。本文中,作者將三層卷積的結構解釋成三個步驟:影象塊的提取和特徵表示,特徵非線性對映和最終的重建

三個卷積層使用的卷積核的大小分為為9x9,,1x1和5x5,前兩個的輸出特徵個數分別為64和32。用Timofte資料集(包含91幅影象)和ImageNet大資料集進行訓練。使用均方誤差(Mean Squared Error, MSE)作為損失函式,有利於獲得較高的PSNR。

2. FSRCNN

FSRCNN與SRCNN都是香港中文大學Dong Chao, Xiaoou Tang等人的工作。FSRCNN是對之前SRCNN的改進,主要在三個方面:一是在最後使用了一個反捲積層放大尺寸,因此可以直接將原始的低解析度影象輸入到網路中,而不是像之前SRCNN那樣需要先通過bicubic方法放大尺寸。二是改變特徵維數,使用更小的卷積核和使用更多的對映層。三是可以共享其中的對映層,如果需要訓練不同上取樣倍率的模型,只需要fine-tuning最後的反捲積層。

由於FSRCNN不需要在網路外部進行放大圖片尺寸的操作,同時通過新增收縮層和擴張層,將一個大層用一些小層來代替,因此FSRCNN與SRCNN相比有較大的速度提升。FSRCNN在訓練時也可以只fine-tuning最後的反捲積層,因此訓練速度也更快。FSRCNN與SCRNN的結構對比如下圖所示。


FSRCNN可以分為五個部分。特徵提取:SRCNN中針對的是插值後的低解析度影象,選取的核大小為9×9,這裡直接是對原始的低解析度影象進行操作,因此可以選小一點,設定為5×5。收縮:通過應用1×1的卷積核進行降維,減少網路的引數,降低計算複雜度。非線性對映:感受野大,能夠表現的更好。SRCNN中,採用的是5×5的卷積核,但是5×5的卷積核計算量會比較大。用兩個串聯的3×3的卷積核可以替代一個5×5的卷積核,同時兩個串聯的小卷積核需要的引數3×3×2=18比一個大卷積核5×5=25的引數要小。FSRCNN網路中通過m個核大小為3×3的卷積層進行串聯。擴張

:作者發現低維度的特徵帶來的重建效果不是太好,因此應用1×1的卷積核進行擴維,相當於收縮的逆過程。反捲積層:可以堪稱是卷積層的逆操作,如果步長為n,那麼尺寸放大n倍,實現了上取樣的操作。

FSRCNN中啟用函式採用PReLU,損失函式仍然是均方誤差。對CNN來說,Set91並不足夠去訓練大的網路結構,FSRCNN提出general-100 + Set91進行充當訓練集。並且進行資料增強,1)縮小尺寸為原來的0.9, 0.8, 0.7和0.6。2)旋轉 90°,180°和270°,因此獲得了資料量的提升。

3. ESPCN

作者在本文中介紹到,像SRCNN那樣的方法,由於需要將低解析度影象通過上取樣插值得到與高解析度影象相同大小的尺寸,再輸入到網路中,這意味著要在較高的解析度上進行卷積操作,從而增加了計算複雜度。本文提出了一種直接在低解析度影象尺寸上提取特徵,計算得到高解析度影象的高效方法。ESPCN網路結構如下圖所示。


ESPCN的核心概念是亞畫素卷積層(sub-pixel convolutional layer)。網路的輸入是原始低解析度影象,通過三個卷積層以後,得到通道數為 r^{2} 的與輸入影象大小一樣的特徵影象。再將特徵影象每個畫素的 r^{2} 個通道重新排列成一個 \[r \times r\] 的區域,對應高解析度影象中一個 \[r \times r\] 大小的子塊,從而大小為 \[H \times W \times {r^2}\] 的特徵影象被重新排列成 \[rH \times rW \times 1\] 的高解析度影象。我理解的亞畫素卷積層包含兩個過程,一個普通的卷積層和後面的排列畫素的步驟。就是說,最後一層卷積層輸出的特徵個數需要設定成固定值,即放大倍數r的平方,這樣總的畫素個數就與要得到的高解析度影象一致,將畫素進行重新排列就能得到高解析度圖。

在ESPCN網路中,影象尺寸放大過程的插值函式被隱含地包含在前面的卷積層中,可以自動學習到。由於卷積運算都是在低解析度影象尺寸大小上進行,因此效率會較高。

訓練時,可以將輸入的訓練資料,預處理成重新排列操作前的格式,比如將21×21的單通道圖,預處理成9個通道,7×7的圖,這樣在訓練時,就不需要做重新排列的操作。另外,ESPCN啟用函式採用tanh替代了ReLU。損失函式為均方誤差。

4. VDSR

在介紹VDSR之前,首先想先提一下何愷明在2015年的時候提出的殘差網路ResNet。ResNet的提出,解決了之前網路結構比較深時無法訓練的問題,效能也得到了提升,ResNet也獲得了CVPR2016的best paper。殘差網路結構(residual network)被應用在了大量的工作中。

正如在VDSR論文中作者提到,輸入的低解析度影象和輸出的高解析度影象在很大程度上是相似的,也就是指低解析度影象攜帶的低頻資訊與高解析度影象的低頻資訊相近,訓練時帶上這部分會多花費大量的時間,實際上我們只需要學習高解析度影象和低解析度影象之間的高頻部分殘差即可。殘差網路結構的思想特別適合用來解決超解析度問題,可以說影響了之後的深度學習超解析度方法。VDSR是最直接明顯的學習殘差的結構,其網路結構如下圖所示。


VDSR將插值後得到的變成目標尺寸的低解析度影象作為網路的輸入,再將這個影象與網路學到的殘差相加得到最終的網路的輸出。VDSR主要有4點貢獻。1.加深了網路結構(20層),使得越深的網路層擁有更大的感受野。文章選取3×3的卷積核,深度為D的網路擁有(2D+1)×(2D+1)的感受野。2.採用殘差學習,殘差影象比較稀疏,大部分值都為0或者比較小,因此收斂速度快。VDSR還應用了自適應梯度裁剪(Adjustable Gradient Clipping),將梯度限制在某一範圍,也能夠加快收斂過程。3.VDSR在每次卷積前都對影象進行補0操作,這樣保證了所有的特徵圖和最終的輸出影象在尺寸上都保持一致,解決了影象通過逐步卷積會越來越小的問題。文中說實驗證明補0操作對邊界畫素的預測結果也能夠得到提升。4.VDSR將不同倍數的影象混合在一起訓練,這樣訓練出來的一個模型就可以解決不同倍數的超解析度問題。

5. DRCN

DRCN與上面的VDSR都是來自首爾國立大學計算機視覺實驗室的工作,兩篇論文都發表在CVPR2016上,兩種方法的結果非常接近。DRCN第一次將之前已有的遞迴神經網路(Recursive Neural Network)結構應用在超解析度處理中。同時,利用殘差學習的思想(文中的跳躍連線(Skip-Connection)),加深了網路結構(16個遞迴),增加了網路感受野,提升了效能。DRCN網路結構如下圖所示。


DRCN輸入的是插值後的影象,分為三個模組,第一個是Embedding network,相當於特徵提取,第二個是Inference network, 相當於特徵的非線性對映,第三個是Reconstruction network,即從特徵影象恢復最後的重建結果。其中的Inference network是一個遞迴網路,即資料迴圈地通過該層多次。將這個迴圈進行展開,等效於使用同一組引數的多個串聯的卷積層,如下圖所示。


其中的 H_{1} 到 H_{D} 是D個共享引數的卷積層。將這D個卷積層的每一層的結果都通過相同的Reconstruction Net,在Reconstruction Net中與輸入的影象相加,得到D個輸出重建結果。這些所有的結果在訓練時都同時被監督,即所有的遞迴都被監督,作者稱之為遞迴監督(Recursive-Supervision),避免了梯度消失/爆炸問題。將D個遞迴得到的結果再加權平均:\[\widehat y = \sum\limits_{d = 1}^D {{w_d} \cdot {{\widehat y}_d}} \]得到一個總輸出。每個加權 w_{d} 在訓練的過程中也不斷地更新。最終的目標函式就需要優化每一個遞迴層輸出的誤差和總輸出的誤差:

\[{l_1}\left( \theta \right) = \sum\limits_{d = 1}^D {\sum\limits_{i = 1}^N {\frac{1}{{2DN}}{{\left\| {{y^{\left( i \right)}} - \widehat y_d^{\left( i \right)}} \right\|}^2}} } \]

\[{l_2}\left( \theta \right) = \sum\limits_{i = 1}^N {\frac{1}{{2N}}{{\left\| {{y^{\left( i \right)}} - \sum\limits_{d = 1}^D {{w_d} \cdot \widehat y_d^{\left( i \right)}} } \right\|}^2}} \]

\[L\left( \theta \right) = \alpha {l_1}\left( \theta \right) + \left( {1 - \partial } \right){l_2}\left( \theta \right) + \beta {\left\| \theta \right\|^2}\]

\beta 表示的是權值衰減(weight decay)。 \alpha 的初始值設定得比較高以使得訓練過程穩定,因為訓練開始的階段遞迴更容易收斂。隨著訓練的進行, \alpha 逐漸衰減來提升最終輸出的效能。

6. RED

這篇文章提出了由對稱的卷積層-反捲積層構成的網路結構,作為一個編碼-解碼框架,可以學習由低質影象到原始影象端到端的對映。網路結構如下圖所示。


RED網路的結構是對稱的,每個卷積層都有對應的反捲積層。卷積層用來獲取影象的抽象內容,反捲積層用來放大特徵尺寸並且恢復影象細節。卷積層將輸入影象尺寸減小後,再通過反捲積層上取樣變大,使得輸入輸出的尺寸一樣。每一組映象對應的卷積層和反捲積層有著跳線連線結構,將兩部分具有同樣尺寸的特徵(要輸入卷積層的特徵和對應的反捲積層輸出的特徵)做相加操作(ResNet那樣的操作)後再輸入到下一個反捲積層。這樣的結構能夠讓反向傳播訊號能夠直接傳遞到底層,解決了梯度消失問題,同時能將卷積層的細節傳遞給反捲積層,能夠恢復出更乾淨的圖片。可以看到,網路中有一條線是將輸入的影象連線到後面與最後的一層反捲積層的輸出相加,也就是VDSR中用到的方式,因此RED中間的卷積層和反捲積層學習的特徵是目標影象和低質影象之間的殘差。RED的網路深度為30層,損失函式用的均方誤差。

7. DRRN

DRRN的作者應該是受到了ResNet、VDSR和DRCN的啟發,採用了更深的網路結構來獲取效能的提升。作者也在文中用圖片示例比較了DRRN與上述三個網路的區別,比較示例圖如下所示。


DRRN中的每個殘差單元都共同擁有一個相同的輸入,即遞迴塊中的第一個卷積層的輸出。每個殘差單元都包含2個卷積層。在一個遞迴塊內,每個殘差單元內對應位置相同的卷積層引數都共享(圖中DRRN的淺綠色塊或淺紅色塊)。作者列出了ResNet、VDSR、DRCN和DRRN四者的主要策略。ResNet是鏈模式的區域性殘差學習。VDSR是全域性殘差學習。DRCN是全域性殘差學習+單權重的遞迴學習+多目標優化。DRRN是多路徑模式的區域性殘差學習+全域性殘差學習+多權重的遞迴學習。

文章中比較了不同的遞迴塊和殘差單元數量的實驗結果,最終選用的是1個遞迴塊和25個殘差單元,深度為52層的網路結構。總之,DRRN就是通過對之前已有的ResNet等結構進行調整,採取更深的網路結構得到結果的提升。

8. LapSRN

論文中作者先總結了之前的方法存在有三點問題。一是有的方法在輸入影象進網路前,需要使用預先定義好的上取樣操作(例如bicubic)來獲得目標的空間尺寸,這樣的操作增加了額外的計算開銷,同時也會導致可見的重建偽影。而有的方法使用了亞畫素卷積層或者反捲積層這樣的操作來替換預先定義好的上取樣操作,這些方法的網路結構又相對比較簡單,效能較差,並不能學好低解析度影象到高解析度影象複雜的對映。二是在訓練網路時使用 l_{2} 型損失函式時,不可避免地會產生模糊的預測,恢復出的高解析度圖片往往會太過於平滑。三是在重建高解析度影象時,如果只用一次上取樣的操作,在獲得大倍數(8倍以上)的上取樣因子時就會比較困難。而且在不同的應用時,需要訓練不同上取樣倍數的模型。針對這三點問題,作者提出了LapSRN,網路結構如下圖所示。


LapSRN的結構可以看成有多級,每一級完成一次2倍的上取樣操作,要實現8倍的上取樣就需要有三級。在每一級中,先通過一些級聯的卷積層提取特徵,接著通過一個反捲積層將提取出的特徵的尺寸上取樣2倍。反捲積層後連有兩個卷積層,一個卷積層的作用是繼續提取特徵,另外一個卷積層的作用是預測出這一級的殘差。輸入影象在每一級也經過一個反捲積層使尺寸上取樣2倍,再與對應級的殘差相加,就能重構出這一級的上取樣結果。LapSRN設計損失函式為:

\[L\left( {\widehat y,y;\theta } \right) = \frac{1}{N}\sum\limits_{i = 1}^N {\sum\limits_{s = 1}^L {\rho \left( {\widehat y_s^{\left( i \right)} - y_s^{\left( i \right)}} \right)} } = \frac{1}{N}\sum\limits_{i = 1}^N {\sum\limits_{s = 1}^L {\rho \left( {\left( {\widehat y_s^{\left( i \right)} - x_s^{\left( i \right)}} \right) - r_s^{\left( i \right)}} \right)} } \]

其中, \[\rho \left( x \right) = \sqrt {{x^2} + {\varepsilon ^2}} \] 叫作Charbonnier懲罰函式( l_{1} 範數的變形), \varepsilon 大小設定為0.001。x表示低解析度影象,y表示高解析度影象,r表示殘差,s表示對應的級。N表示訓練時batch size的大小,L表示網路一共有多少級。通過將高解析度圖下采樣,在每一級都存在有對應的ground truth進行監督,因此每一級都有一個損失,訓練的時候就是要把每一級的損失的和降低。

LapSRN通過逐步上取樣,一級一級預測殘差的方式,在做高倍上取樣時,也能得到中間低倍上取樣結果的輸出。由於尺寸是逐步放大,不是所有的操作都在大尺寸特徵上進行,因此速度比較快。LapSRN設計了損失函式來訓練網路,對每一級的結果都進行監督,因此取得了不錯的結果。

9. SRDenseNet

DenseNet是CVPR2017的best papaer獲獎論文。DenseNet在稠密塊(dense block)中將每一層的特徵都輸入給之後的所有層,使所有層的特徵都串聯(concatenate)起來,而不是像ResNet那樣直接相加。這樣的結構給整個網路帶來了減輕梯度消失問題、加強特徵傳播、支援特徵複用、減少引數數量的優點。一個稠密塊的結構如下圖所示。


SRDenseNet將稠密塊結構應用到了超解析度問題上,取得了不錯的效果。網路結構如下圖所示。


SRDenseNet可以分成四個部分。首先是用一個卷積層學習低層的特徵,接著用多個稠密塊學習高層的特徵,然後通過幾個反捲積層學到上取樣濾波器引數,最後通過一個卷積層生成高解析度輸出。

文章中針對用於最後重建的輸入內容不同,設計了三種結構並做了比較。一是反捲積層只輸入最頂層稠密塊的輸出。二是添加了一個跳躍連線,將最底層卷積層的輸出特徵和最頂層稠密塊的輸出特徵串聯起來,再輸入反捲積層。三是添加了稠密跳躍連線,就是把稠密塊看成一個整體,第一個卷積層的輸出以及每個稠密塊的輸出,都輸入給在之後的所有稠密塊,像是把在反捲積層之前的整個網路也設計成像稠密塊那樣的結構。由於這樣做,所有的特徵都串聯起來,這樣直接輸入反捲積層會產生巨大的計算開銷,因此添加了一個核大小為1×1的卷積層來減小特徵數量,這個卷積層被稱為瓶頸層。最後的結果是越複雜的越好,3>2>1。文章中分析的是,受益於低層特徵和高層特徵的結合,超解析度重建的效能得到了提升。像第三種結構把所有深度層的特徵都串聯起來,得到了最佳的結果,說明不同深度層的特徵之間包含的資訊是互補的。

10. SRGAN(SRResNet)

在這篇文章中,將生成對抗網路(Generative Adversarial Network, GAN)用在瞭解決超解析度問題上。文章提到,訓練網路時用均方差作為損失函式,雖然能夠獲得很高的峰值信噪比,但是恢復出來的影象通常會丟失高頻細節,使人不能有好的視覺感受。SRGAN利用感知損失(perceptual loss)和對抗損失(adversarial loss)來提升恢復出的圖片的真實感。感知損失是利用卷積神經網路提取出的特徵,通過比較生成圖片經過卷積神經網路後的特徵和目標圖片經過卷積神經網路後的特徵的差別,使生成圖片和目標圖片在語義和風格上更相似。一個GAN所要完成的工作,GAN原文舉了個例子:生成網路(G)是印假鈔的人,判別網路(D)是檢測假鈔的人。G的工作是讓自己印出來的假鈔儘量能騙過D,D則要儘可能的分辨自己拿到的鈔票是銀行中的真票票還是G印出來的假票票。開始的時候呢,G技術不過關,D能指出這個假鈔哪裡很假。G每次失敗之後都認真總結經驗,努力提升自己,每次都進步。直到最後,D無法判斷鈔票的真假……SRGAN的工作就是: G網通過低解析度的影象生成高解析度影象,由D網判斷拿到的影象是由G網生成的,還是資料庫中的原影象。當G網能成功騙過D網的時候,那我們就可以通過這個GAN完成超解析度了。

文章中,用均方誤差優化SRResNet(SRGAN的生成網路部分),能夠得到具有很高的峰值信噪比的結果。在訓練好的VGG模型的高層特徵上計算感知損失來優化SRGAN,並結合SRGAN的判別網路,能夠得到峰值信噪比雖然不是最高,但是具有逼真視覺效果的結果。SRGAN網路結構如下圖所示。


在生成網路部分(SRResNet)部分包含多個殘差塊,每個殘差塊中包含兩個3×3的卷積層,卷積層後接批規範化層(batch normalization, BN)和PReLU作為啟用函式,兩個2×亞畫素卷積層(sub-pixel convolution layers)被用來增大特徵尺寸。在判別網路部分包含8個卷積層,隨著網路層數加深,特徵個數不斷增加,特徵尺寸不斷減小,選取啟用函式為LeakyReLU,最終通過兩個全連線層和最終的sigmoid啟用函式得到預測為自然影象的概率。SRGAN的損失函式為:


其中內容損失可以是基於均方誤差的損失的損失函式:


也可以是基於訓練好的以ReLU為啟用函式的VGG模型的損失函式:


i和j表示VGG19網路中第i個最大池化層(maxpooling)後的第j個卷積層得到的特徵。對抗損失為:


文章中的實驗結果表明,用基於均方誤差的損失函式訓練的SRResNet,得到了結果具有很高的峰值信噪比,但是會丟失一些高頻部分細節,影象比較平滑。而SRGAN得到的結果則有更好的視覺效果。其中,又對內容損失分別設定成基於均方誤差、基於VGG模型低層特徵和基於VGG模型高層特徵三種情況作了比較,在基於均方誤差的時候表現最差,基於VGG模型高層特徵比基於VGG模型低層特徵的內容損失能生成更好的紋理細節。

11. EDSR

EDSR是NTIRE2017超解析度挑戰賽上獲得冠軍的方案。如論文中所說,EDSR最有意義的模型效能提升是去除掉了SRResNet多餘的模組,從而可以擴大模型的尺寸來提升結果質量。EDSR的網路結構如下圖所示。


可以看到,EDSR在結構上與SRResNet相比,就是把批規範化處理(batch normalization, BN)操作給去掉了。文章中說,原始的ResNet最一開始是被提出來解決高層的計算機視覺問題,比如分類和檢測,直接把ResNet的結構應用到像超解析度這樣的低層計算機視覺問題,顯然不是最優的。由於批規範化層消耗了與它前面的卷積層相同大小的記憶體,在去掉這一步操作後,相同的計算資源下,EDSR就可以堆疊更多的網路層或者使每層提取更多的特徵,從而得到更好的效能表現。EDSR用L1範數樣式的損失函式來優化網路模型。在訓練時先訓練低倍數的上取樣模型,接著用訓練低倍數上取樣模型得到的引數來初始化高倍數的上取樣模型,這樣能減少高倍數上取樣模型的訓練時間,同時訓練結果也更好。

這篇文章還提出了一個能同時不同上取樣倍數的網路結構MDSR,如下圖。

MDSR的中間部分還是和EDSR一樣,只是在網路前面添加了不同的預訓練好的模型來減少不同倍數的輸入圖片的差異。在網路最後,不同倍數上取樣的結構平行排列來獲得不同倍數的輸出結果。

從文章給出的結果可以看到,EDSR能夠得到很好的結果。增大模型引數數量以後,結果又有了進一步的提升。因此如果能夠解決訓練困難的問題,網路越深,引數越多,對提升結果確實是有幫助吧。

非常感謝許多知乎和部落格上的文章,由於比較多,這裡列出參考得比較多的幾個資源:

相關推薦

SRCNN到EDSR總結深度學習解析度方法發展歷程

超解析度技術(Super-Resolution, SR)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛星影象和醫學影像等領域都有重要的應用價值。本文針對端到端的基於深度學習的單張影象超解析度方法(Single Image Super-Resolutio

SRCNN到EDSR總結深度學習解析度方法發展歷程

原文地址:https://blog.csdn.net/abluemouse/article/details/78710553一篇綜述性質的文章,寫的很好。超解析度技術(Super-Resolution, SR)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛

總結深度學習解析度方法發展歷程

超解析度技術(Super-Resolution, SR)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛星影象和醫學影像等領域都有重要的應用價值。 本文針對端到端的基於深度學習的單張影象超解析度方法(Single Image Super-Resolutio

深度學習【8】基於迴圈神經網路RNNend-to-end對話系統

注:本篇部落格主要內容來自:A Neural Conversational Model,這篇論文。 http://blog.csdn.net/linmingan/article/details/51077837         與傳統的基於資料庫匹配的對話\翻譯系統不一樣

JavaWeb學習總結(十三)——使用Session防止表單重復提交

Coding etc pub submit exce sdf patch 傳輸 alt  在平時開發中,如果網速比較慢的情況下,用戶提交表單後,發現服務器半天都沒有響應,那麽用戶可能會以為是自己沒有提交表單,就會再點擊提交按鈕重復提交表單,我們在開發中必須防止表單重復提交。

深入理解移動像素知識與Viewport知識

num height com 密度 橫豎 行業 alt show 改變大小 一 像素知識 1.1 設備像素(device pixel) 它是物理概念,指的是設備中使用的物理像素(Physic pixel)。這個單位用px表示,它是一個[相對絕對單位

學習筆記之——基於深度學習的影象解析度重構

       最近開展影象超解析度( Image Super Resolution)方面的研究,做了一些列的調研,並結合本人的理解總結成本博文~(本博文僅用於本人的學習筆記,不做商業用途) 本博文涉及的paper已經打包,供各位看客下載哈~h

深度學習上的解析度認知

從本質上對深度學習和超解析度進行梳理 溫故而知新 超解析度 作為處理影象的其中一個問題,和它同一個層次的還有降噪(Denoising),抗模糊(Deblurring),缺失修復(Inpainting)。難度(相對的)也是依次遞增的。傳統觀念上講,他們每一個的處理方式都有各自專門的

深度學習專案 | 一招讓你的mao片十倍增長

我們知道深度學習模型訓練時通常都需要大量的訓練集,我們在做影象相關的應用時同樣需要進行影象資料增加,下面我將給大家總結10種影象資料增強常用的方式,並給出keras的實現方法。 一. 水平翻轉 隨機的對圖片進行水平翻轉,這個引數適用於水平翻轉不影響圖片語義的時候 二. 豎直翻轉 隨機的對圖片進

基於深度學習框架的解析度問題三之WDSR

WDSR是18年比較新的模型,現在又對應的官方pytorch版本,其連結為:https://github.com/JiahuiYu/wdsr_ntire2018 WDSR(2018年冠軍模型) 模型架構 主要由於目前使用的結構要麼是丟失掉了淺層的資訊,比如上述提到的網路,通過各種啟用

基於深度學習框架的解析度問題二之EDSR

上篇主要介紹了一些基本的超解析度的方法,這篇給大家介紹一下EDSR方法。 EDSR和MDSR(17年冠軍模型) 模型架構 EDSR的根本出發點還是希望增加網路的深度(卷積層的層數)和寬度(卷積核的通道數)來提高計算的準確度。而其更多的可以看作是對SRResNet的改進,去掉其對應的多

基於深度學習框架的解析度問題一之基本模型架構

目前在調研基於深度學習的觀點對超解析度問題的解決,對於其中的一些方法進行了一個大概的綜述,現將其總結如下: SRCNN 模型架構 SRCNN是深度學習用在超解析度上的開山之作。首先將圖片通過插值的方式放大到需要變換的尺寸。然後再將放大後的圖片放入到一個3層的卷積神經網路中,最終輸出一

深度學習在影象解析度重建中的應用

超解析度技術(Super-Resolution)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛星影象和醫學影像等領域都有重要的應用價值。SR可分為兩類:從多張低解析度影象重建出高解析度影象和從單張低解析度影象重建出高解析度影象。基於深度學習的SR,主要是基

深度學習用於影象解析度重建的經典paper彙總(3)

三.Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network(ESPCN) 0.亮點:直接在低解析度圖上進行處理,比

深度學習筆記二:多層感知機MLP與神經網路結構

為了儘量能形成系統的體系,作為最基本的入門的知識,請參考一下之前的兩篇部落格: 神經網路(一):概念 神經網路(二):感知機 上面的兩篇部落格讓你形成對於神經網路最感性的理解。有些看不懂的直接忽略就行,最基本的符號的記法應該要會。後面會用到一這兩篇部落格中

深度學習訓練資料python程式碼——資料增廣

python影象資料增強庫 Augmentor使用比較簡單,只有一些簡單的操作。 imgaug實現的功能更多,可以對keypoint, bounding box同步處理,比如你現在由一些標記好的資料,只有同時對原始圖片和標記資訊同步處理,才能有更多的標記資料進行訓練。我

深度學習之卷積神經網路程式設計實現

void conv_bprop(Layer *layer, Layer *prev_layer, bool *pconnection) { int index = 0; int size = prev_layer->map_w * prev_layer->map_h; // delta

深度學習用於影象解析度重建的經典paper彙總(2)

二.Deeply-Recursive Convolutional Network for Image Super-Resolution(DRCN),CVPR2016 0.亮點:使用遞迴網路,不增加引數的情況下增加感受野。SRCNN感受野13*13,DRCN感受野為41*41

深度學習基礎-06】支援向量機SVM-線性不可分

 1 SVM的優點                                      

深度學習基礎-05】支援向量機SVM-線性可分

Support Vector Machine 目錄 1背景 2 機器學習的一般框架 3 什麼是超平面 4 線性可區分(linear separatable)和線性不可區分(linear inseparatable) 5 如何計算超平面以及舉例 1背景 Vladim