TL;DR :Blur2Blur 将图像从未知模糊转换为已知模糊。该版本保留了原始内容,同时应用了经过监督去模糊模型有效训练和捕获的不同模糊内核。
摘要:本文提出了一种创新框架,旨在训练适合特定相机设备的图像去模糊算法。该算法的工作原理是将难以去模糊的模糊输入图像转换为另一幅更适合去模糊的模糊图像。从一种模糊状态到另一种模糊状态的转换过程利用由目标相机设备捕获的清晰和模糊图像组成的不成对数据。学习这种模糊到模糊的转换本质上比直接模糊到锐利的转换更简单,因为它主要涉及修改模糊模式,而不是重建精细图像细节的复杂任务。所提出方法的有效性已通过各种基准的综合实验得到证明,在定量和定性方面都显着优于最先进的方法。
模型架构和实验结果的详细信息可以在我们的论文中找到:
@inproceedings { pham2024blur2blur ,
author = { Pham, Bang-Dang and Tran, Phong and Tran, Anh and Pham, Cuong and Nguyen, Rang and Hoai, Minh } ,
booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) } ,
title = { Blur2Blur: Blur Conversion for Unsupervised Image Deblurring on Unknown Domains } ,
year = { 2024 }
}
每当此存储库用于帮助生成已发布的结果或合并到其他软件中时,请引用我们的论文。
安装依赖项:
git clone https://github.com/VinAIResearch/Blur2Blur
cd Blur2Blur
conda create -n blur2blur python=3.9
conda activate blur2blur
pip install -r requirements.txt
您可以按照以下脚本下载我们建议的 RB2V 数据集:
chmod +x ./dataset/download_RB2V.sh
bash ./dataset/download_RB2V.sh
下载数据集 REDS、GoPro 和 RSBlur,然后解压缩到文件夹./dataset
并按照以下格式组织:
数据集 ├── 未知数据集名称,例如 RB2V-GoPro ├── 列车A ├──── (火车)未知模糊的模糊套 ├──── ... ├── 列车B ├──── (火车)未知模糊的锐利套装 ├──── ... ├── 火车C ├──── (火车)已知模糊的模糊集 ├──── ... ├── 训练D ├──── (火车)已知模糊的锐利套装 ├──── ... ├── 测试A ├──── (测试)未知模糊的模糊套 ├──── ...
在哪里:
test-set
的模糊图像。 训练模型:
python train.py --dataroot path/to/dataset
--name exp_name
--model blur2blur --netG mimounet
--batch_size 1
--dataset_mode unaligned
--norm instance --pool_size 0
--display_id -1
或者
bash ./scripts/train.sh
评估模型:
python test.py --dataroot datasets/GoPro/b2b_exp/RB2V_GOPRO_filter
--name exp_name
--eval
--model blur2blur --netG mimounet
--checkpoints_dir ckpts/
--dataset_mode unaligned
--norm instance
或者
bash ./scripts/test.sh
如需更多交互结果,您可以查看我的项目页面:https://zero1778.github.io/blur2blur/
我们要感谢以下实现对 Blur2Blur 的开发做出的贡献:
如果您对此存储库有任何疑问或建议,请随时与我联系([email protected])。