论文发表百科

自然场景文本检测论文

发布时间:2024-07-08 15:29:05

自然场景文本检测论文

场景文本检测器由文本检测和识别模块组成。已经进行了许多研究,以将这些模块统一为端到端的可训练模型,以实现更好的性能。典型的结构将检测和识别模块放置在单独的分支中,并且RoI pooling通常用于让分支共享视觉特征。然而,当采用识别器时,仍然有机会在模块之间建立更互补的连接,该识别器使用基于注意力的解码器和检测器来表示字符区域的空间信息。这是可能的,因为两个模块共享一个共同的子任务,该任务将查找字符区域的位置。基于这些见解,我们构建了紧密耦合的单管道模型。通过使用检测输出作为识别器输入,并在检测阶段传播识别损失来形成此结构。字符得分图的使用有助于识别器更好地关注字符中心点,并且识别损失传播到检测器模块会增强字符区域的定位。此外,增强的共享阶段允许对任意形状的文本区域进行特征校正和边界定位。大量实验证明了公开提供的直线和曲线基准数据集的最新性能。

场景文本定位,包括文本检测和识别,由于在即时翻译,图像检索和场景解析中的各种应用,最近引起了广泛的关注。尽管现有的文本检测器和识别器在水平文本上很有效,但是在场景图像中发现弯曲的文本实例时,仍然是一个挑战。

为了在图像中发现弯曲的文本,一种经典的方法是将现有的检测和识别模型进行级联,以管理每一侧的文本实例。检测器[32、31、2]尝试通过应用复杂的后处理技术来捕获弯曲文本的几何属性,而识别器则应用多向编码[6]或采用修正模块[37、46、11]来增强弯曲文本上识别器的准确性。

随着深度学习的发展,已经进行了将检测器和识别器组合成可共同训练的端到端网络的研究[14,29]。拥有统一的模型不仅可以提高模型的尺寸效率和速度,还可以帮助模型学习共享功能,从而提高整体性能。为了从该属性中受益,还尝试使用端到端模型[32、34、10、44]处理弯曲文本实例。但是,大多数现有的工作仅采用RoI pooling 在检测和识别分支之间共享底层特征。在训练阶段,不是训练整个网络,而是使用检测和识别损失来训练共享特征层。

如图1所示,我们提出了一种新颖的端到端字符区域注意文本定位模型,称为CRAFTS。而不是将检测和识别模块隔离在两个单独的分支中,我们通过在模块之间建立互补连接来建立一个单一的pipline。我们观察到,使用基于注意力的解码器的识别器[1]和封装字符空间信息的检测器[2]共享一个公用的子任务,该子任务用于定位字符区域。通过将两个模块紧密集成,检测级的输出可帮助识别器更好地识别字符中心点,并且从识别器传播到检测器级的损失会增强字符区域的定位。而且,网络能够使在公共子任务中使用的特征表示的质量最大化。据我们所知,这是构建紧密耦合损失的首个端到端工作。 我们的贡献总结如下: (1)我们提出了一种可以检测和识别任意形状的文本的端到端网络。 (2)通过利用来自修正和识别模块上检测器的空间字符信息,我们在模块之间构造互补关系。 (3)通过在整个网络的所有特征中传播识别损失来建立单个pipline。 (4)我们在包含大量水平,弯曲和多语言文本的IC13,IC15,IC19-MLT和TotalText [20、19、33、7]数据集中实现了最先进的性能。

文本检测和识别方法 检测网络使用基于回归的[16、24、25、48]或基于分割的[9、31、43、45]方法来生成文本边界框。诸如[17,26,47]之类的一些最新方法将Mask-RCNN [13]作为基础网络,并通过采用多任务学习从回归和分割方法中获得了优势。就文本检测的单元而言,所有方法还可以依赖单词级别或字符级别[16,2]预测的使用进行子分类。

文本识别器通常采用基于CNN的特征提取器和基于RNN的序列生成器,并按其序列生成器进行分类。连接主义的时间分类(CTC)[35]和基于注意力的顺序解码器[21、36]。 检测模型提供了文本区域的信息,但是对于识别器而言,要提取任意形状的文本中的有用信息仍然是一个挑战。 为了帮助识别网络处理不规则文本,一些研究[36、28、37]利用 空间变换器网络(STN) [18]。而且,论文[11,46]通过迭代执行修正方法进一步扩展了STN的使用。这些研究表明,递归运行STN有助于识别器提取极端弯曲文本中的有用特征。在[27]中,提出了循环RoIWarp层, 在识别单个字符之前对其进行裁剪。这项工作证明,找到字符区域的任务与基于注意力的解码器中使用的注意力机制密切相关。

构造文本定位模型的一种方法是依次放置检测和识别网络。众所周知的两阶段结构将TextBox ++ [24]检测器和CRNN [35]识别器耦合在一起。简单来说,该方法取得了良好的效果。

端到端的使用基于RNN的识别器 EAA [14]和FOTS [29]是基于EAST检测器[49]的端到端模型。这两个网络之间的区别在于识别器。 FOTS模型使用CTC解码器[35],而EAA模型使用注意力解码器[36]。两项工作都实现了仿射变换层来合并共享功能。提出的仿射变换在水平文本上效果很好,但在处理任意形状的文本时显示出局限性。 TextNet [42]提出了一种在特征池化层中具有透视RoI变换的空间感知文本识别器, 网络保留RNN层以识别2D特征图中的文本序列,但是由于缺乏表现力的四边形,在检测弯曲文本时,网络仍然显示出局限性。

Qin等[34]提出了一种基于Mask-RCNN [13]的端到端网络。给定box proposals,从共享层合并特征,并使用ROI遮罩层过滤掉背景杂波。提出的方法通过确保注意力仅在文本区域中来提高其性能。Busta等提出了Deep TextSpotter [3]网络,并在E2E-MLT [4]中扩展了他们的工作。该网络由基于FPN的检测器和基于CTC的识别器组成。该模型以端到端的方式预测多种语言。

端到端的使用基于CNN的识别器 在处理任意形状的文本时,大多数基于CNN的模型在识别字符级文本都具有优势。 MaskTextSpotter [32]是使用分割方法识别文本的模型。尽管它在检测和识别单个字符方面具有优势, 但由于通常不会在公共数据集中提供字符级别的注释,因此很难训练网络。 CharNet [44]是另一种基于分割的方法,可以进行字符级预测。该模型以弱监督的方式进行训练,以克服缺乏字符级注释的问题。在训练期间,该方法执行迭代字符检测以创建伪ground-truths。

尽管基于分割的识别器已经取得了巨大的成功,但是当目标字符的数量增加时,该方法会受到影响。随着字符集数量的增加,基于分割的模型需要更多的输出通道,这增加了内存需求。journal版本的MaskTextSpotter [23]扩展了字符集以处理多种语言,但是作者添加了基于RNN的解码器,而不是使用他们最初提出的基于CNN的识别器。 基于分割的识别器的另一个限制是识别分支中缺少上下文信息。 由于缺少像RNN这样的顺序建模,在嘈杂的图像下,模型的准确性下降。

TextDragon [10]是另一种基于分割的方法,用于定位和识别文本实例。但是, 不能保证预测的字符段会覆盖单个字符区域。为了解决该问题,该模型合并了CTC来删除重叠字符。 该网络显示出良好的检测性能,但是由于缺少顺序建模而在识别器中显示出局限性。

由于CRAFT检测器[2]具有表示字符区域语义信息的能力,因此被选作基础网络。 CRAFT网络的输出表示字符区域以及它们之间的连接的中心概率。由于两个模块的目标是定位字符的中心位置,我们设想此字符居中信息可用于支持识别器中的注意模块。 在这项工作中,我们对原始的CRAFT模型进行了三处更改;骨干替换,连接表示和方向估计。

骨干置换 最近的研究表明,使用ResNet50可以捕获检测器和识别器定义的明确的特征表示[30,1]。因此,我们将骨干网络由VGG-16 [40]换成ResNet50 [15]。

连接表示 垂直文本在拉丁文本中并不常见,但是在东亚语言(例如中文,日语和韩语)中经常出现。在这项工作中,使用二进制中心线连接顺序字符区域。进行此改变的原因是,在垂直文本上使用原始的亲和力图经常会产生不适定的透视变换,从而生成无效的框坐标。为了生成 ground truth连接图,在相邻字符之间绘制一条粗细为t的线段。这里,t = max((d 1 + d 2)/ 2 *α,1),其中d 1和d 2是相邻字符盒的对角线长度,α是缩放系数。使用该方程式可使中心线的宽度与字符的大小成比例。我们在实现中将α设置为。

方向估计 重要的是获取文本框的正确方向,因为识别阶段需要定义明确的框坐标才能正确识别文本。为此,我们在检测阶段增加了两个通道的输出,通道用于预测字符沿x轴和y轴的角度。为了生成定向图的 ground truth.

共享阶段包括两个模块:文本纠正模块和字符区域注意力( character region attention: CRA)模块。为了纠正任意形状的文本区域,使用了薄板样条(thin-plate spline:TPS)[37]转换。受[46]的启发,我们的纠正模块结合了迭代式TPS,以更好地表示文本区域。通过有吸引力地更新控制点,可以改善图像中文本的弯曲几何形状。 通过实证研究,我们发现三个TPS迭代足以校正。

典型的TPS模块将单词图像作为输入,但是我们提供了字符区域图和连接图,因为它们封装了文本区域的几何信息。我们使用二十个控制点来紧密覆盖弯曲的文本区域。为了将这些控制点用作检测结果,将它们转换为原始输入图像坐标。我们可以选择执行2D多项式拟合以平滑边界多边形。迭代TPS和最终平滑多边形输出的示例如图4所示。

识别阶段的模块是根据[1]中报告的结果形成的。 识别阶段包含三个组件:特征提取,序列建模和预测。 由于特征提取模块采用高级语义特征作为输入,因此它比单独的识别器更轻便。

表1中显示了特征提取模块的详细架构。提取特征后,将双向LSTM应用于序列建模,然后基于注意力的解码器进行最终文本预测。

在每个时间步,基于注意力的识别器都会通过屏蔽对特征的注意力输出来解码文本信息。 尽管注意力模块在大多数情况下都能很好地工作,但是当注意点未对齐或消失时,它无法预测字符[5,14]。 图5显示了使用CRA模块的效果。 适当放置的注意点可以进行可靠的文本预测。

用于训练的最终损失L由检测损失和识别损失组成,取L = Ldet + Lreg。 识别损失的总体流程如图6所示。损失在识别阶段流经权重,并通过字符区域注意模块传播到检测阶段。 另一方面,检测损失被用作中间损失,因此使用检测和识别损失来更新检测阶段之前的权重。

English datasets IC13 [20]数据集由高分辨率图像组成,229张图像用于训练和233张图像用于测试。 矩形框用于注释单词级文本实例。 IC15 [20]包含1000个训练图像和500个测试图像。 四边形框用于注释单词级文本实例。 TotalText [7] 拥有1255个训练图像和300张测试图像。与IC13和IC15数据集不同,它包含弯曲的文本实例,并使用多边形点进行注释。

Multi-language dataset IC19 [33]数据集包含10,000个训练和10,000个测试图像。 数据集包含7种不同语言的文本,并使用四边形点进行注释。

我们联合训练CRAFTS模型中的检测器和识别器。为了训练检测阶段,我们遵循[2]中描述的弱监督训练方法。通过在每个图像中进行批随机采样的裁剪单词特征来计算识别损失。每个图像的最大单词数设置为16,以防止出现内存不足错误。检测器中的数据增强应用了诸如裁剪,旋转和颜色变化之类的技术。对于识别器来说,ground truth框的角点在框的较短长度的0%到10%之间的范围内受到干扰。

该模型首先在SynthText数据集[12]上进行了50k迭代训练,然后我们进一步在目标数据集上训练了网络。使用Adam优化器,并应用在线困难样本挖掘On-line Hard Negative Mining(OHEM) [39]来在检测损失中强制使用正负像素的1:3比例。微调模型时,SynthText数据集以1:5的比例混合。我们采用94个字符来覆盖字母,数字和特殊字符,对于多语言数据集则采用4267个字符。

水平数据集(IC13,IC15) 为了达到IC13基准,我们采用在SynthText数据集上训练的模型,并在IC13和IC19数据集进行微调。在;推理过程中,我们将输入的较长边调整为1280。 结果表明,与以前的最新技术相比,性能显着提高。

然后在IC15数据集上对在IC13数据集上训练的模型进行微调。在评估过程中,模型的输入大小设置为2560x1440。请注意,我们在没有通用词汇集的情况下执行通用评估。表2中列出了IC13和IC15数据集的定量结果。

使用热图来说明字符区域图和连接图,并且在HSV颜色空间中可视化了加权的像素角度值。 如图所示,网络成功定位了多边形区域并识别了弯曲文本区域中的字符。左上角的两个图显示成功识别了完全旋转和高度弯曲的文本实例。

由字符区域注意辅助的注意力 在本节中,我们将通过训练没有CRA的单独网络来研究字符区域注意(CRA)如何影响识别器的性能。

表5显示了在基准数据集上使用CRA的效果。没有CRA,我们观察到在所有数据集上性能均下降。特别是在远景数据集(IC15)和弯曲数据集(TotalText)上,我们观察到与水平数据集(IC13)相比,差距更大。这意味着在处理不规则文本时,送入字符注意力信息可以提高识别器的性能。(?表格中的实验数据是对远景文本更有效,不知道这个结论如何得出来的?)

方向估计的重要性 方向估计很重要,因为场景文本图像中有许多多方向文本。我们的逐像素平均方案对于识别器接收定义良好的特征非常有用。当不使用方向信息时,我们比较模型的结果。在IC15数据集上,性能从%下降到%(%),在TotalText数据集上,h-mean值从%下降到%(%)。 结果表明,使用正确的角度信息可以提高旋转文本的性能。

推理速度 由于推理速度随输入图像大小而变化,因此我们在不同的输入分辨率下测量FPS,每个分辨率的较长边分别为960、1280、1600和2560。测试结果得出的FPS分别为、、和。对于所有实验,我们使用Nvidia P40 GPU和Intel®Xeon®CPU。与基于VGG的CRAFT检测器的 FPS [2]相比,基于ResNet的CRAFTS网络在相同大小的输入上可获得更高的FPS。而且,直接使用来自修正模块的控制点可以减轻对多边形生成进行后期处理的需要。

粒度差异问题 我们假设 ground-truth与预测框之间的粒度差异导致IC15数据集的检测性能相对较低。 字符级分割方法倾向于基于空间和颜色提示来概括字符连接性,而不是捕获单词实例的全部特征。 因此,输出不遵循基准测试要求的框的注释样式。图9显示了IC15数据集中的失败案例,这证明了当我们观察到可接受的定性结果时,检测结果被标记为不正确。

在本文中,我们提出了一种将检测和识别模块紧密耦合的端到端可训练单管道模型。 共享阶段中的字符区域注意力充分利用了字符区域图,以帮助识别器纠正和更好地参与文本区域。 此外,我们设计了识别损失通过在检测阶段传播并增强了检测器的字符定位能力。 此外,共享阶段的修正模块可以对弯曲的文本进行精细定位,并且无需开发手工后期处理。 实验结果验证了CRAFTS在各种数据集上的最新性能。

