前言
文档图像矫正简单来说就是由于纸张的物理变形、拍摄环境和相机位置,相机捕获的文档图像经常会出现扭曲和背景问题。 上述因素将显着增加信息提取和内容分析的难度。 为了减少文档图像处理中失真的影响而采取的措施。本文要介绍的方法为Document Dewarping with Control Points。
github: https://github.com/gwxie/Document-Dewarping-with-Control-Points.
一、算法架构
文中提出了一种校正失真文档图像并精细去除背景的新方法。如图1(d)所示,我们利用编码器架构从图像中自动提取语义信息,用于预测图1(e)中的控制点和参考点。
控制点和参考点由相同数量的顶点组成,分别描述了校正前和校正后文档在图像中的形状。
然后,利用控制点与参考点之间的插值方法,将稀疏映射转换为反向映射,并将原始失真文档图像重新映射为校正后的图像。此外,我们的方法可以在修正效果不理想的情况下进行多次编辑,提高了其实用性,从而缓解了端到端方法可操作性差的缺点。
二、算法细节
1.定义
以往的研究将几何校正任务视为密集网格预测问题,将二维图像作为输入,输出一个正向映射(每个网格表示出扭曲输出图像中像素点的坐标,像素点对应出扭曲输入图像中的像素点)或反向映射(每个网格表示出扭曲输入图像中像素点的坐标)。我们的方法简化了这一过程,直接预测稀疏映射,然后使用插值将其转换为密集向后映射。
为了便于解释,文章定义以下概念:
顶点:表示文档图像中某个点的坐标。在本文中,我们可以通过改变坐标来移动顶点。
控制点:由一组顶点组成。如图2©所示,在失真图像上分布控制点,用以描述文档的几何变形。
参考点:由与控制点相同数量的顶点组成。如图2(d)所示,参考点描述规则形状。通过对控制点和参考点进行匹配,利用解翘曲网格实现文档的去翘曲。
2.矫正pipeline
首先,将变形文档的图像输入网络,得到两个输出分支;该方法采用编码器结构作为特征提取器,利用学习到的特征分别预测控制点和参考点,实现多任务预测。其次,如图1(e)所示,通过将控制点移动到参考点的位置并将其转换为像素级位置映射来构建矫正网格。为了移动控制点的位置,将稀疏映射转换为密集映射,在控制点和参考点之间采用了插值方法(TPS, Linear, Cubic等)。之后,从原始扭曲文档图像的一个地方提取像素,并映射到矫正图像的另一个位置。
3.网络结构
网络模型以扭曲变形文档图像为输入,预测控制点和参考点均为(31 × 31 × 2),每个位置对应了x,y坐标。由于参考点是由一个规则网格组成的,它们可以由水平方向和垂直方向的点间隔( v’ 和 h‘ )来构造。
3.训练损失函数
文章综合参考点和控制点作为标签,监督训练模型。训练损失函数由两部分组成。一个用于回归控制点点的位置,另一个是两个点在水平和垂直方向上的间隔。
参考点:使用标准的l1损失。
def loss_fn_l1_loss