InstructIR: 基于人类指令的高质量图像恢复 (ECCV 2024)
Marcos V. Conde, Gregor Geigle, Radu Timofte
维尔茨堡大学计算机视觉实验室 | 索尼 PlayStation, FTG
视频由 Gradio 提供(查看他们关于 InstructIR 的帖子)。也要感谢 AK —— 查看他的推文。
简介:快速入门
InstructIR 以图像和人类编写的改进该图像的指令作为输入。该神经网络模型执行全能图像恢复。InstructIR 在包括图像去噪、去雨、去模糊、去雾和(低光)图像增强在内的多个恢复任务上达到了最先进的结果。
🚀 您可以从演示教程开始
摘要 (点击我阅读)
图像恢复是一个基本问题,涉及从退化的观测中恢复高质量的清晰图像。全能图像恢复模型可以有效地从各种类型和程度的退化中恢复图像,使用特定于退化的信息作为提示来指导恢复模型。在本工作中,我们提出了第一个使用人类编写的指令来指导图像恢复模型的方法。给定自然语言提示,我们的模型可以从退化的图像中恢复高质量图像,考虑多种退化类型。我们的方法 InstructIR 在包括图像去噪、去雨、去模糊、去雾和(低光)图像增强在内的多个恢复任务上达到了最先进的结果。InstructIR 比之前的全能恢复方法提高了 +1dB。此外,我们的数据集和结果为文本引导的图像恢复和增强的新研究提供了一个新的基准。
待办事项 / 新闻 🔥
-
上传其他 InstructIR 变体(3D、5D)的模型权重和结果。
-
查看下面的说明以运行
eval_instructir.py
并获取全能恢复的所有指标和结果。 -
您可以在这里下载所有定性结果 instructir_results.zip
-
将模型上传到 HF 🤗 (在这里下载模型)
-
🤗 Hugging Face 演示 立即尝试
尝试 / 教程
直接在 🤗 Hugging Face 上免费尝试,无需代码。
🚀 您可以从演示教程开始。我们还在 google colab 上托管了相同的教程,因此您可以使用免费的 GPU 运行它!
结果
查看 test.py
和 eval_instructir.py
。以下命令使用 models/
中的预训练模型提供所有基准测试的所有指标。InstructIR 的结果保存在指定的文件夹 results/
中
python eval_instructir.py --model models/im_instructir-7d.pt --lm models/lm_instructir-7d.pt --device 0 --config configs/eval5d.yml --save results/
输出日志示例:
>>> Eval on CBSD68_15 noise 0
CBSD68_15_base 24.84328738380881
CBSD68_15_psnr 33.98722295200123 68
CBSD68_15_ssim 0.9315137801801457
....
您可以**下载所有测试数据集**,并将它们放在 test-data/
中。确保在配置文件 configs/eval5d.yml
中更新了路径。
您可以**下载所有论文结果** -查看发布-。我们在以下基准测试中测试 InstructIR:
在发布页或点击上面的链接,你可以下载instructir_results.zip,其中包含了这些数据集的所有定性结果[1.9 GB]。
去雾、去雨、去噪的多任务结果
去噪结果(点击查看)
低光照图像增强(LOL)结果(点击查看)
彩色图像增强(MIT5K)结果(点击查看)
控制和交互
有时模糊、雨滴或胶片颗粒噪声是令人愉悦的效果,是**"美学"**的一部分。这里我们展示了如何与InstructIR进行简单交互的例子。
输入 | (1) 我喜欢这张照片,你能去掉雨滴吗?请保持内容完整 | (2) 你能让它看起来令人惊艳吗?像专业摄影一样 |
---|---|---|
输入 | (1) 我的图像太暗了,什么都看不见,你能修复吗? | (2) 太棒了,看起来不错!你能应用色调映射吗? |
输入 | (1) 你能去掉图像中的小点吗?它看起来很不舒服 | (2) 现在请提高图片的质量和分辨率 |
如你所见,我们的模型接受多样化的人工编写提示,从模糊到精确的指令。*它是如何工作的?*想象我们有以下图像作为输入:
现在我们可以使用InstructIR,使用以下提示(1):
我喜欢这张照片,你能去掉雨滴吗?请保持内容完整
现在,让我们进一步增强图像(2)。
你能让它看起来令人惊艳吗?像专业摄影一样
最终结果看起来确实令人惊艳 🤗 你可以在演示教程中自己尝试。
常见问题
免责声明:请记住这不是一个产品,因此,你会注意到一些限制。与大多数多合一恢复方法一样,它在真实世界图像上的泛化能力不足 -- 我们正在努力改进。
-
我应该如何开始? 查看我们的演示教程以及我们的Google Colab笔记本。
-
我如何与你的方法进行比较? 你可以在上面的结果部分下载几个基准测试的结果。
-
我如何测试模型?我只想玩玩看:访问我们的🤗 Hugging Face演示并免费测试。
-
为什么你们不使用基于扩散的模型? (1)我们希望保持解决方案简单高效。(2)我们的优先考虑是高保真度 --就像许多与计算摄影相关的行业场景一样--。
Gradio演示
我们制作了一个简单的Gradio演示,你可以在你的机器上(本地)运行这里。你需要Python>=3.9和这些要求: pip install -r requirements_gradio.txt
python app.py
致谢
这项工作部分得到了洪堡基金会(AvH)的支持。Marcos Conde还得到了索尼互动娱乐公司FTG的支持。
这项工作的灵感来自InstructPix2Pix。
联系方式
如有任何疑问,请联系Marcos V. Conde: marcos.conde [at] uni-wuerzburg.de
引用BibTeX
@misc{conde2024instructir,
title={High-Quality Image Restoration Following Human Instructions},
author={Marcos V. Conde, Gregor Geigle, Radu Timofte},
year={2024},
journal={arXiv preprint},
}