ECCV2022 | LevOCR:一种基于视觉语言Transformer的可解释性文字识别方法(已开源)

2023-02-27 20:43 837 阅读 ID:828
将门
将门

该方法使用Vision-Language Transformer (VLT)进行特征提取,设计了Deletion和Insertion两种字符级操作来实现精细化文本生成和矫正任务,并使用模仿学习进行训练。实验结果表明,LevOCR通过对纯视觉预测结果的精细化迭代矫正,可进一步提升视觉模型的识别精度并达到SOTA。同时,该矫正过程具有非常好的透明性和可解释性。目前代码已经开源。

论文链接:

https://arxiv.org/abs/2209.03594

代码链接:

https://github.com/AlibabaResearch/AdvancedLiterateMachinery/tree/main/OCR/LevOCR

一、 研究背景

场景文字识别方法Scene Text Recognition (STR)的目标是解码出图像块中的文字信息,是文档智能处理、信息检索等下游高层任务的重要基础,受到了计算机视觉领域的广泛关注。近年来,自然语言处理领域中的方法被引入视觉任务中,提出了许多Transformer-based的视觉方法,如ViT, DETR等视觉模型。STR任务天然是一种与自然语言强相关的任务,一些工作开始将语言信息引入STR模型中,利用视觉语言的多模态特征来提高模型的识别精度,如SRN[1]和ABInet[2]。但这类方法直接输出整个序列的预测结果,不能有效地解释为什么模型会做出这样的预测,以及决策的依据是什么。

人类在识别图片中的文字时,会先得到图像中大部分文字的识别结果。但如果图片中部分字符受损,人类会结合语言知识和图像信息对该字符位置进行单独矫正,最终得出完整的识别结果。为了模拟人类对字符序列的识别过程,增强模型的可解释性。作者借鉴自然语言处理领域中提出的Levenshtein Transformer (LevT)[3]的思想,提出了Levenshtein OCR (LevOCR)。该方法设计了Deletion和Insertion两种字符级操作,可实现字符序列的并行解码和长度调节,最终完成精细化文本生成和矫正任务,表现出非常好的可解释性。

二、方法简述

2.1 整体流程

                                                                图1 LevOCR 整体流程图

图1展示了LevOCR的整体流程。首先图像经过视觉模型得到图像的视觉特征,并将纯视觉的预测结果设置为初始序列;初始序列经过文本模型编码成文本特征;视觉和文本特征经过融合后会依次地进入Deletion和Insertion操作中产出字符级的矫正结果;完成一轮Deletion和Insertion后会迭代进入下一轮。具体地,Deletion操作并行删除当前序列中的错误字符。Insertion操作拆分成两个子操作:Placeholder Insertion操作预测相邻两个字符间需要插入几个占位符 <p>,并插入相应数目的占位符 <p>;Token Prediction操作对每个<p>进行预测,替换成字典中的字符。如果初始序列非空序列,LevOCR为文本矫正任务,如果为空序列,则为文本生成任务。

2.2 模型结构

                                                                   图2 LevOCR整体框架图

LevOCR模型主要由三部分组成。

2.3 字符级矫正策略

为了模拟人类在字符识别中不断矫正的过程,作者将字符序列识别问题定义为一个马尔可夫决策过程, 设计了两种基本操作 Deletion 和 Insertion。

2.4 模仿学习

上述3种操作需要交替迭代执行。给定一个初始文本,Deletion策略首先删除可能错误的字符;然后,Placeholder Insertion策略插入占位符;最后,Token Prediction策略将所有占位符预测为字典中的字符;依次循环矫正。作者使用了模仿学习进行模型训练,最小化每一步策略校正后字符序列与GT序列的编辑距离。

具体地,作者定义了Deletion 和Insertion的两种损失。

Deletion 损失中作者构造了两种输入。一种是对初始序列随机增加字符。另外一种是使用当前学习的Placeholder Insertion策略和Token Prediction策略对需要插入的序列增加字符,类似GAN中对抗学习的思想。标签通过编辑距离计算得出。

Insertion损失的输入主要通过对GT序列随机删除字符进行构造。并通过编辑距离计算得到相应的标签。

结合视觉端的预测损失,最终的损失函数如下:

三、主要实验结果

                                                   表1 不同初始序列和迭代次数对模型的影响

表2验证了LevT模块对于模型的影响。 作者将Deletion和Insertion去除,并替换为一个简单的分类Loss。没有LevT模块的精度相较于纯视觉的精度没有显著提升。使用LevT模块学习两种字符级操作后,无论在CNN视觉模型和ViT视觉框架下,都能带来显著的性能提升。实验说明结合多模态信息的 Deletion和Insertion操作可以提升模型识别效果。

                                                             表2 LevT模块对模型的影响
                                               表 3 LevOCR详细的字符生成和字符矫正过程

表4展示了LevOCR与SOTA方法的比较。LevOCR取得了最优的性能。

                                                                        表4 对比SOTA方法

图3展示了Deletion和Placeholder Insertion操作的可视化结果。 如(a)中,“n”被错误识别为“m”, LevOCR对“m”的删除概率为0.87。同时,从可视化权重可以看出,LevOCR做出删除操作主要是依赖于图像信息(0.737 > 0.263),并且图像中“n”的区域贡献值较高。图(b)中字母“u”缺失,LevOCR在该位置插入1个占位符的概率为0.94,同时图像占主导因素,并在“u”的位置贡献值较高。当文本输入有误,同时图像缺失或者模糊时,LevOCR会更加关注于文本信息,如(c)和(d)中,LevOCR会删除错误字符,同时文本信息占主导因素。通过这种方式,可以清楚地看到LevOCR每一步字符级操作的决策过程,使得LevOCR具有良好的可解释性

                                                                       图3 操作可视化

四、总结

本文提出了一种可解释性强的文字识别方法LevOCR。该方法设计了Deletion和Insertion两种字符级操作,可实现精细化字符级文本生成和矫正任务,并通过模仿学习进行训练。实验结果表明LevOCR使用多模态特征进行迭代预测,可进一步提升纯视觉模型的识别精度并达到SOTA。同时,LevOCR的迭代矫正过程具有非常强的透明性和可解释性。

参考文献

[1] Yu, Deli, et al. Towards accurate scene text recognition with semantic reasoning networks. CVPR 2020

[2] Fang, Shancheng, et al. Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition. CVPR 2021

[3] Gu, Jiatao, et al. Levenshtein transformer. NeurIPS 2019

作者:达铖

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn