ICDAR 比赛技术分享
ICDAR2021的DIB比赛赛题是对历史文档图像进行二值化,将文字从背景中分离出来。评价指标采用PSNR、DRDM、F-Measure (FM)、pseudoFMeasure (Fps)以及Cohen’s Kappa的综合加权值。比赛难点在于历史文档图像的背景非常复杂,存在各种各样的退化因素,导致现有算法难以取得较好的效果,比如页面污渍挡住字迹,字符褪色,导致和背景太过相似,墨迹浸润,导致背面的
一 背景
ICDAR 2021(International Conference on Document Analysis and Recognition)于2021年9月5-10日在瑞士召开。ICDAR会议是文档分析与识别领域国际顶级会议,每两年举办一次,涵盖了文档分析与识别领域的最新学术成果和前沿应用发展趋势,吸引了该领域全球顶尖的研发团队和专家学者的参加。该会议上举办的算法竞赛是文字识别(OCR)领域的顶级赛事。汽车之家经销商技术部在其中的Competition on Time-Quality Document Image Binarization(DIB)图像二值化算法竞赛的两个子任务下荣获第二名。
图1 比赛结果和证书
二 赛题介绍
ICDAR2021的DIB比赛赛题是对历史文档图像进行二值化,将文字从背景中分离出来。评价指标采用PSNR、DRDM、F-Measure (FM)、pseudoFMeasure (Fps)以及Cohen’s Kappa的综合加权值。比赛难点在于历史文档图像的背景非常复杂,存在各种各样的退化因素,导致现有算法难以取得较好的效果,比如页面污渍挡住字迹,字符褪色,导致和背景太过相似,墨迹浸润,导致背面的文字浸润到正面,但真实的标签又需要把他分到背景里,以及折叠印痕,颜色较深,可能和文字弄混等。
图2 历史文档图像数据集的各种退化样例
三 技术方案图像
二值化的传统方法主要分为全局阈值法、局部阈值法以及两者相结合的一些方法。全局阈值法直接采用固定的阈值将文档图像分割为文本前景和背景两部分,如经典的OTSU算法。局部阈值法根据图像中的局部邻域窗口计算动态的局部阈值实现对该像素分类为前景文本或背景。传统方法在文档图像背景不是很复杂时可以取得较好的精度,然而当背景图像存在多种降质情形时(如页面污渍、背面字迹渗透、光照不均等情况),效果较差。
结合深度学习的方法具有更强的鲁棒性,在复杂背景下也能表现较好。基于深度学习的方法将文档图像二值化看作图像分割的任务,通过卷积神经网络对每个像素点进行二分类,最终得到整个文档图像的分割图,分为前景文本和背景区域,从而实现二值化[1]。然而对于此次比赛,每张历史文档图像的分辨率较大(往往在宽度或高度方向有3000像素),考虑到GPU显存的限制,往往在神经网络方法中,输入是从整张图像中裁剪得到的图像块(例如128×128的尺寸),而不是将整张图像输入网络结构中。但是这种裁剪策略丢失了整个文档图像的全局空间信息,特别在有背面字迹渗透情况时,此时背面的字迹和真实的前景文本很难区分,会被误认为是前景文本,导致二值化精度降低。
因此我们设计了一套结合全局信息和局部信息的文档图像二值化方法,在比赛中取得了较好的成绩,示意图如下:
图3 结合全局信息和局部信息的二值化方法
我们提出的架构由三个U-Net的分支模块融合而成:两个输入图像尺寸分别为128 × 128和256 × 256的局部U-net,以及一个输入图像尺寸为512×512的全局U-Net。先将两个局部U-net得到的二值化图像融合,再和全局U-Net得到的二值化图像进行取交运算,得到最终的二值化图像。
局部U-net:采用128×128尺寸的滑窗对原始图像进行裁剪,得到局部分块,并采用U-Net卷积神经网络[2]得到分类概率图后再将分块的图像拼接为完整图像。U-Net是一种基于深度学习的图像分割模型,我们采用经典的U-Net网络结构,由编码器和解码器构成,编码器由4个重复的模块组成,每个模块包括2层3×3的卷积层和1层2×2的池化层,每层卷积层后接批标准化层(Batch Normalization)及线性修正单元的激活函数层(RELU),沿着编码器的下采样路径,特征图的高度和宽度减半,而通道数量加倍。解码器的网络结构与编码器的结构正好相反,特征图的高度和宽度加倍,而通道数量减半。U-Net结构在编码器和解码器之间存在跳层连接(Skip-connection)以改善分割精度。由于图像二值化任务是为了将输入图像的每个像素点的值映射为0或1,因此U-Net网络结构最后一层采用Softmax激活函数,从而可将每个图像分块转化为同样尺寸大小的分类概率图。通常地,会给个激活阈值,将分类概率图直接转为0或1的二值化图,因为概率图的每个像素点大小在[0, 1]的区间里, 例如取激活阈值0.5,则概率图里大于等于0.5的值都被转换为1,而小于0.5的值都被转换为0。为了提高精度,因此在提取局部信息时采用了多级尺度的模型融合方法,即融合128×128和256×256两种局部分块的信息。
全局U-net:由于局部分块尺寸相比原始完整图像小得多,得到的是基于局部信息的分类概率图。而要兼顾全局的空间上下文信息以及模型容量的限制,比较直接的一种方法是将原始图像(例如3000×3000的尺寸)通过降采样的方式缩小成某一固定的较低分辨率的尺寸(例如512×512的尺寸)。但是这种方法有两个缺点:一是不同的文档图像有不同的高宽比,统一缩小为512×512会造成高宽比畸变,引入误差;二是相比图像分块的方式训练模型时减少了可训练样本的数量。基于此,我们采用512×512固定尺寸的滑窗对原始文档图像降采样后的图像进行裁剪,得到图像分块,而此时的图像分块可以包含足够的背景和前景文本,包含了全局的空间上下文信息。
融合:先对两个局部U-net的结果进行融合,128 × 128和256 × 256尺寸得到的分类概率图是通过具有不同感受区域大小的U-Net图像分割模型得到,将二者取平均后得到和原始文档图像尺寸大小一致的分类概率图,给定激活阈值0.5,可将分类概率图转换为二值化图,此时的二值化图是基于局部信息的融合的图像分割模型得到。再将其与全局U-net的结果做取交运算,得到最终二值化图像。
图 4 样例的二值化结果
图4给出了采用本模型在比赛数据集的印刷文档图像上二值化结果的一个例子。可以看出,当只考虑局部信息时,即采用局部分块得到二值化图像时,容易将历史文档图像中背景区域的文字错误地预测为前景文本。而结合了全局和局部信息后,可以更好地区分背景区域和前景文字区域,容易取得更好的效果。
四 总结
此次比赛中,汽车之家经销商技术部提出了一种结合整体和局部特征的图像二值化方法,构建了多级尺度的卷积神经网络提取图像特征,通过局部通道以精确刻画文本轮廓,再结合整体通道以更好地分离复杂背景和文本前景,最终大大提高了文本图像的二值化效果。图像二值化是图像处理至关重要的预处理步骤,二值化的效果对后续的OCR(字符识别)精度有很大影响。此次的研究成果有效提升了二值化的效果,为后续的图像OCR、图像自动审核等业务场景提供了宝贵的经验。经销商技术部在图像OCR和图像自动审核方面有丰富的落地经验,全年识别各类票证超过千万张,节约公司采购外部OCR识别服务费用的同时,更好的保障了公司客户和用户的个人信息数据安全。此外,经销商技术部运用自然语言处理技术研发的电话机器人、IM对话机器人、智能质检等技术成果广泛应用在智慧系产品、营销活动及车商汇相关产品中,节约大量线索清洗、活动邀约、线索转化等的人工成本,同时应用于商业产品售卖,为增加公司营收发挥作用。
参考文献:
[1] Jorge Calvo-Zaragoza and Antonio-Javier Gallego. A selectional autoencoder approach for document image binarization. Pattern Recognition, 86:37{47, 2019.
[2] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention, pages 234{241. Springer, 2015.
更多推荐
所有评论(0)