草庐IT

【弯曲矫正】智能文字识别技术-弯曲矫正概述

intsig 2023-03-28 原文

一、背景

电子文档由于更容易存档、编辑、签名和共享,越来越多的文档需电子化,随着高质量摄像头在手机等移动设备上的普及,利用移动设备对文档进行数字化采集已经非常普遍。通过图像校正与图像质量提升,移动设备采集的文档图像质量甚至可以与专用的文档扫描仪相当。然而,文档总是由于纸张几何形状和捕获条件不受控制而形变。这阻碍了形变图像的信息提取,降低可读性,对数据增强和下游任务如OCR识别、版面分析与还原等任务增加难度。

二、方法概述

为解决文档弯曲矫正问题,学术界已有多种方案。

一类是利用多目相机,结构光或者激光雷达等设备对文档进行扫描,获得文档表面的3D结构信息,进而对文档校正展平。这类方法一般可以得到比较好的校正效果,但依赖专用设备的特点限制了其使用场景。

还有一类是利用显式的几何模型以适应形变文档曲面,这类方法完全依靠图像信息以及文档形变的先验知识对图像进行校正。这类方法一般需要进行文字行或者表格线的检测,并假设曲面符合特定的几何约束,如曲面是柱面。这类方法可以在普通的移动设备上实现,但是其校正效果受文字行检测准确度的限制,对文档版式比较敏感,无法处理存在大量图表的文档,且误检的文字行有可能会对校正造成严重干扰。

还有一类基于优化的方法,利用损失函数缓慢迭代优化以获得形变矫正结果,但时间较长不适合实时应用。

最近,数据驱动的方法已经流行起来。 这些方法训练一个形变矫正神经网络,学习形变场,从而得到类似扫描的结果。 这样的网络可以实现实时矫正。Das等人使用 CNN 检测文档的折痕并进行分割文件分成多个块进行矫正。 Xing等人 应用CNN估计文档变形和相机姿态以进行校正。 Ramanna等人通过利用 pix2pixhd 网络去除文档的卷曲和几何失真。 然而,这些方法仅适用于简单变形和单调背景。

Ma等人提出了一个堆叠的 U-Net,它经过训练端到端预测翘曲的前向映射。 由于生成的数据集与真实世界的图像有很大不同,[15] 对其进行了训练在真实世界的图像上测试时,数据集的泛化能力较差。Das等人认为当合成训练数据集仅使用 2D 变形进行训练时,弯曲矫正模型并不总是表现良好,因此他们创建了一个 Doc3D 数据集,该数据集具有多种类型的像素级文档图像偏移场,同时使用真实世界文档和渲染软件。

同时,提出了一种去扭曲网络和细化网络来校正文档图像的几何和阴影。李等人 在 3D 空间中生成训练数据集,并使用渲染引擎获得更精细、更逼真的失真文档图像细节。他们提出了基于图像块(patch)的学习方法,并通过在梯度域中的处理将patch结果拼接到校正后的文档中,以及用于去除阴影的光照校正网络。与之前的方法相比,这些文献更关心生成的训练数据集和真实世界测试数据集之间的差异,并专注于生成更真实的训练数据集以提高真实世界图像的泛化能力。尽管这些结果令人惊叹,但深度神经网络的学习和表达能力并未得到充分探索。

三、合合方案

我们将弯曲矫正问题定义如下:

其中u 是形变场S(Source)是弯曲图T(Target)是平整图。一个理想的空间变换(spatial transformation)需要有两个衡量标准,及相似度和正则项,一方面我们期望弯曲样本变换后与目标(平整样本)越相似越好,图像相似性有很多种标准,常见的有相关系数(Correlation Coefficient, CC)、归一化的相关系数(NCC)、互信息(Mutual Information, MI)均方误差(MSE)等。

另一方面,我们也希望这个变换是空间上平滑且连续的,这样能保证变换遵循物理模型,存在连续可逆的变换,使得我们的变换在数据合成等方面有更广泛的应用。

和相似度损失函数类似,正则项在网络里也有多种实现方式,一种是通过对位移场直接进行空间梯度惩罚,一种则是通过对速度场进行约束后再通过积分层得到最终形变场,还有一种则是在训练过程中通过循环损失函数来实现。

形变矫正网络可以是encoder-decoder类似结构,由于惩罚项如果直接施加在位移场上,大位移场景模型的矫正能力就会降低,有方案通过多次迭代矫正过程位移场来实现大形变。

我们则参考配准中的流模型(fluid model),用速度场来建模形变场,并通过积分层来实现最终的形变场。事实上,位移场也可以被视作是轨迹固定的流场(直线)。 对于不同的正则项, 在大部分情况下,直线轨迹并不是最优解。直线轨迹得到的正则项的值很多情况下会更大点。 作为对比,引入速度场在这种情形下实现了更多的自由度。

如果你对这一块感到困惑,可以想象连接世界地图上两个地方的最短路径, 大部分情况下都不是直线 [Ref]。速度场求解可转换为如下问题,其中L是对速度场施加的正则项。

 

