DocDiff

DocDiff

基于残差扩散模型的轻量级文档图像增强工具

DocDiff是一个基于残差扩散模型的轻量级文档增强工具,用于文档去模糊、去噪、二值化和去水印等任务。该模型在128*128分辨率上训练仅需12GB显存。除文档处理外,DocDiff还适用于自然场景图像处理和语义分割。项目提供完整代码和预训练模型,便于快速实现和应用。

DocDiff文档增强扩散模型图像处理深度学习Github开源项目
<div align="center"> <img width="100%" src="https://yellow-cdn.veclightyear.com/0a4dffa0/316ab091-c616-4305-87be-946e0ac0bca3.png"> </div> <div align="center">

[简体中文](https://github.com/Royalvice/DocDiff/blob/main/README.md | [English](https://github.com/Royalvice/DocDiff/blob/main/README.EN.md | 论文

访问者

DocDiff

这里是论文DocDiff: Document Enhancement via Residual Diffusion Models的官方复现仓库。DocDiff是一个文档增强模型(详见论文),可以用于文档去模糊、文档去噪、文档二值化、文档去水印和印章等任务。DocDiff是一个轻量级的基于残差预测的扩散模型,在128*128分辨率上以Batchsize=64训练只需要12GB显存。 不仅文档增强,DocDiff还可以应用在其他图像到图像任务上,比如自然场景去模糊<sup>1</sup>,去噪,去雨,超分辨率<sup>2</sup>,图像修复等低级任务以及语义分割<sup>4</sup>等高级任务。

</div>

新闻

  • 置顶: 介绍一款我们实验室开发的多功能且多平台的OCR软件其中包含了DocDiff的自动去除水印和印章的功能(自动去除水印功能即将上线)。同样包含常用的各种OCR功能,例如PDF转word,PDF转excel,公式识别,表格识别。欢迎试用!
  • 2023.09.14: 上传了水印合成代码utils/marker.py和印章数据集。印章数据集Google Drive
  • 2023.08.02: H-DIBCO 2018 <sup>6</sup> 和 DIBCO 2019 <sup>7</sup> 的文档二值化结果已经上传。Google Drive
  • 2023.08.01: 祝贺!DocDiff被ACM Multimedia 2023接收!
  • 2023.06.13: 为了方便复现,已上传推理笔记本demo/inference.ipynb和预训练模型checksave/
  • 2023.05.08: 代码的初始版本已经上传。请查看待办事项列表来获取未来的更新。

使用指南

无论是训练还是推理,你只需要修改conf.yml中的配置参数,然后运行main.py即可。MODE=1为训练,MODE=0为推理。conf.yml中的参数都有详细注释,你可以根据注释修改参数。文档去模糊预训练权重在checksave/请注意conf.yml中的默认参数在文档场景表现最好。如果你想应用DocDiff在自然场景,请先看一下注意事项!!!。如果仍有问题,欢迎提issue。

  • 由于要下采样3次,所以输入图像的分辨率必须是8的倍数。如果你的图像不是8的倍数,可以使用填充或者裁剪的方式将图像调整为8的倍数。请不要直接调整大小,因为这样会导致图像失真。尤其在去模糊任务中,图像失真会导致模糊程度增加,效果会变得很差。例如,DocDiff使用的文档去模糊数据集<sup>5</sup>分辨率为300*300,需要先填充到304*304,再送入推理。

环境配置

  • python >= 3.7
  • pytorch >= 1.7.0
  • torchvision >= 0.8.0

水印合成与印章数据集

我们提供了水印合成代码utils/marker.py和印章数据集。印章数据集Google Drive。由于使用的文档背景图像是我们内部的数据,所以我们没有提供背景图片。如果你想使用水印合成代码,你需要自己找一些文档背景图像。水印合成代码是基于OpenCV实现的,所以你需要安装OpenCV。

印章数据集

印章数据集隶属于DocDiff项目,其中包含1597个中文场景下的红色系印章以及它们对应的二值化的掩膜,这些印章数据可以用于印章合成、印章消除等等任务中。由于人力有限,而从文档图片中抠出来印章是极其困难的事情,所以某些印章图片中包含一些噪声。数据集中的原始印章图片大部分来自于ICDAR 2023 Competition on Reading the Seal Title(https://rrc.cvc.uab.es/?ch=20)数据集,少部分来自于我们自己内部的图片。如果您觉得这份数据集对您有帮助,请给我们的项目一个免费的star,谢谢!!!

<div align="center">

注意事项!!!

</div>
  • DocDiff的默认配置参数,训练和推理策略是为文档图像设计的,如果要用于自然场景,想获得更好的效果,需要调整参数,比如扩大模型,添加Self-Attention等(因为文档图像的模式相对固定,但是自然场景的模式比较多样需要更多的参数)并修改训练和推理策略
  • 训练策略:如论文所述,在文档场景中,因为不追求生成多样性,并且希望尽可能缩减推理时间。所以我们将扩散步长T设为100,并预测 $x_0$ 而不是预测 $\epsilon$。在使用基于通道叠加的引入条件(Coarse Predictor的输出)的方案的前提下,这种策略可以使得在逆向扩散的前几步就可以恢复出较好的 $x_0$ 。在自然场景中,为了更好地重建纹理并追求生成多样性,扩散步长T尽可能大,并要预测 $\epsilon$ 。你只需要修改conf.yml中的PRE_ORI="False",即可使用预测 $\epsilon$ 的方案; 修改conf.yml中的TIMESTEPS=1000,即可使用更大的扩散步长。
  • 推理策略:在文档场景中生成的图像不想带有随机性(短步随机采样会导致文本边缘扭曲),DocDiff执行DDIM<sup>3</sup>中的确定采样。在自然场景中,随机采样是生成多样性的关键,修改conf.yml中的PRE_ORI="False",即可使用随机采样。也就是说,预测 $\epsilon$ 的方案与随机采样是绑定的,而预测 $x_0$ 的方案与确定采样是绑定的。如果你想预测 $x_0$ 并随机采样或者 预测 $\epsilon$ 并确定采样,你需要自己修改代码。DocDiff中确定采样是DDIM中的确定采样,随机采样是DDPM中的随机采样,你可以自己修改代码实现其他采样策略。
  • 总结:应用于不需要生成多样性的任务,比如语义分割,文档增强,使用预测 $x_0$ 的方案,扩散步长T设为100就ok,效果已经很好了;应用于需要生成多样性的任务,比如自然场景去模糊,超分,图像修复等,使用预测 $\epsilon$ 的方案,扩散步长T设为1000。

To-do lists

  • 添加训练代码
  • 添加推理代码
  • 上传预训练模型
  • 上传水印合成代码和印章数据集
  • 使用DPM_solver减少推理步长(实际用起来,效果一般)
  • 上传Inference notebook,方便复现
  • 合成包含更多噪声的文档数据集(比如椒盐噪声,压缩产生的噪声)
  • 多GPU训练
  • DDIM的跳步采样
  • 使用深度可分离卷积压缩模型
  • 在自然场景上训练模型并提供结果和预训练模型

星标数量变化

随时间变化的星标数

致谢

  • 如果你觉得DocDiff对你有帮助,请给个star,谢谢!🤞😘
  • 如果你有任何问题,欢迎提issue,我会尽快回复。
  • 如果你想交流,欢迎给我发邮件viceyzy@foxmail.com,备注:DocDiff
  • 如果你愿意将DocDiff作为你的项目的baseline,欢迎引用我们的论文。
@inproceedings{yang2023docdiff,
  title={DocDiff: Document Enhancement via Residual Diffusion Models},
  author={Yang, Zongyuan and Liu, Baolin and Xxiong, Yongping and Yi, Lan and Wu, Guibin and Tang, Xiaojun and Liu, Ziqi and Zhou, Junjie and Zhang, Xing},
  booktitle={Proceedings of the 31st ACM International Conference on Multimedia},
  pages={2795--2806},
  year={2023}
}

参考文献

<div id="refer-anchor-1"></div>
  • [1] Whang J, Delbracio M, Talebi H, 等. 通过随机细化进行去模糊[C]//计算机视觉与模式识别IEEE/CVF会议论文集. 2022: 16293-16303.
<div id="refer-anchor-2"></div>
  • [2] Shang S, Shan Z, Liu G, 等. ResDiff: 结合CNN和扩散模型进行图像超分辨率[J]. arXiv预印本 arXiv:2303.08714, 2023.
<div id="refer-anchor-3"></div>
  • [3] Song J, Meng C, Ermon S. 去噪扩散隐式模型[J]. arXiv预印本 arXiv:2010.02502, 2020.
<div id="refer-anchor-4"></div>
  • [4] Wu J, Fang H, Zhang Y, 等. MedSegDiff: 基于扩散概率模型的医学图像分割[J]. arXiv预印本 arXiv:2211.00611, 2022.
<div id="refer-anchor-5"></div>
  • [5] Michal Hradiš, Jan Kotera, Pavel Zemčík 和 Filip Šroubek. 用于直接文本去模糊的卷积神经网络. 在Xianghua Xie, Mark W. Jones, 和 Gary K. L. Tam编辑的英国机器视觉会议(BMVC)论文集中,第6.1-6.13页. BMVA Press, 2015年9月.
<div id="refer-anchor-6"></div>
  • [6] I. Pratikakis, K. Zagori, P. Kaddas 和 B. Gatos, "ICFHR 2018手写文档图像二值化竞赛(H-DIBCO 2018)," 2018年第16届国际手写识别前沿会议(ICFHR),美国纽约尼亚加拉瀑布市,2018,第489-493页,doi: 10.1109/ICFHR-2018.2018.00091.
<div id="refer-anchor-7"></div>
  • [7] I. Pratikakis, K. Zagoris, X. Karagiannis, L. Tsochatzidis, T. Mondal 和 I. Marthot-Santaniello, "ICDAR 2019文档图像二值化竞赛(DIBCO 2019)," 2019年国际文档分析与识别会议(ICDAR),澳大利亚新南威尔士州悉尼,2019,第1547-1556页,doi: 10.1109/ICDAR.2019.00249.

编辑推荐精选

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多