论文:LipNet:END-TO-END SENTENCE-LEVEL LIPREADING 本人在对相关领域的内容进行调研时,由于缺乏指导,在中文网站上也很少见到有对Lipreading相关的文章进行详尽分析,因此也耗费了不少时间精力。这里对领域内的一篇Sentence Level的开山之作(文中自称)进行分析,介绍文章中的重点。在这篇文章之前,大多数Lipreading的工作集中在字母、单词、数字或者短语的识别上,具有一定的局限性。而这篇文章虽然使用的数据中的句式有限定,词汇量也比较小,但是不妨碍它是在语句的尺度上进行的识别,且取得了相当不错的成果。 首先介绍数据集。GRID数据集是一个Sentence-level的数据集,比较包含三万多条数据。每一个数据是一条视频,视频内容是一个人说出一条固定的句子,并对应一条文本标签,文本标签对每个单词的起始时间和终止时间都进行标注。句子的句式是进行了限制的,并不是具有逻辑性的自然语句,即:​也就是说,每一条语句都是由6个固定类型的单词组成,上标表示了数据集中这种单词类型的种类数量,比如​表示这个位置为一个颜色单词(如blue),而数据集中一共有4种颜色单词。 另外需要了解的是,数据集的视频一共有34个文件夹,对应了对34个不同的人所录制的视频。每一个文件夹包含上千个视频数据,都是对同一个人录制的。而在后期实验时,作者会采用两种不同的方式进行训练和测试:(1)用其中30个人的视频进行训练,而用另外4个人的视频进行测试,即Unseen Speakers;(2)从34个人的视频中,各随机抽取255个视频作为测试数据,其它的作为训练数据; 首先会按照先前在数据集部分的末尾所介绍分组方式将数据拆分为两种训练集和测试集。然后使用已有的面部识别检测器,将视频的每一帧都处理为​大小的仅包含嘴部的帧。最后再将每一帧进行标准化。 (1)分别使用常规的图像序列和水平翻转的图像序列进行训练; (2)由于数据集提供了每一个单词的起始和终止时间,因此可以使用每一个单词所对应的图像帧序列来训练模型; (3)随机删除或复制某些帧,概率设置为; 介绍完了数据的组织方式以后,大家也都知道了这是一个Seq2seq的问题,与语音识别的套路极其相似,因此Lipreading的套路很大程度上就是将CV的套路和机器翻译的套路进行整合。 这篇文章的模型结构也没什么特别的,文中的废话比较多,总结起来其实就是用3D卷积对图像帧进行特征提取,然后使用两层双向GRU作为Encoder-Decoder,输出一个预测值,最后再用全连接层输出预测的概率。总体上模型的结构并不复杂,也有一些可以改进的地方 。 此外,损失函数函数值得注意。本文使用的是CTC损失函数,这个损失函数是一个比较经典的用于语音识别相关问题的损失函数,避免了帧与字符进行对齐标注。具体地可以参考 这篇文章 。 指标WER和CER分别为word error rate 和 character error rate,即单词错误率和字符错误率,固然是越低越好。指标分为了两栏:Unseen Speakers和 Overlapped Speakers,对应于在数据集部分介绍的两种数据划分方式下的测试结果。可以看到,LipNet在GRID数据集上的各项指标都达到了当时的最好。后续的很多工作在GRID数据集上的WER已经来到,但是在例如LRS数据集上的表现,远无法达到GRID数据集上的效果,因为GRID数据集中的句式单一,且人脸正对着镜头,只能作为一项基础研究,Lipreading在自然场景下的sentence-level的识别,仍然有很长的路要走。 水平有限,欢迎大家批评指正。有问题可以共同探讨。

自然场景检测最新论文

最近,端到端场景文本识别已成为一个流行的研究主题,因为它具有全局优化的优点和在实际应用中的高可维护性。大多数方法试图开发各种感兴趣的区域(RoI)操作,以将检测部分和序列识别部分连接到两阶段的文本识别框架中。然而,在这样的框架中, 识别部分对检测到的结果高度敏感(例如,文本轮廓的紧凑性)。 为了解决这个问题,在本文中,我们提出了一种新颖的“Mask Attention Guided One-stage”文本识别框架,称为MANGO,在该框架中无需RoI操作就可以直接识别字符序列。具体而言:

值得注意的是,MANGO自有地适应于任意形状的文本识别,并且仅使用粗略的位置信息(例如矩形边界框)和文本注释就可以进行端到端的训练。实验结果表明,该方法在规则和不规则文本识别基准(即ICDAR 2013,ICDAR 2015,Total-Text和SCUT-CTW1500)上均达到了有竞争力甚至最新性能。

场景文本识别由于其各种实际应用而备受关注,例如发票/收据理解中的关键实体识别,电子商务系统中的产品名称识别以及智能运输系统中的车牌识别。传统的场景文字识别系统通常分三步进行:定位文字区域,从原始图像中裁剪文字区域并将其识别为字符序列。然而尽管这种文本识别模型带来了许多可考虑的问题,例如: (1)错误将在多个单独的任务之间累 (2)维护多个单独的模型的成本很高 (3)该模型难以适应各种应用程序。

因此,提出了许多工作以端到端的方式来最终优化文本识别过程。这些方法通常使用各种兴趣区域(RoI)操作以可微分的方式桥接文本检测和识别部分,从而形成了两阶段框架。粗略地说,早期的端到端方法将轴对齐的矩形RoI用作连接模块。这些方法处理不规则的(例如,透视图或弯曲的)文本实例能力有限,因为这种类型的RoI可能会带来背景或其他文本的干扰。为了解决这个问题,后来的方法(设计了一些形状自适应RoI机制来提取不规则物体。文本实例并将其校正为规则形状。

图1:传统的两阶段文本识别过程和提出的MANGO的图示。 图(a)显示了通过RoI操作连接检测和识别部分的两阶段文本识别策略。 图(b)是一种提出的单阶段文本识别方法,它可以直接输出最终的字符序列。

在两阶段方法中,识别部分高度依赖于定位结果,这就要求检测部分必须能够捕获准确的文本边界以消除背景干扰。因此,训练鲁棒的文本检测模型依赖于准确的检测注释,例如在不规则文本识别中使用的多边形或蒙版注释。自然地,标记这种注释是费力且昂贵的。另一方面,要确保紧紧封闭的文本区域(由检测注释进行监督)对于以下识别任务而言是最佳形式,这并不容易。例如,在图1(a)中,紧密的文本边界可能会擦除字符的边缘纹理并导致错误的结果。 通常,需要手动扩展这些严格的检测结果,以适应实际应用中的识别。 此外,在proposals之后执行带有非极大抑制(NMS)的复杂RoI操作也很耗时,尤其是对于任意形状的区域。尽管(Xing et )提出了一种单阶段采用字符分割策略的字符级别的识别框架, 但很难扩展到具有更多字符类别(例如汉字)的情况。 它还会丢失角色之间的关键上下文信息。

实际上,当人们阅读时,他们不需要描绘文本实例的准确轮廓。通过视觉注意力关注的粗略文本位置来识别文本实例就足够了。在这里,我们将场景文本识别重新考虑为注意力和阅读的问题,即,一次直接读出粗略注意的文本区域的文本内容。

在本文中,我们提出了一种名为MANGO的“Mask Attention Guided One stage”文本监视程序,称为MANGO,这是一种紧凑而强大的单阶段框架,可直接从图像中同时预测所有文本,而无需进行任何RoI操作。具体来说,我们引入了一个位置感知蒙版注意力(PMA)模块以在文本区域上生成空间注意力,该模块包含实例级蒙版注意力(IMA)部分和字符级蒙版注意力(CMA)部分。 IMA和CMA分别负责感知图像中文本和字符的位置。可以通过位置感知注意力谱直接提取文本实例的特征,而不必进行显式的裁剪操作,这尽可能保留了全局空间信息。 在这里,使用动态卷积将不同文本实例的特征映射到不同的特征谱通道(Wang等人,2020c),如图1(b)所示。之后,应用轻量级序列解码器一次批量生成字符序列特征。

请注意,MANGO可以仅使用粗略的位置信息(例如,矩形边界框,甚至是文本实例的中心点)进行端到端优化,还可以使用序列注释。 受益于PMA,该框架可以自适应地识别各种不规则文本,而无需任何纠正机制,并且还能够了解任意形状的文本的阅读顺序。

本文的主要贡献如下: (1)我们提出了一种名为MANGO的紧凑而强大的一阶段文本识别框架, 该框架可以以端到端的方式进行训练。 (2)我们开发了位置感知蒙版注意力模块,以将文本实例特征生成为一个batch,并与最终字符序列建立一对一的映射。 只能使用粗略的文本位置信息和文本注释来训练该模块。 (3)广泛的实验表明,我们的方法在规则和不规则文本基准上均获得了有竞争甚至最新的性能。

早期场景文本发现方法(Liao,Shi,and Bai 2018; Liao et ; Wang et )通常首先使用训练有素的检测器来定位每个文本,例如(Liao et ; Zhou et ; He et ; Ma et ; Xu et ; Baek et ),然后使用序列解码器识别裁剪后的文本区域(Shi et ; Shi,Bai和Yao 2017; Cheng et ; Zhan and Lu 2019; Luo,Jin and Sun 2019)。为了充分利用文本检测和文本识别之间的互补性,已经提出了一些工作以端到端的方式优化场景文本发现框架,其中使用了模块连接器(例如RoI Pooling(Ren等人,2015a))在(Li,Wang,and Shen 2017; Wang,Li,and Shen 2019)中,(He等人2018)中使用的RoI-Align和(Liu等人2018)中使用的RoI-Rotate的开发是为了文本检测和文本识别部分。请注意,这些方法无法发现任意形状的文本。 为了解决不规则问题,已经提出了许多最近的工作来设计各种自适应RoI操作以发现任意形状的文本。 Sun等人(2018年)采用了透视图RoI转换模块来纠正透视图文本,但是该策略仍然难以处理弯曲度较大的文本。 (Liao et )提出了受两阶段Mask-RCNN启发的mask textspotter,用于逐个字符地检测任意形状的文本,但是这种方法会丢失字符的上下文信息,并且需要字符级位置注释。 Qin等人(2019)直接采用Mask-RCNN和基于注意力的文本识别器,该模型使用RoI-Masking模块在识别之前消除了背景干扰。 (Feng et )将文本实例视为一组特征块,并采用RoI-Slide操作来重建直线特征图。 (Qiao et al。2020)和(Wang et al。2020a)都检测到文本周围的关键点,并应用薄板样条变换(Bookstein 1989)纠正不规则实例。为了获得弯曲文本的平滑特征(Liu et ),使用Bezier曲线表示文本实例的上下边界,并提出了Bezier-Align操作以获取校正后的特征图。 上述方法在两阶段框架中实现了端到端场景文本点,其中需要设计基于RoI的连接器(例如RoI-Align,RoI-Slide和Bezier-Align等),以实现以下目的:明确裁剪特征图。 在两阶段框架中,性能很大程度上取决于RoI操作获得的文本边界精度。但是,这些复杂的多边形注释通常很昂贵,并且并不总是适合识别部分,如前所述。

在一般的对象定位领域,许多最新进展证明了在对象检测中研究的一阶段框架的效率和有效性(Redmon等人2016; Liu等人2016; Lin等人2017b; Tian等人2019;段等人(2019)或实例分割(Wang等人2019b; Tian,Shen和Chen 2020; Wang等人2020c; Xie等人2020; Chen等人2020)。但是,场景文本发现是一项更具挑战性的任务,因为它涉及序列识别问题而不是单个对象分类。这是因为场景文本具有许多特殊特征:任意形状(例如,曲线,倾斜或透视图等),数百万个字符组合,甚至是不受限制的阅读顺序(例如,从右到左)。最近,(Xing et )提出了一种通过直接分割单个字符的一种舞台场景文本识别方法。但是,它丢失了各个字符之间的序列上下文信息,并且很难传递给更多的字符类。据我们所知,以前没有工作可以在一个阶段的框架中处理序列级别的场景文本发现任务。

图2:MANGO的工作流程。 我们以S = 6为例。 将输入特征输入到位置感知蒙版注意力模块中,以将实例/字符的不同特征映射到不同通道。 识别器最终一次全部输出字符序列。 Centerline Segmentation分支用于生成所有文本实例的粗略位置。 前缀“ R-”和“ C-”分别表示网格的行和列。

我们提出了一个名为MANGO的单阶段场景文本查找器,如图2所示。其深层特征是通过ResNet-50(He等人,2016)和特征金字塔网络(FPN)(Lin等人,2017a)的主干提取的。 然后将生成的特征图馈送到三个可学习的模块中: (1)用于学习单个文本实例的位置感知蒙版注意力(PMA)模块,其中包括实例级蒙版注意力( IMA)子模块和字符级掩码注意力(CMA)子模块。 (2)识别器用于将注意力实例特征解码为字符序列。 (3)全局文本中心线分割模块,用于在推理阶段提供粗略的文本位置信息。

单阶段的文本识别问题可以视为原始图像中的纯文本识别任务。关键步骤是在文本实例到最终字符序列之间以固定顺序建立直接的一对一映射。在这里,我们开发了位置感知注意力(PMA)模块,以便为接下来的序列解码模块一次捕获所有表示文本的特征。受(Wang等人2019b)中使用的网格映射策略的启发,我们发现可以将不同的实例映射到不同的特定通道中,并实现实例到特征的映射。也就是说,我们首先将输入图像划分为S×S的网格。然后,通过提出的PMA模块将网格周围的信息映射到特征图的特定通道中。

具体来说,我们将特征提取后获得的特征图表示为x∈R C×H×W ,其中C,H和W分别表示为特征图的通道数量,宽度和高度。然后我们将特征图x送入PMA(包括IMA和CMA模块)模块,以生成文本实例的特征表示(如下所述)。

Instance-level Mask Attention MA负责生成实例级注意力蒙版遮罩,并将不同实例的特征分配给不同的特征图通道。 它是通过在切片网格上操作一组动态卷积内核(Wang等人2020c)来实现的,表示为G S×S×C 。卷积核大小设置为1×1。

因此可以通过将这些卷积核应用于原始特征图来生成实例级注意力掩码:

Character-level Mask Attention 正如许多工作 (Chenget等人2017; Xing等人2019)所表明的那样, 字符级位置信息可以帮助提高识别性能。 这激励我们设计全局字符级注意力子模块, 以为后续的识别任务提供细粒度的特征。

如图2所示,CMA首先将原始特征图x和实例级注意力蒙版x ins 连接在一起,然后是两个卷积层(卷积核大小= 3×3)遵循下式来预测字符级注意力蒙版:

由于将不同文本实例的注意蒙版分配给不同的特征通道,因此我们可以将文本实例打包为一批。 一个简单的想法是进行(Wang等人2020b)中使用的注意力融合操作,以生成批处理的连续特征x seq ,即

该模型现在能够分别输出S 2 网格的所有预测序列。 但是,如果图像中有两个以上的文本实例,我们仍然需要指出哪个网格对应于那些识别结果。

由于我们的方法不依赖准确的边界信息,因此我们可以应用任何文本检测策略(例如RPN(Ren等人2015b)和YOLO(Redmon等人。 2016)),以获取文本实例的粗略的几何信息。 考虑到场景文本可能是任意形状的,我们遵循大多数基于分割的文本检测方法(Long等人2018; Wang等人2019a)来学习单个文本实例的全局文本中心线区域分割(或缩小ground truth)。

IMA和CMA模块都用于使网络聚焦于特定的实例和字符位置,这在理论上只能通过最后的识别部分来学习。 但是,在复杂的场景文本场景中,如果没有位置信息的辅助,网络可能难以收敛。 但是,我们发现,如果模型已经在合成数据集上进行了预先的字符级监督,则可以轻松转移模型。 因此,可以分两步对模型进行优化。

首先,我们可以将IMA和CMA的学习视为纯分割任务。 结合中心线区域分割,所有分割任务都使用二进制Dice系数损失进行训练(Milletari,Navab和Ahmadi 2016),而识别任务仅使用交叉熵损失。 全局优化可以写成

请注意,预训练步骤实际上是一次性的任务,然后将主要学习CMA和IMA以适应该识别任务。 与以前需要平衡检测和识别权重的方法相比,MANGO的端到端结果主要由最终识别任务监督。

在推断阶段,网络输出一批(S×S)概率矩阵(L×M)。 根据中心线分割任务的预测,我们可以确定哪些网格应视为有效。 我们首先进行“广度优先搜索”(BFS),以找到各个相连的区域。 在此过程中,可以过滤许多类似文本的纹理。 由于每个连接区域可能与多个网格相交,因此我们采用字符加权投票策略来生成最终的字符串,如图3所示。

具体来说,我们计算连接区域i与网格j之间的连接率o i,j 作为每个字符的权重。 对于实例i的第k个字符,其字符加权投票结果通过

我们列出了本文使用的数据集如下:训练数据。我们使用SynthText 800k(Gupta,Vedaldi和Zisserman 2016)作为预训练数据集。利用实例级注释和字符级注释对PMA模块进行预训练。在微调阶段,我们旨在获得一个支持常规和非常规场景文本读取的通用文本点。在这里,我们构建了一个用于微调的通用数据集,其中包括来自Curved SynthText的150k图像(Liu等人2020),从COCO-Text过滤的13k图像(Veitet等人2016),从ICDAR-MLT过滤的7k图像(Nayefet等人2019)以及ICDAR2013(Karatzas等人2013),ICDAR2015(Karatzas等人2015)和Total-Text(Ch'ng and Chan 2017)中的所有训练图像。请注意,这里我们仅使用实例级别的注释来训练网络。测试数据集。我们在两个标准文本点标基准ICDAR2013(Karatzas等人2013)(IC13)和ICDAR2015(Karatzas等人2015)(IC15)中评估了我们的方法,其中主要包含水平和透视文本,以及两个不规则的基准Total-Text(Ch'ng和Chan 2017)和SCUT-CTW1500(Liu等人2019)(CTW1500),其中包含许多弯曲文本。车牌识别数据集CCPD中我们方法的能力(Xuet )。

所有实验均在Pytorch中使用8×32 GB-Tesla-V100 GPU进行。网络详细信息。特征提取器使用ResNet-50(He等人2016)和FPN(Lin等人2017a)从不同的特征图中获取融合特征水平。这里,C = 256的(4×)特征图用于执行后续的训练和测试任务.Lis设置为25以覆盖大多数场景文本单词。 BiLSTM模块有256个隐藏单元,训练详细信息,所有模型均由SGDoptimizer进行训练,批处理大小= 2,动量= 和重量衰减= 1×10−4。在预训练阶段,以10个周期的初始学习比率1×10-2训练网络。每3个周期将学习率除以10.在微调阶段,初始学习率设置为1×10-3。为了平衡每批中的合成图像和真实图像的数量,我们将Curved SynthText数据集与其他真实数据集的采样比率保持为1:1。微调过程持续250k次迭代,其中学习率在120k迭代和200k迭代时除以10.我们还对所有训练过程进行数据扩充,包括1)将输入图像的较长边随机缩放为长度在[720,1800]范围内,2)将图像随机旋转[-15°,15°]范围内的角度,以及3)对输入图像应用随机的亮度,抖动和对比度。在不同的数据集中,我们将IC15的评估值设置为S = 60,将IC13,Total-Text和CTW1500的评估值设置为S = 40。我们将所有权重参数简单地设置为λ1=λ2=λ3=λ= 1。测试细节。由于输入图像的尺寸是重要的重要影响性能,因此我们将报告不同输入比例下的性能,即保持原始比例和将图像的较长边调整为固定值。所有图像都在单一尺度上进行测试。由于当前的实现方式仅提供了粗略的定位,因此,我们通过考虑IoU> 的所有检测结果,修改(Wang,Babenko和Belongie 2011)的端到端评估指标。在这种情况下,由于某些低等级的建议匹配而导致精度下降,先前方法的性能甚至会下降。

