基于注意力机制的弱监督语义分割方法与流程

文档序号:18167708发布日期:2019-07-13 09:43阅读:809来源:国知局
基于注意力机制的弱监督语义分割方法与流程

本发明涉及机器视觉领域,特别是一种基于注意力机制的弱监督语义分割方法。



背景技术:

近年,卷积神经网络在计算机视觉中逐渐占据主导地位,优势是能够从大量的数据中获得优质的特征,但是同时需要大量的训练数据去支撑这好的结果。这个缺点在图像分割问题中尤为突出,大部分语义分割的方式都依赖于大规模密集的注释数据来训练深度神经网络模型,然而为了制作像素级的注释需要花费大量的人力与时间。据统计平均一张图像素级标记需要4到5分钟,而图像级标注只需要2秒,boundingbox的标记只需要20秒左右。相比之下,利用boundingbox和图像级注释要便宜的多。

现在的弱监督语义分割方法,主要分为三种:1.通过图像级的监督信息,利用注意力机制,从检测网络中获得目标的关注点。2.利用检测框框住目标物体,再通过聚类色彩信息,获得目标大致掩膜。3.对目标物体进行适当的涂鸦选取,通过寻找与标注点相似程度高的部分去当作目标掩膜。

目前基于图像级标注的方式,抗干扰不好,复杂环境可能导致过分割;基于检测框的方式,当背景与前景目标颜色相近时,检测框内的背景噪声容易被误分割成前景或者将前景误当成背景产生遗漏;基于涂鸦的方式标注目标物体,当目标物颜色变化过大时,容易漏分割目标。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于注意力机制的弱监督语义分割方法,通过充分挖掘监督信息内容,利用其中的隐藏有用信息,改善以往弱监督语义分割的效果。

本发明采用以下方案实现:一种基于注意力机制的弱监督语义分割方法,具体包括以下步骤:

步骤s1:输入图片;

步骤s2:分别利用目标检测网络获得目标的检测框、利用分类网络获得目标初始定位点与目标物体伪掩膜1、以及利用改进型的grabcut获得目标物体伪掩膜2;

步骤s3:将步骤s2得到的目标物体伪掩膜1与目标物体伪掩膜2做像素与操作,得到最终目标伪掩膜;

步骤s4:训练语义训练网络。

进一步地,步骤s2中,所述利用目标检测网络获得目标的检测框具体为:采用dcn架构,将检测框九等分,分别覆盖在目标物体的不同位置上。

进一步地,步骤s2中,所述利用分类网络获得目标初始定位点与目标物体伪掩膜1具体为:首先基于cam框架,利用图像级的注释信息训练神经网络,分析图像中是否含有目标物体;其中分类网络的输入是原始图片,输出是类激活映射图,类激活映射图中各个像素点为目标类别的概率值;接着将检测框缩放到与类激活映射图相同大小,取检测框中对应位置增加相应概率值;取最终概率值大于一定阈值的点作为峰值点,带入神经网络中反向传播,最终获得目标物体相应峰值点的反向传播图;最后,采用可形变的检测框对各峰值点的反向传播图做出筛选,粗略筛选出属于目标物体的反向传播图,将筛选出的各个图合并,形成目标物体伪掩膜1。

进一步地,步骤s2中,所述利用改进型的grabcut获得目标物体伪掩膜2具体为:将通过cam框架获得的类激活映射图自动补充grabcut前景信息,并生成目标物体伪掩膜2。

进一步地,所述语义训练网络采用deeplab网络。

与现有技术相比,本发明有以下有益效果:

1、本发明基于检测网络和分类网络,共同利用各自优势互补缺点的方法获得目标前景伪掩膜。其中,利用检测网络完整覆盖目标的优势,补充cam架构得到的类激活映射图的不完整,并通过可形变的检测框筛选类激活映射图峰值点反向传播形成的掩膜为前景伪掩膜。

2、本发明采用改进型的grabcut方式。利用cam架构获得的类激活映射图,自动补充grabcut前景信息,能够获得更好的前景分割效果。

附图说明

图1为本发明实施例的原理流程示意图。

图2为本发明实施例的检测框与可形变检测框示意图。

图3为本发明实施例的cam生成的类激活映射图。

图4为本发明实施例的峰值点反向传播示意图。

图5为本发明实施例的示例原始图片。

图6为本发明实施例的目标物体伪掩膜1示意图。

图7为本发明实施例的原始grabcut效果图。

