在全球文字识别(OCR)领域顶级盛会ICDAR 2023上,腾讯OCR团队基于自研算法,斩获四项冠军,这是继2017年、2019年、2021年以来,连续四届参会同时创造佳绩,共获得18项官方认证冠军,展示了腾讯OCR技术在全球的一流水平。ICDAR大会是全球文档图像分析识别领域公认的最具权威性的学术会议,每两年举办一次,赛事举办至今已经吸引了超过100多个国家的近8000支队伍参与其中。ICDAR竞赛因其极高的技术难度和强大的实用性享誉国内外,与赛后非正式刷榜不同,ICDAR官方认证的正式竞赛采用全新的数据集,并且在比赛期间不公布参赛团队的信息和成绩,同时限制了结果提交时间和次数,属于高难度的“盲打”。
今年,腾讯OCR参赛团队是由腾讯数据平台部、微信技术架构部联合战队组成,重点参加了DSText(稠密小文本视频文本识别)和SVRD(结构化信息抽取)两大项目的比赛,取得4个任务的冠军。
ICDAR DSText(稠密小文本视频文本识别)竞赛由浙江大学、中科院、快手科技、新加坡国立大学、印度统计研究所、西班牙巴塞罗那自治大学计算机视觉中心、华中科技大学联合主办,主办方提供了50个密集小文本场景下的训练视频,文本密集程度远超其他开源视频文本数据集,极具挑战。
DSText竞赛设置了2个任务:视频文本跟踪和视频文本端到端识别。由于文字非常密集且字号非常小,再加上环境干扰(相机抖动、运动模糊、光照变化等)与后期编辑(多镜头切屏,人工背景,游戏界面切换等),从视频帧中准确检测、跟踪、识别文本对算法鲁棒性要求很高,挑战性极大。ICDAR SVRD(结构化信息抽取)竞赛由华中科技大学、百度、哈尔滨工业大学、Sea AI Lab、中科院自动化所等联合主办,包含至今最丰富的应用场景和语义属性。本竞赛包含HUST-CELL和BAIDU-FEST两大赛道共4个任务: 复杂文档实体关系提取(E2E Complex Entity Linking)、复杂文档实体语义提取(E2E Complex Entity Labeling)、零样本结构化信息抽取(E2E Zero-shot Structured Text Extraction)和小样本结构化信息提取(Few-shot Structured Text Extraction)。由于文档图像版式复杂、结构多样,自然场景图像采集不规范、存在背景复杂、折损、弯曲、形变等问题,竞赛存在较大的挑战难度。
(图2)ICDAR-SVRD结构化信息抽取大赛样例
ICDAR - DSText竞赛
在DSText竞赛的全部2个任务中,腾讯OCR团队均以大幅度领先的优势获得冠军。详细排名如下:任务1旨在跟踪视频中所有文本流,将视频帧间属于同一个文本实例的检测框聚合起来,评价指标是MOTA,腾讯以领先第二名12.04%的绝对优势取得该任务的冠军。
任务2旨在评估视频文本识别的端到端性能,任务要求在每一帧上正确检测文本,在视频帧上正确跟踪,并在序列级别正确识别,评价指标是OCR-MOTA,我们以领先第二名11.93%的绝对优势取得该任务的冠军。(图4)视频文本端到端识别:冠军证书
在SVRD竞赛中腾讯获得2项冠军。详细排名如下:
- 任务2 E2E Complex Entity Labeling
任务2旨在提取复杂文档图像上的语义实体,如标题、机构名、日期、金额、数字、商品名、人名等,我们在这个任务上以较大优势取得了冠军。
(图5)E2E Complex Entity Labeling:冠军证书- 任务4 E2E Few-shot Structured Text Extraction
任务4赛题需要在提供非常少量训练数据的前提下,提取10个不同场景下的图像的关键信息,如银行卡、营业执照、出租车发票、购物小票、交通发票、定额发票、论文等场景下的关键信息。腾讯同样取得了冠军。
(图6)E2E Few-shot Structured Text Extraction:冠军证书
DSText赛道算法介绍
针对复杂自然场景下的视频文本检测任务,团队基于大模型backbone设计了一种自顶向下实例分割的多方向文本的检测算法。在特征提取网络部分,训练多个大模型主干网络,包括InternImage和ViT-Adapter等,并使用了Syn-BN和可变形卷积网络DCN等技术来增强特征提取。同时将Cascade Mask R-CNN中经典的RPN网络替换成为GA-RPN的方法提升模型性能。
为更好解决多尺度的问题,在模型neck部分尝试了PAFPN、BiFPN和FPG等一系列特征金字塔网络。在R-CNN部分,我们针对任务重新设计了IoU阈值和每个stage的权重,采用了5个级联的网络来精准预测文字位置。此外,借鉴Double-Head R-CNN的思想,把R-CNN网络的回归和分类两个网络分支解耦开。
为进一步增强模型的性能,团队引入更多的监督信息让网络去学习,首先增加了一个基于CTC的文字识别网络分支进行端到端的训练让模型更好地学习文字特征,其次,引入一个全局的语义分割网络分支来强化特征的表示。最后,模型基于网络输出的mask分割结果采用多边形非极大抑制(Soft Polygon NMS)来输出文本区域框。在网络前向预测阶段,团队发现模型受视频的模糊程度影响很大,设计了一种多尺度+翻转+模糊增加的TTA策略,有效提升了测试的准召指标。同时,在将检测结果传给后续文字跟踪和端到端识别任务的同时,腾讯也使用这两个任务的输出结果设计了检测框筛选算法来提升最后的精度。
在文字跟踪方面,腾讯OCR团队提出了一种基于ByteTrack的多度量文本跟踪方法。该方法利用4个不同的度量来计算每条轨迹与每个新检测框之间的匹配度,包括检测框匹配度、检测框表观相似度、文本相似度和邻域检测框匹配度。这些度量被归一化加权求和,用作当前检测框和已有轨迹之间的匹配损失函数。根据检测与识别置信度阈值的不同,将检测框分为高置信框和低置信框,并使用Kuhn-Munkres算法分批计算最优匹配。
由于本次比赛所使用的视频数据集包含了非自然拍摄的视频,例如游戏视频和人工后处理 背景(如体育视频中的记分牌),因此团队设计了一套后处理和集成策略。该策略用于判断轨迹是否属于自然物体。如果轨迹被判定为非自然物体且轨迹中的文字稳定有序地变化,会自动将轨迹按照不同的文字进行分段处理。最后,我们会自动移除置信度较低的轨迹,以提高精度。
在文字识别方面,腾讯OCR团队采用了基于CTC和2D Attention的混合模型。编码网络采用Multiway-Transformer,通过跨模态掩码预训练学习图文语义特征,同时对齐图文模态空间。针对Attention解码,引入GLRM(全局语义重构模块)缓解注意力漂移问题,并采用PARSeq结构增强上下文语义学习。针对CTC解码,团队使用语义推断模型端到端精调,对低置信度结果进行矫正。在端到端阶段,我们采用多类识别算法对输入跟踪轨迹的所有文本进行预测,然后使用基于文本置信度和长度的方法集成并计算结果得分,取分数最高的结果作为轨迹的文本结果。最后,移除低分轨迹以提高最终精度。
SVRD赛道算法介绍
近年来,随着预训练模型的不断发展、深度学习的泛化和迁移能力得到了显著提升,不仅体现在同一任务不同领域的数据上,还体现在对不同任务的统一解决能力上。腾讯OCR团队基于LayoutLMV3[4]和Structext[5]等预训练模型,将文本、文本位置和文档图像等特征信息共同编码到多模态模型中,在大规模数据集上进行预训练,从而在下游任务中,仅需要少量的标注数据finetune便可以获得很好的效果。
(图10)多模态预训练模型结构
针对这次竞赛的任务进行分析,可以看到竞赛任务不仅要求判断实体类别还需要判断实体之间的关系,因此腾讯OCR在预训练模型的基础了实现了2个下游子任务:实体类别预测(SER)任务和实体关系预测(RE)任务:- 实体类别预测(SER)任务:预测文档图像中哪些文本属于预先设定的类别,如标题、机构、地址等。- 实体关系预测(RE)任务:预测实体文本对之间是否存在key-value的关系训练数据中英文都有,因此采用了多语言的预训练模型[6]进行特征提取。主办方提供的OCR结果存在识别误差,我们利用OCR开源数据重新训练一个OCR识别模型对结果进行辅助校正。此外标注数据中存在一些关键字段被拆分多个框或者粘连的情况,我们利用正则表达式和一些简单规则对OCR的结果进行合并和拆分。在数据处理上,团队引入符合人类阅读顺序的排序逻辑对OCR结果进行排序,同时加入了位置增强和文本增强等数据增强方法。在模型训练上,这次腾讯OCR采用了SER + RE任务共享主干网络共同训练的模式,两个任务相互辅助,效果比独立训练更好。同时调整了训练方式,使模型能学习到远距离的key-value关系,并调整token feature提取和融合方式,使得整体语义理解更好。训练中,RE任务的kv_mask生成采用50%概率的teach forcing,有利于增强模型的鲁棒性,也进一步提升了SER任务的精度。在损失方面,选择了抗噪loss 进行训练,去除一些噪声的影响。此外腾讯OCR团队还加入了label smoothing[7]、OHEM[8]等算法来弥补训练样本类别极度失衡的问题。我们对layoutlmv3和structext的模型在推理阶段进行结ll果融合。此外针对Task4的few-shot场景,团队基于少量训练数据+Task3的结果进行自监督finetune,对困难badcase的效果有较大提升。在后处理上,模型预测结果和人工设计规则的融合策略,进一步提升系统性能。根据位置信息,对同类别但分散在多行的信息进行整合。对所有识别到的实体信息进行格式修正,特别是在Task3和Task4的特定场景下的信息提取,可以结合识别场景对识别结果进行调整。最后再给大家介绍下腾讯的OCR团队,腾讯OCR团队是腾讯内部致力于研究和开发OCR技术的专业团队,团队在技术上自主研发了高精准度、高稳定性的文本检测和识别技术,在应用上,支持了腾讯内数百个业务场景,如腾讯广告、微信、QQ、腾讯云、腾讯视频、腾讯信息流产品。[4] LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking[5] StrucTexT: Structured Text Understanding with Multi-Modal Transformers[7] Rethinking the Inception Architecture for Computer Vision[8] Training Region-based Object Detectors with Online Hard Example Mining