常规文本的评估我们首先根据常规评估指标(Karatzas等,2015)对IC13和IC15的方法进行评估,然后基于三种不同的lexi-cons(强)对两个评估项目( 端到端''和 单词斑点'')进行评估,弱和通用)。表1显示了评估结果。与使用常规词典评估的先前方法相比,我们的方法在“通用”项目上获得了最佳结果(除了IC15的端到端通用结果之外),并在其余评估项目上获得了竞争结果(强”和“弱”)。与最近使用特定词典的最新MaskMaskTextSpotter(Liao et )相比,我们的方法在所有评估项目上均明显优于该方法。尽管推理速度很高,但FOTS的FPS最高(帧数第二),它无法处理不正常的情况。与基于不规则的方法相比,我们的方法获得了最高的FPS。不规则文本的评估我们在Total-Text上测试了我们的方法,如表2所示。我们发现我们的方法比最先进的方法高出%和 “无”和“满”指标中的百分比。请注意,即使没有明确的纠正机制,我们的模型也只能在识别监督的驱动下才能很好地处理不规则文本。尽管在1280的测试规模下,推理速度约为ABCNet的1/2,但我们的方法取得了显着的性能提升。我们还在CTW1500上评估了我们的方法。报告端到端结果的作品很少,因为它主要包含行级文本注释。为了适应这种情况,我们在CTW1500的训练集上对检测分支进行了重新训练,以学习线级中心线分割,并确定主干和其他分支的权重。请注意,识别不会受到影响,仍然会输出单词级序列。最终结果将根据推断的连接区域简单地从左到右连接起来。汉字设置为NOT CARE。结果如表3所示。我们发现,在“无”和“满”度量标准下,我们的方法明显比以前的提升了%和%。因此,我们相信,如果只有行级注解的数据足够多,我们的模型就可以很好地适应这种情况。

图4可视化了IC15和Total-Text上的端到端文本发现结果。 我们详细显示了字符投票之前每个正网格(oi,j> )的预测结果。 我们看到我们的模型可以正确地专注于相应的位置并学习任意形状(例如弯曲或垂直)文本实例的字符序列的复杂读取顺序。 采取字符投票策略后,将生成具有最高置信度的单词。我们还用可视化的CMA演示了CTW1500的一些结果,如图5所示。请注意,我们仅根据数据集的位置微调线级分割部分 标签,同时固定其余部分。在这里,我们通过将所有网格的注意图覆盖在相同的字符位置(k)上来可视化CMA的特征图:

网格编号的消除网格编号S2是影响最终结果的关键参数。如果太小,则占据相同网格的文本太多。否则,太大的S会导致更多的计算成本。在这里,我们进行实验以找到不同数据集的S的可行值。从表4中,我们发现IC13和TotalText的bestS均为40。 IC15的值为60。这是因为IC15包含更多密集和较小的实例。总而言之,当S> = 40时,总体性能随沙的增加而稳定。当然,FPS随S的增加而略有下降。信息。为了证明这一点,我们还进行了实验,以矩形边框的形式转移所有本地化注释。我们仅采用RPN头作为检测分支。表5显示了IC15和Total-Text的结果。即使进行严格的位置监控,MANGO的性能也只能降低0%到3%,并且可以与最新技术相比。请注意,粗略位置仅用于网格选择,因此可以根据特定任务的要求尽可能简化它。

为了证明模型的泛化能力,我们进行了实验以评估CCPD公共数据集上的端到端车牌识别结果(Xu et )。为了公平起见,我们遵循相同的实验设置,并使用带有250k图像的数据集的初始版本。 CCPD-Base数据集分为两个相等的部分:用于训练的100k样本和用于测试的100k样本。有6个复杂的测试集(包括DB,FN,旋转,倾斜,天气和挑战)用于评估算法的鲁棒性,总共有50k张图像。由于CCPD中的每个图像仅包含一个板,因此可以通过删除来进一步简化我们的模型检测分支直接预测最终字符序列。因此,网格数减少为S = 1,最大序列长度设置为L =8。我们直接对模型进行微调(已通过SynthText进行了预训练)在CCPD训练集上仅使用序列级注释,然后评估上述七个测试数据集的最终识别准确性。测试阶段是对尺寸为720×1160的原始图像执行的。 表6显示了端到端识别结果。尽管所提出的方法不是为车牌识别任务设计的,但仍然可以轻松地转移到这种情况下。我们看到,提出的模型在7个测试集中的5个中优于以前的方法,并达到了最高的平均精度。图6显示了CCPD测试集的一些可视化结果。故障样本主要来自图像太模糊而无法识别的情况。该实验表明,在许多情况下,只有一个文本实例(例如,工业印刷识别或仪表拨盘识别),可以使用良好的端到端模型无需检测注释即可获得。

在本文中,我们提出了一种名为MANGO的新颖的单阶段场景文本查找器。 该模型删除了RoI操作,并设计了位置感知注意模块来粗略定位文本序列。 之后,应用轻量级序列解码器以将所有最终字符序列成批获取。 实验表明,我们的方法可以在流行基准上获得具有竞争力的,甚至最先进的结果。

(该分享持续更新中...) 这篇论文主要有三个贡献点: 目前,物体检测、语义分割等技术都是集中在如何在图片上检测出物体,但是忽略了物体与物体之间的关系。一项最近的工作提出了用图(场景图)来代表一个场景。场景图是图像的可解释的结构化表示,可以支持更高级别的视觉智能任务,如captioning。 将每一对节点(对象)视为潜在的边(关系)的自然方法本质上是对全连通图的推理,这种方法在建模上下文关系时通常是有效的,但对对象数量的缩放效果很差(二次),很快就变得不切实际。嘴朴素的修正方法是采用随机采样,虽然它是efficient,但不是effective,因为对象之间的相互作用的分布远远不是随机的。 作者的解决办法: 图1.给一张图片,模型从图片中抽取出objects(a), 所有节点考虑可能存在的边(b),通过一个医学系的方法‘relatedness’裁去不可能发关系,从而产生更稀疏的候选图结构(c)。最后,利用aGCN去集成全局信息并且更新物体节点和关系的标签(d) 在这项工作中,我们提出了一个新的框架,Graph R-CNN,它通过两种机制有效地利用对象关系规则来智能地稀疏化和推理候选场景图。我们的模型可以分解为三个逻辑阶段:1)对象节点提取,2)关系边缘剪枝,3)图上下文集成,如图1所示。 在对象节点提取阶段,我们使用了一个标准的对象检测的pipeline(faster rcnn)。这就产生了一组localized object regions,如图1b所示。我们将在剩下的pipeline中引入两个重要的新特性,以合并上面讨论的对象关系中的真实世界的规则性。首先,我们介绍了一个关系建议网络(RePN),该网络能够有效地计算对象对之间的关联分数,这些分数被用来智能地修剪不太可能的场景图连接(与之前工作中的随机修剪不同),剪枝后的稀疏图如图1c所示。其次,给出了稀疏连接的候选场景图,我们应用了一个注意图卷积网络(aGCN)来在整个图中传播higher-order上下文——更新每个对象及其基于其邻居的关系表示。与现有的工作相比,我们预测每个节点的边attention,使我们的方法能够学习调节不可靠或不太可能的边缘之间的信息流。我们在图1d中显示了细化的图形标签和边缘attention(与边缘宽度成比例)。 现有对于场景图生成的指标是基于召回⟨主题、谓词、对象⟩三元组或给定ground truth的object localizations的对象和谓词。为了揭示这些度量标准存在的问题,考虑一个方法,该方法将图1a中的boy误认为是man,但在其他方面识别出他是1)站在消防栓后面,2)靠近一辆汽车,3)穿着一件毛衣。在基于三元组的度量标准下,这个小错误(boy vs man)将被严重惩罚,尽管大多数boy的关系被正确识别。尽管提供ground-truth区域的度量方法通过严格关注关系预测来回避这个问题,但是它不能准确地反映整个场景图生成系统的测试时性能。 为了解决这种不匹配,我们引入了一种新的评估度量(SGGen+),它更全面地评估场景图生成的性能,包括对象、属性(如果有的话)和关系。我们提出了度量SGGen +计算总的recall对于独立实体(对象和谓词),pair 实体⟨对象,属性⟩(如果有的话),和三元组实体⟨主题、谓词、对象⟩。我们在这个新的度量下报告现有方法的结果,发现我们的方法也显著地优于最先进的方法。更重要的是,这个新的度量为生成的场景图和真实场景图之间的相似性提供了一个更鲁棒、更全面的度量。 具体来说,本工作通过引入一种新的模型(graph R-CNN)来解决场景图生成问题,该模型可以利用对象关系的规律性,并提出了一种更全面的场景图生成评价指标(SGGen+)。我们将我们的模型与现有的标准度量方法进行基准测试,而这个新度量方法的性能优于现有方法。 利用上下文来提高场景理解的想法在计算机视觉中有着悠久的历史[16,27,28,30]。最近,Johnson等人受到图形界研究的表示方法的启发,提出了从图像中提取场景图的问题,这将对象检测的任务[6,7,22,31,32]概括为也检测对象的关系和属性。 已经提出了许多方法来检测对象及其关系。尽管这些工作中的大多数指出,对场景图中二次关系的推理是棘手的,但每个都采用了启发式方法,如随机抽样来解决这个问题。我们的工作是第一个引入一个可训练的关系建议网络(RePN),它学会了在不牺牲efficacy的情况下从图中删除不可能的关系边缘。RePN提供了高质量的候选关系,我们发现它提高了场景图生成的整体性能。 大多数场景图生成方法还包括上下文传播和对候选场景图进行推理的机制,以细化最终的标记。在[40]中,Xu等人将问题分解为两个子图,一个用于对象,另一个用于关系,并执行消息传递。类似地,在[17]中,作者提出了两种消息传递策略(并行顺序),用于在对象和关系之间传播信息。Dai等人将场景图生成过程建模为条件随机场(CRF)的推理。Newell等人提出直接从图像像素中生成场景图,而不需要使用基于关联图嵌入的对象检测器。在我们的工作中,我们开发了一种新的注意图卷积网络(aGCN)来更新节点和关系表示,通过在候选场景图的节点之间传播上下文来操作视觉和语义特征。虽然在功能上类似于上述基于消息传递的方法,但aGCN是高效的,可以学习将注意力放在可靠的边缘,并减弱不太可能的影响。 以往的许多方法都注意到在场景图生成过程中具有很强的规律性,从而激发了我们的方法。在[23]中,Lu等人整合了语言中的语义先验,以改进对对象之间有意义关系的检测。同样,Li等人[18]证明了region caption也可以为场景图生成提供有用的上下文。与我们的动机最相关的是,Zeller等人将motifs的概念(即经常出现的图结构)形式化。并在VG数据集[14]中检测它们的出现的概率。作者还提出了一个令人惊讶的强基线,它直接使用频率先验来明确地综合图结构中的规律来预测关系。 我们的关系建议网络(Relationship Proposal Network, RePN)受到了RPN的启发,与用于对象检测的faster R-CNN[32]的区域建议网络(region Proposal Network, RPN)紧密相关。我们的RePN在本质上也类似于最近提出的关系建议网络(Rel-PN)[45]。这些方法之间有许多细微的差别。Rel-PN模型独立地预测主题、对象和谓词的建议,然后重新对所有有效的三元组进行评分,而我们的RePN根据对象生成关系,允许它学习对象对关系的偏差。此外,他们的方法是类无关的,并没有用于场景图生成。 GCNs最初是在[13]的半监督学习环境中提出的。GCNs将图数据上的复杂计算分解为一系列局部化操作(通常只涉及相邻节点),用于每个节点的每个时间步。在计算之前,结构和边缘强度通常是固定的。为了完整起见,我们注意到即将出版的出版物[36]同时独立地开发了一个类似的GCN注意机制(如aGCN),并在其他(非计算机视觉)上下文中显示了它的有效性。 在这项工作中,我们将场景图建模为包含图像区域、关系及其标签的图。 代表image, 代表nodes集合(一个node对应一个localized object region), 代表物体间的关系, 分别代表object和relationship的labels。因此,我们的目标是为 建模,在我们的工作中,我们把场景图的生成分解为三部分: 将图的构造(节点和边)与图的标注分离开来。这个因式分解背后的直觉很简单。首先,object region proposal 通常使用现成的对象检测系统(如faster rcnn[32])进行建模,以生成候选区域。值得注意的是,现有的方法通常将第二个关系建议项 建模为顶点 之间潜在边的均匀随机抽样。相反,我们提出了一个关系建议网络(RePN)来直接建模 ——使我们的方法成为第一个允许学习整个生成过程端到端。最后,图标记过程 通常被视为迭代求精过程。模型的pipeline如图2所示:每一个object proposal 都与一个空间区域 , 一个合并的特征向量 , 一个初始化估计标签分布 over 相关联。我们将对于所有n个proposals的向量集合表示为矩阵 以及 Relation Proposal Network 给定上一步提出的n个对象节点,它们之间可能有 个连接;然而,正如前面所讨论的,由于真实对象交互中的规则性,大多数对象对不太可能有关系。为了对这些规律进行建模,我们引入了一个关系建议网络(RePN),该网络能够有效地估计对象对之间的关联性。通过对不太可能关系的边缘进行剪枝,可以有效地稀疏化候选场景图,保留可能的边缘,抑制不太可能的边缘带来的噪声。 在这篇论文中,我们利用估计的类别分布( )来推断关联性——本质上是学习软类别关系的先验。这种选择与我们的直觉一致,即与其他类相比,某些类相对不太可能交互。具体,给定初始对象分类分布 ,我们给所有的 有向对 评分, 计算 时的相关性,其中 是一个习得的相关性对函数。 的一个直接实现可以将连接[p^o_i, p^o_j]作为输入传递给一个多层感知器,该感知器输出分数。然而,考虑到对象对的平方数,这种方法将消耗大量的内存和计算。为了避免这种情况,我们考虑一个非对称的内核函数: 分别代表在关系中主语和宾语对映射函数。这个分解使得,仅使用 的两个投影过程,然后执行一次矩阵乘法就能获得分数矩阵 。对于 和 ,我们使用两个多层感知器(mlp)与相同的架构(但不同的参数)。我们还对分数矩阵S进行了sigmoid操作,使得每一个元素都为0~1之间。 在获得分数矩阵后,我们将其降序排序,然后选择前K对。然后,我们使用非最大抑制(NMS)来过滤出与其他对象有明显重叠的对象对。每个关系都有一对边界框,组合顺序很重要。我们计算两个对象对 and 之间对重叠: 计算两个box交集的区域, 计算并集区域。剩余的m个对象对被认为是具有意义关系E的候选对象。利用E,我们得到了一个图 ,它比原来的全连通图稀疏得多。随着图的边的提出,我们还通过从每个对象对的联合框中提取特征,得到所有m个关系的可视化表示 。 为了整合由图结构提供的上下文信息,我们提出了一个注意图卷积网络(aGCN)。在描述我们提出的aGCN之前,让我们简要回顾一下“普通的”GCN,其中每个节点 都有一个表示 如在[13]中提出的那样。简单,目标节点图中,相邻节点的表示 首先通过学习改变线性变换矩阵 .然后,这些转换表示与预先确定的权值α聚集,紧随其后的是一个非线性函数σ(ReLU [25])。这种分层传播可以写成: 或者我们可以把节点整合进一个矩阵中,就可以得到:与i不相邻的节点设定为0,并且设定αii为1。在传统的GCN中,图中的连接是已知并且系数向量αi是基于对称规范化邻接矩阵的特性预设的。 在这篇论文中,我们将传统的GCN拓展了attention版本,通过调节α。为了能够从节点features预测attention,我们通过一个拼接的节点feature学习了一个两层的MLP,并且对得到的分数进行一次softmax。对于节点i的attention是:and 是习得参数,[·, ·] 是拼接操作。通过定义,我们设定 and 。由于注意力机制是节点特征的函数,每次迭代都会导致注意力的改变,从而影响后续的迭代。 回想一下,在前面的小节中,我们有一组N个对象区域和m个关系。在此基础上,我们构造了一个图G,其中节点对应于对象和关系建议。我们在关系节点及其关联对象之间插入边。我们还在所有对象节点之间直接添加了跳转连接边。这些连接允许信息直接在对象节点之间流动。最近的研究表明,对目标相关性进行推理可以提高检测的性能。我们将aGCN应用于此图,基于全局上下文更新对象和关系表示。 注意到我们的图捕获到不同类型到连接( ↔ relationship, relationship ↔ subject and object ↔ object)。此外,每个连接之间的信息流可能是不对称的(the 信息量 of subject on relationship might be quite different from relationship to subject)。我们学习了每种类型和顺序的不同转换——将节点类型a到节点类型b的线性转换表示为 ,其中s=subject、o=objects和r=relationships。Object node的representation的更新公式如下(object features为 , relationship features为 ):with and similarly for relationship nodes as: 一个开放的选择是如何初始化object and relationship node represenstions ,它可能被设置为任何intermediate feature representations,甚至是对应类标签的pre-softmax输出。在实践中,我们同时运行可视化的和语义化的aGCN计算——一个具有可视化的特性,另一个使用pre-softmax输出。通过这种方式,我们既可以推断出较低层的视觉细节,也可以推断出较高级别的语义共现(即汽车轮子)。进一步地,我们把语义aGCN的注意力放在视觉aGCN上——基于视觉线索有效地调节语义信息流。这也加强了两个图中表示的真实对象和关系以相同的方式与其他对象交互。 Loss Function 在Graph R-CNN,我们把场景图生成过程分解成三个子过程: 。在训练阶段,这些子过程都是使用监督训练。对于 ,我们用RPN相同的损失(binary cross entropy loss on proposals,regression loss for anchors)。对于 ,我们使用另一个binary cross entropy loss on the relation proposals。对于最后的场景图生成 ,两个muti-class cross entropy losses是被用于object classification and predicate classification。 场景图生成是一个结构化的图上预测问题,如何正确、有效地对预测进行评价是当前场景图生成研究中尚未解决的问题。我们注意到图论[5]对基于最小图编辑距离的图相似度进行了深入的研究;然而,计算准确的解决方案是np完全和ap近似的APX-hard[20]。 以前的工作通过在[40]中引入一个简单的基于三元组回归的度量来评估场景图的生成,从而绕过了这些问题。根据这个指标,我们将称之为SGGen, the ground truth of 场景图表示为一组通过精确匹配计算。也就是说,在生成的场景图中,如果三个元素都被正确地标记,并且object和subject nodes都被正确地定位(例如,边界框IoU > )。虽然计算简单,但这种度量导致了一些不直观的相似度概念,如图3所示。 SGGen+的计算公式: 是一个计数操作, 是正确被定位和识别的物体节点数; 是正确谓词的数目。由于谓词的定位取决于subject和object的正确定位,所以只有在主语和宾语都正确定位并且正确识别谓词的情况下,我们才会将其算作一个。 是针对三元组的,和SGGen一样。N是ground真值图中的条目数(对象、谓词和关系的总数)。

自然场景文字检测研究进展论文

1、图像输入、预处理:图像输入:对于不同的图像格式,有着不同的存储格式,不同的压缩方式。预处理:主要包括二值化,噪声去除,倾斜较正等2、二值化:对摄像头拍摄的图片,大多数是彩色图像,彩色图像所含信息量巨大,对于图片的内容,我们可以简单的分为前景与背景,为了让计算机更快的,更好的识别文字,我们需要先对彩色图进行处理,使图片只前景信息与背景信息,可以简单的定义前景信息为黑色,背景信息为白色,这就是二值化图了。3、噪声去除:对于不同的文档,我们对燥声的定义可以不同,根据燥声的特征进行去燥,就叫做噪声去除4、倾斜较正:由于一般用户,在拍照文档时,都比较随意,因此拍照出来的图片不可避免的产生倾斜,这就需要文字识别软件进行较正。版面分析:5、将文档图片分段落,分行的过程就叫做版面分析,由于实际文档的多样性,复杂性,因此,目前还没有一个固定的,最优的切割模型。6、字符切割:由于拍照条件的限制,经常造成字符粘连,断笔,因此极大限制了识别系统的性能,这就需要文字识别软件有字符切割功能。7、字符识别:这一研究,已经是很早的事情了,比较早有模板匹配,后来以特征提取为主,由于文字的位移,笔画的粗细,断笔,粘连,旋转等因素的影响,极大影响特征的提取的难度。8、版面恢复:人们希望识别后的文字,仍然像原文档图片那样排列着,段落不变,位置不变,顺序不变,的输出到word文档,pdf文档等,这一过程就叫做版面恢复。9、后处理、校对:根据特定的语言上下文的关系,对识别结果进行较正,就是后处理。开发一个OCR文字识别软件[2]系统,其目的很简单,只是要把影像作一个转换,使影像内的图形继续保存、有表格则表格内资料及影像内的文字,一律变成计算机文字,使能达到影像资料的储存量减少、识别出的文字可再使用及分析,当然也可节省因键盘输入的人力与时间。从影像到结果输出,须经过影像输入、影像前处理、文字特征抽取、比对识别、最后经人工校正将认错的文字更正,将结果输出。

用的是知网,抄袭之后最后修改一下,比如改下表达方式,知网系统计算标准详细说明:1.看了一下这个系统的介绍,有个疑问,这套系统对于文字复制鉴别还是不错的,但对于其他方面的内容呢,比如数据,图表,能检出来吗?检不出来的话不还是没什么用吗?学术不端的各种行为中,文字复制是最为普遍和严重的,目前本检测系统对文字复制的检测已经达到相当高的水平,对于图表、公式、数据的抄袭和篡改等行为的检测,目前正在研发当中,且取得了比较大的进展,欢迎各位继续关注本检测系统的进展并多提批评性及建设性意见和建议。 2.按照这个系统39%以下的都是显示黄色,那么是否意味着在可容忍的限度内呢?最近看到对上海大学某教师的国家社科基金课题被撤消的消息,原因是其发表的两篇论文有抄袭行为,分别占到25%和30%. 请明示超过多少算是警戒线?百分比只是描述检测文献中重合文字所占的比例大小程度,并不是指该文献的抄袭严重程度。只能这么说,百分比越大,重合字数越多,存在抄袭的可能性越大。是否属于抄袭及抄袭的严重程度需由专家审查后决定。 3.如何防止学位论文学术不端行为检测系统成为个人报复的平台?这也是我们在认真考虑的事情,目前这套检测系统还只是在机构一级用户使用。我们制定了一套严格的管理流程。同时,在技术上,我们也采取了多种手段来最大可能的防止恶意行为,包括一系列严格的身份认证,日志记录等。 4.最小检测单位是句子,那么在每句话里改动一两个字就检测不出来了么?我们对句子也有相应的处理,有一个句子相似性的算法。并不是句子完全一样才判断为相同。句子有句子级的相似算法,段落有段落级的相似算法,计算一篇文献,一段话是否与其他文献文字相似,是在此基础上综合得出的。 5.如果是从相关书籍上摘下来的原话,但是此话已经被数据库中的相关文献也抄了进去,也就是说前面的文章也从相关书籍上摘了相同的话,但是我的论文中标注的这段话来自相关的书籍,这个算不算学术抄袭?检测系统不下结论,是不是抄袭最后还有人工审查这一关,所以,如果是您描述的这种情况,专家会有相应判断。我们的系统只是提供各种线索和依据,让人能够快速掌握检测文献的信息。6.知网检测系统的权威性?学术不端文献检测系统并不下结论,即检测系统并不对检测文献定性,只是将检测文献中与其他已发表文献中的雷同部分陈列出来,列出客观事实,而这篇检测文献是否属于学术不端,需专家做最后的审查确认。 一篇论文的抄袭怎么才会被检测出来?知网论文检测的条件是连续13个字相似或抄袭都会被红字标注,但是必须满足3里面的前提条件:即你所引用或抄袭的A文献文字总和在你的各个检测段落中要达到5%。

之前也是为论文苦恼了半天,网上的范文和能搜到的资料,大都不全面,一般能有个正文就不错了,而且抄袭的东西肯定不行的,关键是没有数据和分析部分,我好不容易搞出来一篇,结果还过不了审。 还好后来找到文方网,直接让专业人士帮忙,效率很高,核心的部分帮我搞定了,也给了很多参考文献资料。哎,专业的事还是要找专业的人来做啊,建议有问题参考下文方网吧 下面是之前文方网王老师发给我的题目,分享给大家: 基于深度学习的无人机地面小目标算法研究 基于视觉的智能汽车面向前方车辆的运动轨迹预测技术研究 模拟射击训练弹着点检测定位技术研究 基于深度卷积神经网络的空中目标识别算法的研究 基于可见光图像的飞行器多目标识别及位置估计 无人驾驶车辆手势指令识别研究与实现 车载毫米波雷达目标检测技术研究 基于多传感融合的四足机器人建图方法 中老年人群跌倒风险评估的数据采集系统 基于深度学习的视觉SLAM闭环检测方法研究 真实图片比较视觉搜索任务的年龄效应及对策研究 室内复杂场景下的视觉SLAM系统构建与研究 基于双目内窥镜的软组织图像三维重建 学习资源画面色彩表征影响学习注意的研究 毫米波雷达与机器视觉双模探测关键技术的研究 语义地图及其关键技术研究 多重影响因素下的语音识别系统研究 基于卷积神经网络的自主空中加油识别测量技术研究 基于视觉语义的深度估计、实例分割与重建 重复视觉危险刺激——本能恐惧反应的“二态型”调控机制研究 低成本视觉下的三维物体识别与位姿估计 面向非规则目标的3D视觉引导抓取方法及系统研究 基于物体识别地理配准的跨视频行人检测定位技术研究 基于结构光的非刚体目标快速三维重建关键技术研究 基于机器视觉的动物交互行为与认知状态分析系统 关于单目视觉实时定位与建图中的优化算法研究 动态场景下无人机SLAM在智慧城市中的关键技术研究 面向视觉SLAM的联合特征匹配和跟踪算法研究 基于深度学习的显著物体检测 基于平面波的三维超声成像方法与灵长类动物脑成像应用研究 基于物体检测和地理匹配的室内融合定位技术研究 基于多模态信息融合的人体动作识别方法研究 基于视觉惯性里程计的SLAM系统研究 基于语义信息的图像/点云配准与三维重建 基于种子点选取的点云分割算法研究 基于深度学习的场景文字检测与识别方法研究 基于运动上下文信息学习的室内视频烟雾预警算法研究 基于深度学习的垃圾分类系统设计与实现 面向手机部件的目标区域检测算法的设计与实现 电路板自动光照检测系统的设计与实现 基于机器视觉的工件识别与定位系统的设计与实现 基于深度学习的物件识别定位系统的设计与实现 基于视觉四旋翼无人机编队系统设计及实现 基于视觉惯导融合的四旋翼自主导航系统设计与实现 面向城市智能汽车的认知地图车道层生成系统 基于深度学习的智能化无人机视觉系统的设计与仿真 基于知识库的视觉问答技术研究 基于深度学习的火灾视频实时智能检测研究 结构化道路车道线检测方法研究 基于机器视觉的带式输送机动态煤量计量研究 基于深度学习的小目标检测算法研究 基于三维激光与视觉信息融合的地点检索算法研究 动态环境下仿人机器人视觉定位与运动规划方法研究 瓷砖铺贴机器人瓷砖空间定位系统研究 城市街景影像中行人车辆检测实现 基于无线信号的身份识别技术研究 基于移动机器人的目标检测方法研究 基于深度学习的机器人三维环境对象感知 基于特征表示的扩展目标跟踪技术研究 基于深度学习的目标检测方法研究 基于深度学习的复杂背景下目标检测与跟踪 动态扩展目标的高精度特征定位跟踪技术研究 掩模缺陷检测仪的图像处理系统设计 复杂场景下相关滤波跟踪算法研究 基于多层级联网络的多光谱图像显著性检测研究 基于深度结构特征表示学习的视觉跟踪研究 基于深度网络的显著目标检测方法研究 基于深度学习的电气设备检测方法研究 复杂交通场景下的视频目标检测 基于多图学习的多模态图像显著性检测算法研究 基于面部视频的非接触式心率检测研究 单幅图像协同显著性检测方法研究 轻量级人脸关键点检测算法研究 基于决策树和最佳特征选择的神经网络钓鱼网站检测研究 基于深度学习的场景文本检测方法研究 RGB-D图像显著及协同显著区域检测算法研究 多模态融合的RGB-D图像显著目标检测研究 基于协同排序模型的RGBT显著性检测研究 基于最小障碍距离的视觉跟踪研究 基于协同图学习的RGB-T图像显著性检测研究 基于图学习与标签传播优化模型的图像协同显著性目标检测 姿态和遮挡鲁棒的人脸关键点检测算法研究 基于多模态和多任务学习的显著目标检测方法研究 基于深度学习的交通场景视觉显著性区域目标检测 基于生物视觉机制的视频显著目标检测算法研究 基于场景结构的视觉显著性计算方法研究 精神分裂症患者初级视觉网络的磁共振研究 基于fMRI与TMS技术研究腹侧视觉通路中结构优势效应的加工 脑机接口游戏神经可塑性研究 基于YOLOV3算法的FL-YOLO多目标检测系统 基于深度与宽度神经网络显著性检测方法研究 基于深度学习的零件识别系统设计与研究 基于对抗神经网络的图像超分辨算法研究 基于深度学习复杂场景下停车管理视觉算法的研究与实现 镍电解状态视觉检测与分析方法研究 跨界训练对提升舞者静态平衡能力的理论与方法研究 施工现场人员类型识别方法的研究与实现 基于深度学习的自然场景文字检测方法研究 基于嵌入式的交通标志识别器的设计 基于视觉感知特性与图像特征的图像质量评价

最近,端到端场景文本识别已成为一个流行的研究主题,因为它具有全局优化的优点和在实际应用中的高可维护性。大多数方法试图开发各种感兴趣的区域(RoI)操作,以将检测部分和序列识别部分连接到两阶段的文本识别框架中。然而,在这样的框架中, 识别部分对检测到的结果高度敏感(例如,文本轮廓的紧凑性)。 为了解决这个问题,在本文中,我们提出了一种新颖的“Mask Attention Guided One-stage”文本识别框架,称为MANGO,在该框架中无需RoI操作就可以直接识别字符序列。具体而言:

值得注意的是,MANGO自有地适应于任意形状的文本识别,并且仅使用粗略的位置信息(例如矩形边界框)和文本注释就可以进行端到端的训练。实验结果表明,该方法在规则和不规则文本识别基准(即ICDAR 2013,ICDAR 2015,Total-Text和SCUT-CTW1500)上均达到了有竞争力甚至最新性能。

场景文本识别由于其各种实际应用而备受关注,例如发票/收据理解中的关键实体识别,电子商务系统中的产品名称识别以及智能运输系统中的车牌识别。传统的场景文字识别系统通常分三步进行:定位文字区域,从原始图像中裁剪文字区域并将其识别为字符序列。然而尽管这种文本识别模型带来了许多可考虑的问题,例如: (1)错误将在多个单独的任务之间累 (2)维护多个单独的模型的成本很高 (3)该模型难以适应各种应用程序。

