文本图像畸变矫正

 

  • 背景

二十世纪六十年代兴起的OCR(Optical Character Recognition,光学字符识别)技术,使得文档能以图像的形式被分析与识别,一定程度上实现了文本识别的自动化。然而,文档图像识别效果的优劣与其质量有着密切的联系,其中几何质量更为重中之重。随着移动摄像终端数量剧增,随手拍照已成为一种对文档进行数字化记录的普遍方式,由于手持移动设备摄像的特殊性,文本成像常存在多种类型的形变叠加,这不可避免对文本图像识别造成极大干扰。因此,文本图像的畸变矫正一直是伴随着OCR的一个重点研究方向,在此对一些传统方法进行简述,而重点解读最新的深度学习方法。

  • 传统技术

近年来已有不少学者针对文本图像畸变矫正进行了大量研究,并提出基于传统(相对于卷积神经网络技术而言)技术的多种可行性算法,并在实践中得到应用。这些算法从根本而言可归纳为两类:基于三维重建的畸变校正与基于底层特征的畸变校正。在此针对近两年来提出的一些算法进行阐述。

  • 基于三维重建的畸变校正

传统的三维建模方法必须遵循以下两个准则:(1)为达到良好矫正的目的,畸变纸张的三维曲面必须是可以估算的;(2)估算曲面必须可以在不引入畸变的情况下展平。然而传统三维建模需要特定的硬件设施,局限性较强。You[1]等仅使用手持设备拍摄的多张无标定图像,提取文本折痕峰脊附近骑线点构建3D稀疏矩阵,结合泊松曲面重建方法,并于传统常用的最小二乘保形映射(LSCM)中引入峰脊约束条件,提升映射的准确性。在可提供的重构三维表面模型采样点较少或噪声较多时,其矫正效果较好。

文本图像畸变矫正                       文本图像畸变矫正

(a)原图                                    (b)鲁棒泊松表面重构

文本图像畸变矫正文本图像畸变矫正

(c)峰脊候选点                     (d)峰脊感知曲面重构

图1 峰脊感知3D表面重构

然而在实际业务场景中,多为移动摄像终端的图像采集,一般情况下无法实现结构光照射和多目视觉的条件,针对同一样本在不同角度拍摄数十张图像效率低下,因此基于三维重建的畸变矫正无法较好满足实时性和现实性需求。

  • 基于底层特征的畸变校正
  1. 基于光照和阴影的畸变校正(SFS,shape from shading)

Wada[2]首次提出一种从阴影恢复页面曲面的模型。该模型考虑了五种成像特性:光源距离、互相反射、运动光源、反射光、非均匀反射率分布。该模型涉及众多参数,而且针对中间计算所作的多种假设影响了它的推广性。例如,假定页面的反射属性为己知信息,该假定存在一定不合理性,因为图书的纸张质量参差不齐,大多数情况下我们并不知道该参数;同时,该算法没有考虑文本光透所引起的噪声。

Zhang[3]针对上述算法提出了改进,如图2所示该算法的核心思路是:运用canny算子和形态学操作将字符前景和平滑的明暗底纹背景分割开来,然后利用图像底纹明暗变化来恢复其表面各点的相对高度以及表面法方向等参数,从而恢复出物体的三维形貌,精确地描述文本几何变形。将重构模型运用于原文本图像,将其展平于一个平面,即可得到矫正图像。

文本图像畸变矫正

图2 基于SFS算法的文本图像畸变矫正架构

该算法对常规非均匀光照条件下的文本图像的校正效果较好,适用范围较广,具有较强的鲁棒性。然而,当光源复杂,底纹特殊时会造成SFS重构算法失效。另外,基于全局灰度图像的处理开销较大,算法复杂,实时性不高,因此基于光照与阴影的图像畸变校正方法在近年来并未得到广泛的实际使用。

  1. 基于文字信息的畸变校正

目前较为通用的为textline tracing(文本追踪)方法。Tian[4]等提出的基于文本线追踪的畸变方法无需进行二值化和降噪操作,亦不需要知道字体大小、类型等先验信息。首先根据文本的平均梯度幅值(MGM)特性,根据多尺度图像金字塔MGM曲线来确定滑动patch大小,图示曲线第一个峰值即为patch size。

文本图像畸变矫正

图3 图像金字塔MGM曲线

然后根据相邻patch的归一化相关系数来判定相似性,提取文本行痕迹。

文本图像畸变矫正

图4 基于自相似性的行线追踪

接下来基于全局灰度图的梯度幅值与方向信息,统计字符竖直方向笔画信息,提取出仅包含竖直方向笔画的图像,并据此实现文本方向的估计。

