水表读数的全卷积序列识别网络外文翻译资料
2021-12-23 22:08:11
英语原文共 9 页
水表读数的全卷积序列识别网络
摘要
最常用的基于图像的序列识别框架之一是卷积递归神经网络,它是使用卷积神经网络(CNN)进行特征提取,使用递归神经网络(RNN)进行序列建模。然而,RNN在训练和推理方面都是计算上昂贵的,这限制了它在时间受限系统中的应用。一些模型用序列建模的注意机制代替RNN,但仍然需要昂贵的迭代计算。在本文中,我们认为具有足够深度的CNN可以捕获上下文信息,消除了对重复操作的需要,从而完全并行化。我们关注的是水表数字读数(WNR)问题,这是一种典型的序列识别任务,但很少被研究过。我们提出了一种完全卷积序列识别网络(FCSRN),用于快速准确地读取水表数量。此外,我们设计了一个增强损失(AugLoss)函数来管理数字的中间状态并有效地提高性能。实验结果表明,FCSRN能够捕获上下文信息并消除对重复层的需求,同时需要更少的参数和更少的计算。具有AugLoss的FCSRN优于基于RNN和基于注意力的模型。此外,AugLoss可以有效地改善基于RNN和基于注意力的模型的性能。此外,我们构建并发布了一个包含6000个带标签的水表图像的数据集,可在https://github.com/HCIILAB/Water-Meter-NumberANNSet获得。
关键词:基于图像的序列识别,水表数字读数,增量损失函数,水表数量数据集。
1 绪论
在许多实际应用中需要自动水表读数,例如充水系统和耗水量的实时监测。在文献里提出的水表数字读取方法中,最常见的是使用嵌入式电子设备(例如,光电设备或超声波单元)来计算或测量水流量。近年来,一种新方法开始引起研究人员的注意,他们使用相机捕获水表图像,然后识别图像中的数字。该方法灵活性高,易于实施,可充分利用现有的测量单元。例如,机械式水表是水传输系统中最受欢迎和最稳定的测量单元,在可预见的将来它不太可能被电子仪表取代。最重要的一点是,水表图像的捕获可以用于防止关于水消耗的欺骗,因为目前在电子设备上欺骗比在图像上更容易。用于读取水表图像中的数字的管道包括首先检测并裁剪图像中的数字区域,然后识别裁剪图像中的水表数量。在本文中,我们重点关注第二部分,即水表数字读数(WNR)问题,这是一种典型的基于图像的序列识别任务。
基于图像的序列识别任务有几种通用的解决方案。第一类被称为基于分割的方法[2] -[9],它涉及两个步骤:字符分割和识别。例如,Bissacco等[2]。使用边界框检测字符,使用预先训练的卷积神经网络(CNN)模型识别检测到的字符,最后组合上下文信息以获得识别结果。这种方法要求每个字符都易于定位和标记,因此它们不适合识别字符难以分割的图像。
第二类解决方案称为无分割方法,包括整体方法,基于递归神经网络(RNN)的方法和基于注意的方法。整体方法[10] - [13]将图像中的单词识别为整体而不识别每个单独的字符。例如,Jaderberg等[10]。训练CNN直接分类不同的英语单词。这些方法在很大程度上依赖于预定的词汇,并且缺乏识别词汇外单词的能力。此外,对于带有标签的水表图像,例如“0 0 0 0 0”(其中只有五个数字,但每个数字的范围从“0”到“19”,如第二部分所述)可能组合的总数可以达到20 = 3.2times;10,这排除了使用整体方法。
基于RNN的方法[1],[14]- [19]通过迭代特征序列(通常从CNN导出)并在每个时间执行识别来避免分割问题。大多数无分段序列识别系统使用具有长短期记忆(LSTM)单元的RNN [1],[14]-[16],它们已经成功地证明了在没有明确分割的情况下对齐输入和输出序列的能力。尽管基于RNN的系统的结果令人印象深刻,但存在两个重要的缺点:(1)由于循环层中的时间步长的迭代矩阵乘法,训练速度可能较慢;(2)优化过程可能会遇到梯度漂移/爆炸问题[20],[21]。
最近,注意机制已经成为强制序列建模和转换模型在各种任务中的重要部分,从而允许建立依赖性而不考虑它们在输入或输出序列中的距离[22],[23]。在大多数情况下[24],注意力机制与RNN一起使用。但是,通常,注意模块[25]可以用于任何基于网络的神经模型。 Gehring等人[26]提出了卷积学习模型。输入的表示由CNN以并行方式计算,用于注意机制;解码器状态也由具有已经产生的特征的CNN确定[27]。虽然基于注意力的卷积系统的结果令人印象深刻,但存在一个缺点:注意权重的计算只能在训练期间完全并行化,而在推理时计算注意力当前时间步长的重量必须取决于最后一步的输出,这不容易并行化。
WNR类似于文本识别任务;然而,它的解码过程略有不同,因为在WNR中,存在一些“中间状态”字符(如第二部分所述)。为了构建快速准确的WNR系统,我们提出了一个完全卷积序列识别网络(FCSRN),它结合了完全卷积网络(FCN)[28]和CTC [29],没有任何中间的重复连接。此外,通过分析解码后的后处理方法(在第III-D节中),我们提出了增强损失(AugLoss)功能,以有效地改善网络性能。
实验结果表明,FCSRN能够捕获上下文信息并消除对重复层的需要,同时需要更少的参数和更少的计算。具有AugLoss的FCSRN优于基于RNN和基于注意力的模型。此外,AugLoss可以有效地提高基于RNN和基于注意力的模型的性能。
本文的其余部分组织如下:在第二部分中,我们描述了构建的水表图像数据集。然后我们在第IV节介绍了提议的FCSRN,在第IV节介绍了AugLoss。我们在第五节中介绍了实验结果,然后我们总结了论文。
2 水表图像数据集
对于WNR的研究,我们构建了一个名为SCUT-WMN的非商业用数据集,可https://github.com/HCIILAB/Water-Meter-NumberANNSet获得。据我们所知,这是第一个公共水表图像数据集。
(a)样本困难(b)简易样品
图1 水表图像数据集中的样本(
水表图像由相机捕获并使用边界框和水表数字标记。我们裁剪了边界框区域以构建我们用于识别的数据集。数据集由两部分组成。第一部分包含5,000个不同的样品(如图1a所示)。在难以处理的样品中,存在由照射,折射和遮挡引起的各种变化。第二部分包含1,000个简单样本(如图1b所示)。难以和简单的样品都标有顺序字符,例如#39;1 2 2 5 8#39;。另外,数据集中每个字符的数量如表1所示。
在WNR中,存在一些“中间状态”字符,如图1所示。考虑到第4个图像(在第2行,以图2b中的第1列为例,数量超过#39;#39;20369#39;#39;但未达到#39;#39;20370#39;#39;,所以最后两个字符 -
数字中的acters出现在#39;#39;mid-state#39;#39;中。加成-同样,适当的水表数量应该是#39;#39;20369.5#39;#39;。
为了管理#39;#39;中州#39;#39;人物,我们将它们视为单独的类, 标签范围从“10”到“19”,如图1所示。标签l [10,19] 表示超过 #39;#39;l 10#39;#39;的字符(称 为 #39;#39;lowerstate#39;#39;),但未达到#39;#39;l 9#39;#39;(称为#39;#39;high-state#39;#39;)。作为特殊情况,标签#39;#39;l 1 9#39;#39;表示该字符位于#39;#39;9#39;#39;和 #39;0#39;之间的#39;#39;mid#39;#39;(忽略进位)。在这样的设置中,图2b中的第4图像的标签是#39;#39;2 0 3 16 19#39;#39;。该标签序列可以进一步处理为水表编号#39;#39;20369.5#39;,如章节所述 III-D,这在实际应用中更合理,更实用。
表1.水表图像数据集中的字符数
图2 水表图像数据集中的样本,其中“中间状态”字符标记为红色。
(a)样本困难。(b)简易样品。
3 完全卷积序列识别网络
该识别网络提出的FCSRN由三个部分组成:完全卷积骨干网络, 时间映射器和转录层(如图3所示)。3).卷积层在学习 图像特征方面非常强大,我们使用FCN [28]作为骨干网络。在FCN的顶部,时间映射器用于从二维特征映射生成一维特征序列。最后,转录层将这些连续特征转化为最终的标记序列。
图3 建议的网络架构。
首先,该模型使用完全卷积网络提取特征。然后使用时间映射器将二维特征映射转换为一维特征序列。最后,转录层使用顺序特征输出预测标签。
3.1 完全卷积网络
我们使用[30]中提出的残差块来构建FCN作为骨干网络。 我们的FCSRN采用了两种类型的残余块,如图4所示。当输入x和输出y具有相同的维度时,残差块A(如下图所 示)用于从增加的模型深度获得大的感受野,并避免消失/爆炸梯度问题[20],[21],而残差块B(如右图所示)用于减少特征图和减少过滤器数量,以增加模型能力并保持模型复杂性[30]。在每个卷积层之后使用批量标准化[31]层。
图4 两种类型的残余块。
(左:残余块A)输入(x)和输出(y)的尺寸相同。
(右:残差块B)与x相比,y的特征映射大小减半,滤波器的数量加倍。
我们构造了一个带有残余块的16层FCN,以从输入图像中提取特征,如表所示2。
表2 完全卷积骨干网络的体系结构。
我们使用小的卷积内核大小来学习细粒度的局部特征,并堆叠多卷积层以提取具有大的感知域的长期特征。响应图中的位置对应于输入图像中的矩形区域(称为感受野)。用于计算精确位置和感受野大小的分层配方提供为:
其中r i 是第i层的局部区域大小,k是核大小,s是步幅大小,p表示位置,d是特定层的填充大小[33]。我们发 现CNN中具有足够深度的高层特征对应于大的感受域, 并且能够利用上下文信息捕获长期依赖性。
3.2 时间映射器
由于从FCN提取的特征已经包含上下文信息,我们使用 时间映射器而不是任何重复或完全连接的层来在转录层 之前生成特征序列。时间映射器由卷积层,批量归一化[31]层和高度归一化层组成。卷积层输出K(总字符类加空白)通道特征映射,以为每个对应的类别生成一个 特征映射。卷积层优于完全连接层,因为卷积结构更加 自然地强制了特征映射和类别之间的对应关系[34]。卷 积层的内核大小,步幅和填充大小分别设置为3 3,1 1 和11。我们假设输入要素图的每一列都是要预测的时间步长;因此,我们使用高度标准化图层(也称为平均合并图层)来标准化每列的要素。因此,我们可以将二维特征图映射到一维顺序特征,这些特征将被馈送到最终转录层。如章节中所述V-D3,映射的顺序特征包含转录所需的上下文信息。
3.3 转录层
在WNR中,转录用于将特征转换为从“0”到“19”的字符 序列。我们使用连接时间分类(CTC)[29]作为转录层。CTC允许 在没有输入序列和标签之间任何预先对齐的情况下训练模型。
我们将字符集表示为C.={ 0, 1, , 19,空白},空白表示没有相应的预测 时间步。给定输入特征序列#39; k = s k s k ···s1 k #39;#39; 通过信道k 21和总时间步长T,CTC通过对每个时间步长应用soft-max函数来指定序列上的分布,并提供在相应时间步长输出预测字符的概率。可以使用映射函数sigma;将从该分布采样的每个潜在序列变换为输出序列,映射函数sigma;首先将连续重复的非空白字符合并为一个字符,然 后移除空白字符。例如,#39;1 2 2 5 8#39;可以通过序列中的sigma;进行变换 #39;#39;bb 1 1 b 2 2 2 bb 2 bbb 5 8 8 bb b#39;#39;(其中b代表 空白和T 20)。最终输出序列概率是应用函数sigma;后,相同目标结果的所有可能序列的总和。
3.4 解码
我们使用朴素解码算法(在[29]中也称为最佳路径解码) 来从FCSRN的输出进行预测。我们首先对每个时间步应用softmax函数,然后通过考虑每个时间步t的最可能标记l t 获得预测序列,最后我们使用函数sigma;映射结果(在Section中)III-C).。如章节中所述II,解码后图像的转录结果(图2b中,第2行,第1列)是:#39;#39;2 0 3 16 19#39;#39;,这个预测应该在现实世界中转换为#39;#39;20369.5#39;#39;应用。因此,我们为 #39;#39;mid-state#39;#39;中的每个字符c引入了一个后处理方法:
如果预测的数字位于序列的末尾并且处于“中间状态”(参见章节II 详情),我们减去 数字9.5。例如,对于预测结果“12”, 这意味着相应的数字超过“2”但未达到“3”,我们选择将其预测为“2”并通过添加0.5将“中间状态”标志附 加到结果中到最后的数字。如果#39;#39;mid-state#39;#39;字符不是最后
资料编号:[3837]
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。