因此,提出了许多工作以端到端的方式来最终优化文本识别过程。这些方法通常使用各种兴趣区域(RoI)操作以可微分的方式桥接文本检测和识别部分,从而形成了两阶段框架。粗略地说,早期的端到端方法将轴对齐的矩形RoI用作连接模块。这些方法处理不规则的(例如,透视图或弯曲的)文本实例能力有限,因为这种类型的RoI可能会带来背景或其他文本的干扰。为了解决这个问题,后来的方法(设计了一些形状自适应RoI机制来提取不规则物体。文本实例并将其校正为规则形状。

图1:传统的两阶段文本识别过程和提出的MANGO的图示。 图(a)显示了通过RoI操作连接检测和识别部分的两阶段文本识别策略。 图(b)是一种提出的单阶段文本识别方法,它可以直接输出最终的字符序列。

在两阶段方法中,识别部分高度依赖于定位结果,这就要求检测部分必须能够捕获准确的文本边界以消除背景干扰。因此,训练鲁棒的文本检测模型依赖于准确的检测注释,例如在不规则文本识别中使用的多边形或蒙版注释。自然地,标记这种注释是费力且昂贵的。另一方面,要确保紧紧封闭的文本区域(由检测注释进行监督)对于以下识别任务而言是最佳形式,这并不容易。例如,在图1(a)中,紧密的文本边界可能会擦除字符的边缘纹理并导致错误的结果。 通常,需要手动扩展这些严格的检测结果,以适应实际应用中的识别。 此外,在proposals之后执行带有非极大抑制(NMS)的复杂RoI操作也很耗时,尤其是对于任意形状的区域。尽管(Xing et )提出了一种单阶段采用字符分割策略的字符级别的识别框架, 但很难扩展到具有更多字符类别(例如汉字)的情况。 它还会丢失角色之间的关键上下文信息。

实际上,当人们阅读时,他们不需要描绘文本实例的准确轮廓。通过视觉注意力关注的粗略文本位置来识别文本实例就足够了。在这里,我们将场景文本识别重新考虑为注意力和阅读的问题,即,一次直接读出粗略注意的文本区域的文本内容。

在本文中,我们提出了一种名为MANGO的“Mask Attention Guided One stage”文本监视程序,称为MANGO,这是一种紧凑而强大的单阶段框架,可直接从图像中同时预测所有文本,而无需进行任何RoI操作。具体来说,我们引入了一个位置感知蒙版注意力(PMA)模块以在文本区域上生成空间注意力,该模块包含实例级蒙版注意力(IMA)部分和字符级蒙版注意力(CMA)部分。 IMA和CMA分别负责感知图像中文本和字符的位置。可以通过位置感知注意力谱直接提取文本实例的特征,而不必进行显式的裁剪操作,这尽可能保留了全局空间信息。 在这里,使用动态卷积将不同文本实例的特征映射到不同的特征谱通道(Wang等人,2020c),如图1(b)所示。之后,应用轻量级序列解码器一次批量生成字符序列特征。

请注意,MANGO可以仅使用粗略的位置信息(例如,矩形边界框,甚至是文本实例的中心点)进行端到端优化,还可以使用序列注释。 受益于PMA,该框架可以自适应地识别各种不规则文本,而无需任何纠正机制,并且还能够了解任意形状的文本的阅读顺序。

本文的主要贡献如下: (1)我们提出了一种名为MANGO的紧凑而强大的一阶段文本识别框架, 该框架可以以端到端的方式进行训练。 (2)我们开发了位置感知蒙版注意力模块,以将文本实例特征生成为一个batch,并与最终字符序列建立一对一的映射。 只能使用粗略的文本位置信息和文本注释来训练该模块。 (3)广泛的实验表明,我们的方法在规则和不规则文本基准上均获得了有竞争甚至最新的性能。

早期场景文本发现方法(Liao,Shi,and Bai 2018; Liao et ; Wang et )通常首先使用训练有素的检测器来定位每个文本,例如(Liao et ; Zhou et ; He et ; Ma et ; Xu et ; Baek et ),然后使用序列解码器识别裁剪后的文本区域(Shi et ; Shi,Bai和Yao 2017; Cheng et ; Zhan and Lu 2019; Luo,Jin and Sun 2019)。为了充分利用文本检测和文本识别之间的互补性,已经提出了一些工作以端到端的方式优化场景文本发现框架,其中使用了模块连接器(例如RoI Pooling(Ren等人,2015a))在(Li,Wang,and Shen 2017; Wang,Li,and Shen 2019)中,(He等人2018)中使用的RoI-Align和(Liu等人2018)中使用的RoI-Rotate的开发是为了文本检测和文本识别部分。请注意,这些方法无法发现任意形状的文本。 为了解决不规则问题,已经提出了许多最近的工作来设计各种自适应RoI操作以发现任意形状的文本。 Sun等人(2018年)采用了透视图RoI转换模块来纠正透视图文本,但是该策略仍然难以处理弯曲度较大的文本。 (Liao et )提出了受两阶段Mask-RCNN启发的mask textspotter,用于逐个字符地检测任意形状的文本,但是这种方法会丢失字符的上下文信息,并且需要字符级位置注释。 Qin等人(2019)直接采用Mask-RCNN和基于注意力的文本识别器,该模型使用RoI-Masking模块在识别之前消除了背景干扰。 (Feng et )将文本实例视为一组特征块,并采用RoI-Slide操作来重建直线特征图。 (Qiao et al。2020)和(Wang et al。2020a)都检测到文本周围的关键点,并应用薄板样条变换(Bookstein 1989)纠正不规则实例。为了获得弯曲文本的平滑特征(Liu et ),使用Bezier曲线表示文本实例的上下边界,并提出了Bezier-Align操作以获取校正后的特征图。 上述方法在两阶段框架中实现了端到端场景文本点,其中需要设计基于RoI的连接器(例如RoI-Align,RoI-Slide和Bezier-Align等),以实现以下目的:明确裁剪特征图。 在两阶段框架中,性能很大程度上取决于RoI操作获得的文本边界精度。但是,这些复杂的多边形注释通常很昂贵,并且并不总是适合识别部分,如前所述。

在一般的对象定位领域,许多最新进展证明了在对象检测中研究的一阶段框架的效率和有效性(Redmon等人2016; Liu等人2016; Lin等人2017b; Tian等人2019;段等人(2019)或实例分割(Wang等人2019b; Tian,Shen和Chen 2020; Wang等人2020c; Xie等人2020; Chen等人2020)。但是,场景文本发现是一项更具挑战性的任务,因为它涉及序列识别问题而不是单个对象分类。这是因为场景文本具有许多特殊特征:任意形状(例如,曲线,倾斜或透视图等),数百万个字符组合,甚至是不受限制的阅读顺序(例如,从右到左)。最近,(Xing et )提出了一种通过直接分割单个字符的一种舞台场景文本识别方法。但是,它丢失了各个字符之间的序列上下文信息,并且很难传递给更多的字符类。据我们所知,以前没有工作可以在一个阶段的框架中处理序列级别的场景文本发现任务。

图2:MANGO的工作流程。 我们以S = 6为例。 将输入特征输入到位置感知蒙版注意力模块中,以将实例/字符的不同特征映射到不同通道。 识别器最终一次全部输出字符序列。 Centerline Segmentation分支用于生成所有文本实例的粗略位置。 前缀“ R-”和“ C-”分别表示网格的行和列。

我们提出了一个名为MANGO的单阶段场景文本查找器,如图2所示。其深层特征是通过ResNet-50(He等人,2016)和特征金字塔网络(FPN)(Lin等人,2017a)的主干提取的。 然后将生成的特征图馈送到三个可学习的模块中: (1)用于学习单个文本实例的位置感知蒙版注意力(PMA)模块,其中包括实例级蒙版注意力( IMA)子模块和字符级掩码注意力(CMA)子模块。 (2)识别器用于将注意力实例特征解码为字符序列。 (3)全局文本中心线分割模块,用于在推理阶段提供粗略的文本位置信息。

单阶段的文本识别问题可以视为原始图像中的纯文本识别任务。关键步骤是在文本实例到最终字符序列之间以固定顺序建立直接的一对一映射。在这里,我们开发了位置感知注意力(PMA)模块,以便为接下来的序列解码模块一次捕获所有表示文本的特征。受(Wang等人2019b)中使用的网格映射策略的启发,我们发现可以将不同的实例映射到不同的特定通道中,并实现实例到特征的映射。也就是说,我们首先将输入图像划分为S×S的网格。然后,通过提出的PMA模块将网格周围的信息映射到特征图的特定通道中。

具体来说,我们将特征提取后获得的特征图表示为x∈R C×H×W ,其中C,H和W分别表示为特征图的通道数量,宽度和高度。然后我们将特征图x送入PMA(包括IMA和CMA模块)模块,以生成文本实例的特征表示(如下所述)。

Instance-level Mask Attention MA负责生成实例级注意力蒙版遮罩,并将不同实例的特征分配给不同的特征图通道。 它是通过在切片网格上操作一组动态卷积内核(Wang等人2020c)来实现的,表示为G S×S×C 。卷积核大小设置为1×1。

因此可以通过将这些卷积核应用于原始特征图来生成实例级注意力掩码:

Character-level Mask Attention 正如许多工作 (Chenget等人2017; Xing等人2019)所表明的那样, 字符级位置信息可以帮助提高识别性能。 这激励我们设计全局字符级注意力子模块, 以为后续的识别任务提供细粒度的特征。

如图2所示,CMA首先将原始特征图x和实例级注意力蒙版x ins 连接在一起,然后是两个卷积层(卷积核大小= 3×3)遵循下式来预测字符级注意力蒙版:

由于将不同文本实例的注意蒙版分配给不同的特征通道,因此我们可以将文本实例打包为一批。 一个简单的想法是进行(Wang等人2020b)中使用的注意力融合操作,以生成批处理的连续特征x seq ,即

该模型现在能够分别输出S 2 网格的所有预测序列。 但是,如果图像中有两个以上的文本实例,我们仍然需要指出哪个网格对应于那些识别结果。

由于我们的方法不依赖准确的边界信息,因此我们可以应用任何文本检测策略(例如RPN(Ren等人2015b)和YOLO(Redmon等人。 2016)),以获取文本实例的粗略的几何信息。 考虑到场景文本可能是任意形状的,我们遵循大多数基于分割的文本检测方法(Long等人2018; Wang等人2019a)来学习单个文本实例的全局文本中心线区域分割(或缩小ground truth)。

IMA和CMA模块都用于使网络聚焦于特定的实例和字符位置,这在理论上只能通过最后的识别部分来学习。 但是,在复杂的场景文本场景中,如果没有位置信息的辅助,网络可能难以收敛。 但是,我们发现,如果模型已经在合成数据集上进行了预先的字符级监督,则可以轻松转移模型。 因此,可以分两步对模型进行优化。

首先,我们可以将IMA和CMA的学习视为纯分割任务。 结合中心线区域分割,所有分割任务都使用二进制Dice系数损失进行训练(Milletari,Navab和Ahmadi 2016),而识别任务仅使用交叉熵损失。 全局优化可以写成

请注意,预训练步骤实际上是一次性的任务,然后将主要学习CMA和IMA以适应该识别任务。 与以前需要平衡检测和识别权重的方法相比,MANGO的端到端结果主要由最终识别任务监督。

在推断阶段,网络输出一批(S×S)概率矩阵(L×M)。 根据中心线分割任务的预测,我们可以确定哪些网格应视为有效。 我们首先进行“广度优先搜索”(BFS),以找到各个相连的区域。 在此过程中,可以过滤许多类似文本的纹理。 由于每个连接区域可能与多个网格相交,因此我们采用字符加权投票策略来生成最终的字符串,如图3所示。

具体来说,我们计算连接区域i与网格j之间的连接率o i,j 作为每个字符的权重。 对于实例i的第k个字符,其字符加权投票结果通过

我们列出了本文使用的数据集如下:训练数据。我们使用SynthText 800k(Gupta,Vedaldi和Zisserman 2016)作为预训练数据集。利用实例级注释和字符级注释对PMA模块进行预训练。在微调阶段,我们旨在获得一个支持常规和非常规场景文本读取的通用文本点。在这里,我们构建了一个用于微调的通用数据集,其中包括来自Curved SynthText的150k图像(Liu等人2020),从COCO-Text过滤的13k图像(Veitet等人2016),从ICDAR-MLT过滤的7k图像(Nayefet等人2019)以及ICDAR2013(Karatzas等人2013),ICDAR2015(Karatzas等人2015)和Total-Text(Ch'ng and Chan 2017)中的所有训练图像。请注意,这里我们仅使用实例级别的注释来训练网络。测试数据集。我们在两个标准文本点标基准ICDAR2013(Karatzas等人2013)(IC13)和ICDAR2015(Karatzas等人2015)(IC15)中评估了我们的方法,其中主要包含水平和透视文本,以及两个不规则的基准Total-Text(Ch'ng和Chan 2017)和SCUT-CTW1500(Liu等人2019)(CTW1500),其中包含许多弯曲文本。车牌识别数据集CCPD中我们方法的能力(Xuet )。

所有实验均在Pytorch中使用8×32 GB-Tesla-V100 GPU进行。网络详细信息。特征提取器使用ResNet-50(He等人2016)和FPN(Lin等人2017a)从不同的特征图中获取融合特征水平。这里,C = 256的(4×)特征图用于执行后续的训练和测试任务.Lis设置为25以覆盖大多数场景文本单词。 BiLSTM模块有256个隐藏单元,训练详细信息,所有模型均由SGDoptimizer进行训练,批处理大小= 2,动量= 和重量衰减= 1×10−4。在预训练阶段,以10个周期的初始学习比率1×10-2训练网络。每3个周期将学习率除以10.在微调阶段,初始学习率设置为1×10-3。为了平衡每批中的合成图像和真实图像的数量,我们将Curved SynthText数据集与其他真实数据集的采样比率保持为1:1。微调过程持续250k次迭代,其中学习率在120k迭代和200k迭代时除以10.我们还对所有训练过程进行数据扩充,包括1)将输入图像的较长边随机缩放为长度在[720,1800]范围内,2)将图像随机旋转[-15°,15°]范围内的角度,以及3)对输入图像应用随机的亮度,抖动和对比度。在不同的数据集中,我们将IC15的评估值设置为S = 60,将IC13,Total-Text和CTW1500的评估值设置为S = 40。我们将所有权重参数简单地设置为λ1=λ2=λ3=λ= 1。测试细节。由于输入图像的尺寸是重要的重要影响性能,因此我们将报告不同输入比例下的性能,即保持原始比例和将图像的较长边调整为固定值。所有图像都在单一尺度上进行测试。由于当前的实现方式仅提供了粗略的定位,因此,我们通过考虑IoU> 的所有检测结果,修改(Wang,Babenko和Belongie 2011)的端到端评估指标。在这种情况下,由于某些低等级的建议匹配而导致精度下降,先前方法的性能甚至会下降。

常规文本的评估我们首先根据常规评估指标(Karatzas等,2015)对IC13和IC15的方法进行评估,然后基于三种不同的lexi-cons(强)对两个评估项目( 端到端''和 单词斑点'')进行评估,弱和通用)。表1显示了评估结果。与使用常规词典评估的先前方法相比,我们的方法在“通用”项目上获得了最佳结果(除了IC15的端到端通用结果之外),并在其余评估项目上获得了竞争结果(强”和“弱”)。与最近使用特定词典的最新MaskMaskTextSpotter(Liao et )相比,我们的方法在所有评估项目上均明显优于该方法。尽管推理速度很高,但FOTS的FPS最高(帧数第二),它无法处理不正常的情况。与基于不规则的方法相比,我们的方法获得了最高的FPS。不规则文本的评估我们在Total-Text上测试了我们的方法,如表2所示。我们发现我们的方法比最先进的方法高出%和 “无”和“满”指标中的百分比。请注意,即使没有明确的纠正机制,我们的模型也只能在识别监督的驱动下才能很好地处理不规则文本。尽管在1280的测试规模下,推理速度约为ABCNet的1/2,但我们的方法取得了显着的性能提升。我们还在CTW1500上评估了我们的方法。报告端到端结果的作品很少,因为它主要包含行级文本注释。为了适应这种情况,我们在CTW1500的训练集上对检测分支进行了重新训练,以学习线级中心线分割,并确定主干和其他分支的权重。请注意,识别不会受到影响,仍然会输出单词级序列。最终结果将根据推断的连接区域简单地从左到右连接起来。汉字设置为NOT CARE。结果如表3所示。我们发现,在“无”和“满”度量标准下,我们的方法明显比以前的提升了%和%。因此,我们相信,如果只有行级注解的数据足够多,我们的模型就可以很好地适应这种情况。

图4可视化了IC15和Total-Text上的端到端文本发现结果。 我们详细显示了字符投票之前每个正网格(oi,j> )的预测结果。 我们看到我们的模型可以正确地专注于相应的位置并学习任意形状(例如弯曲或垂直)文本实例的字符序列的复杂读取顺序。 采取字符投票策略后,将生成具有最高置信度的单词。我们还用可视化的CMA演示了CTW1500的一些结果,如图5所示。请注意,我们仅根据数据集的位置微调线级分割部分 标签,同时固定其余部分。在这里,我们通过将所有网格的注意图覆盖在相同的字符位置(k)上来可视化CMA的特征图:

网格编号的消除网格编号S2是影响最终结果的关键参数。如果太小,则占据相同网格的文本太多。否则,太大的S会导致更多的计算成本。在这里,我们进行实验以找到不同数据集的S的可行值。从表4中,我们发现IC13和TotalText的bestS均为40。 IC15的值为60。这是因为IC15包含更多密集和较小的实例。总而言之,当S> = 40时,总体性能随沙的增加而稳定。当然,FPS随S的增加而略有下降。信息。为了证明这一点,我们还进行了实验,以矩形边框的形式转移所有本地化注释。我们仅采用RPN头作为检测分支。表5显示了IC15和Total-Text的结果。即使进行严格的位置监控,MANGO的性能也只能降低0%到3%,并且可以与最新技术相比。请注意,粗略位置仅用于网格选择,因此可以根据特定任务的要求尽可能简化它。

