0.摘要
- 为了让文本检测和识别更加简单,通常会把一张弯曲的或折叠的文档图像数字化地展平成对应的平整图像
- 本文率先提出了基于学习的方法来实现扭曲的文档图像复原成平整图像的方法
- 本文提出的是一个带有“中间监督”的堆叠的 U-Net 模型,模型可以直接预测一个 mapping,这个 mapping 可以将扭曲的图像转换成对应的平整图像
- 由于很难获取大量符合要求的训练图像,论文进而创造了一个含有 100k 张扭曲图像的合成数据集,这个数据集通过歪曲平整的图像而获得
- 模型在训练的过程中用到了多种数据增强的方法,目的是提升模型的泛化能力
- 论文同样创造一个含有 130 张图像的 benchmark,覆盖了现实中的多个场景
- 论文在提出的 benchmark 上进行了定量与定性的评价,并且与前人提出的算法进行了对比实验
1.引言
-
现实场景中的文档图像的特点:可能会出现弯曲、折叠或者褶皱,可能会处在一个比较复杂的背景中
-
针对扭曲的图像进行数字化地展平是一件非常有必要的工作
-
前人解决这个问题的方法:
- 第1类:
- 使用精心设计的精确校准的硬件设备
- 使用结构光投影仪来测量 3D 失真
- 特点是能够获得高质量的结果,但是硬件设备会对后续应用有所限制
- 第2类:
- 使用“多视图”图像来重构扭曲文档图像的 3D 外形
- 第3类:
- 基于多个手工挑选的低阶特征(光照、阴影或文本行)来分析单张图像
- 第1类:
-
论文提出了新颖的基于学习的方法来复原任意扭曲的和折叠的纸张文档图像,这些图像全部来自于现实场景
-
论文提出的方法是第一个基于 CNN 的端到端的直接预测文档扭曲程度的方法
-
经过实验证明,论文提出的方法十分高效,而且能够很好地泛化到其他类型的文档图像
-
论文把扭曲图像复原的问题形式化成寻找合适的 2D 图像扭曲方式的问题
网络预测一个 mapping field,mapping field 会降源图像中的像素映射至目标图像
KaTeX parse error: \tag works only in display equations
-
按照上述方式进行形式化表述之后,会与图像语义分割(每个像素设置一个 label)具有相似之处,而论文中的任务会为每个像素分配一个 2d 向量
-
backbone 使用性能出色的 U-Net
-
论文中的任务是一个回归任务,因此设计了新的 loss function 来保证回归的有效性
-
为了训练网络,需要获得大量不同程度扭曲的文档图像作为网络的输入,另外作为网络输入的还有对应的能导致更完美的复原的“变形”程度
-
目前没有可用的训练数据,所以选择合成训练数据 100K,扰动图像是网络的输入,用于图像扭曲的网格是网络输出的逆变换
-
目前没有全面的公开可用的 benchmark 来评价文档复原程度的优劣,因此论文创建了一个包含 130 张图像的 benchmark,benchmark 中包含很多种文档类型,扭曲的程度和类型以及拍摄条件
2.相关工作
略
3.数据集
- 论文在 2D 空间中合成数据(简洁快速),合成数据集的优势在于能够保证文档图像的变形是完全可控的
- 数据集的合成过程与网络的 inference 过程是互逆的
- 在创建变形映射时遵循以下两点:
- i) 显示场景中的纸张是局部刚性的,不会扩张和压缩。一点的变形会发生空间传递
- ii) 文档存在两种形变:弯曲和折叠,现实场景中的褶皱是两种形变的混合
- 扰动网格的生成:
- 给定图像 I I I,论文在其上放置一个 m ∗ n m*n m∗n的网格 M M M为扭曲提供控制点。
- 在 M M M上选择一个随机顶点 p p p作为初始变形点。
- 变形的方向和强度标记为 v v v,且 v v v是随机生成的。
- 最后,基于 i), v v v通过权重 w w w传播至其他顶点。扭曲网格上的顶点被计算为 p i + w v , ∀ i p_i + wv, ∀i pi+wv,∀i。
- 其中 w = α d + α w=\frac{\alpha}{d+\alpha} w=d+αα(折叠), w = 1 − d α w=1-d^\alpha w=1−dα, α \alpha α用于控制“变形”的传播范围, d d d是每个点到直线的标准化距离,直线由 p p p和 v v v唯一确定
- 扰动图像的生成:
- 扰动网格提供一个稀疏的变形域,论文以线性方式对其进行插值,以从像素层面构建密集的扭曲图
- 接着把扭曲图应用到原始图像以生成扰动图像???(这一步是怎么生成的)
- 每张图像最多包含 19 种合成变形(30% 是弯曲,70% 是折叠)
- 弯曲需要保证高斯曲率在任意位置都应为 0,折叠则随意
- 数据增强
- 使用来自 DTD 数据集中的多种文理图像作为文档图像的背景
- 在 HSV 色彩空间中添加抖动以控制图像的光照和颜色变化
- 对图片进行透视变换以改变图像的视角
- 数据增强显著的提升了模型的泛化能力
4.DocUNet
- 网络结构
- 论文自行设计网络以强化逐像素的监督
- 选择 U-Net 作为基础模型,它是一个全卷积网络,包含一系列的下采样层和随后的上采样层,特征映射在上下采样层之间连接
- 单一 U-Net 的输出并不令人满意,因此在第一个 U-Net 的输出上堆叠另外一个 U-Net 作为 refiner
- 第二个 U-Net 网络中有一个层负责把去卷积特征转化为最后的输出 ( x , y ) (x, y) (x,y)
- 第一个 U-Net 在最后一个去卷积层之后分叉为两支。把第一个 U-Net 的去卷积特征和中间预测 y 1 y_1 y1连接起来作为第二个 U-Net 的输入
- 第二个 U-Net 最后给出一个优化的预测 y 2 y_2 y2,论文将其用作网络的最后输出
- 论文在训练时把同一损失函数应用于 y 1 y_1 y1和 y 2 y_2 y2。但是在测试时,只把 y 2 y_2 y2用作网络的输出
- DocUNet 网络输出的计算是一个回归的过程,该网络为 (x, y) 坐标输出 2 个通道
- 损失函数
- 损失函数分为两个部分:
- 输出的映射 y y y和其对应的 groundtruth 映射 y ∗ y^* y∗之间的绝对误差(element-wise loss)
- 输出的不同点的映射的相对位置$ y_1 - y_2 和 它 们 对 应 的 g r o u n d t r u t h 映 射 相 对 位 置 和它们对应的 groundtruth 映射相对位置 和它们对应的groundtruth映射相对位置y_1^* - y_2^*$之间的相对误差(shift invarient loss)
- 公式详见原文
- 损失函数分为两个部分:
5.实验
略
6.结论
略
7.致谢
略