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