为了证明模型的泛化能力,我们进行了实验以评估CCPD公共数据集上的端到端车牌识别结果(Xu et )。为了公平起见,我们遵循相同的实验设置,并使用带有250k图像的数据集的初始版本。 CCPD-Base数据集分为两个相等的部分:用于训练的100k样本和用于测试的100k样本。有6个复杂的测试集(包括DB,FN,旋转,倾斜,天气和挑战)用于评估算法的鲁棒性,总共有50k张图像。由于CCPD中的每个图像仅包含一个板,因此可以通过删除来进一步简化我们的模型检测分支直接预测最终字符序列。因此,网格数减少为S = 1,最大序列长度设置为L =8。我们直接对模型进行微调(已通过SynthText进行了预训练)在CCPD训练集上仅使用序列级注释,然后评估上述七个测试数据集的最终识别准确性。测试阶段是对尺寸为720×1160的原始图像执行的。 表6显示了端到端识别结果。尽管所提出的方法不是为车牌识别任务设计的,但仍然可以轻松地转移到这种情况下。我们看到,提出的模型在7个测试集中的5个中优于以前的方法,并达到了最高的平均精度。图6显示了CCPD测试集的一些可视化结果。故障样本主要来自图像太模糊而无法识别的情况。该实验表明,在许多情况下,只有一个文本实例(例如,工业印刷识别或仪表拨盘识别),可以使用良好的端到端模型无需检测注释即可获得。

在本文中,我们提出了一种名为MANGO的新颖的单阶段场景文本查找器。 该模型删除了RoI操作,并设计了位置感知注意模块来粗略定位文本序列。 之后,应用轻量级序列解码器以将所有最终字符序列成批获取。 实验表明,我们的方法可以在流行基准上获得具有竞争力的,甚至最先进的结果。

目标检测应用场景论文

深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理。  目标检测可以理解为是物体识别和物体定位的综合 ,不仅仅要识别出物体属于哪个分类,更重要的是得到物体在图片中的具体位置。 2014年R-CNN算法被提出,基本奠定了two-stage方式在目标检测领域的应用。它的算法结构如下图 算法步骤如下: R-CNN较传统的目标检测算法获得了50%的性能提升,在使用VGG-16模型作为物体识别模型情况下,在voc2007数据集上可以取得66%的准确率,已经算还不错的一个成绩了。其最大的问题是速度很慢,内存占用量很大,主要原因有两个 针对R-CNN的部分问题,2015年微软提出了Fast R-CNN算法,它主要优化了两个问题。 R-CNN和fast R-CNN均存在一个问题,那就是 由选择性搜索来生成候选框,这个算法很慢 。而且R-CNN中生成的2000个左右的候选框全部需要经过一次卷积神经网络,也就是需要经过2000次左右的CNN网络,这个是十分耗时的(fast R-CNN已经做了改进,只需要对整图经过一次CNN网络)。这也是导致这两个算法检测速度较慢的最主要原因。 faster R-CNN 针对这个问题, 提出了RPN网络来进行候选框的获取,从而摆脱了选择性搜索算法,也只需要一次卷积层操作,从而大大提高了识别速度 。这个算法十分复杂,我们会详细分析。它的基本结构如下图 主要分为四个步骤: 使用VGG-16卷积模型的网络结构: 卷积层采用的VGG-16模型,先将PxQ的原始图片,缩放裁剪为MxN的图片,然后经过13个conv-relu层,其中会穿插4个max-pooling层。所有的卷积的kernel都是3x3的,padding为1,stride为1。pooling层kernel为2x2, padding为0,stride为2。 MxN的图片,经过卷积层后,变为了(M/16) x (N/16)的feature map了。 faster R-CNN抛弃了R-CNN中的选择性搜索(selective search)方法,使用RPN层来生成候选框,能极大的提升候选框的生成速度。RPN层先经过3x3的卷积运算,然后分为两路。一路用来判断候选框是前景还是背景,它先reshape成一维向量,然后softmax来判断是前景还是背景,然后reshape恢复为二维feature map。另一路用来确定候选框的位置,通过bounding box regression实现,后面再详细讲。两路计算结束后,挑选出前景候选框(因为物体在前景中),并利用计算得到的候选框位置,得到我们感兴趣的特征子图proposal。 卷积层提取原始图像信息,得到了256个feature map,经过RPN层的3x3卷积后,仍然为256个feature map。但是每个点融合了周围3x3的空间信息。对每个feature map上的一个点,生成k个anchor(k默认为9)。anchor分为前景和背景两类(我们先不去管它具体是飞机还是汽车,只用区分它是前景还是背景即可)。anchor有[x,y,w,h]四个坐标偏移量,x,y表示中心点坐标,w和h表示宽度和高度。这样,对于feature map上的每个点,就得到了k个大小形状各不相同的选区region。 对于生成的anchors,我们首先要判断它是前景还是背景。由于感兴趣的物体位于前景中,故经过这一步之后,我们就可以舍弃背景anchors了。大部分的anchors都是属于背景,故这一步可以筛选掉很多无用的anchor,从而减少全连接层的计算量。 对于经过了3x3的卷积后得到的256个feature map,先经过1x1的卷积,变换为18个feature map。然后reshape为一维向量,经过softmax判断是前景还是背景。此处reshape的唯一作用就是让数据可以进行softmax计算。然后输出识别得到的前景anchors。 另一路用来确定候选框的位置,也就是anchors的[x,y,w,h]坐标值。如下图所示,红色代表我们当前的选区,绿色代表真实的选区。虽然我们当前的选取能够大概框选出飞机,但离绿色的真实位置和形状还是有很大差别,故需要对生成的anchors进行调整。这个过程我们称为bounding box regression。 假设红色框的坐标为[x,y,w,h], 绿色框,也就是目标框的坐标为[Gx, Gy,Gw,Gh], 我们要建立一个变换,使得[x,y,w,h]能够变为[Gx, Gy,Gw,Gh]。最简单的思路是,先做平移,使得中心点接近,然后进行缩放,使得w和h接近。如下:我们要学习的就是dx dy dw dh这四个变换。由于是线性变换,我们可以用线性回归来建模。设定loss和优化方法后,就可以利用深度学习进行训练,并得到模型了。对于空间位置loss,我们一般采用均方差算法,而不是交叉熵(交叉熵使用在分类预测中)。优化方法可以采用自适应梯度下降算法Adam。 得到了前景anchors,并确定了他们的位置和形状后,我们就可以输出前景的特征子图proposal了。步骤如下: 1,得到前景anchors和他们的[x y w h]坐标。 2,按照anchors为前景的不同概率,从大到小排序,选取前pre_nms_topN个anchors,比如前6000个 3,剔除非常小的anchors。 4,通过NMS非极大值抑制,从anchors中找出置信度较高的。这个主要是为了解决选取交叠问题。首先计算每一个选区面积,然后根据他们在softmax中的score(也就是是否为前景的概率)进行排序,将score最大的选区放入队列中。接下来,计算其余选区与当前最大score选区的IOU(IOU为两box交集面积除以两box并集面积,它衡量了两个box之间重叠程度)。去除IOU大于设定阈值的选区。这样就解决了选区重叠问题。 5,选取前post_nms_topN个结果作为最终选区proposal进行输出,比如300个。 经过这一步之后,物体定位应该就基本结束了,剩下的就是物体识别了。 和fast R-CNN中类似,这一层主要解决之前得到的proposal大小形状各不相同,导致没法做全连接。全连接计算只能对确定的shape进行运算,故必须使proposal大小形状变为相同。通过裁剪和缩放的手段,可以解决这个问题,但会带来信息丢失和图片形变问题。我们使用ROI pooling可以有效的解决这个问题。 ROI pooling中,如果目标输出为MxN,则在水平和竖直方向上,将输入proposal划分为MxN份,每一份取最大值,从而得到MxN的输出特征图。 ROI Pooling层后的特征图,通过全连接层与softmax,就可以计算属于哪个具体类别,比如人,狗,飞机,并可以得到cls_prob概率向量。同时再次利用bounding box regression精细调整proposal位置,得到bbox_pred,用于回归更加精确的目标检测框。 这样就完成了faster R-CNN的整个过程了。算法还是相当复杂的,对于每个细节需要反复理解。faster R-CNN使用resNet101模型作为卷积层,在voc2012数据集上可以达到的准确率,超过yolo ssd和yoloV2。其最大的问题是速度偏慢,每秒只能处理5帧,达不到实时性要求。 针对于two-stage目标检测算法普遍存在的运算速度慢的缺点, yolo创造性的提出了one-stage。也就是将物体分类和物体定位在一个步骤中完成。 yolo直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。通过这种方式, yolo可实现45帧每秒的运算速度,完全能满足实时性要求 (达到24帧每秒,人眼就认为是连续的)。它的网络结构如下图: 主要分为三个部分:卷积层,目标检测层,NMS筛选层。 采用Google inceptionV1网络,对应到上图中的第一个阶段,共20层。这一层主要是进行特征提取,从而提高模型泛化能力。但作者对inceptionV1进行了改造,他没有使用inception module结构,而是用一个1x1的卷积,并联一个3x3的卷积来替代。(可以认为只使用了inception module中的一个分支,应该是为了简化网络结构) 先经过4个卷积层和2个全连接层,最后生成7x7x30的输出。先经过4个卷积层的目的是为了提高模型泛化能力。yolo将一副448x448的原图分割成了7x7个网格,每个网格要预测两个bounding box的坐标(x,y,w,h)和box内包含物体的置信度confidence,以及物体属于20类别中每一类的概率(yolo的训练数据为voc2012,它是一个20分类的数据集)。所以一个网格对应的参数为(4x2+2+20) = 30。如下图 其中前一项表示有无人工标记的物体落入了网格内,如果有则为1,否则为0。第二项代表bounding box和真实标记的box之间的重合度。它等于两个box面积交集,除以面积并集。值越大则box越接近真实位置。 分类信息: yolo的目标训练集为voc2012,它是一个20分类的目标检测数据集 。常用目标检测数据集如下表: | Name | # Images (trainval) | # Classes | Last updated | | --------------- | ------------------- | --------- | ------------ | | ImageNet | 450k | 200 | 2015 | | COCO | 120K | 90 | 2014 | | Pascal VOC | 12k | 20 | 2012 | | Oxford-IIIT Pet | 7K | 37 | 2012 | | KITTI Vision | 7K | 3 | | 每个网格还需要预测它属于20分类中每一个类别的概率。分类信息是针对每个网格的,而不是bounding box。故只需要20个,而不是40个。而confidence则是针对bounding box的,它只表示box内是否有物体,而不需要预测物体是20分类中的哪一个,故只需要2个参数。虽然分类信息和confidence都是概率,但表达含义完全不同。 筛选层是为了在多个结果中(多个bounding box)筛选出最合适的几个,这个方法和faster R-CNN 中基本相同。都是先过滤掉score低于阈值的box,对剩下的box进行NMS非极大值抑制,去除掉重叠度比较高的box(NMS具体算法可以回顾上面faster R-CNN小节)。这样就得到了最终的最合适的几个box和他们的类别。 yolo的损失函数包含三部分,位置误差,confidence误差,分类误差。具体公式如下: 误差均采用了均方差算法,其实我认为,位置误差应该采用均方差算法,而分类误差应该采用交叉熵。由于物体位置只有4个参数,而类别有20个参数,他们的累加和不同。如果赋予相同的权重,显然不合理。故yolo中位置误差权重为5,类别误差权重为1。由于我们不是特别关心不包含物体的bounding box,故赋予不包含物体的box的置信度confidence误差的权重为,包含物体的权重则为1。 Faster R-CNN准确率mAP较高,漏检率recall较低,但速度较慢。而yolo则相反,速度快,但准确率和漏检率不尽人意。SSD综合了他们的优缺点,对输入300x300的图像,在voc2007数据集上test,能够达到58 帧每秒( Titan X 的 GPU ),的mAP。 SSD网络结构如下图: 和yolo一样,也分为三部分:卷积层,目标检测层和NMS筛选层 SSD论文采用了VGG16的基础网络,其实这也是几乎所有目标检测神经网络的惯用方法。先用一个CNN网络来提取特征,然后再进行后续的目标定位和目标分类识别。 这一层由5个卷积层和一个平均池化层组成。去掉了最后的全连接层。SSD认为目标检测中的物体,只与周围信息相关,它的感受野不是全局的,故没必要也不应该做全连接。SSD的特点如下。 每一个卷积层,都会输出不同大小感受野的feature map。在这些不同尺度的feature map上,进行目标位置和类别的训练和预测,从而达到 多尺度检测 的目的,可以克服yolo对于宽高比不常见的物体,识别准确率较低的问题。而yolo中,只在最后一个卷积层上做目标位置和类别的训练和预测。这是SSD相对于yolo能提高准确率的一个关键所在。 如上所示,在每个卷积层上都会进行目标检测和分类,最后由NMS进行筛选,输出最终的结果。多尺度feature map上做目标检测,就相当于多了很多宽高比例的bounding box,可以大大提高泛化能力。 和faster R-CNN相似,SSD也提出了anchor的概念。卷积输出的feature map,每个点对应为原图的一个区域的中心点。以这个点为中心,构造出6个宽高比例不同,大小不同的anchor(SSD中称为default box)。每个anchor对应4个位置参数(x,y,w,h)和21个类别概率(voc训练集为20分类问题,在加上anchor是否为背景,共21分类)。如下图所示: 另外,在训练阶段,SSD将正负样本比例定位1:3。训练集给定了输入图像以及每个物体的真实区域(ground true box),将default box和真实box最接近的选为正样本。然后在剩下的default box中选择任意一个与真实box IOU大于的,作为正样本。而其他的则作为负样本。由于绝大部分的box为负样本,会导致正负失衡,故根据每个box类别概率排序,使正负比例保持在1:3。SSD认为这个策略提高了4%的准确率 另外,SSD采用了数据增强。生成与目标物体真实box间IOU为 的patch,随机选取这些patch参与训练,并对他们进行随机水平翻转等操作。SSD认为这个策略提高了的准确率。 和yolo的筛选层基本一致,同样先过滤掉类别概率低于阈值的default box,再采用NMS非极大值抑制,筛掉重叠度较高的。只不过SSD综合了各个不同feature map上的目标检测输出的default box。 SSD基本已经可以满足我们手机端上实时物体检测需求了,TensorFlow在Android上的目标检测官方模型,就是通过SSD算法实现的。它的基础卷积网络采用的是mobileNet,适合在终端上部署和运行。 针对yolo准确率不高,容易漏检,对长宽比不常见物体效果差等问题,结合SSD的特点,提出了yoloV2。它主要还是采用了yolo的网络结构,在其基础上做了一些优化和改进,如下 网络采用DarkNet-19:19层,里面包含了大量3x3卷积,同时借鉴inceptionV1,加入1x1卷积核全局平均池化层。结构如下 yolo和yoloV2只能识别20类物体,为了优化这个问题,提出了yolo9000,可以识别9000类物体。它在yoloV2基础上,进行了imageNet和coco的联合训练。这种方式充分利用imageNet可以识别1000类物体和coco可以进行目标位置检测的优点。当使用imageNet训练时,只更新物体分类相关的参数。而使用coco时,则更新全部所有参数。 YOLOv3可以说出来直接吊打一切图像检测算法。比同期的DSSD(反卷积SSD), FPN(feature pyramid networks)准确率更高或相仿,速度是其1/3.。 YOLOv3的改动主要有如下几点:不过如果要求更精准的预测边框,采用COCO AP做评估标准的话,YOLO3在精确率上的表现就弱了一些。如下图所示。 当前目标检测模型算法也是层出不穷。在two-stage领域, 2017年Facebook提出了mask R-CNN 。CMU也提出了A-Fast-RCNN 算法,将对抗学习引入到目标检测领域。Face++也提出了Light-Head R-CNN,主要探讨了 R-CNN 如何在物体检测中平衡精确度和速度。 one-stage领域也是百花齐放,2017年首尔大学提出 R-SSD 算法,主要解决小尺寸物体检测效果差的问题。清华大学提出了 RON 算法,结合 two stage 名的方法和 one stage 方法的优势,更加关注多尺度对象定位和负空间样本挖掘问题。 目标检测领域的深度学习算法,需要进行目标定位和物体识别,算法相对来说还是很复杂的。当前各种新算法也是层不出穷,但模型之间有很强的延续性,大部分模型算法都是借鉴了前人的思想,站在巨人的肩膀上。我们需要知道经典模型的特点,这些tricks是为了解决什么问题,以及为什么解决了这些问题。这样才能举一反三,万变不离其宗。综合下来,目标检测领域主要的难点如下: 一文读懂目标检测AI算法:R-CNN,faster R-CNN,yolo,SSD,yoloV2 从YOLOv1到v3的进化之路 SSD-Tensorflow超详细解析【一】:加载模型对图片进行测试  YOLO              C#项目参考: 项目实践贴个图。

