图像处理:文档图像矫正DocReal

news/2024/7/21 5:50:15 标签: 图像处理, 人工智能

文章目录

  • 前言
  • 一、介绍
  • 二、方法论
    • 1.模型结构
    • 2.损失函数
    • 3.数据合成
    • 4.数据增强
    • 5.实验结果
  • 总结


前言

文档图像矫正在图像处理领域属于相对冷门但是很有用的一个任务,这个任务的相关文章还是比较少的,DocReal是2024 WACV的最新文档矫正文章,结合了之前一些技术的亮点,还是值得一看的。

paper:DocReal
目前code暂未开源

这篇文章建议看两个文章作为背景会更容易理解:
1)paperedge:https://github.com/cvlab-stonybrook/PaperEdge
2)DDCP:图像处理:文档图像矫正DDCP


一、介绍

文档图像矫正是计算机视觉中的一项重要任务,具有许多实际应用。控制点法(如DDCP)由于其简单高效而备受关注。然而,由于背景噪声和多种变形类型,不准确的控制点预测可能导致不令人满意的性能。为了解决这些问题,提出了一种强大的文档矫正方法,即DocReal,它利用Enet有效地去除背景噪声,并使用注意力增强控制点(AECP)模块更好地捕捉局部变形。此外,通过合成具有3D变形和附加变形类型的2D图像来增强训练数据。提出的方法表现出卓越的矫正精度。

主要贡献如下
1)提出了一个稳健的文档图像矫正框架,采用 Enet 来有效地消除背景噪音并使用增强注意力控制点(AECP)模块,以更好进行精细矫正。

2)利用 Doc 3D 中的3D图像数据,在Doc3D数据集中用3D变形合成 2D 图像。 此外,我们通过添加各种噪声和随机选择的背景来增强训练数据。 还通过公式模拟了额外的四种卷曲和折叠变形,以丰富训练数据的变形类型(这部分和DDCP有点像,DDCP的数据生成也是通过公式模拟的—https://github.com/gwxie/Synthesize-Distorted-Image-and-Its-Control-Points)。

二、方法论

基于控制点的DDCP方法仍然面临很大的局限性,特别是在不同的拍摄环境、文本类型和噪声背景下在文本上准确放置控制点时。 此任务处理不当可能会导致严重的文本变形和背景残留。 为了克服这些挑战,我们从 PaperEdge 方法中汲取灵感,开发了一种新的流程,即 DocReal,它首先使用 Enet 检测文档边缘信息,去除背景噪声并提取文档主体。 然后,我们利用注意力增强控制点(AECP)网络来更好地捕获文档的局部变形,与 DDCP 方法相比,预测更准确的控制点。
请添加图片描述

1.模型结构

1)Enet
Enet 是一个全卷积的编码器-解码器架构,在编码器中使用 6 个残差块,解码器有 4 个残差块。 Enet在合成图像(3D数据)和基于真实图像的弱监督训练(和paperedge训练Enet的方式一样)

2)AECP
AECP 包括四个子模块,它们协同工作以提高局部变形的控制点预测精度。 第一个子模块(图中的绿色)使用两个卷积(k=3,s=2)提取输入图像 I ∈ R 992×992×3 的浅层特征。第二个子模块包含了4层卷积(k=3)。值得注意的是,这两个子模块都通过注意力模块(CBAM模块)得到增强,该模块利用通道注意力和空间注意力来优先考虑关键信息,例如浅层特征(包括光、阴影和纹理)和深层特征(如表格) 线、文本线和整体变形)。

第三个子模块(图中的黄色)利用空洞卷积金字塔来拓宽全局感受野。 膨胀金字塔由六层组成,最大膨胀率为18。将具有不同尺度的六层特征连接起来,然后将它们输入到1×1卷积层中以获得全局变形特征。 第四个子模块(图中的橙色)使用两层卷积网络来预测控制点P ∈ R 2×31×31。 31 × 31 网格上的每个控制点都有跨越整个文档的 (x, y) 坐标,从而形成一个强大的控制点框架,增强不同环境条件和文本类型下的可读性。

(个人感觉整个AECP网络结构就是在DDCP的网络上加了一个CBAM模块,其它部分都一样,包括空洞卷积连接部分!)

2.损失函数

损失函数和DDCP一样,详细可查看我之前的博客—图像处理:文档图像矫正DDCP


3.数据合成

