文本识别——STAR-Net阅读笔记

MetaData


标题:A SpaTial Attention Residue Network for Scene Text Recognition
《一种用于场景文本识别的空间注意残留网络》
作者:W. Liu, Chaofeng Chen, Kwan-Yee Kenneth Wong, Zhizhong Su, Junyu Han
团队:NaN
时间:2016

内容


背景&研究目的

背景

在一般情况下,场景文本通常不会占据整个图像,并且它们会遭受各种各样的扭曲。因此,构建一个能够处理这种松散边界和扭曲场景文本的识别器仍然是一个开放的挑战。
在当涉及到文本识别中的空间失真处理问题时,文献相对较少。Phan等采用SIFT描述符作为识别透视场景文本的不变特征。在本文的准备过程中,Shi等人从神经机器翻译中引入了基于rnn的注意力模型,专注于如何将从输入图像中提取的特征转化为相应的标签序列。在场景文本识别中,这可以看作是一个基于图像的序列到序列分类问题。

研究目的

提出了一种新的具有空间注意机制的深度残基网络(STAR-Net)用于无约束场景文本识别。一方面,采用空间变压器模块将空间注意力引入网络,保证了续特征提取器的全部潜力在提取判别文本特征时得到充分利用,而不是容忍空间扭曲。另一方面,采用残差卷积块构建比卷积层数更多的特征提取器,该提取器可以提取出适合该细粒度识别任务的判别性文本特征。
这项工作的主要贡献是:

  1. 端到端可训练STAR-Net是一种集空间注意机制和残差网络于一体的场景文本识别深度神经网络。对于具有相当大失真的松散边界文本图像,该方法优于其他最先进的方法。
  2. 在不需要任何直接监督的情况下,可以同时定位文本区域并消除其几何畸变的空间注意机制。这种空间注意机制将扭曲的文本区域转化为适合识别的规范姿态。这大大减轻了识别松散边界和严重扭曲文本的困难,并允许随后的特征提取器将其全部功能用于提取判别性文本特征,而不是容忍空间扭曲。
  3. 深度特征提取器建立在残差卷积块的基础上,在CTC的非参数化监督下,对极深卷积层和一个循环层BLSTM进行优化。是残差卷积块第一次展示了场景文本识别的强大能力。

创新点

它是训练过程是端到端的,不需要任何直接监督可同时定位文本区域并消除其几何畸变的空间注意机制,采用残差卷积块构建特征提取器提取出判别性文本特征。

模型框架

image.png

空间转换器

空间转换器负责引入空间注意机制,通过将松散边界和扭曲的文本区域转换为更紧密边界和修正的文本区域,使后续的特征提取器能够完全专注于提取区别文本特征。空间变压器由定位网络、采样器和插值器三部分组成。
image.png

  1. 定位网络:确定原始文本图像所表现出的畸变,并输出相应的变换参数。

I ∈ R W × H I∈R^{W×H} IRW×H的原始灰度图像为输入,直接输出仿射变换的参数。
θ ( I ) = [ a 11 a 12 a 13 a 21 a 22 a 23 ] θ(I)=\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{bmatrix} θ(I)=[a11a21a12a22a13a23] 定位网络 θ ( ⋅ ) θ(·) θ()采用卷积神经网络的形式,其中包括一个最终回归层来预测所有转换参数。转换参数没有任何直接的监督。网络将被训练,根据从识别目标函数反向传播的梯度来学习不同输入的合适参数。

  1. 采样器:基于变换参数在输入图像上定位采样点,即定义了要采样的文本区域。

采样器为输出图像 I ′ ∈ R W ′ × H ′ I'∈R^{W'×H'} IRW×H(即校正后的图像)中的每个像素在输入图像上定位一个采样点。输入图像的采样点 ( x i , y i ) (x_i,y_i) (xi,yi)对输出图像的一个像素点 ( x i ′ , y i ′ ) (x_i',y_i') (xi,yi)可以使用 θ ( I ) θ(I) θ(I)计算:
[ x i y i ] = θ ( I ) [ x i ′ y i ′ 1 ] \begin{bmatrix} x_i \\ y_i \end{bmatrix}=θ(I)\begin{bmatrix} x_i' \\ y_i' \\ 1 \end{bmatrix} [xiyi]=θ(I) xiyi1 3. 插值器:通过插值最接近每个采样点的四个像素的强度值来生成输出图像。

插值器采用双线性插值,从输入图像中最接近采样点 ( x i , y i ) (x_i,y_i) (xi,yi)的四个像素,为输出图像的像素点 ( x i ′ , y i ′ ) (x_i',y_i') (xi,yi)生成一个强度值。
注意所有的方程都是可微的,这使得空间变压器可以轻松地使用梯度下降算法进行优化。

残差特征提取器

