溫故而知新
作為處理影象的其中乙個問題,和它同乙個層次的還有降噪(denoising),抗模糊(deblurring),缺失修復(inpainting)。難度(相對的)也是依次遞增的。傳統觀念上講,他們每乙個的處理方式都有各自專門的演算法(包括sr)。比如說,去噪是為了去除影象中的干擾(雜訊),去模糊就是對影象進行銳化,超解析度是將低解析度影象重建為高解析度問題。
對於解析度,會存在乙個誤區。影象的解析度是有單位的,一般使用畫素每英吋(dpi)來表徵。從單位來理解這個概念就很容易了。提高解析度根據這個單位來講有兩種方法,乙個是增大畫素,乙個是減小面積。在電腦上顯示一張時解析度是沒有什麼意義的,因為顯示器的解析度是固定的。但是超解析度就不一樣了,超解析度得到的hr是根本的畫素變多了,也就意味著在列印這張hr的時候,尺寸會變大。可以這麼理解,原來的低解析度影象是用一部600w畫素的照相機拍攝的,高解析度影象是800w畫素拍攝的同乙個場景。洗出來的時候大小一樣,但是明顯後者**的質量更加高,更加清晰,也就間接的做了deblurring的事情(當然deblurring還有別的更針對性的演算法)。那麼超解析度技術解決的就是把lr影象對映到hr影象。
上面說到了對映,如何做到解決超解析度其實就是如何找出這個對映的關係。
傳統的超解析度技術諸如稀疏編碼,貝葉斯等等,不多贅述。我們要做的是從深度學習的角度來找出這個對映。
深度學習是機器學習的乙個分支。是乙個使用多重的神經網路的非線性變換來對資料進行抽象的演算法(使用神經網路這個詞也是跟人類大腦有著一定的關係)。比如說識別貓狗時,為什麼我覺得這是乙隻貓,而不是乙隻狗,需要對於影象給出的資訊進行一定的抽象。當然這裡的原理比較複雜,我也不怎麼理解。那我們從巨集觀來理解,就是模仿人的大腦來定義這個對映的結構。然後從大量的資料中來學習這個對映中的引數,最後得到的這個網路結構和引數,就是訓練完成的模型。簡單的說,深度學習就是,定義方法,判斷方法,擇優方法。 learning = looking for a best funcition。 當然內部有很多很多的細節要去學習理解,每乙個步驟都可以說是至關重要。不僅僅是模型,包括loss function,normalization等等,都是學問。
為什麼要使用dl呢?深度學習這些年在算力的提公升和大資料的崛起之後變得越來越火,他的成本是極低的,我們可以天馬行空的對自己想法進行實現(儘管可能無法做出合理科學的解釋)同時也需要對目標的領域的知識有足夠得了理解。
我比較相信,深度學習所作的逐層抽象能夠解決超解析度問題。
在我的思路當中,學習到lr到hr的對映有兩個方向。
第乙個是sr在dl上最常規的思路。通過大量的訓練集來訓練乙個非常深,非常複雜的網路,這樣的乙個網路就是lr到hr的對映。但是這個對映本質上是什麼呢,從我個人理解,就是從大量的中,學習乙個lr到hr的巨集觀對映,這是乙個非常普遍的對映。但是存在兩個問題,首先,這個大量的資料集可能要相當的大才能夠涉及到整個世界所有的lr影象。其次,這個對映太普遍了,以至於最後不再具有針對性。因此在處理一些解析度很低的時,效果很差。
第二個是近幾年sr**中提出來的思路。利用的是內部學習(internal learning),這個根據的是幾年前的一些**。前兩篇**筆記中也有提到。影象中內部資料也是至關重要的。甚至說,超過了外部資料。比如zssr,取得了相當令人滿意的成績。
這兩者,孰優孰劣,也是需要視情況而定的, 那麼,是不是說,可以存在一種方法,將兩者結合起來呢。這也是我試圖去理解,去解決的問題。
計畫是尋找乙個能夠將zssr方法和edsr模型相結合的方法,或者說,其他的更加複雜的把internal learning 和external learning相結合的方法。
學而不思則罔,思而不學則殆。沒有知識的空想都是放屁
深度學習超解析度重建(總結)
本文為概述,詳情翻看前面文章。1.srcnn 2,3改進 開山之作,三個卷積層,輸入影象是低解析度影象經過雙三次 bicubic 插值和高解析度乙個尺寸後輸入cnn。影象塊的提取和特徵表示,特徵非線性對映和最終的重建 使用均方誤差 mse 作為損失函式。2.fsrcnn 特徵提取 低解析度影象,選取...
基於深度學習框架的超解析度問題二之EDSR
edsr的根本出發點還是希望增加網路的深度 卷積層的層數 和寬度 卷積核的通道數 來提高計算的準確度。而其更多的可以看作是對srresnet的改進,去掉其對應的多餘計算 主要是指bn和relu 其具體的residual block結構如右 圖中a表示最原始的結構,c表示經過改變後本文提出的結構 由結...
超解析度中PSNR的計算與bicubic插值
正確計算psnr對於做超解析度研究是很重要的,因為psnr是被廣泛使用的metric之一。同時bicubic插值演算法也很重要,因為目前主流的有監督超解析度演算法中,需要構成hr lr訓練對,而這個對的構成方法需要使用到bicubic插值。psnr的定義很簡單,m se 1h w i 1h j 1w...