图8为本发明实施例的改进后的grabcut效果图。

图9为本发明实施例deeplab训练输出结果示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,本实施例提供了一种基于注意力机制的弱监督语义分割方法,具体包括以下步骤:

步骤s1:输入图片;

步骤s2:分别利用目标检测网络获得目标的检测框、利用分类网络获得目标初始定位点与目标物体伪掩膜1、以及利用改进型的grabcut获得目标物体伪掩膜2;

步骤s3:将步骤s2得到的目标物体伪掩膜1与目标物体伪掩膜2做像素与操作,得到最终目标伪掩膜;

步骤s4:训练语义训练网络。

在本实施例中,步骤s2中,所述利用目标检测网络获得目标的检测框具体为:采用dcn架构,将检测框九等分,分别覆盖在目标物体的不同位置上。

其中,dcn架构是一种检测框可以随目标的形态而改变检测框形状的网络(在本实施例中称“可形变检测框”)。原始的检测网络对目标物体给与一个完全覆盖的检测框,而在这里检测框被分成九等分,分别覆盖在目标物体不同位置之上,可以覆盖目标的大部分。可形变检测框如附图2所示。

在本实施例中,步骤s2中,所述利用分类网络获得目标初始定位点与目标物体伪掩膜1具体为:首先基于cam框架(这是一种利用分类网络获得目标定位点的方式),利用图像级的注释信息训练神经网络,分析图像中是否含有目标物体;本网络总共有五个卷积层,主要作用是对输入图像进行特征提取;有一个全局池化层和全连接层,用于对多个特征图提取到的信息进行筛选,选取有用信息判别目标类别。其中分类网络的输入是原始图片,输出是类激活映射图,其大小与原图经历过五个卷积层之后输出的大小相同,类激活映射图中各个像素点为目标类别的概率值;类激活映射图如附图3所示,图中表示类别为猫的像素点概率值。

在cam框架中,最终获得的类激活映射图通常只在最能判别目标物体的部位概率值较大,其他位置只有较小的概率,不能够给出比较完整的初始定位。而在检测网络中,获得的检测框可以完全覆盖目标物体,即在检测框中拥有目标的概率较大。本实施例接着将检测框缩放到与类激活映射图相同大小,取检测框中对应位置增加相应概率值;取最终概率值大于一定阈值的点作为峰值点,带入神经网络中反向传播,最终可以在卷积网络的第一层获得目标物体相应峰值点的反向传播图,这个图一般激活在目标的边缘部位,如附图4所示。但是,在检测框中并不是所有的点都是目标,带入了过多噪声,同理反向传播出来的边缘图包含了很多噪声边缘。最后,本实施例采用可形变的检测框对各峰值点的反向传播图做出筛选,粗略筛选出属于目标物体的反向传播图,将筛选出的各个图合并,形成目标物体伪掩膜1,如图6所示。

在本实施例中,步骤s2中,所述利用改进型的grabcut获得目标物体伪掩膜2具体为:将通过cam框架获得的类激活映射图自动补充grabcut前景信息,并生成目标物体伪掩膜2。其中,在原始的grabcut算法中,只需要给出检测框,就能自动获得目标前景的分割。同时为了改善分割效果,用户还可以手动标记出部分物体前景和部分物体背景,让算法更好的分割出完整的目标前景。但是,这需要用户手动的加入,对于目标物体提供监督信息。在本实施例中,利用cam获得类激活映射图,概率值大于设定阈值时,此像素点设置为前景目标。通过这种方式,省去了人工手动标注部分前景的步骤,实现了分割前景的自动化,生成了伪掩膜2。原始grabcut效果图和改进后的grabcut效果图分别如附图7,8所示。

在本实施例中,像素与操作即两方式区域像素值都为1时,将此区域最终结果认定为目标前景,得到最终目标伪掩膜。

在本实施例中,所述语义训练网络采用deeplab网络。所述deeplab网络是一种结合了深度卷积网络和概率图模型,并利用空洞卷积增加感受野,能够获得更好分割效果的神经网络。其中输入是原始图片,如图5所示,输出是图像语义分割掩膜图,如图9所示。

本实施例采用结合图像级监督和检测框级监督方式,利用图像级监督的目标关注性,改善检测框引入过多噪声的缺点。同时,利用检测框监督的目标完整性,改善图像级监督产生的类激活映射图中大部分缺失。综上所述,本实施例相比较现在的弱监督语义分割技术,获得更好的分割效果。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1