原文: Scalable Object Detection using Deep Neural Networks——学术范 最近,深度卷积神经网络在许多图像识别基准上取得了最先进的性能,包括ImageNet大规模视觉识别挑战(ILSVRC-2012)。在定位子任务中获胜的模型是一个网络,它预测了图像中每个对象类别的单个边界框和置信度得分。这样的模型捕获了围绕对象的整幅图像上下文,但如果不天真地复制每个实例的输出数量,就无法处理图像中同一对象的多个实例。在这篇论文中提出了一个显著性启发的神经网络检测模型,它预测了一组与类无关的边界框,每个框有一个分数,对应于它包含任何感兴趣的对象的可能性。该模型自然地为每个类处理数量可变的实例,并允许在网络的最高级别上进行跨类泛化。 目标检测是计算机视觉的基本任务之一。一个解决这个问题的通用范例是训练在子图像上操作的对象检测器,并在所有的场所和尺度上以详尽的方式应用这些检测器。这一范例被成功地应用于经过区别训练的可变形零件模型(DPM)中,以实现检测任务的最新结果。对所有可能位置和尺度的穷举搜索带来了计算上的挑战。随着类数量的增加,这个挑战变得更加困难,因为大多数方法都训练每个类单独的检测器。为了解决这个问题,人们提出了多种方法,从检测器级联到使用分割提出少量的对象假设。 关于对象检测的文献非常多,在本节中,我们将重点讨论利用类不可知思想和解决可伸缩性的方法。 许多提出的检测方法都是基于基于部件的模型,最近由于有区别学习和精心设计的特征,已经取得了令人印象深刻的性能。然而,这些方法依赖于在多个尺度上详尽地应用零件模板,这是非常昂贵的。此外,它们在类的数量上是可伸缩的,这对像ImageNet这样的现代数据集来说是一个挑战。 为了解决前一个问题,Lampert等人使用分支绑定策略来避免计算所有可能的对象位置。为了解决后一个问题,Song et al.使用了一个低维部件基,在所有对象类中共享。基于哈希算法的零件检测也取得了良好的结果。 另一种不同的工作,与我们的工作更接近,是基于对象可以本地化的想法,而不必知道它们的类。其中一些方法建立在自底向上无阶级分割[9]的基础上。通过这种方式得到的片段可以使用自上而下的反馈进行评分。基于同样的动机,Alexe等人使用一种廉价的分类器对对象假设是否为对象进行评分,并以这种方式减少了后续检测步骤的位置数量。这些方法可以被认为是多层模型,分割作为第一层,分割分类作为后续层。尽管它们编码了已证明的感知原理,但我们将表明,有更深入的模型,充分学习可以导致更好的结果。 最后,我们利用了DeepLearning的最新进展,最引人注目的是Krizhevsky等人的工作。我们将他们的边界盒回归检测方法扩展到以可扩展的方式处理多个对象的情况。然而,基于dnn的回归已经被Szegedy等人应用到对象掩模中。最后一种方法实现了最先进的检测性能,但由于单个掩模回归的成本,不能扩展到多个类。 我们的目标是通过预测一组表示潜在对象的边界盒来实现一种与类无关的可扩展对象检测。更准确地说,我们使用了深度神经网络(DNN),它输出固定数量的包围盒。此外,它为每个盒子输出一个分数,表示这个盒子包含一个对象的网络信任度。 为了形式化上述思想,我们将i-thobject框及其相关的置信度编码为最后一网层的节点值: Bounding box: 我们将每个框的左上角和右下角坐标编码为四个节点值,可以写成vectorli∈R4。这些坐标是归一化的w. r. t.图像尺寸,以实现图像绝对尺寸的不变性。每个归一化坐标是由最后一层的线性变换产生的。 Confidence: 置信度:包含一个对象的盒子的置信度得分被编码为单个节点valueci∈[0,1]。这个值是通过最后一个隐藏层的线性变换产生的,后面跟着一个sigmoid。 我们可以组合边界盒位置sli,i∈{1,…K}为一个线性层。同样,我们可以将所有置信区间ci,i∈{1,…K}作为一个s型层的输出。这两个输出层都连接到最后一个隐藏层 在推理时,我们的算法生成kbound盒。在我们的实验中,我们使用ek = 100和K= 200。如果需要,我们可以使用置信分数和非最大抑制在推理时获得较少数量的高置信框。这些盒子应该代表对象。因此,它们可以通过后续的分类器进行分类,实现目标检测。由于盒子的数量非常少,我们可以提供强大的分类器。在我们的实验中,我们使用另一个dnn进行分类。 我们训练一个DNN来预测每个训练图像的边界框及其置信度得分,以便得分最高的框与图像的groundtruth对象框很好地匹配。假设对于一个特定的训练例子,对象被标记为boundingboxesgj,j∈{1,…,M}。在实践中,pre- dictionary的数量远远大于groundtruthboxm的数量。因此,我们试图只优化与地面真实最匹配的预测框子集。我们优化他们的位置,以提高他们的匹配度,最大化他们的信心。与此同时,我们将剩余预测的置信度最小化,这被认为不能很好地定位真实对象。为了达到上述目的,我们为每个训练实例制定一个分配问题。Wexij∈{0,1}表示赋值:xij= 1,如果第i个预测被赋值给第j个真对象。这项任务的目标可以表示为 其中,我们使用标准化边界框坐标之间的el2距离来量化边界框之间的不同。此外,我们希望根据分配x优化盒子的可信度。最大化指定预测的置信度可以表示为  最终的损失目标结合了匹配损失和信心损失 受式1的约束。α平衡了不同损失条款的贡献。 对于每个训练例子,我们通过解决一个最佳的赋值x*的预测到真实的盒子 约束执行赋值解决方案。这是二部匹配的一种变体,是一种多项式复杂度匹配。在我们的应用程序中,匹配是非常便宜的——每幅图像中标记的对象的数量少于一打,而且在大多数情况下只有很少的对象被标记。然后,通过反向传播优化网络参数。例如,反向传播算法的一阶导数计算w、r、t、l和c 尽管上述定义的损失在原则上是足够的,但三次修改使其有可能更快地达到更好的准确性。第一个修改是对地面真实位置进行聚类,并找到这样的聚类/质心,我们可以使用这些聚类/质心作为每个预测位置的先验。因此,鼓励学习算法为每个预测位置学习一个残差到一个先验。 第二个修改涉及到在匹配过程中使用这些先验:不是将N个groundtruth位置与K个预测进行匹配,而是在K个先验和groundtruth之间找到最佳匹配。一旦匹配完成,就会像之前一样计算目标的置信度。此外,位置预测损失也不变:对于任何一对匹配的(目标,预测)位置,其损失定义为groundtruth和对应于匹配先验的坐标之间的差值。我们把使用先验匹配称为先验匹配,并假设它促进了预测的多样化。  需要注意的是,尽管我们以一种与类无关的方式定义了我们的方法,但我们可以将它应用于预测特定类的对象盒。要做到这一点,我们只需要在类的边框上训练我们的模型。此外,我们可以预测每个类的kbox。不幸的是,这个模型的参数数量会随着类的数量线性增长。此外,在一个典型的设置中,给定类的对象数量相对较少,这些参数中的大多数会看到很少有相应梯度贡献的训练示例。因此,我们认为我们的两步过程——首先本地化,然后识别——是一个更好的选择,因为它允许使用少量参数利用同一图像中多个对象类型的数据 我们使用的本地化和分类模型的网络架构与[10]使用的网络架构相同。我们使用Adagrad来控制学习速率衰减,128的小批量,以及使用多个相同的网络副本进行并行分布式训练,从而实现更快的收敛。如前所述,我们在定位损失中使用先验——这些是使用训练集上的均值来计算的。我们还使用α = 来平衡局部化和置信度损失。定位器可以输出用于推断的种植区以外的坐标。坐标被映射和截断到最后的图像区域。另外,使用非最大抑制对盒进行修剪,Jaccard相似度阈值为。然后,我们的第二个模型将每个边界框分类为感兴趣的对象或“背景”。为了训练我们的定位器网络,我们从训练集中生成了大约3000万幅图像,并对训练集中的每幅图像应用以下步骤。最后,样品被打乱。为了训练我们的本地化网络,我们通过对训练集中的每一幅图像应用以下步骤,从训练集中生成了大约3000万幅图像。对于每幅图像,我们生成相同数量的平方样本,使样本总数大约为1000万。对于每幅图像,样本被桶状填充,这样,对于0 - 5%、5 - 15%、15 - 50%、50 - 100%范围内的每个比例,都有相同数量的样本,其中被包围框覆盖的比例在给定范围内。训练集和我们大多数超参数的选择是基于过去使用非公开数据集的经验。在下面的实验中,我们没有探索任何非标准数据生成或正则化选项。在所有的实验中,所有的超参数都是通过对训练集。 Pascal Visual Object Classes (VOC)挑战是最常用的对象检测算法基准。它主要由复杂的场景图像组成,其中包含了20种不同的对象类别的边界框。在我们的评估中,我们关注的是2007版VOC,为此发布了一个测试集。我们通过培训VOC 2012展示了结果,其中包含了大约。11000张图片。我们训练了一个100框的定位器和一个基于深度网络的分类器。 我们在一个由1000万作物组成的数据集上训练分类器,该数据集重叠的对象至少为 jaccard重叠相似度。这些作物被标记为20个VOC对象类中的一个。•2000万负作物与任何物体盒最多有个Jaccard相似度。这些作物被贴上特殊的“背景”类标签。体系结构和超参数的选择遵循。 在第一轮中,定位器模型应用于图像中最大-最小中心方形作物。作物的大小调整到网络输入大小is220×220。单次通过这个网络,我们就可以得到上百个候选日期框。在对重叠阈值为的非最大抑制后,保留评分最高的前10个检测项,并通过21路分类器模型分别通过网络进行分类。最终的检测分数是给定盒子的定位分数乘以分类器在作物周围的最大方形区域上评估的分数的乘积。这些分数通过评估,并用于计算精确查全曲线。 首先,我们分析了本地化器在隔离状态下的性能。我们给出了被检测对象的数量,正如Pascal检测标准所定义的那样,与生成的包围框的数量相对比。在图1中,我们展示了使用VOC2012进行训练所获得的结果。此外,我们通过使用图像的最大中心面积(max-center square crop)作为输入以及使用两个尺度(second scale)来给出结果:最大中心面积(max-center crop)的第二个尺度(select3×3windows的大小为图像大小的60%)正如我们所看到的,当使用10个边界框的预算时,我们可以用第一个模型本地化的对象,用第二个模型本地化48%的对象。这显示出比其他报告的结果更好的性能,例如对象度算法达到42%[1]。此外,这个图表显示了在不同分辨率下观察图像的重要性。虽然我们的算法通过使用最大中心作物获得了大量的对象,但当使用更高分辨率的图像作物时,我们获得了额外的提升。进一步,我们用21-way分类器对生成的包围盒进行分类,如上所述。表1列出了VOC 2007的平均精度(APs)。达到的平均AP是,与先进水平相当。注意,我们的运行时间复杂度非常低——我们只使用top10框。示例检测和全精度召回曲线分别如图2和图3所示。值得注意的是,可视化检测是通过仅使用最大中心方形图像裁剪,即使用全图像获得的。然而,我们设法获得了相对较小的对象,例如第二行和第二列的船,以及第三行和第三列的羊。 在本工作中,我们提出了一种新的方法来定位图像中的对象,该方法可以预测多个边界框的时间。该方法使用深度卷积神经网络作为基本特征提取和学习模型。它制定了一个能够利用可变数量的groundtruth位置的多箱定位成本。在“一个类一个箱”方法的情况下,对1000个盒子进行非max-suppression,使用与给定图像中感兴趣的DeepMulti-Box方法相同的准则,并学习在未见图像中预测这些位置。 我们在VOC2007和ILSVRC-2012这两个具有挑战性的基准上给出了结果,在这两个基准上,所提出的方法具有竞争力。此外,该方法能够很好地预测后续分类器将探测到的位置。我们的结果表明,deepmultibox的方法是可扩展的,甚至可以在两个数据集之间泛化,就能够预测感兴趣的定位,甚至对于它没有训练的类别。此外,它能够捕获同一类物体的多种情况,这是旨在更好地理解图像的算法的一个重要特征。 在未来,我们希望能够将定位和识别路径折叠到一个单一的网络中,这样我们就能够在一个通过网络的一次性前馈中提取位置和类标签信息。即使在其当前状态下,双通道过程(本地化网络之后是分类网络)也会产生5-10个网络评估,每个评估的速度大约为1个CPU-sec(现代机器)。重要的是,这个数字并不与要识别的类的数量成线性关系,这使得所提出的方法与类似dpm的方法非常有竞争力。

作为计算机视觉三大任务(图像分类、目标检测、图像分割)之一,目标检测任务在于从图像中定位并分类感兴趣的物体。传统视觉方案涉及霍夫变换、滑窗、特征提取、边界检测、模板匹配、哈尔特征、DPM、BoW、传统机器学习(如随机森林、AdaBoost)等技巧或方法。在卷积神经网络的加持下,目标检测任务在近些年里有了长足的发展。其应用十分广泛,比如在自动驾驶领域,目标检测用于无人车检测其他车辆、行人或者交通标志牌等物体。

目标检测的常用框架可以分为两类,一类是 two-stage/two-shot 的方法,其特点是将兴趣区域检测和分类分开进行,比较有代表性的是R-CNN,Fast R-CNN,Faster R-CNN;另一类是 one-stage/one-shot 的方法,用一个网络同时进行兴趣区域检测和分类,以YOLO(v1,v2,v3)和SSD为代表。

Two-stage的方式面世比较早,由于需要将兴趣区域检测和分类分开进行,虽然精度比较高,但实时性比较差,不适合自动驾驶无人车辆感知等应用场景。因而此次我们主要介绍一下SSD和YOLO系列框架。

SSD与2016年由W. Liu et al.在 SSD: Single Shot MultiBox Detector 一文中提出。虽然比同年提出的YOLO(v1)稍晚,但是运行速度更快,同时更加精确。

SSD的框架在一个基础CNN网络(作者使用VGG-16,但是也可以换成其他网络)之上,添加了一些额外的结构,从而使网络具有以下特性:

用多尺度特征图进行检测 作者在VGG-16后面添加了一些特征层,这些层的尺寸逐渐减小,允许我们在不同的尺度下进行预测。越是深层小的特征图,用来预测越大的物体。

用卷积网络进行预测 不同于YOLO的全连接层,对每个用于预测的 通道特征图,SSD的分类器全都使用了 卷积进行预测,其中 是每个单元放置的先验框的数量, 是预测的类别数。

设置先验框 对于每一个特征图上的单元格,我们都放置一系列先验框。随后对每一个特征图上的单元格对应的每一个先验框,我们预测先验框的 维偏移量和每一类的置信度。例如,对于一个 的特征图,若每一个特征图对应 个先验框,同时需要预测的类别有 类,那输出的大小为 。(具体体现在训练过程中) 其中,若用 表示先验框的中心位置和宽高, 表示预测框的中心位置和宽高,则实际预测的 维偏移量 是 分别是:

下图是SSD的一个框架,首先是一个VGG-16卷积前5层,随后级联了一系列卷积层,其中有6层分别通过了 卷积(或者最后一层的平均池化)用于预测,得到了一个 的输出,随后通过极大值抑制(NMS)获得最终的结果。

图中网络用于检测的特征图有 个,大小依次为 , , , , , ;这些特征图每个单元所对应的预置先验框分别有 , , , , , 个,所以网络共预测了 个边界框,(进行极大值抑制前)输出的维度为 。

未完待续

参考: chenxp2311的CSDN博客:论文阅读:SSD: Single Shot MultiBox Detector 小小将的知乎专栏:目标检测|SSD原理与实现 littleYii的CSDN博客:目标检测论文阅读:YOLOv1-YOLOv3(一)

作者的其他相关文章: 图像分割:全卷积神经网络(FCN)详解 PointNet:基于深度学习的3D点云分类和分割模型 详解 基于视觉的机器人室内定位

场景文字检测与识别相关论文

