1、介绍:

人们提出了一个名为 DiffBIR 的框架,它利用稳定扩散的预训练模型(文本到图像生成模型)来执行退化图像的盲图像恢复任务(超分辨率任务)。还发布了样品外套,所以我立即尝试了。与之前的 BSR(盲图像超分辨率)和 BFR(盲人脸恢复)研究相比,DiffBIR 显示出更优异的结果。

论文地址:

https://arxiv.org/abs/2308.15070v1

DiffBIR 管道概述

DiffBIR框架预训练了文本到图像的扩散模型,并将其应用于图像恢复任务,具体来说,它使用了以下两阶段管道。

  • 第1阶段:使用通过自监督学习预先训练的“恢复模块(RM)”获得恢复图像Ireg以消除退化。
  • 第 2 阶段:通过 LAControlNet 恢复精细纹理和细节,该网络利用预先训练的扩散模型“稳定扩散”。

2、下载模型

文章百度链接提供

3、配置环境

conda create -n vilify python=3.8
conda activate vilify
pip install mediapipe
pip install numpy
pip install opencv-python 

4、运行

$ git clone -b dev https://github.com/camenduru/DiffBIR
$ cd DiffBIR

$ pip install -q einops pytorch_lightning gradio omegaconf xformers==0.0.20 transformers lpips # opencv-python
$ pip install -q git+https://github.com/mlfoundations/open_clip@v2.20.0

$ aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lxq007/DiffBIR/resolve/main/general_full_v1.ckpt -d ./models -o general_full_v1.ckpt
$ aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lxq007/DiffBIR/resolve/main/general_swinir_v1.ckpt -d ./models -o general_swinir_v1.ckpt

$ python gradio_diffbir.py --ckpt ./models/general_full_v1.ckpt --config ./configs/model/cldm.yaml --reload_swinir --swinir_ckpt ./models/general_swinir_v1.ckpt

5、效果展示

在浏览器中打开 http://localhost:7860/

放大四倍

它给人的印象是锯齿状图像已转换为相当自然的图像。我认为使用它时需要小心,因为它使用生成模型来强制恢复原本没有信息的部分,但由于它易于使用,我认为在日常生活中会有机会使用它。通过组合针对与预期目的不同的任务的预训练模型来创建高性能模型的想法似乎有很多应用。