文本图像畸变矫正

图5 文本行线追踪与网格模型构建

    最后,采用局部块的透视变换方法对图像进行几何校正,同时基于朗伯反射模型去除阴影的影响。但该算法仍具有一定局限性:在纯文本图像上效果良好,当处理对象为图文表混杂或无文本样本时,效果很差。

  • 最新技术

由上述对于传统方法的简述可以直观感受到,传统方法的算法复杂度较高,且均包含一些预先假设,而基于移动终端拍摄的文本图像场景千差万别,假设的合理性无法预知。同时存在大量的参数需要处理,这亦是算法存在不稳定性的重要原因。近年来再次兴起的深度学习技术在多个领域表现出其优异性能,在此针对CVPR2018中有关文本图像畸变纠正的网络DocUnet[5]进行详细解读。

文章提出一种基于卷积神经网络的学习方法,来复原任意弯曲和折叠的文档拍摄图像。该方法首次实现了端到端的图像畸变矫正,可复原任意弯曲和折叠的文档图像。其核心构思非常简单,即寻找合适的二维映射,将畸变图像通过映射“展平”。

(一)数据集的合成

然而文章面临的首要问题是缺乏大量的数据集。目前并没有适合进行文本畸变矫正网络训练的开源数据集,亦没有对畸变矫正进行评估的公共基准。作者率先提出一种二维畸变图像合成算法。

在给定图像I上设置mxn的网格M,作为局部畸变的约束点。位于M上随机选择一个点作为种子点,可控初始变形的随机方向和强度记为v,通过权重w传播至其他点q,q=p+wv

文本图像畸变矫正

图6 二维畸变图像的合成

  • 网络架构

为强化逐像素的监督,文章使用了堆叠U-Net来构建DocUNet。下图为U-net的结构。

文本图像畸变矫正

图7 U-Net结构图

U-Net可看做将普通的逐层收缩的网络的池化部分用反卷积代替,显然反卷积层增加了输出的分辨率,而为了使用局部信息,网络左部分的卷积结果被链接到反卷积结果上,因此经过逐层的上采样后会得到更加精确地结果。网络的各层参数如上图所示。

文本图像畸变矫正

图8 DocUNet结构图

将上述单一U-net输出链接另一个U-net,即为DocUnet的整体架构。第一个U-Net 在最后一个反卷积层之后分为两部分。把第一个 U-Net 的反卷积特征和中间预测 y1 连接起来作为第二个 U-Net 的输入。第二个 U-Net 最后一层用于将反卷积结果转化为图像Ix,y),即为优化的预测 y2。训练时把同一损失函数应用于 y1 和 y2。但是在预测时,只把 y2 用作网络的输出。

  • 损失函数

作者针对网络设计了包含两部分的损失函数:

  1. 输出的映射yi和其对应的groundtruth映射yi*之间的绝对误差

文本图像畸变矫正

  1. 不同点间相对位置与对应groundtruth上相对位置的误差

文本图像畸变矫正

上述两个公式可抽象认为是对于像素差异和位置差异的衡量。令di=yi- yi*则最终损失函数表达为

文本图像畸变矫正

  • 效果对比

在效果对比方面,常用的比较模式有两种:(1)纠正后图像的OCR识别精度;(2)图像相似度的衡量。文章作者选取了第(2)种模式(此处保留异议。文本矫正的最终目的是识别,作者表示因为OCR识别精度严重依赖模型,所以不选择(1)。个人认为完全可以用同一批样本和同一个OCR模型衡量不同矫正算法来比较)。

与二(二)中第2小结所介绍的基于tracing textlines方法的对比:

文本图像畸变矫正

表1 作者算法与tracing textlines算法比较

文本图像畸变矫正

表2 不同尺度下作者算法与tracing textlines对比

表1中,MS-SSIM值越高表示与ground truth越相似,LD值越低表示具有越小的位移量,所以从上述两个指标以及算法耗时来看,DocUnet优于tracing textlines算法。表2中折线图显示,在多种尺度下DocUnet效果亦优于tracing textlines。

另外作者将DocUnet与基于multiview的方法和基于CNN的方法也进行了实验对比,不过是以直观视觉效果的形式进行展示,如图5、图6所示。通过人眼观察DocUnet畸变矫正效果确实优于其余两种算法。并且从应用场景而言,基于CNN的矫正算法适用于有两条折痕的文本,multiview需要有多张不同视角的图像,而DocUnet仅需要一张图像,所以其现实应用意义也更强。个人认为还是需要以OCR统计结果的形式展示更具说服力。

文本图像畸变矫正

(a)原图                (b)multiview            (c)DocUnet