使用残差卷积块提取基于图像的特征,长短期记忆LSTM编码序列特征之间的长期依赖关系。
卷积神经网络输出的特征图是在空间域中,维数为 C s × H s × W s C_s × H_s × W_s Cs×Hs×Ws。将这个三维特征映射转换成序列特征:沿其宽度将其切割成 W s W_s Ws个2D切片,每个切片的维数为 C s × H s C_s × H_s Cs×Hs,并将每个切片重新映射成一个向量 s ⃗ t \vec{s}_t s t,其中 t = [ 1 , 2 , . . . , W s ] t=[1,2,...,W_s] t=[1,2,...,Ws]

  1. 残差卷积块

残基块包括两个卷积层、两个ReLU激活以及第二个卷积层的输入和输出之间的快捷连接。
image.png
通过特殊的快捷连接寻找卷积层的合适参数来近似残差函数。虽然两个块都应该能够接近H(x),但优化的难易程度是不同的。为了避免添加更多普通卷积块带来的退化问题,STAR-Net采用残差卷积块作为基本组件,构建了具有18个卷积层的极深特征提取器。

  1. 长短期记忆

使用一个双向LSTM层,从正向和反向使用内存块。

连接时间分类

CTC无需学习解码所需的参数,通过保持解码器的简单性,强调特征提取器在提取判别顺序特征方面的重要性。设 L L L表示任务中36类(26个字母和10个数字)不区分大小写的字符集, L ′ = L ∪ { b l a n k } L'=L∪\{blank\} L=L{blank}。在编码器最后一步采用了一个softmax层来输出一个概率图 y = { y ⃗ 1 , . . . , y ⃗ W s } y=\{\vec{y}^1,...,\vec{y}^{W_s}\} y={y 1,...,y Ws},该概率图以序列特征 s ⃗ t \vec{s}_t s t为条件,每个 y ⃗ t \vec{y}^t y t L ′ L' L上的概率分布, y ⃗ m t \vec{y}_m^t y mt表示在时间 t t t观察到标签 m m m的概率。给定序列 π π π的概率定义为 p ( π ) = Π t = 1 W s y ⃗ π t t p(π)=Π^{W_s}_{t=1}\vec{y}^t_{π_t} p(π)=Πt=1Wsy πtt。映射 B B B先删除重复的标签,然后从输出序列中删除所有的空白,例如 B ( − − a − b b − d − c ) = a b d c B(−−a−bb−d−c) = abdc B(abbdc)=abdc。对于给定长度为 T ( T ≤ W s ) T (T≤Ws) T(TWs)的标记 l l l,其概率可表示为
p ( l ∣ y ) = ∑ π p ( π ) , π ∈ B − 1 ( l ) p(l|y)=\sum_πp(π), π∈B^{-1}(l) p(ly)=πp(π),πB1(l) CTC的目标函数 O c t c O_{ctc} Octc定义为对整个训练集 S S S的负对数似然求和:
O c t c = − ∑ ( l , y ) ∈ S ln ⁡ p ( l ∣ y ) O_{ctc}=-\sum_{(l,y)∈S}\ln p(l|y) Octc=(l,y)Slnp(ly) 由于与给定标记相对应的序列数量随着 W s W_s Ws呈指数增长,因此在训练最终CTC层时,使用Forward-Backward算法的动态规划来有效地计算 O c t c O_{ctc} Octc及其偏导数 ∂ O c t c ∂ y ⃗ π t t \frac{\partial O_{ctc}}{\partial \vec{y}^t_{π_t}} y πttOctc。在预测标签序列的阶段,我们只需在每个时间步选择概率最高的标签,然后将 B B B应用于整个输出路径。

实验

数据集

  • IC03:包含251个全尺寸场景图像和860个裁剪文本图像用于测试。每个裁剪的文本图像都有一个50个单词的词典。
  • IC13:包含1,015个裁剪的单词测试图像,没有任何预定义的词典。
  • IIIT5K:包含3000个用于测试的裁剪文本图像。每个图像有一个50字的词典和一个1000字的词典。
  • SVT:包含647个测试词图像,每个单词图像有一个50个单词的词典。
  • SVTP:包含639个裁剪的测试图像,大多数都有很大的视角扭曲,每个图像与一个50个单词的词典相关联。

实验细节

