三. 基於例子的學習
1. EBSR
論文題目:Example-Based Super-Resolution
存在的問題
當前很多的方法都需要依賴大量的額外資料來訓練。一方面,需要質量很好的資料庫,這個代價是很大的。另一方面,計算量也是很大的。
解決的問題
本文提出了一種方法(Example-Based Super-Resolution),不依賴於外部的資料庫,僅僅用輸入圖片即可。
論文要點
1. 訓練集生成
(1) 將高解析度圖片進行blur處理,然後用subsample的方法將他們變成低解析度的圖片。
(2) 運用插值法,比如雙三次插值法,將低解析度的圖片轉位高解析度畫素大小的圖片。
(3) 儲存原始高解析度圖片和插值後的圖片的不同部分。但是這個的儲存量還是太大。我們相信低解析度的高頻部分對恢復細節有幫助。所以過濾了低頻的部分,因此就不要儲存低頻部分的不同地方。我們也相信,低解析度圖片和高解析度的圖片對比度是相互獨立的,所以也不想儲存對比度的資訊。因此,在影象上做了對比度歸一化處理。
2. 基於例子的學習演算法
我們先嚐試了影象預處理,然後將影象分成小塊兒,最後尋找丟失的高解析度細節。不幸的是,這個方法不好用,因為僅僅利用區域性的圖片塊去尋找高解析度的細節是不夠的。
所以,我們利用了兩種方法去利用鄰域圖片塊之間的關係去獲取細節。
(1) 馬爾可夫網路(Markov network)
利用馬爾科夫網路去模型化低解析度圖片塊和高分辨圖片塊以及和高解析度鄰域圖片塊的關係。利用belief propagation去優化。細節見paper。
(2) 一次過演算法(one-pass algorithm)
該演算法只考慮了高解析度圖片塊和其鄰域圖片塊的關係。簡單的說,該演算法通過區域性圖片資訊生成一系列的預測序列,該預測作為放大後圖片的缺失的細節資訊。我們按光柵掃描順序將圖片分別低頻部分的圖片塊。在每一步,高頻部分的圖片塊基於區域性低頻細節和之前的高頻圖片塊,通過鄰域搜尋法選擇。
預測部分:演算法的輸出是輸入和高頻預測的和。
2. SelfExSR
論文題目:Single Image Super-resolution from Transformed Self-Exemplars
存在的問題
對於用external database的方法,有個缺點,那就是訓練圖片的數量和型別要多少才能達到滿意的程度是不懂的。並且,對於每一個放大引數,都需要重新訓練,為每一個引數訓練一個模型。
對於用internal database的方法,比起external database的方法,表明其能包含更多的相關訓練patches。但是利用internal database的假設是高解析度圖片塊出現在同樣的位置,方向和具有相同的illumination。同時,還假設圖片塊是平面的。但是,現實中,並不是所有的圖形都是平面的,也有非平面的。所以這個方法具有侷限性。
解決的問題
本文提出了一個改進self-similarity的方法,擴大了internal patch的搜尋範圍。首先,利用區域性平面去構造3D場景的geometry,然後利用平面引數去估計重現平面的形變。其次,我們從簡單的放射變換擴充套件到潛在的形變,進而擴大了搜尋的範圍。
論文要點
1. 演算法
(1) 對於LR的每個patch P,我們計算能將P扭曲的變換矩陣T以至於能最好的和source patch Q匹配(來自於輸入圖片的下采樣)。利用patchmatch演算法找鄰域patch(Nearest Neighbour Field Estimation)。
(2) 從高解析度圖片中提取Q對應的patch。
(3) 我們利用T的轉置去反扭曲HR patch, 獲得self-exemplar Ph。
(4) 重複上面的步驟對於所有的patches。
(5) 運用迭代反向傳播去確保重建的完美。
2. Nearest Neighbour Field Estimation
代價方程:
這個由三部分組成:
(1) 外觀代價(Appearance cost Eapp):
(2)平面代價(Plane compatibility cost Eplane):
(3) 比例代價(Scale cost Escale):
相關文章
- NIO學習三、基於NIO的WEB伺服器Web伺服器
- 基於梯度的學習梯度
- 基於docker的蜜罐學習Docker
- 基於Cucumber框架的學習框架
- 基於Spring例子的JPetStore分析Spring
- RCE-基於Pikachu的學習
- unserialize-基於Pikachu的學習
- ssrf-基於Pikachu的學習
- 學習三:基於Hadoop的Cloudera CDH3平臺安裝HadoopCloud
- 第一個JavaScript的例子學習JavaScript
- Flutter 學習(三) dart基礎FlutterDart
- Java基礎 快速學習(三)Java
- 非同步學習小例子非同步
- 基於VGG的遷移學習遷移學習
- 基於深度學習的網路表示深度學習
- xss-基於Pikachu的學習
- 暴力破解-基於Pikachu的學習
- 檔案包含-基於Pikachu的學習
- filedownload-基於pikachu的學習
- fileupload-基於pikachu的學習
- Over-Permission-基於Pikachu的學習
- xxe-基於Pikachu的學習
- url重定向-基於Pikachu的學習
- 基於深度學習的醫學影像配準學習筆記2深度學習筆記
- 一個學習 Koa 原始碼的例子原始碼
- 遷移學習系列---基於例項方法的遷移學習遷移學習
- 基於pytorch的深度學習實戰PyTorch深度學習
- 基於TensorFlow的深度學習實戰深度學習
- 基於深度學習的網路表示 [session]深度學習Session
- 目錄遍歷-基於Pikachu的學習
- 基於docker 初學 MongoDb 學習筆記DockerMongoDB筆記
- DvaJS的學習之路1 - dva+umi官網例子學習JS
- 透過三個例子,學習 Go 語言併發程式設計的利器 - goroutineGo程式設計
- MySQL學習(三) SQL基礎查詢MySql
- 基於 GitHub 的敏捷學習方法之道與術Github敏捷
- PBR(基於物理的渲染)學習筆記2筆記
- 【機器學習基礎】關於深度學習的Tips機器學習深度學習
- 基於策略搜尋的強化學習方法強化學習