ICDAR 比赛技术分享

一 背景

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340