空间变换网络一开始提出时只是简单用作仿射变换等,后来采用了采样网格的方式使得它功能更加强大。对于大小为[W, H]的二维图像来说,其位移场大小为[W, H, 2]。位移场表示每个像素在各个方向(x,y轴)的位移。空间变换网络会根据位移场生成一个归一化后的采样网格,然后用该网络对图像进行采样,就得到了矫正后的图像。

 


 

  1. Shaodi You, et al. 2017. Multiview Rectification of Folded Documents. IEEE Transactions on Pattern Analysis and Machine Intelligence.

  2. Taeho Kil, et al. 2017. Robust Document Image Dewarping Method Using Text-Lines and Line Segments. In Proceedings of the International Conference on Document Analysis and Recognition. IEEE, 865;870.

  3. Beom Su Kim, et al. 2015. Document Dewarping via Text-Line Based Optimization. Pattern Recognition 48, 11 (2015), 3600–3614.

  4. Sagnik Das, et al. 2019. DewarpNet:Single-image Document Unwarping with Stacked 3D and 2D Regression Networks. In Proceedings of the International Conference on Computer Vision.

  5. Hao Feng, et al. 2021. DocTr:Document Image Transformer for Geometric Unwarping and Illumination Correction. In Proceedings of the ACM International Conference on Multimedia.

  6. Guo-Wang Xie, Fei Yin, Xu-Yao Zhang, and Cheng-Lin Liu. 2020. Dewarping Document Image by Displacement Flow Estimation with Fully Convolutional Network. In Document Analysis Systems. Springer, 131–144.

  7. Gaofeng Meng, et al. 2015. Extraction of Virtual Baselines from Distorted Document Images Using Curvilinear Projection. In Proceedings of the International Conference on Computer Vision.

  8. Vincent Arsigny, et al. 2005. A log-Euclidean framework for statistics on diffeomorphisms. In International Conference on Medical Image Computing and Computer-Assisted Intervention, pages 924–931. Springer.

  9. John Ashburner. 2007. A fast diffeomorphic image registration algorithm. Neuroimage, 38(1):95–113.

  10. Beg, M.F., et al. 2005. Computing large deformation metric mappings via geodesic flows of diffeomorphisms. Journal of Computer Vision, 139–157.

  11. Brian Avants et al. 2004. Geodesic estimation for large deformation anatomical shape averaging and interpolation. Neuroimage, 23:S139–S150.

  12. Adrian V Dalca, et al. 2019. Unsupervised learning of probabilistic diffeomorphic registration for images and surfaces. Medical image analysis, 57:226–236.

  13. Zhengyang Shen, et al. 2019. Networks for joint affine and non-parametric image registration. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 4224–4233.

  14. fluid(流) 方法图像配准简介 - 知乎

  15. GitHub - uncbiag/registration: Image Registration

有关【弯曲矫正】智能文字识别技术-弯曲矫正概述的更多相关文章

  1. ruby - 如何使用文字标量样式在 YAML 中转储字符串? - 2

    我有一大串格式化数据(例如JSON),我想使用Psychinruby​​同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解

  2. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

  3. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  4. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  5. [Vuforia]二.3D物体识别 - 2

    之前说过10之后的版本没有3dScan了,所以还是9.8的版本或者之前更早的版本。 3d物体扫描需要先下载扫描的APK进行扫面。首先要在手机上装一个扫描程序,扫描现实中的三维物体,然后上传高通官网,在下载成UnityPackage类型让Unity能够使用这个扫描程序可以从高通官网上进行下载,是一个安卓程序。点到Tools往下滑,找到VuforiaObjectScanner下载后解压数据线连接手机,将apk文件拷入手机安装然后刚才解压文件中的Media文件夹打开,两个PDF图打印第一张A4-ObjectScanningTarget.pdf,主要是用来辅助扫描的。好了,接下来就是扫描三维物体。将瓶

  6. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  7. ruby-on-rails - 在 heroku 的 .fonts 文件夹中包含自定义字体,似乎无法识别它们 - 2

    Heroku支持人员告诉我,为了在我的Web应用程序中使用自定义字体(未安装在系统中,您可以在bash控制台中使用fc-list查看已安装的字体)我必须部署一个包含所有字体的.fonts文件夹里面的字体。问题是我不知道该怎么做。我的意思是,我不知道文件名是否必须遵循heroku的任何特殊模式,或者我必须在我的代码中做一些事情来考虑这种字体,或者如果我将它包含在文件夹中它是自动的......事实是,我尝试以不同的方式更改字体的文件名,但根本没有使用该字体。为了提供更多详细信息,我们使用字体的过程是将PDF转换为图像,更具体地说,使用rghostgem。并且最终图像根本不使用自定义字体。在

  8. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  9. ruby-on-rails - 没有这样的文件或目录 - 用 Mini Magick 识别 - 2

    在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc

  10. ruby - 字符串文字前面的 * 在 ruby​​ 中有什么作用? - 2

    这段代码似乎创建了一个范围从a到z的数组,但我不明白*的作用。有人可以解释一下吗?[*"a".."z"] 最佳答案 它叫做splatoperator.SplattinganLvalueAmaximumofonelvaluemaybesplattedinwhichcaseitisassignedanArrayconsistingoftheremainingrvaluesthatlackcorrespondinglvalues.Iftherightmostlvalueissplattedthenitconsumesallrvaluesw

随机推荐