User:Floweronhead/沙盒
此條目可参照英語維基百科相應條目来扩充。 |
超解析度成像(Super-resolution imaging,縮寫SR),是一種提高影片解析度的技術。在一些稱為「光學SR」的SR技術中,系統的繞射極限被超越;而在其他所謂的「幾何SR」中,數位感光元件的分辨率因而提高。超解析度成像技術用於一般圖像處理和超高解析度顯微鏡。
小波變換相關技術
在2000年以來,小波變換的技術被使用在提高影像的解析度。
DASR[1]
DASR (Demirel-Anbarjafari Super Resolution)是使用離散小波變換(Discrete wavelet transform)來進行超解析度成像的方法。當時,超解析度成像通常是以內插影像的像素值來完成,而作者認為,對影像中的高頻部份進行內插是造成品質降低的主要理由,因為內插高頻部份讓物體的邊界變得模糊且平滑,於是提出使用離散小波變換的算法來減輕這個問題。
影像可以表示成二維的訊號,經過二維的離散小波變換,可以被分解成四個不同頻段的影像,分別是:low-low (LL), low-high (LH), high-low (HL) 和 high-high (HH),各自代表在不同維度是高頻或低頻,舉例來說,LH就是在原影像的第一維(x軸)是低頻而在第二維(y軸)是高頻的分解後結果。
深度神經網路相關技術
隨著神經網路的流行,相關技術也被應用在提高圖片解析度。
SRCNN[2]
SRCNN ( Super-resolution convolution neural network )是一個神經網路,輸入是一個低解析度(视觉上)的圖像,而輸出是一個高解析度的圖像,這裡需要注意的是,在將圖像餵進神經網路前,需要先經過一個預處理bicubic interpolation,將原始圖片變成跟想要的高解析度圖像一樣大小後,再餵進神經網路中。而神經網路做的事情,主要分成三個步驟區塊特徵抽取與表達(Patch extraction and representation)、非線性對應(non-linear mapping)以及重建(reconstruction)。
區塊特徵抽取與表達(Patch extraction and representation)
這一步就如同一般的CNN ( convolution neural network ),只是沒有經過max-pooling,公式如下。
代表已經經過bicubic interpolation的圖像,則為這層神經網路的輸出,代表個的filter(是圖像的channel數量,而則為filter的大小),代表卷積(convolution),是偏移量(bias),最後的則代表激活函數RELU。
非線性對應(non-linear mapping)
非線性對應,基本上就是持續利用一般CNN的方式將前一步每一塊的維的特徵向量,分別轉換成維的特徵向量,公式如下。
重建(reconstruction)
在重建的步驟中,我們要考慮的是每一個像素所要的值是多少,這個步驟可以想成在多個相關的高維度的特徵向量中,取一個平均,很湊巧的,這剛好也很像一般的卷積層(convolution layer),公式如下。
訓練方法
在SRCNN中所採用的差異函數(Loss Function)是簡單的平均方根差(Mean Square Error),定義為重建後的相片每一個像素與真正的圖片的每一個像素的差異,公式如下。
為SRCNN的參數,為給定的SRCNN重建的圖像,則為真正的高解析度圖像,為拿來訓練神經網路的圖像數量或者是一個batch中所有的圖像數量。
這篇論文提供了一個做法,可以應用在圖像風格轉移(Style Transfer)以及超高解析度(Super-resolution)。
整個系統由兩個神經網路組成,其中一個是圖像轉移網路,另一個則是可以用來定義各種差異的差異網路。
圖像轉移網路
圖像轉移網路的輸入為一張圖像,輸出也是一張圖像,而這個網路的參數以表示。
這個圖像轉移網路由5個residual block[4]所組成,而所有非residual的convolution layer後面都會接上batch normalization。激活函數(activation function)的部分,除了在最後的輸出層(output layer)使用scaled tanh使得輸出的數值在0到255之間,其他都是使用RELU。
convolution layer的filter(kernel)的數量上,第一層和最後一層使用個,其他層則是使用個。
差異網路
差異網路定義了各種差異函數(loss function),輸入為兩張圖像,一張來自圖像轉移網路,一張則是真正的高解析度影像,輸出為一個實數(scalar)。
而這篇論文所使用的差異網路是16層的VGG網路[5],並事先利用Image Net訓練過。差異函數的部分,使用了兩個不同於傳統簡單的差異函數。(CHW代表feature map各個維度的數值)
特徵重建差異(Feature Reconstruction Loss)
這個差異函數的設計理念在於,當我們在看兩張圖片像不像時,我們並不是一個一個像素的比較,而是比較兩張圖片中的特徵像不像。因此,他拿差異網路中某一層的輸出,當作一個圖片特徵值,再以兩張圖片的特徵值的Euclidean Distance當作差異。
除了一般的特徵以外,我們也會需要圖像轉移網路正確的重建顏色、材質等等的內容,因此必須再加上風格重建差異函數。 在定義風格重建差異之前,我們先定義Gram矩陣。
接著差異函數就可以定義為
而一般比較每一個像素差異的差異函數,則可以寫為
有了這兩個網路後,訓練圖像轉移網路的方法則是最小化各式差異函數的權重和(weighted sum),優化的方法是梯度下降法(Stochastic Gradient Descent(l()是差異函數(loss function)))。
這篇論文在高解析度圖像這個傳統問題上,給了一個快速且有效的解法,快速的原因在於,在遇到一張新的圖片時,只需要把圖像餵進圖像轉移網路就好(一次forward pass)。而在結果上,也大大的超越了之前的做法(一樣使用深度神經網路)SRCNN。
参见条目
參考資料
- ^ Gholamreza Anbarjafari Hasan Demirel. Image Super Resolution Based on Interpolation of Wavelet Domain High Frequency Subbands and the Spatial Domain Input Image. ETRI Journal. 2010, (Volume 32).
- ^ Chao, Dong; Chen Change, Loy; Kaiming, He; Xiaoou, Tang. Image Super-Resolution Using Deep Convolutional Networks. 2015-05-27. arXiv:1501.00092 .
- ^ Johnson, Justin; Alahi, Alexandre; Fei-Fei, Li. Perceptual Losses for Real-Time Style Transfer and Super-Resolution. 2016-03-26. arXiv:1603.08155 .
- ^ Kaiming, He; Xiangyu, Zhang; Shaoqing, Ren; Jian, Sun. Deep Residual Learning for Image Recognition. 2015-12-10. arXiv:1512.03385 .
- ^ Karen, Simonyan; Andrew, Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition. 2014-09-04. arXiv:1409.1556 .
- ^ Leon A., Gatys; Alexander S., Ecker; Matthias, Bethge. Texture Synthesis Using Convolutional Neural Networks. 2015-05-27. arXiv:1505.07376 .
- ^ Leon A., Gatys; Alexander S., Ecker; Matthias, Bethge. A Neural Algorithm of Artistic Style. 2015-05-27. arXiv:1508.06576 .