图9 与multiview算法效果比较

文本图像畸变矫正

(a)原图                  (b)CNN               (c)DocUnet

图10 与CNN算法效果比较

  • 本人以往工作中关于图像畸变纠正的一些方法

在以往的工作中本人也曾涉及图像畸变纠正的工作,主要是根据实际业务样本,设计一些针对性的纠正算法,在此也进行分析简述。

  • 纠正前处理

移动终端采集的图像往往带有不相关背景,会对图像的处理带来干扰,因此需要一个预先的去背景工作。本人所采用的方法是基于HOG+SVM的滑窗票据版面ROI检测。训练正样本为正向摆放的手工裁切好的票据,负样本类型多样,与正样本比例不大于2:1,防止训练失衡。检测过程中执行多尺度旋转检测机制,从而实现方向矫正并最大程度保证ROI区域完整,同时也实现了样本二分类机制。

  • 基于投影的旋转纠偏(表单类样本)

设定角度测试范围,文本图像在该范围内进行旋转投影测试,在得到的一系列投影直方图中提取最佳的投影结果,从而估算文本图像的倾斜角。基于投影的方法利用投影的某些特征进行判断,如均方差以及梯度等统计特性。优点:当无法提取有效参考物来计算角度时,投影法能计算出最佳偏转角。但是,由于需要对整个图像统计特征值,且旋转插值计算开销较大(在实际操作中我是在缩小尺寸的拷贝图上进行投影测试以提升速度),因此计算量和复杂度都较高。而且当倾斜角较大时,难以保证校正精度。

  • 基于局部连通域的畸变校正(社保卡)

实际项目中我们通常只需要某处ROI信息而不关心全局。因此往往可以通过全局参考标记物,或者基于规则的连通域筛选初步定位ROI,对局部ROI内文本行进行水平方向的形态学闭运算后分别计算最小面积矩形,根据最小面积矩形偏转角均值确定局部纠偏角度,局部纠正后再进行字符切分、识别等工作。优点:局部处理效率较高,纠正较为准确。缺点:需有先验信息和全局参考标记物。

(四)透视变换(表单类样本)

该方法的要点是能确定变换前后一一对应的四个点。对于线性形变的表格类样本效果较好。提取全局连通域包围矩形,该矩形的四个顶点即为变换后的目标点,然后以该四个点为种子点扇形搜索对应的表格四个顶点,继而计算透视变换矩阵。优点:针对线性形变表格样本效果较好。缺点:普通样本难以寻找对应透视变换点且非线性形变不适用。

  • 总结与展望

综上所述,文本图像畸变矫正的传统方法类型多样,但基本可总结为3D模型重建、光照阴影矫正、文本行线追踪等三大类。传统算法有一定的适用场合,但不具备较好的普适性,例如:3D模型重建需要特殊的硬件设施,或者针对同一目标从多个角度摄取图像;光照阴影矫正需要建立多种模型并假设,无法较好满足当前手持终端摄取文本图像场景多样化的趋势;文本行线追踪技术对于版面复杂多样、图文表混杂的文档效果较差。而本人以往工作中所涉及到的畸变矫正方法局限性较强,仅针对特定样本的近似线性形变效果良好。因此,近来涌现的基于卷积神经网络的端对端畸变校正方法极具现实意义,其普适性强、算法耗时较短,能满足常用的实际业务场景,亦是我与同事们重点努力的方向。

 

 

 

参考文献

[1] You S, Matsushita Y, Sinha S, et al. Multiview Rectification of Folded Documents[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2018, 40(2):505-511.

[2] Wada, Toshikazu, Ukida, et al. Shape from Shading with Interreflections Under a Proximal Light Source: Distortion-Free Copying of an UnfoldedBook[J]. International Journal of Computer Vision, 1997, 24(2):125-135.

[3] Zhang L, Yip A M, Brown M S, et al. A unified framework for document restoration using inpainting and shape-from-shading[J]. Pattern Recognition, 2009, 42(11):2961-2978.

[4] Tian Y, Narasimhan S G. Rectification and 3D reconstruction of curved document images[C]. Computer Vision and Pattern Recognition. IEEE, 2011:377-384.

[5] Ma K,Shu Z H.DocUNet: Document Image Unwarping via A Stacked U-Net[C].2018

[6] Ronneberger O, Fischer P, Brox T. U-Net: Convolutional Networks for Biomedical Image Segmentation[C].International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2015:234-241.

[7] Das S, Mishra G, Sudharshana A, et al. The Common Fold: Utilizing the Four-Fold to Dewarp Printed Documents from a Single Image[C].ACM Symposium. ACM, 2017:125-128.