基于上述动机,我们提出了一个高效的扩散模型,涉及一个更短的马尔可夫链,用于在HR图像和其对应的LR图像之间过渡。马尔可夫链的初始状态收敛到HR图像的近似分布,而最终状态收敛到LR图像的近似分布。为了实现这一点,我们精心设计了一个转换核,逐步移动它们之间的残差。这种方法比现有的基于扩散的SR方法更高效,因为残差信息可以在几十个步骤内快速传递。此外,我们的设计还允许对证据下界进行分析和简洁的表达,简化了训练优化目标的归纳。基于这个构建的扩散核,我们进一步开发了一个高度灵活的噪声调度,控制每一步中残差的移动速度和噪声强度。通过调整其超参数,这个调度促进了恢复结果的保真度-真实性权衡。
- 我们提出了一个高效的扩散模型用于SR,它通过在推理过程中移动它们之间的残差,从LR图像迭代采样到理想的HR图像。广泛的实验表明,我们的方法在效率方面具有优越性,因为它只需要15个采样步骤就能获得令人满意的结果,超越或至少与当前需要长时间采样过程的基于扩散的SR方法相当。我们恢复结果与现有方法的预览比较如图1所示。
- 我们为所提出的扩散模型制定了一个高度灵活的噪声调度,使得在过渡过程中对残差的移动和噪声水平进行更精确的控制。
实践
环境
git clone https://github.com/zsyOAOA/ResShift.git
cd ResShift
docker run -it --net host -v /data/xiedong/ResShift:/data/xiedong/ResShift --gpus all kevinchina/deeplearning:cuda118torch2.1.2 bash
cd /data/xiedong/ResShift
pip install -r requirements.txt
web
python app.py
得到:
点击submit后会自动下载:
Fast Testing
🐯 Real-world image super-resolution
python inference_resshift.py -i [image folder/image path] -o [result folder] --task realsr --scale 4 --version v3
🦁 Bicubic (resize by Matlab) image super-resolution
python inference_resshift.py -i [image folder/image path] -o [result folder] --task bicsr --scale 4
🐍 Natural image inpainting
python inference_resshift.py -i [image folder/image path] -o [result folder] --mask_path [mask path] --task inpaint_imagenet --scale 1
🐊 Face image inpainting
python inference_resshift.py -i [image folder/image path] -o [result folder] --mask_path [mask path] --task inpaint_face --scale 1
🐙 Blind Face Restoration
python inference_resshift.py -i /data/xiedong/ResShift/imagestest/ -o /data/xiedong/ResShift/imagestest_ret --task faceir --scale 1
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!