最近,端到端场景文本识别已成为一个流行的研究主题,因为它具有全局优化的优点和在实际应用中的高可维护性。大多数方法试图开发各种感兴趣的区域(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操作,并设计了位置感知注意模块来粗略定位文本序列。 之后,应用轻量级序列解码器以将所有最终字符序列成批获取。 实验表明,我们的方法可以在流行基准上获得具有竞争力的,甚至最先进的结果。
论文名称:Rich feature hierarchies for accurate object detection and semantic segmentation 提出时间:2014年 论文地址: 针对问题: 从Alexnet提出后,作者等人思考如何利用卷积网络来完成检测任务,即输入一张图,实现图上目标的定位(目标在哪)和分类(目标是什么)两个目标,并最终完成了RCNN网络模型。 创新点: RCNN提出时,检测网络的执行思路还是脱胎于分类网络。也就是深度学习部分仅完成输入图像块的分类工作。那么对检测任务来说如何完成目标的定位呢,作者采用的是Selective Search候选区域提取算法,来获得当前输入图上可能包含目标的不同图像块,再将图像块裁剪到固定的尺寸输入CNN网络来进行当前图像块类别的判断。 参考博客: 。 论文题目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 提出时间:2014年 论文地址: 针对问题: 该论文讨论了,CNN提取到的特征能够同时用于定位和分类两个任务。也就是在CNN提取到特征以后,在网络后端组织两组卷积或全连接层,一组用于实现定位,输出当前图像上目标的最小外接矩形框坐标,一组用于分类,输出当前图像上目标的类别信息。也是以此为起点,检测网络出现基础主干网络(backbone)+分类头或回归头(定位头)的网络设计模式雏形。 创新点: 在这篇论文中还有两个比较有意思的点,一是作者认为全连接层其实质实现的操作和1x1的卷积是类似的,而且用1x1的卷积核还可以避免FC对输入特征尺寸的限制,那用1x1卷积来替换FC层,是否可行呢?作者在测试时通过将全连接层替换为1x1卷积核证明是可行的;二是提出了offset max-pooling,也就是对池化层输入特征不能整除的情况,通过进行滑动池化并将不同的池化层传递给后续网络层来提高效果。另外作者在论文里提到他的用法是先基于主干网络+分类头训练,然后切换分类头为回归头,再训练回归头的参数,最终完成整个网络的训练。图像的输入作者采用的是直接在输入图上利用卷积核划窗。然后在指定的每个网络层上回归目标的尺度和空间位置。 参考博客: 论文题目:Scalable Object Detection using Deep Neural Networks 提出时间:2014年 论文地址: 针对问题: 既然CNN网络提取的特征可以直接用于检测任务(定位+分类),作者就尝试将目标框(可能包含目标的最小外包矩形框)提取任务放到CNN中进行。也就是直接通过网络完成输入图像上目标的定位工作。 创新点: 本文作者通过将物体检测问题定义为输出多个bounding box的回归问题. 同时每个bounding box会输出关于是否包含目标物体的置信度, 使得模型更加紧凑和高效。先通过聚类获得图像中可能有目标的位置聚类中心,(800个anchor box)然后学习预测不考虑目标类别的二分类网络,背景or前景。用到了多尺度下的检测。 参考博客: 论文题目:DeepBox: Learning Objectness with Convolutional Networks 提出时间:2015年ICCV 论文地址: 主要针对的问题: 本文完成的工作与第三篇类似,都是对目标框提取算法的优化方案,区别是本文首先采用自底而上的方案来提取图像上的疑似目标框,然后再利用CNN网络提取特征对目标框进行是否为前景区域的排序;而第三篇为直接利用CNN网络来回归图像上可能的目标位置。创新点: 本文作者想通过CNN学习输入图像的特征,从而实现对输入网络目标框是否为真实目标的情况进行计算,量化每个输入框的包含目标的可能性值。 参考博客: 论文题目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection 提出时间:2015年ICCV 论文地址: 主要针对的问题: 对检测网络的实现方案进行思考,之前的执行策略是,先确定输入图像中可能包含目标位置的矩形框,再对每个矩形框进行分类和回归从而确定目标的准确位置,参考RCNN。那么能否直接利用回归的思路从图像的四个角点,逐渐得到目标的最小外接矩形框和类别呢? 创新点: 通过从图像的四个角点,逐步迭代的方式,每次计算一个缩小的方向,并缩小指定的距离来使得逐渐逼近目标。作者还提出了针对多目标情况的处理方式。 参考博客: 论文题目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 提出时间:2014年 论文地址: 针对问题: 如RCNN会将输入的目标图像块处理到同一尺寸再输入进CNN网络,在处理过程中就造成了图像块信息的损失。在实际的场景中,输入网络的目标尺寸很难统一,而网络最后的全连接层又要求输入的特征信息为统一维度的向量。作者就尝试进行不同尺寸CNN网络提取到的特征维度进行统一。创新点: 作者提出的SPPnet中,通过使用特征金字塔池化来使得最后的卷积层输出结果可以统一到全连接层需要的尺寸,在训练的时候,池化的操作还是通过滑动窗口完成的,池化的核宽高及步长通过当前层的特征图的宽高计算得到。原论文中的特征金字塔池化操作图示如下。 参考博客 : 论文题目:Object detection via a multi-region & semantic segmentation-aware CNN model 提出时间:2015年 论文地址: 针对问题: 既然第三篇论文multibox算法提出了可以用CNN来实现输入图像中待检测目标的定位,本文作者就尝试增加一些训练时的方法技巧来提高CNN网络最终的定位精度。创新点: 作者通过对输入网络的region进行一定的处理(通过数据增强,使得网络利用目标周围的上下文信息得到更精准的目标框)来增加网络对目标回归框的精度。具体的处理方式包括:扩大输入目标的标签包围框、取输入目标的标签中包围框的一部分等并对不同区域分别回归位置,使得网络对目标的边界更加敏感。这种操作丰富了输入目标的多样性,从而提高了回归框的精度。 参考博客 : 论文题目:Fast-RCNN 提出时间:2015年 论文地址: 针对问题: RCNN中的CNN每输入一个图像块就要执行一次前向计算,这显然是非常耗时的,那么如何优化这部分呢? 创新点: 作者参考了SPPNet(第六篇论文),在网络中实现了ROIpooling来使得输入的图像块不用裁剪到统一尺寸,从而避免了输入的信息丢失。其次是将整张图输入网络得到特征图,再将原图上用Selective Search算法得到的目标框映射到特征图上,避免了特征的重复提取。 参考博客 : 论文题目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers 提出时间:2015年 论文地址: 主要针对的问题: 本文的作者观察到CNN可以提取到很棒的对输入图像进行表征的论文,作者尝试通过实验来对CNN网络不同层所产生的特征的作用和情况进行讨论和解析。 创新点: 作者在不同的激活层上以滑动窗口的方式生成了假设,并表明最终的卷积层可以以较高的查全率找到感兴趣的对象,但是由于特征图的粗糙性,定位性很差。相反,网络的第一层可以更好地定位感兴趣的对象,但召回率降低。 论文题目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 提出时间:2015年NIPS 论文地址: 主要针对的问题: 由multibox(第三篇)和DeepBox(第四篇)等论文,我们知道,用CNN可以生成目标待检测框,并判定当前框为目标的概率,那能否将该模型整合到目标检测的模型中,从而实现真正输入端为图像,输出为最终检测结果的,全部依赖CNN完成的检测系统呢? 创新点: 将当前输入图目标框提取整合到了检测网络中,依赖一个小的目标框提取网络RPN来替代Selective Search算法,从而实现真正的端到端检测算法。 参考博客 :
原文: Ren S, He K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]// International Conference on Neural Information Processing Systems. MIT Press, 2015:91-99.
译文参考: Faster R-CNN论文翻译——中英文对照
目标检测网络依赖于Region Proposal算法假设目标位置,通过引入Region Proposal(网络RPN),与检测网络共享全图像卷积特征,使得Region Proposals的成本近乎为零。
如下图所示,图a采用的是图像金子塔(Pyramids Of Images)方法;图b采用的是滤波器金字塔(Pyramids Of Filters)方法;图c引入“锚”盒("Anchor" Boxes)这一概念作为多尺度和长宽比的参考,其可看作回归参考金字塔(Pyramids Of Regression References)方法,该方法可避免枚举图像、多尺度滤波器和长宽比。
为了将RPN与Fast R-CNN相结合,本文提出了一种新的训练策略:在region proposal任务和目标检测任务之间交替进行微调,同时保持proposals的固定。该方案能够快速收敛,两个任务之间并共享具有卷积特征的统一网络。
Faster R-CNN由两个模块组成:
RPN以任意大小的图像作为输入,输出一组矩形的目标proposals,每个proposals都有一个目标得分。在实验中,假设两个网络(RPN和Fast R-CNN)共享一组共同的卷积层,并研究了具有5个共享卷积层的 Zeiler和Fergus模型(ZF) ,以及具有13个共享卷积层的 Simonyan和Zisserman模型(VGG-16) 。
为了生成region proposals,对最后的共享卷积层输出的卷积特征图谱使用一个小网络。该网络以卷积特征图谱的 空间窗口作为输入,且每个滑动窗口映射到一个低维特征,所有空间位置共享全连接层。
该低维特征作为两个子全连接层———边界框回归层(box-regression layer, reg)和边界框分类层(box-classification layer, cls)的输入,其卷积核均为 大小。
对于每个滑动窗口位置,可同时预测多个region proposals,最大region proposals数为 。因此,reg层具有 个输出,用于编码k个边界框的坐标;cls层具有 个得分,用于估计每个proposal是目标或不是目标的概率。
Anchors:k个proposals相对于 个参考框是参数化形式。
anchor位于滑动窗口的中心,并与尺度和长宽比相关。默认情况,使用3个尺度和3个长宽比,在每个滑动位置产生 个anchors。对于大小为 的卷积特征图谱,共产生 个anchors。
基于anchor的方法建立在anchors金字塔(pyramid of anchors)上,参考多尺度和长宽比的anchor盒来分类和回归边界框,用于解决多尺度和多长宽比问题。
为了训练RPN,为每个anchor分配一个二值标签。
正标签:
负标签:IoU值低于。
对Fast R-CNN中的多任务损失进行最小化。图像的损失函数为:
其中, 是mini-batch数据中anchor的索引, 是第i个anchor作为目标的预测概率。若anchor为正标签,真值 ;反之, 。 是表示预测边界框4个参数化坐标的向量, 是正真值框的向量。分类损失 为两个类别的对数损失;回归损失 ,其中 为在 Fast R-CNN 一文中定义的鲁棒损失函数(平滑 )。 表示回归损失仅对正anchor激活,否则被禁用( )。cls和rge层的输出分别由 和 组成。该两项使用 和 进行标准化,并使用平衡参数 加权处理。等式中cls项根据mini-batch的大小进行归一化,而reg项根据anchor位置的数据进行归一化。默认情况下, 从而使得cls和reg项的权重大致相等。
对于边界框回归,采用 Rich feature hierarchies for accurate object detection and semantic segmentation 一文中的4个坐标参数化方法:
其中, 和 表示边界框的中心坐标及其宽和高。变量 和 分别表示预测边界框、anchor和真值框。
采样策略:以图像为中心。
在图像中随机采样256个anchors,用于mini-batch数据中损失函数的计算,正负样本的比例为 。
从标准差为的零均值高斯分布中提取权重来随机初始化所有的新网络层,而共享卷积层通过预训练ImageNet分类模型来初始化。同时,调整ZF网络的所有网络层,以及VGG网络的conv3_1之上的网络,用于节省内存的使用。对于60k的mini-batch数据,学习率为;对于PASCAL VOC数据集中的20k的mini-bacth数据,学习率为。随机梯度下降算法的动量设置为,重量衰减率为。
训练具有共享特征网络的三个方法:
版权印版权标识
221 浏览 5 回答
279 浏览 6 回答
142 浏览 4 回答
154 浏览 4 回答
273 浏览 3 回答
335 浏览 2 回答
193 浏览 5 回答
109 浏览 1 回答
88 浏览 3 回答
267 浏览 3 回答
262 浏览 7 回答
189 浏览 5 回答
302 浏览 6 回答
168 浏览 2 回答
224 浏览 4 回答