單圖像超分辨率 (Single image super resolution,SR) 是計算機視覺中的一個經典問題, 其目的是從單個低分辨率圖像中恢復高分辨率圖像。這個問題本質上是不適定的,因為對于任何給定的低分辨率像素都存在解決方案的多重性。換句話說,這是一個不確定的問題,其解決方案不是唯一的。這樣的問題通常通過由強先驗信息約束解空間來緩解。
目的是從單幅低分辨率圖像中恢復出高分辨率圖像。
項目介紹
本項目基于(https://arxiv.org/abs/1501.00092v3)論文對超分辨率卷積神經網絡 (SRCNN) 的三種實現方式。
整體的思路:
考慮單個低分辨率圖像,首先使用雙三次插值將其放大到所需的大小,這是執行的唯一預處理。將插值圖像表示為Y。我們的目標是從Y中恢復與真實高分辨率圖像X盡可能相似的圖像F (Y) 。為了便于演示,我們仍然將Y稱為 “低分辨率” 圖像,盡管它的大小與X相同。我們希望學習一個映射F ,它在概念上包括三個操作:
補丁提取和表示: 該操作從低分辨率圖像Y中提取 (重疊) 補丁,并將每個補丁表示為高維向量。這些向量包括一組特征圖,其數量等于向量的維數。
非線性映射: 將每個高維向量非線性映射到另一個高維向量。每個映射向量在概念上是高分辨率補丁的表示。這些向量包括另一組特征圖。
重建: 聚合上述高分辨率分片表示以生成最終的高分辨率圖像。該圖像預期與地面實況X相似。
所有這些操作形成一個卷積神經網絡。下圖描述了網絡的概況。
三種實現方式
Torch:用于訓練網絡、提取權重和升級
Numpy:用于升級
Cython:用于升級(能夠在ZedBoard上運行)
純 CPU 運行或在 ZedBoard 的 FPGA 上運行 2D 卷積
用法
有關使用說明和先決條件,請參閱項目中文件夾中相應實現的 README.md 文件:
Torch
https://github.com/Fivefold/SRCNN/blob/main/Torch
Numpy
https://github.com/Fivefold/SRCNN/blob/main/Numpy
Cython
https://github.com/Fivefold/SRCNN/blob/main/Cython
指標/性能
Set5 數據集每個指標的平均值。
實例
地面真相是用于與放大版本進行比較的原始(理想)圖像。
雙三次是使用簡單雙三次插值將地面實況縮小 3 倍并放大 3 倍。
SRCNN與 Bicubic 相同,但使用經過訓練的卷積神經網絡。
審核編輯:黃飛
-
計算機視覺
+關注
關注
8文章
1704瀏覽量
46411 -
超分辨率
+關注
關注
0文章
27瀏覽量
9995 -
cnn
+關注
關注
3文章
353瀏覽量
22550
原文標題:基于CNN的圖像超分辨率
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
新手關于圖像超分辨率的問題~
序列圖像超分辨率重建算法研究

序列圖像超分辨率重建
一種基于多通道極深CNN的圖像超分辨算法

CVPR2020 | 即插即用!將雙邊超分辨率用于語義分割網絡,提升圖像分辨率的有效策略

評論