CVPR2022 | ABINet+: 似人阅读: 场景文本识别的自主、双向和迭代语言建模

news2024/9/25 21:19:07

论文标题:ABINet+:Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition

代码:https://github.com/FangShancheng/ABINet

链接:https://arxiv.org/abs/2103.06495

一、Abstract

However, how to effectively model linguistic rules in end-to-end deep networks remains a research challenge.

Reason:

隐式语言建模;implicitly language modeling

单向特征表示;unidirectional feature representation

有噪声输入的语言模型;language model with noise input

因此作者提出:

block gradient flow between vision and language models to enforce explicitly language modeling。 阻断视觉模型与语言模型之间的梯度流来实现显式语言建模

bidirectional cloze network (BCN) as the language model。双向网络(BCN)作为语言模型

execution manner of iterative correction。迭代修正减少噪声

二、Introductions

Autonomous:将自主原理应用于场景文本识别(STR),将识别模型解耦为视觉模型(VM)和语言模型(LM)。子模型作为独立的功能单元。LMs是否以及如何学习字符关系是不可知的。此外,这种方法对于从大规模无标签文本中直接预训练LM获取丰富的先验知识是不可行的。

Bidirectional:用双向LM模型可捕获两倍的信息量。构建双向模型的一种直接方法是合并从左到右的模型和从右到左的模型。然而,由于其语言特征是单向表征的,因此功能较弱,同时在计算和参数上都要花费两倍的成本。BERT引入了通过mask textual token modeling的深度双向表示,直接将BERT应用于STR需要mask文本中所有字符,而这是非常昂贵的,因为每次只能屏蔽一个字符。

Iterative采用迭代执行的LMs可以从视觉和语言线索中优化预测,这是现有方法所没有探索的。为适应Transformer架构,放弃自回归,采用并行预测来提高效率。然而,在并行预测中仍然存在噪声输入,虚拟机输出的误差直接影响LM的精度。

首先,通过阻塞梯度流(BGF)在VM和LM之间探索了一种解耦方法(图1b),该方法强制LM显式地学习语言规则。此外,VM和LM都是自治单元,可以分别从图像和文本进行预训练。其次,设计了一个新的双向完形网络(BCN)作为LM,消除了两个单向模型组合的困境(图1c)。BCN同时以左右上下文为条件,通过指定注意掩码来控制两边字符的访问。此外,为了防止信息泄露,不允许跨步骤访问。第三,我们提出了一种LM迭代修正的执行方式(图1b)。通过将ABINet的输出反复输入LM,可以逐步改进预测,并在一定程度上缓解长度不对齐的问题。

三、Proposed Method

1、 Vision Model

ResNet + position attention module

ResNet :总共5个残差块,在第1块和第3块之后进行下采样。

position attention module将视觉特征并行转录为字符概率。

Q为字符顺序的位置编码,T是字符序列的长度,K为UNet网络,V为自映射。

2、Language Model

Autonomous Strategy

1)将LM视为一个独立的拼写纠正模型,将字符的概率向量作为期望字符的输入和输出概率分布。2)训练梯度流在输入向量处被阻塞(BGF)。3) LM可以与未标记的文本数据分开训练。

Bidirectional Representation

给定一个文本字符串y = (y1,…, yn),当文本长度为n,类号为c时,双向模型和单向模型中yi的条件概率为:

双向表示的可用熵可以量化为Hy = (n−1)log c,单向表示的可用熵为1/2 Hy

利用BERT MLM,将yi替换为[MASK]。然而每个文本实例都需要分别调用n次MLM,导致效率极低。通过指定注意掩码提出BCN,而不是mask输入字符:

BCN是L层transformer decoder的变体。字符向量被输入到多头注意力块中,而不是网络的第一层。此外,多头注意力中的注意力mask是为了防止“看到自己”而设计的。

BCN不采用自注意,避免了信息跨时间步的泄露。多头块内部的注意操作可以形式化为:

Q是第一层字符顺序的位置编码,否则是最后一层的输出。P为字符概率, Wl为线性映射矩阵。M是matrix of attention masks,它阻止了关注当前的特征。将BCN层堆叠成深层架构,确定文本y的双向表示Fl。

BCN能够优雅地学习比单向表示的集合更强大的双向表示。此外,得益于类似transformer的架构,BCN可以独立并行地进行计算。此外,它比集成模型更有效,因为只需要一半的计算和参数。

Iterative Correction

为了解决噪声输入的问题,提出了迭代LM(如图2所示)。LM重复执行M次,对y进行不同的赋值。在第一次迭代中,yi=1是VM的概率预测。对于后续迭代,yi≥2为上次迭代融合模型的概率预测。通过这种方法,LM能够对视觉预测进行迭代修正。