有效的文档图像矫正需要具有真实和多样变形的训练数据。然而,DDCP方法的训练数据是由两个函数合成的,导致2D网格与真实世界的变形有显著差异。虽然Doc3D数据集为训练数据提供了丰富而逼真的3D变形,但它不能直接用于训练需要2D数据的控制点网络。

为了克服这个限制,提出了一种新方法,通过以下四个步骤合成具有 3D 变形的 2D 训练数据,如图所示。
1)首先从Doc3D数据集中3D图像的点云中采样31x31的控制点,并将其转换为 3D 网格。
2)其次,在 3D 坐标系中随机设置相机距离和拍摄角度,将 3D 网格中的控制点映射到 2D 控制点。
3)第三,通过将扫描图像的参考点映射到 2D 控制点并插值像素来生成具有 3D 变形的 2D 扭曲图像。
4)后,我们在扫描图像中随机添加各种噪声,例如莫尔图案、指纹、阴影等,以丰富具有随机背景的合成图像。 所提出的数据合成方法可以生成大量具有真实且多样化的 3D 变形的 2D 训练数据,这对于训练文档图像去扭曲的控制点网络至关重要。

请添加图片描述

4.数据增强

虽然 Doc3D 数据集提供了一系列变形,但它缺乏书籍类型的真正卷曲。 为了解决这个问题,论文使用公式模拟书籍的卷曲并添加额外的折叠变形来增强训练数据,从而实现更稳健的模型性能。
请添加图片描述
(a):
请添加图片描述
(b):
请添加图片描述
© & (d):
请添加图片描述

其中仅修改z轴值,0.5为原始z值,di为控制点到最近线的距离,v为控制卷曲程度的超参数

5.实验结果

请添加图片描述
请添加图片描述

总结

个人感觉DocReal结合了paperedge中Enet和DDCP中的控制点思想还是个挺有意思的想法。文章造数据的方法倒是很值得关注,文档矫正很重要的一点是数据精确性,文章造数据的方法很大程度扩充了矫正数据。


http://www.niftyadmin.cn/n/5415068.html

相关文章

智能指针基础知识【C++】【RAII思想 || unique_ptr || shared_ptrweak_ptr || 循环引用问题】

目录 一,为什么需要智能指针 二,内存泄露的基本认识 1. 内存泄露分类 2. 常见的内存检测工具 3,如何避免内存泄露 三,智能指针的使用与原理 1. RAII思想 2. 智能指针 (1. unique_ptr (2. shared_…

Android 性能优化--APK加固(2)加密

文章目录 字符串加密图片加密如何避免应用被重新签名分发APK 加壳的方案简析DEX加密原理及实现 本文首发地址:https://h89.cn/archives/212.html 最新更新地址:https://gitee.com/chenjim/chenjimblog 通过 前文 介绍,我们知晓了如何使用代码…

官网正在被哪些产品蚕食,定制网站又被哪些建站产品挤占。

2023-12-09 16:22贝格前端工场 官网建设是一个被大多数人看衰的市场,本文来理性分析下,谁在蚕食这个市场,谁又在挤占这个产品生存空间,欢迎大家评论,探讨。 网站正在被以下产品形式取代: 1. 移动应用&…

mysql 技术100问?

什么是软件架构?它的定义和目的是什么?软件架构设计的基本原则是什么?请解释一下模块化架构和分层架构的区别。为什么重视可伸缩性在软件架构中的作用?请讨论一下微服务架构和单体应用架构的区别和优劣。如何选择适合项目的软件架…

javaWebssh水利综合信息管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh水利综合信息管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCA…

01、python_爬虫的相关概念

一、什么是爬虫? 爬虫是网络爬虫的简称,指的是一种自动化程序,用于在互联网上抓取信息。爬虫的核心工作包括爬取网页、解析数据和存储数据。 通俗来说就是:通过一个程序,根据url(http://taobao.com)进行爬取网页&…

SQL21题解 | #浙江大学用户题目回答情况#

题意明确: 所有来自浙江大学的用户题目回答明细情况 问题分解: 限定条件:来自浙江大学的用户,学校信息在用户画像表,答题情况在用户练习明细表,因此需要通过device_id关联两个表的数据; 方法1…

SpringBoot第三课-日志

1.日志分类 2.默认使用 默认使用logback与slf4j作为底层默认日志 但是由于日志是系统启动就需要使用,所以与其他的自动配置不同,自动配置是后来使用的,而日志是使用监听器配置好的。 ApplicationListener 3.日志级别 1.级别介绍 SpringB…