场景文本检测器由文本检测和识别模块组成。已经进行了许多研究,以将这些模块统一为端到端的可训练模型,以实现更好的性能。典型的结构将检测和识别模块放置在单独的分支中,并且RoI pooling通常用于让分支共享视觉特征。然而,当采用识别器时,仍然有机会在模块之间建立更互补的连接,该识别器使用基于注意力的解码器和检测器来表示字符区域的空间信息。这是可能的,因为两个模块共享一个共同的子任务,该任务将查找字符区域的位置。基于这些见解,我们构建了紧密耦合的单管道模型。通过使用检测输出作为识别器输入,并在检测阶段传播识别损失来形成此结构。字符得分图的使用有助于识别器更好地关注字符中心点,并且识别损失传播到检测器模块会增强字符区域的定位。此外,增强的共享阶段允许对任意形状的文本区域进行特征校正和边界定位。大量实验证明了公开提供的直线和曲线基准数据集的最新性能。

场景文本定位,包括文本检测和识别,由于在即时翻译,图像检索和场景解析中的各种应用,最近引起了广泛的关注。尽管现有的文本检测器和识别器在水平文本上很有效,但是在场景图像中发现弯曲的文本实例时,仍然是一个挑战。

为了在图像中发现弯曲的文本,一种经典的方法是将现有的检测和识别模型进行级联,以管理每一侧的文本实例。检测器[32、31、2]尝试通过应用复杂的后处理技术来捕获弯曲文本的几何属性,而识别器则应用多向编码[6]或采用修正模块[37、46、11]来增强弯曲文本上识别器的准确性。

随着深度学习的发展,已经进行了将检测器和识别器组合成可共同训练的端到端网络的研究[14,29]。拥有统一的模型不仅可以提高模型的尺寸效率和速度,还可以帮助模型学习共享功能,从而提高整体性能。为了从该属性中受益,还尝试使用端到端模型[32、34、10、44]处理弯曲文本实例。但是,大多数现有的工作仅采用RoI pooling 在检测和识别分支之间共享底层特征。在训练阶段,不是训练整个网络,而是使用检测和识别损失来训练共享特征层。

如图1所示,我们提出了一种新颖的端到端字符区域注意文本定位模型,称为CRAFTS。而不是将检测和识别模块隔离在两个单独的分支中,我们通过在模块之间建立互补连接来建立一个单一的pipline。我们观察到,使用基于注意力的解码器的识别器[1]和封装字符空间信息的检测器[2]共享一个公用的子任务,该子任务用于定位字符区域。通过将两个模块紧密集成,检测级的输出可帮助识别器更好地识别字符中心点,并且从识别器传播到检测器级的损失会增强字符区域的定位。而且,网络能够使在公共子任务中使用的特征表示的质量最大化。据我们所知,这是构建紧密耦合损失的首个端到端工作。 我们的贡献总结如下: (1)我们提出了一种可以检测和识别任意形状的文本的端到端网络。 (2)通过利用来自修正和识别模块上检测器的空间字符信息,我们在模块之间构造互补关系。 (3)通过在整个网络的所有特征中传播识别损失来建立单个pipline。 (4)我们在包含大量水平,弯曲和多语言文本的IC13,IC15,IC19-MLT和TotalText [20、19、33、7]数据集中实现了最先进的性能。

文本检测和识别方法 检测网络使用基于回归的[16、24、25、48]或基于分割的[9、31、43、45]方法来生成文本边界框。诸如[17,26,47]之类的一些最新方法将Mask-RCNN [13]作为基础网络,并通过采用多任务学习从回归和分割方法中获得了优势。就文本检测的单元而言,所有方法还可以依赖单词级别或字符级别[16,2]预测的使用进行子分类。

文本识别器通常采用基于CNN的特征提取器和基于RNN的序列生成器,并按其序列生成器进行分类。连接主义的时间分类(CTC)[35]和基于注意力的顺序解码器[21、36]。 检测模型提供了文本区域的信息,但是对于识别器而言,要提取任意形状的文本中的有用信息仍然是一个挑战。 为了帮助识别网络处理不规则文本,一些研究[36、28、37]利用 空间变换器网络(STN) [18]。而且,论文[11,46]通过迭代执行修正方法进一步扩展了STN的使用。这些研究表明,递归运行STN有助于识别器提取极端弯曲文本中的有用特征。在[27]中,提出了循环RoIWarp层, 在识别单个字符之前对其进行裁剪。这项工作证明,找到字符区域的任务与基于注意力的解码器中使用的注意力机制密切相关。

构造文本定位模型的一种方法是依次放置检测和识别网络。众所周知的两阶段结构将TextBox ++ [24]检测器和CRNN [35]识别器耦合在一起。简单来说,该方法取得了良好的效果。

端到端的使用基于RNN的识别器 EAA [14]和FOTS [29]是基于EAST检测器[49]的端到端模型。这两个网络之间的区别在于识别器。 FOTS模型使用CTC解码器[35],而EAA模型使用注意力解码器[36]。两项工作都实现了仿射变换层来合并共享功能。提出的仿射变换在水平文本上效果很好,但在处理任意形状的文本时显示出局限性。 TextNet [42]提出了一种在特征池化层中具有透视RoI变换的空间感知文本识别器, 网络保留RNN层以识别2D特征图中的文本序列,但是由于缺乏表现力的四边形,在检测弯曲文本时,网络仍然显示出局限性。

Qin等[34]提出了一种基于Mask-RCNN [13]的端到端网络。给定box proposals,从共享层合并特征,并使用ROI遮罩层过滤掉背景杂波。提出的方法通过确保注意力仅在文本区域中来提高其性能。Busta等提出了Deep TextSpotter [3]网络,并在E2E-MLT [4]中扩展了他们的工作。该网络由基于FPN的检测器和基于CTC的识别器组成。该模型以端到端的方式预测多种语言。

端到端的使用基于CNN的识别器 在处理任意形状的文本时,大多数基于CNN的模型在识别字符级文本都具有优势。 MaskTextSpotter [32]是使用分割方法识别文本的模型。尽管它在检测和识别单个字符方面具有优势, 但由于通常不会在公共数据集中提供字符级别的注释,因此很难训练网络。 CharNet [44]是另一种基于分割的方法,可以进行字符级预测。该模型以弱监督的方式进行训练,以克服缺乏字符级注释的问题。在训练期间,该方法执行迭代字符检测以创建伪ground-truths。

尽管基于分割的识别器已经取得了巨大的成功,但是当目标字符的数量增加时,该方法会受到影响。随着字符集数量的增加,基于分割的模型需要更多的输出通道,这增加了内存需求。journal版本的MaskTextSpotter [23]扩展了字符集以处理多种语言,但是作者添加了基于RNN的解码器,而不是使用他们最初提出的基于CNN的识别器。 基于分割的识别器的另一个限制是识别分支中缺少上下文信息。 由于缺少像RNN这样的顺序建模,在嘈杂的图像下,模型的准确性下降。

TextDragon [10]是另一种基于分割的方法,用于定位和识别文本实例。但是, 不能保证预测的字符段会覆盖单个字符区域。为了解决该问题,该模型合并了CTC来删除重叠字符。 该网络显示出良好的检测性能,但是由于缺少顺序建模而在识别器中显示出局限性。

由于CRAFT检测器[2]具有表示字符区域语义信息的能力,因此被选作基础网络。 CRAFT网络的输出表示字符区域以及它们之间的连接的中心概率。由于两个模块的目标是定位字符的中心位置,我们设想此字符居中信息可用于支持识别器中的注意模块。 在这项工作中,我们对原始的CRAFT模型进行了三处更改;骨干替换,连接表示和方向估计。

骨干置换 最近的研究表明,使用ResNet50可以捕获检测器和识别器定义的明确的特征表示[30,1]。因此,我们将骨干网络由VGG-16 [40]换成ResNet50 [15]。

连接表示 垂直文本在拉丁文本中并不常见,但是在东亚语言(例如中文,日语和韩语)中经常出现。在这项工作中,使用二进制中心线连接顺序字符区域。进行此改变的原因是,在垂直文本上使用原始的亲和力图经常会产生不适定的透视变换,从而生成无效的框坐标。为了生成 ground truth连接图,在相邻字符之间绘制一条粗细为t的线段。这里,t = max((d 1 + d 2)/ 2 *α,1),其中d 1和d 2是相邻字符盒的对角线长度,α是缩放系数。使用该方程式可使中心线的宽度与字符的大小成比例。我们在实现中将α设置为。

方向估计 重要的是获取文本框的正确方向,因为识别阶段需要定义明确的框坐标才能正确识别文本。为此,我们在检测阶段增加了两个通道的输出,通道用于预测字符沿x轴和y轴的角度。为了生成定向图的 ground truth.

共享阶段包括两个模块:文本纠正模块和字符区域注意力( character region attention: CRA)模块。为了纠正任意形状的文本区域,使用了薄板样条(thin-plate spline:TPS)[37]转换。受[46]的启发,我们的纠正模块结合了迭代式TPS,以更好地表示文本区域。通过有吸引力地更新控制点,可以改善图像中文本的弯曲几何形状。 通过实证研究,我们发现三个TPS迭代足以校正。

典型的TPS模块将单词图像作为输入,但是我们提供了字符区域图和连接图,因为它们封装了文本区域的几何信息。我们使用二十个控制点来紧密覆盖弯曲的文本区域。为了将这些控制点用作检测结果,将它们转换为原始输入图像坐标。我们可以选择执行2D多项式拟合以平滑边界多边形。迭代TPS和最终平滑多边形输出的示例如图4所示。

识别阶段的模块是根据[1]中报告的结果形成的。 识别阶段包含三个组件:特征提取,序列建模和预测。 由于特征提取模块采用高级语义特征作为输入,因此它比单独的识别器更轻便。

表1中显示了特征提取模块的详细架构。提取特征后,将双向LSTM应用于序列建模,然后基于注意力的解码器进行最终文本预测。

在每个时间步,基于注意力的识别器都会通过屏蔽对特征的注意力输出来解码文本信息。 尽管注意力模块在大多数情况下都能很好地工作,但是当注意点未对齐或消失时,它无法预测字符[5,14]。 图5显示了使用CRA模块的效果。 适当放置的注意点可以进行可靠的文本预测。

用于训练的最终损失L由检测损失和识别损失组成,取L = Ldet + Lreg。 识别损失的总体流程如图6所示。损失在识别阶段流经权重,并通过字符区域注意模块传播到检测阶段。 另一方面,检测损失被用作中间损失,因此使用检测和识别损失来更新检测阶段之前的权重。

English datasets IC13 [20]数据集由高分辨率图像组成,229张图像用于训练和233张图像用于测试。 矩形框用于注释单词级文本实例。 IC15 [20]包含1000个训练图像和500个测试图像。 四边形框用于注释单词级文本实例。 TotalText [7] 拥有1255个训练图像和300张测试图像。与IC13和IC15数据集不同,它包含弯曲的文本实例,并使用多边形点进行注释。

Multi-language dataset IC19 [33]数据集包含10,000个训练和10,000个测试图像。 数据集包含7种不同语言的文本,并使用四边形点进行注释。

我们联合训练CRAFTS模型中的检测器和识别器。为了训练检测阶段,我们遵循[2]中描述的弱监督训练方法。通过在每个图像中进行批随机采样的裁剪单词特征来计算识别损失。每个图像的最大单词数设置为16,以防止出现内存不足错误。检测器中的数据增强应用了诸如裁剪,旋转和颜色变化之类的技术。对于识别器来说,ground truth框的角点在框的较短长度的0%到10%之间的范围内受到干扰。

该模型首先在SynthText数据集[12]上进行了50k迭代训练,然后我们进一步在目标数据集上训练了网络。使用Adam优化器,并应用在线困难样本挖掘On-line Hard Negative Mining(OHEM) [39]来在检测损失中强制使用正负像素的1:3比例。微调模型时,SynthText数据集以1:5的比例混合。我们采用94个字符来覆盖字母,数字和特殊字符,对于多语言数据集则采用4267个字符。

水平数据集(IC13,IC15) 为了达到IC13基准,我们采用在SynthText数据集上训练的模型,并在IC13和IC19数据集进行微调。在;推理过程中,我们将输入的较长边调整为1280。 结果表明,与以前的最新技术相比,性能显着提高。

然后在IC15数据集上对在IC13数据集上训练的模型进行微调。在评估过程中,模型的输入大小设置为2560x1440。请注意,我们在没有通用词汇集的情况下执行通用评估。表2中列出了IC13和IC15数据集的定量结果。

使用热图来说明字符区域图和连接图,并且在HSV颜色空间中可视化了加权的像素角度值。 如图所示,网络成功定位了多边形区域并识别了弯曲文本区域中的字符。左上角的两个图显示成功识别了完全旋转和高度弯曲的文本实例。

由字符区域注意辅助的注意力 在本节中,我们将通过训练没有CRA的单独网络来研究字符区域注意(CRA)如何影响识别器的性能。

表5显示了在基准数据集上使用CRA的效果。没有CRA,我们观察到在所有数据集上性能均下降。特别是在远景数据集(IC15)和弯曲数据集(TotalText)上,我们观察到与水平数据集(IC13)相比,差距更大。这意味着在处理不规则文本时,送入字符注意力信息可以提高识别器的性能。(?表格中的实验数据是对远景文本更有效,不知道这个结论如何得出来的?)

方向估计的重要性 方向估计很重要,因为场景文本图像中有许多多方向文本。我们的逐像素平均方案对于识别器接收定义良好的特征非常有用。当不使用方向信息时,我们比较模型的结果。在IC15数据集上,性能从%下降到%(%),在TotalText数据集上,h-mean值从%下降到%(%)。 结果表明,使用正确的角度信息可以提高旋转文本的性能。

推理速度 由于推理速度随输入图像大小而变化,因此我们在不同的输入分辨率下测量FPS,每个分辨率的较长边分别为960、1280、1600和2560。测试结果得出的FPS分别为、、和。对于所有实验,我们使用Nvidia P40 GPU和Intel®Xeon®CPU。与基于VGG的CRAFT检测器的 FPS [2]相比,基于ResNet的CRAFTS网络在相同大小的输入上可获得更高的FPS。而且,直接使用来自修正模块的控制点可以减轻对多边形生成进行后期处理的需要。

粒度差异问题 我们假设 ground-truth与预测框之间的粒度差异导致IC15数据集的检测性能相对较低。 字符级分割方法倾向于基于空间和颜色提示来概括字符连接性,而不是捕获单词实例的全部特征。 因此,输出不遵循基准测试要求的框的注释样式。图9显示了IC15数据集中的失败案例,这证明了当我们观察到可接受的定性结果时,检测结果被标记为不正确。

在本文中,我们提出了一种将检测和识别模块紧密耦合的端到端可训练单管道模型。 共享阶段中的字符区域注意力充分利用了字符区域图,以帮助识别器纠正和更好地参与文本区域。 此外,我们设计了识别损失通过在检测阶段传播并增强了检测器的字符定位能力。 此外,共享阶段的修正模块可以对弯曲的文本进行精细定位,并且无需开发手工后期处理。 实验结果验证了CRAFTS在各种数据集上的最新性能。

1、图像输入、预处理:图像输入:对于不同的图像格式,有着不同的存储格式,不同的压缩方式。预处理:主要包括二值化,噪声去除,倾斜较正等2、二值化:对摄像头拍摄的图片,大多数是彩色图像,彩色图像所含信息量巨大,对于图片的内容,我们可以简单的分为前景与背景,为了让计算机更快的,更好的识别文字,我们需要先对彩色图进行处理,使图片只前景信息与背景信息,可以简单的定义前景信息为黑色,背景信息为白色,这就是二值化图了。3、噪声去除:对于不同的文档,我们对燥声的定义可以不同,根据燥声的特征进行去燥,就叫做噪声去除4、倾斜较正:由于一般用户,在拍照文档时,都比较随意,因此拍照出来的图片不可避免的产生倾斜,这就需要文字识别软件进行较正。版面分析:5、将文档图片分段落,分行的过程就叫做版面分析,由于实际文档的多样性,复杂性,因此,目前还没有一个固定的,最优的切割模型。6、字符切割:由于拍照条件的限制,经常造成字符粘连,断笔,因此极大限制了识别系统的性能,这就需要文字识别软件有字符切割功能。7、字符识别:这一研究,已经是很早的事情了,比较早有模板匹配,后来以特征提取为主,由于文字的位移,笔画的粗细,断笔,粘连,旋转等因素的影响,极大影响特征的提取的难度。8、版面恢复:人们希望识别后的文字,仍然像原文档图片那样排列着,段落不变,位置不变,顺序不变,的输出到word文档,pdf文档等,这一过程就叫做版面恢复。9、后处理、校对:根据特定的语言上下文的关系,对识别结果进行较正,就是后处理。开发一个OCR文字识别软件[2]系统,其目的很简单,只是要把影像作一个转换,使影像内的图形继续保存、有表格则表格内资料及影像内的文字,一律变成计算机文字,使能达到影像资料的储存量减少、识别出的文字可再使用及分析,当然也可节省因键盘输入的人力与时间。从影像到结果输出,须经过影像输入、影像前处理、文字特征抽取、比对识别、最后经人工校正将认错的文字更正,将结果输出。

相关百科
热门百科
首页
发表服务