由于STAR-Net是一个非常深的网络,很难从头开始同时优化特征提取器和空间转换器,因此采用预训练策略训练整个STAR-Net。
首先在一个玩具数据集上训练特征提取器和CTC,其中所有的文本图像都是紧密边界和水平的。保证了我们的特征提取器和CTC理解什么样的文本区域是文本识别的理想选择。在实验中该策略为残差特征提取器提供了良好的初始参数,缩短了整个训练过程。
然后在合成数据集上加入一个具有仿射变换的空间转换器,对整个网络进行训练。该数据集包含具有不同变形类型的文本图像。我们初始化空间转换器的参数来表示单位变换。在网络收敛后,我们将该网络的参数作为我们的预训练参数。
为了处理更复杂的变形,使用更灵活的10点TPS变换来替换空间转换器,使用预训练的参数对网络进行TPS变换初始化,并以相对较小的学习率对整个网络进行微调。本文所有的网络都使用灰度图像进行训练,空间转换器和特征提取器的输入大小分别为150×48和100×32,在每个卷积层之后使用批处理归一化,网络参数全部由Adadelta优化。
除了STAR-Net之外,我们还评估了其他三种网络架构,以证明STAR-Net中每个组件的有效性。

  • CRNN:七个卷积层(排列为普通卷积块)和两个BLSTM层。
  • STA-CRNN:在CRNN的架构中引入了空间注意机制。在该结构中,特征提取器的输入是空间转换器输出的校正图像。
  • R-Net:是STAR-Net的简化版本,去掉了空间注意机制。它的特征编码器有18个卷积层和一个BLSTM层。与CRNN相比,R-Net的深度大约是CRNN的2.5倍,并通过残差学习进行了优化。
  • STAR-Net:集成了空间注意机制和残差学习,总共有26个卷积层。这是迄今为止提出的用于场景文本识别的最深的模型。

具体来说,我们直接使用四个普通卷积块作为空间变压器中的定位网络。所有卷积层的滤波大小、步幅和填充大小分别为3、1和1。为了降低计算复杂度,这四个区块的通道分别为16、32、64和128。每个普通卷积块后面是一个2×2最大池化层,步幅为2。一个具有256个隐藏单元的全连接层用于输出所有转换参数。
image.png
表1:场景文本识别的四种架构。“SAM”代表空间注意机制。括号中显示了卷积滤波器和通道的大小,以及堆叠的层数。在每个单元之后,除了最后一个之外,使用一个max-pooling层。每个单元下面显示了最大池内核的宽度、高度和步幅。每个LSTM有256个隐藏单元

评价指标

准确率 Accuracy:所有的预测正确(正类负类)的占总的比重。

实验结果

  • 对比其他模型的准确率(“50”、“1k”、“50k”和“Full”表示使用的词典,“None”表示在没有词典的情况下进行识别。)(*[22]在严格意义上不是字典无关的,因为它的输出被限制在90k的字典中。)

image.png
两个IC数据集上的性能不如在IIIT5K和SVT上的性能。一种可能的解释是SVT和IIIT5K中变形文本图像的比例高于IC数据集;此外IC数据集中存在较多模糊或低分辨率的文本图像使得空间注意机制难以定位文本区域并精确地纠正。

  • SVTP数据集(存在严重的透视失真)

image.png

总结&未来计划

提出了一种新的空间注意残留网络(STAR-Net),用于识别具有严重畸变的场景文本。STAR-Net中的空间注意机制旨在消除自然图像中文本的扭曲,并产生紧密边界的文本图像,使得后续的特征提取器可以专注于修正后的文本区域,而不会被扭曲所干扰;特征提取器建立在残差卷积块之上的,具有非常深的卷积层和一个循环层BLSTM;在连接时间分类CTC的非参数化监督下进行优化。将空间注意机制与残馀卷积块相结合,我们的STAR-Net是用于场景文本识别的最深的端到端可训练神经网络。五个公共基准数据集上的实验表明STAR-Net在处理失真较小的场景文本时可以达到与最先进的方法相当的性能,而在处理失真较大的场景文本时则优于这些方法。

  • 42
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Net-SNMP是一个用于实现SNMP(Simple Network Management Protocol,简单网络管理协议)的工具包。学习Net-SNMP主要包括以下几个方面: 1. 编译和安装Net-SNMP:首先需要下载和解压Net-SNMP的源代码,然后通过命令行进行编译和安装。 2. 编写MIB文件:MIB(Management Information Base,管理信息库)文件用于定义被SNMP管理的对象。你可以使用文本编辑器编写MIB文件,其中包含了对象的标识符和相关信息。 3. 转换MIB文件:将MIB文件转换成.c和.h文件,这样可以在SNMP代理中使用。可以使用工具来进行这个转换过程。 4. Agent代理工程:Agent代理是一个运行在网络设备上的软件模块,它负责收集和提供设备的管理信息给SNMP管理系统。学习Net-SNMP还需要了解如何配置和运行Agent代理工程。 5. Trap机制:Trap是SNMP的一种机制,用于报告特殊事件的发生。学习Net-SNMP时需要了解如何配置Trap机制,以便及时获得网络资源的实时监控。 总之,学习Net-SNMP主要包括编译和安装Net-SNMP,编写和转换MIB文件,配置和运行Agent代理工程,以及理解Trap机制等方面。这些知识可以帮助你实现有效的网络管理软件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SNMP网管学习笔记](https://download.csdn.net/download/qiek/6674485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [net-snmp学习笔记<一> — 介绍](https://blog.csdn.net/prochsh/article/details/49888141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值