长度不对齐问题是由不可避免的填充掩码实现引起的,填充掩码用于过滤文本长度以外的上下文。我们的迭代LM可以通过多次融合视觉特征和语言特征来缓解这一问题,因此预测的文本长度也逐渐细化。

3、Fusion

基于图像训练的视觉模型和基于文本训练的语言模型来自不同的模态。为了对齐视觉特征和语言特征,我们简单地使用门控机制进行最终决策:

4、Supervised Training

多任务目标进行端到端训练:

5、Semi-supervised Ensemble Self-training

自训练的基本思想是先通过模型本身生成伪标签,然后使用额外的伪标签重新训练模型。因此,关键问题在于构建高质量的伪标签。

1)选择文本实例中字符的最小置信度作为文本确定性。2)每个字符的迭代预测被视为一个集合,以平滑噪声标签的影响。filtering function:

C是文本实例的最小确定性,Pm(yt)是第t个字符在第m次迭代时的概率分布。

四、Experiment

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/367232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 安装php环境

1.下载php wget http://am1.php.net/distributions/php-7.3.2.tar.gz 2.解压 tar -zxvf php-7.3.2.tar.gz 3.安装扩展 接下来进行参数配置,配置前如果没有libxml2和libxml2-devel会报错,所以应该更新libxml2并安装libxml2-devel,使用在线…

C++回顾(一)——从C到C++

前言 在学习了C语言的基础上&#xff0c;C到底和C有什么区别呢&#xff1f; 1.1 第一个C程序 #include <iostream>// 使用名为std的命名空间 using namespace std;int main() {// printf ("hello world\n");// cout 标准输出 往屏幕打印内容 相当于C语言的…

ELK日志分析--Kibana

Kibana 概述 部署安装浏览页面并使用 1.Kibana 概述 Kibana-是进入Elastic的窗口使用Kibana&#xff0c;可以 1 搜索&#xff0c;观察和保护。 从发现文档到分析日志再到发现安全漏洞&#xff0c;Kibana是您访问这些功能及其他功能的门户。 2 可视化和分析您的数据。 搜索隐藏的…

github ssh密钥配置,克隆远程仓库

GitHub的SSH配置 在往github上push项目的时候&#xff0c;如果走https的方式&#xff0c;每次都需要输入账号密码&#xff0c;非常麻烦。而采用ssh的方式&#xff0c;就不再需要输入&#xff0c;只需要在github自己账号下配置一个ssh key即可&#xff01; 很多朋友在用github管…

kkfileview在预览word文档中文乱码

因为liunx服务器没有相关中文字体 1.下载中文字体包 http://kkfileview.keking.cn/fonts.zip 2.上传服务器至目录/usr/share/fonts 解压 unzip fonts.zip 3.执行命令 mkfontscale mkfontdir fc-cache 如果报错命令没有找到&#xff0c;则安装对应命令&#xff0c;例如 yum in…

Mikrotik Ros安全加固

基本概述 Mikrotik系列路由器也成RouterOS软路由&#xff0c;RouterOS是基于Linux内核的网络操作系统&#xff0c;其预装在MikroTik生产的路由器、无线设备以及RouterBOARD上。同时&#xff0c;它也可以安装在x86平台的个人电脑上&#xff0c;用于将电脑转化为路由器&#xff…

【01】从零开始学Python—数据分析与挖掘概述

马云曾说“中国正迎来从IT时代到DT时代的变革”&#xff0c;DT就是大数据时代。数据已成为企业的核心资产和宝贵资源&#xff0c;企业愈加重视和善加利用数据分析与挖掘技术。 1.1什么是数据分析与挖掘 数据分析和挖掘都是基于搜集来的数据&#xff0c;应用数学、统计、计算机…

6个思维矩阵,90%的项目经理都收藏了

早上好&#xff0c;我是老原。我们都是知道&#xff0c;项目经理的管理能力如何&#xff0c;往往也决定项目的走向如何&#xff1f;今天老原给大家分享这6个管理矩阵&#xff0c;是每一位项目经理需要修炼的能力。01、项目领导力矩阵项目领导力矩阵还是蛮有意思的&#xff0c;四…

记忆化搜索

一.记忆化搜索概述 1.概念 搜索是一种简单有效但是效率又很低下的算法结构&#xff0c;其低效的原因主要在于存在很多重叠子问题。而记忆化搜索则是在搜索的基础上&#xff0c;利用数组来记录已经计算出来的重叠子问题状态&#xff0c;进行合理化的剪枝&#xff0c;从而降低时…

