SRZoo--深度學習圖像超分辨率工具

點擊上方“算法猿的成長“,關注公衆號,選擇加“星標“或“置頂”

總第 145 篇文章,本文大約 2100 字,閱讀大約需要 7 分鐘

前言

今天要介紹的是 Github 上一個基於深度學習的超分辨率工具--SRZoo,並且它還提供了多個預訓練模型。Github 地址:

https://github.com/idearibosome/srzoo?u=2181051220&m=4512180215508847&cu=2181051220&ru=1402400261&rm=4512148967116203


簡介

SRZoo 是一個基於深度學習的圖像超分辨率的工具和模型庫,它提供了多種圖像超分辨率領域目前性能最好的預訓練模型。

它的主要功能包括:

  • SRZoo 提供了多種超分辨率方法的官方預訓練模型;

  • 通過 SRZoo,可以非常容易就通過提供的超分辨率方法來獲取超分辨率(super-resolved)的圖片;

  • 可以在不同配置環境下使用超分辨率模型,比如支持 CUDA 的 GPUs 以及通過 TensorFlow.js 的瀏覽器;

  • 可以在相同評估標準和環境下對比超分辨率方法的性能。

在下面這篇論文中,你可以瞭解更多我們的動機以及一些對 SRZoo 的細節描述,比如性能比較等:

J.-H. Choi, J.-H. Kim, J.-S. Lee. SRZoo: an integrated repository for super-resolution using deep learning. IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), May 2020 

論文地址:

https://doi.org/10.1109/ICASSP40776.2020.9054533

arxiv 的地址:

https://arxiv.org/abs/2006.01339

使用要求

  • Python3.6 或者更新的版本

  • TensorFlow1.12 或者更新版本

預訓練的超分辨率模型

下面是提供的一些預訓練模型,模型的參數都在自模型算法的作者。如果你有用到這些模型算法,請加上對論文的引用。

超分辨率圖片檢索

在 SRZoo 中通過 get_sr.py 代碼提供了一個簡單的圖像搜索,使用例子:

python get_sr.py --config_path=configs/edsr.json --model_path=edsr_x4.pb --input_path=LR --output_path=SR --scale=4

參數說明:

  • config_path:模型配置文件路徑

  • model_path:預訓練模型文件路徑

  • input_path:輸入的低分辨率圖片的路徑

  • output_path:輸出的超分辨率圖片的保存路徑

  • scale:提高的倍數

  • self_ensemble :指定是否應用 geometric self-ensemble 方法(http://openaccess.thecvf.com/content_cvpr_2017_workshops/w12/papers/Lim_Enhanced_Deep_Residual_CVPR_2017_paper.pdf)

  • cuda_device :指定採用的 GPU 設備索引(需要將環境變量設置爲 CUDA_VISIBLE_DEVICE)

注意:部分模型由於不同維度順序問題,只能在 GPU 上運行。

性能評價

在獲取到超分辨率圖片後,可以通過代碼evaluate_sr.py 進行性能的評價,使用例子:

python evaluate_sr.py --sr_path=SR --truth_path=HR

參數說明:

  • sr_path:超分辨率圖片路徑

  • truth_path:真實圖片的路徑

  • shave_borders:圖像邊界需要修正的像素的數量。通常設置爲增大尺寸的倍數(upscaling factor)

  • color_mode:顏色轉換模式。

    • ycbcry:YCbCr 顏色空間的 Y 通道

    • RGB:RGB 顏色空間的 RGB 通道

  • evaluators:以逗號分隔的評估方法。主要採用文件夾evaluators 裏的評估方法

  • output_name:輸出的 CSV 文件的路徑

這裏你可以自定義自己的評估方法,通過繼承基類BaseEvaluator ,代碼是保存在文件夾evaluators/

模型轉換

也可以對其他預訓練的超分辨率模型進行轉換。詳情可以查看文件夾converter 中的信息。另外,根據config 文件夾的內容來編寫你需要進行轉換的模型的配置信息。

其他

圖像降低(downscaling)工具

SRZoo 對於評估超分辨率模型也提供了降低工具(downscaling utilities),具體可以查看 utils/downscale 文件夾

採用其他的圖像處理模型

SRZoo 可以應用於輸入輸出都是圖像的模型,因此也可以在簡單做了一些修改後應該其他的圖像處理算法。作爲一個概念驗證,我們提供了一個基於 SRZoo 的預訓練圖像壓縮模型,模型算法來自:

https://github.com/fab-jul/imgcomp-cvpr

使用結果:

如果要應用這些模型,可以簡單地將 upscaling factor 設置爲 1,比如get_sr.py 中的參數--scale

不過目前只支持在 GPU上運行這些模型。


最近滴滴雲推出了多個基於 NVIDIA vGPU 的新型實例,包括計算型、渲染型和遊戲型三大類,支持的 GPU包括 Tesla P4、P40、T4 等,可以選擇包年、包月或者按照小時購買使用時間,非常靈活方便。

現在填寫我的滴滴雲專屬 AI 大師碼:9192,可以享受 9 折優惠。

滴滴雲官網地址:

www.didiyun.com


精選AI文章

1.  2020年計算機視覺學習指南

2. 是選擇Keras還是PyTorch開始你的深度學習之旅呢?

3. 編寫高效的PyTorch代碼技巧(上)

4. 編寫高效的PyTorch代碼技巧(下)

5. 深度學習算法簡要綜述(上)

6. 深度學習算法簡要綜述(下)

7. 10個實用的機器學習建議

8. 實戰|手把手教你訓練一個基於Keras的多標籤圖像分類器

精選python文章

1.  python數據模型

2. python版代碼整潔之道

3. 快速入門 Jupyter notebook

4. Jupyter 進階教程

5. 10個高效的pandas技巧

精選教程資源文章

1. [資源分享] TensorFlow 官方中文版教程來了

2. [資源]推薦一些Python書籍和教程,入門和進階的都有!

3. [Github項目推薦] 推薦三個助你更好利用Github的工具

4. Github上的各大高校資料以及國外公開課視頻

5. GitHub上有哪些比較好的計算機視覺/機器視覺的項目?

歡迎關注我的微信公衆號--算法猿的成長,或者掃描下方的二維碼,大家一起交流,學習和進步!

 

如果覺得不錯,在看、轉發就是對小編的一個支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章