程序员如何发展第二职业?这几种副业方式超赚钱

很多程序员曾表示&#xff0c;虽然月薪一两万&#xff0c;但有时候还是会焦虑。 尤其是遇上了年初裁员年底裁员这样的就业环境&#xff0c;焦虑就会逐步放大&#xff0c;这时候副业赚钱的重要性就体现出来了。 发展第二职业&#xff0c;可以让程序员们增加抗风险能力&#xf…

扩展学习之时间戳趣谈

目录 一、介绍 二、转换工具 三、获取Unix时间戳的指令 四、普通时间转Unix时间戳 五、扩展 一、介绍 时间戳&#xff1a;一份数据在特定时间点存在的可验证的数据。 Unix时间戳&#xff08;英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp&#xff09;&…

(二十七)大白话在Buffer Pool执行完增删改之后,写入日志文件的redo log长什么样?

昨天我们简单给大家回顾了一下在数据库里执行增删改操作的时候&#xff0c;redo log是用来干什么的&#xff0c;为什么需要这个东西&#xff0c;如果没有他会怎么样&#xff0c;有了他之后又能有什么样的效果&#xff0c;想必大家现在都对redo log这个东西有一定的理解了。 那…

高性能低功耗4口高速USB2.0 HUB 完美替代FE1.1S和FE8.1

该NS1.1s是一个高度集成的&#xff0c;高品质&#xff0c;高性能&#xff0c;低功耗&#xff0c;为USB 2.0高速4端口集线器又低成本的解决方案。 &#xff08;点击即可咨询芯片详细信息&#xff09; NS1.1s的特点 1.通用串行总线规范修订版2.0&#xff08;USB 2.0&#xff09;完…

LeetCodeHOT100热题01

写在前面 主要分类一下刷题遇到的一些题型。有很多思路的图都来源于力扣的题解&#xff0c;如侵权会及时删除。不过代码都是个人实现的&#xff0c;所以有一些值得记录的理解。之前的算法系列参看&#xff1a; 剑指offer算法题01剑指offer算法题02 一、哈希表 1. 两数之和 …

自然语言处理(NLP)之近似训练法:负采样与层序Softmax

我们在前面介绍的跳字模型与连续词袋模型有个缺陷就是在计算梯度时的开销随着词典增大会变得很大&#xff0c;因为每一步的梯度计算都包含词典大小数目的项的累加。为了降低这种带来的高计算复杂度&#xff0c;介绍两种近似的处理方案&#xff1a;负采样和层序softmax负采样(Ne…

PADS新建封装中焊盘部分修正

在PADS新建封装中&#xff0c;需要修改焊盘参数。因为之前做板&#xff0c;有问题工厂都会帮忙修正&#xff0c;所以忽略了焊盘中阻焊层和助焊层。这里专门做一个修正。进入焊盘栈编辑界面之后&#xff0c;需要点击“添加层”&#xff0c;然后选择阻焊层顶层&#xff08;Solder…

以太网分析仪

以太网分析仪顾名思义&#xff0c;就是针对网络性能方面的网络丢包、延迟、抖动等问题进行分析哪个环节出现了问题&#xff0c; 这种网络测试仪&#xff0c;市面上的品牌还是比较多的&#xff0c;价格也是有高有低&#xff0c;那么&#xff0c;如何从这么多仪器仪表里面选择一款…

JS逆向之BackTest入门滑块与表单加密

声明&#xff1a;本文仅限学习交流使用&#xff0c;禁止用于非法用途、商业活动等。否则后果自负。如有侵权&#xff0c;请告知删除&#xff0c;谢谢&#xff01;本教程也没有专门针对某个网站而编写&#xff0c;单纯的技术研究 一、本期逆向 1.网站&#xff1a;aHR0cDovL2JhY…

聊聊 HTAP 的前世今生

随着现代社会大型实时分析应用的逐渐流行&#xff0c;关系型数据库已经难以处理高并发的事务请求。商业层面上&#xff0c;当全球进入数字化时代&#xff0c;数字化技术渗透到各行各业&#xff0c;同时产生了海量数据&#xff0c;数据的存储和应用是企业决策的重要依据之一&…

计网数据链路层

第二层:数据链路层 数据链路层传输单位为帧 数据链路层三大问题&#xff1a;封装成帧&#xff0c;差错检测&#xff0c;可靠传输 两个协议&#xff1a; 共享式以太网的媒体接入控制协议CSMA/CD 802.11局域网的媒体接入控制协议CSMA/CA 在封装成帧的问题中&#xff0c;数据链路层…