本发明涉及人工智能领域,具体而言,涉及一种图像实例分割方法、装置、设备及存储介质。
背景技术:
图像实例分割问题是计算机视觉领域的一个极为重要的子问题,其主要目的是将图像中人们感兴趣的物体精确地从图像中截取出来,以此来避免背景的干扰,方便后续的处理。实例分割本身包含很多支线问题,分别是目标检测和语义分割。每一点的提升对于最后的结果的改善都是极为重要的,因此本文的改进方向也可以从这两个地方出发。
早期图像分割并没有实例分割和语义分割的区分,目的就是将前背景图像区分开。早期的图像分割发展技术主要有以下两个方向:
基于阈值的图像分割算法
使用阈值来进行图像分割的算法是最常用的图像分割算法之一,其主要思想是将图像的每个像素的灰度值与阈值相比较,之后进行分类,得到最终的二值图像,将目标与背景分隔开。因此,阈值法的重点就是如何找到最优的灰度阈值。经典的算法有otsu大津法,通过将不同类别间的方差最大化来求取最佳阈值。除此之外还有均值法,直方图双峰法,迭代阈值法等多种算法。
阈值法本身具有计算速度快,算法实现简单等特点,在目标和背景差异较大或是对比度较为明显时效果优异。但是当图像本身信息复杂,遮挡噪声等问题较为严重时,阈值法就无法达到一个满意的分割结果。
基于边缘信息的图像分割算法
相比于像素值,边缘本身所包含的信息更丰富,在图像中边缘信息在像素值,梯度等特征上变化也是最剧烈的区域,因此根据边缘信息进行分割也是最容易想到和研究时间最长的方法之一。
一般情况下,目标内部的像素是较为统一的或者变化也是较为缓和的,而在不同物体间,这种变化会变得极为剧烈,因此通常情况下边缘信息大多是高频信息。人们可以通过这一特性计算得到图像中所有可能的边界信息,并以此来进行分割。常用的边缘检测算法有sobel,canny等。但是当目标本身的像素值较为多变或是蕴含很多细微的纹理时,单一的边缘检测算法就很难完整的得到目标的边界。同样的,当图像本身噪声影响严重时,边缘检测算法也无法发挥效果,因为噪声信息本身就与图像无关,他同样也是高频信息,对于检测来说影响极大。
早期图像分割算法主要集中在对图像表层信息的使用,比如像素,边缘,梯度等,但是随着深度学习的发展,神经网络可以从图像中提取到更为高级的语义信息,这无疑扩充了算法所能够使用的信息的数量,对于图像分割起了极大地促进作用,分割开始向着两个方向发展,一个是语义分割,一个是实例分割。
语义分割的目的较为简单,就是对图像中的所有像素进行分类,以此将图像中的不同类别的物体区分开来。当前的语义分割算法发展十分迅速,已经做到了端到端的训练和预测,并且不断刷新的准确率。语义分割在神经网络上的发展应该是从fcn这篇论文开始,他将传统的神经网络作为编码部分,得到一个低分辨率但是信息丰富的特征图,之后使用转置卷积对特征图进行解码,最终输出与输入图像相同的分割结果图。这是第一次实现了端到端的训练,也将语义分割的发展方向确定了下来。在后续的语义分割论文中,主体的思想都没有太大的变化,前半部分为编码器,主要使用卷积神经网络进行图像信息的编码,后半部分为解码器,对编码后的特征图进行解码处理,得到最终的结果图。后续的改进也主要集中在了编解码这两部分。编码器部分主要是使用更为优秀的神经网络,如googlenet,resnet,senet等,解码器则其中较为优秀的方法比如u-net添加了短路连接,重用了中间检测特征。还有一些则是在处理细节上做了改进,比如deeplab提出的空洞卷积,增加了感受野,使得特征图的信息更加丰富。
在实例分割领域,基本思路是目标检测加语义分割。早期sds使用mcg生成建议区域,之后使用bottom-up分割出结果,但是这样计算量很大,且分割效果一般。之后的hypercolumns在sds的基础上,在分类器中引入超列的概念,实现对roi的修正。之后的cfm开始使用mask进行辅助分割。经过不断地迭代发展,最终何凯明的mask-rcnn将实例分割的发展提高了一大步,他使用当时精度最高的faster-rcnn作为目标检测部分,之后在此基础上添加了语义分割分支,对每一个检测到的目标区域进行分割。这样不管是在目标检测阶段还是语义分割阶段,精度都得到了保证。之后的发展主要就是围绕mask-rcnn本身的问题进行改进,比如panet在语义分割分支添加的全连接信息辅助分割或是ms-rcnn添加的对分割结果进行打分的机制。
在实际的生产生活中使用的场景范围也很广,而其中实例分割技术与使用者进行交互更为直观,提出精度更高的实例分割要求。目前,mask-rcnn方法与本发明较为相似。该模型在语义分割阶段主要是使用四层全卷积网络以及最后的反卷积进行处理得到mask图。本发明与之不同的地方在于本发明在语义分割阶段使用自定义的特征融和模块进行处理,更高效的利用特征图信息,最终处理的道德mask图信息更丰富,精确度更高。
技术实现要素:
本发明的目的在于提供一种图像实例分割方法、装置、设备及存储介质用以实现更高精度实例分割。
为实现上述目的,本发明实施例提供一种图像实例分割方法,包括以下步骤:
提取输入到卷积神经网络图像的特征,获取五个不同分辨率的特征图;
通过自注意力模块提取所述特征图的多尺度信息,得到不同尺度的特征图;
基于所述得到不同尺度的特征图,与通过1×1卷积调整维度得到的特征图点乘,从而为特征图引入像素级注意力;
压缩特征图的空间维度,将特征图实数化,基于所述维度和实数,对低层级特征图进行加权;
将加权后的特征图与高层特征图融合,得到低层级对应的新的特征图;
通过目标检测和语义分割对融合后特征图进行分类,获取目标检测和语义分割特征图;
基于获取目标检测和语义分割特征图进行图像分割,获得分割结果。
进一步的,利所述多尺度特征图通过u型结构获得,所述u型结构融合多种不同金字塔尺度的特征,所述金字塔使用多种不同的卷积核进行特征提取,获取特征图。
进一步的,所述基于所述得到的不同尺度的特征图,与通过1×1卷积调整维度的得到的特征图点乘,点乘后的特征图通过全局池化处理,得到具有最强全局信息的特征图。
进一步的,所述加权过程为:
其中,zc表示输出的实数数组,h和w是特征图的高和宽,i,j表示特征图的坐标,uc是特征图的维度,将h×w×c的输入特征图转换为1×1×c的输出,这个结果代表这个特征图在空间维度上每一层对应的全局信息。
本发明还提供一种图像实例分割装置,包括:
第一提取模块,用于提取输入到卷积神经网络图像的特征,获取五个不同分辨率的特征图;
第二提取模块,用于通过自注意力模块提取所述特征图的多尺度信息,得到不同尺度的特征图;
点乘模块,用于基于所述得到的不同尺度的特征图,与通过1×1卷积调整维度的得到的特征图点乘,从而为特征图引入像素级注意力;
加权模块,用于压缩特征图的空间维度,将特征图实数化,基于所述维度和实数,对低层级特征图进行加权;
融合模块,用于将加权后的特征图与高层特征图融合,得到低层级对应的新的特征图;
分类模块,用于通过目标检测和语义分割对融合后特征图进行分类,获取目标检测和语义分割特征图;
分割模块,用于于获取目标检测和语义分割特征图进行图像分割,获得分割结果。
进一步的,所述多尺度特征图通过u型结构获得,所述u型结构融合多种不同金字塔尺度的特征,所述金字塔使用多种不同的卷积核进行特征提取,获取特征图。
进一步的,所述基于所述得到的不同尺度的特征图,与通过1×1卷积调整维度的得到的特征图点乘,点乘后的特征图通过全局池化处理,得到具有最强全局信息的特征图。
进一步的,所述加权过程为:
其中,zc表示输出的实数数组,h和w是特征图的高和宽,i,j表示特征图的坐标,uc是特征图的维度,将h×w×c的输入特征图转换为1×1×c的输出,这个结果代表这个特征图在空间维度上每一层对应的全局信息。
本发明还提供了一种图像实例分割设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述处理器用于运行所述计算机程序以实现所述的一种图像实例分割方法。
本发明还提供了一种存储介质,所述存储介质用于存储至少一个程序,至少一个指令,所述至少一个程序、指令被执行以实现所述的一种图像实例分割方法。
本发明的有益技术效果:
本发明在特征融合阶段提出了自注意力模块和路径增强结构,对于网络最终的结果提升起到了很大的作用,可实现更高精度的实例分割。其中,通过自注意力模块提升了backbone中最高层特征图的信息层次,引入了多尺度信息以及像素级注意力,为后续特征融合提供了更为优秀的语义指导。其中,路径增强结构引入了空间维度的注意力,使用高层级特征图获取全局信息作为权重对低级特征图进行加权,使网络在信息的使用上有所侧重,为后续网络的训练学习减少了一定的噪声影响。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明第一实施例提供的一种图像实例分割方法的流程示意图。
图2为本发明第一实施例提供的一种图像实例分割方法的流程示意图。
图3为本发明第一实施例提供的自注意力模块示意图。
图4为本发明第一实施例提供的路径增强结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明的理解,以下先介绍原始mask-rcnn,在原始mask-rcnn中,对于backbone提取的五个不同分辨率的特征图使用的是经典的特征金字塔(fpn)进行融合。这样的融合方式自提出之后就被广泛的应用,对于网络的性能确实有着很大的提升。它是将高级的语义信息和低级的空间信息融合,让原本信息不平衡的特征图变得更为均衡。在resnet中,第五层的特征图语义信息最丰富,性能最强,但是因为分辨率过小,所以他的空间信息几乎都丢失了。但是通过特征金字塔的融合,将它与较为低级的特征图融合,就可以在一定程度上弥补其本身缺乏空间信息的缺点。同样的也可以利用它语义信息丰富的特性为低级的特征图提供语义指导,减少其中的噪声信息。
由此可以知道特征金字塔(fpn)所实现的作用就是使用高级的语义信息指导低级的空间信息,减少噪声,提升特征图的信息质量,平衡特征图之间的信息差异。其中起着关键作用的就是网络最高级的特征图,这一层特征图语义信息是最强的,但是因为backbone的设计原因,并没有多尺度信息。在目前的结构中,金字塔结构可以提取不同尺度的特征信息,但是这种结构较为扁平化,缺乏全局上下文信息。
早期特征金字塔(fpn),通过bottom-up结构对特征图进行融合使得特征图的信息更加平衡,噪声得到了抑制。但是特征金字塔只是对特征图信息进行融合处理,并没有对信息做选择,没有侧重。这就导致特征图内部的噪声或是不重要的信息也被保留了下来,这对于网络之后的处理来讲相当于是引入了噪声干扰。如果可以在特征图融合处理的同时对特征图的信息进行筛选加权,抑制不重要和次重要的信息,加强有用信息的权重,那么特征融合的效果就会更为突出,网络之后的处理也会避免噪声的干扰
以下详述本发明实施例的具体内容。
如图1-2所示,本发明第一实施例提供了一种图像实例分割方法,包括步骤:
s11:提取输入到卷积神经网络图像的特征,获取五个不同分辨率的特征图;
s12:通过自注意力模块提取所述特征图的多尺度信息,得到不同尺度的特征图;
在本实施例中,如图3所示,所述自注意力模块通过u型结构(例如特征金字塔)可融合三种不同金字塔尺度的特征。为了更好地通过金字塔结构提取图像的多尺度上下文信息,金字塔结构可使用三种不同的卷积核进行特征提取,分别是3×3、5×5、7×7。通过这三种不同尺度的特征图可以从原特征图中提取大中小三种不同目标的尺度信息,丰富特征图本身的信息层次,同时这样的结构也可以为特征图带来像素级的注意力。自注意力模块可以在融合多尺度信息的同时为网络引入更为精细的像素级注意力信息,这在后续的特征融合中可以为低层级特征图提供更准确的语义指导。当然需要说明的是,u型结构也可以选用其他类型,这些方案均在本发明的保护范围内。
s13:基于所述得到不同尺度的特征图,与通过1×1卷积调整维度得到的特征图点乘,从而为特征图引入像素级注意力;
在本实施例中,resnet-101最后一层的特征图输入算法模块分两路,一路通过金字塔结构提取多尺度信息,每一级金字塔后的4×4、8×8、16×16表示这一级处理之后的特征图分辨率。另一路通过1×1卷积调整维度。因为特征图在输入时本身的分辨率很小,所以本文使用大卷积核也不会给网络带来过多的计算量。金字塔结构逐步提取不同的尺度信息,通过级联的方式精确地合并不同尺度的上下文信息。经过两路的处理后,两个特征图进行点乘,通过这一步为原始特征图引入像素级注意力。
优选的,两个特征图进行点乘后可进行全局池化处理,使特征图包含有最强的全局信息,这一支路可为模块提供全局信息,进一步提升模块的性能。
s14:压缩特征图的空间维度,将特征图实数化,基于所述维度和实数,对低层特征图进行加权;
在本实施例中,如图4,路径增强结构为,将特征图实数化后得到的实数具有全局感受野,同时它的输出维度和输入的特征图维度是相同的,也就可以用来表征在特征维度上的全局分布,这样就可以将全局感受野传递到下一层特征图中,这样的全局信息对于很多任务都是很重要的。
其中,zc表示输出的实数数组,h和w是特征图的高和宽,i,j表示特征图的坐标,uc是特征图的维度,将h×w×c的输入特征图转换为1×1×c的输出,这个结果代表这个特征图在空间维度上每一层对应的全局信息。
将高层的特征图通过全局池化转换为对应的全局信息,这些实数也就相当于从网络中提取的权重信息。将其与底层的特征图进行点乘处理,对低层特征图进行加权,计算过程如下式:
s15:将加权后的特征图与高层特征图融合,得到低层级对应的新的特征图;
在本实施例中,通过以上算法,添加了在空间维度上的调整,利用具有丰富语义信息的高级特征图对低级特征图进行加权,用较为简单的处理给低级特征图提供指导信息。补充了原始特征金字塔在空间维度上的空白,提升了特征融合处理的整体质量。
s16:通过目标检测和语义分割对融合后特征图进行分类,获取目标检测和语义分割特征图;
s17:基于获取目标检测和语义分割特征图进行图像分割,获得分割结果。
本发明第二实施例提供一种基于超像素的遥感图像提取装置,如图,包括:
110:第一提取模块,用于提取输入到卷积神经网络图像的特征,获取五个不同分辨率的特征图;
120:第二提取模块,用于通过自注意力模块提取所述特征图的多尺度信息,得到不同尺度的特征图;
在本实施例中,如图,3所示,所述自注意力模块通过u型结构(例如特征金字塔)可融合三种不同金字塔尺度的特征。为了更好地通过金字塔结构提取图像的多尺度上下文信息,金字塔结构可使用三种不同的卷积核进行特征提取,分别是3×3、5×5、7×7。通过这三种不同尺度的特征图可以从原特征图中提取大中小三种不同目标的尺度信息,丰富特征图本身的信息层次,同时这样的结构也可以为特征图带来像素级的注意力。自注意力模块可以在融合多尺度信息的同时为网络引入更为精细的像素级注意力信息,这在后续的特征融合中可以为低层级特征图提供更准确的语义指导。当然需要说明的是,u型结构也可以选用其他类型,这些方案均在本发明的保护范围内。
130:点乘模块,用于基于所述得到的不同尺度的特征图,与通过1×1卷积调整维度的得到的特征图点乘,从而为特征图引入像素级注意力;
在本实施例中,resnet-101最后一层的特征图输入算法模块分两路,一路通过金字塔结构提取多尺度信息,每一级金字塔后的4×4、8×8、16×16表示这一级处理之后的特征图分辨率。另一路通过1×1卷积调整维度。因为特征图在输入时本身的分辨率很小,所以本文使用大卷积核也不会给网络带来过多的计算量。金字塔结构逐步提取不同的尺度信息,通过级联的方式精确地合并不同尺度的上下文信息。经过两路的处理后,两个特征图进行点乘,通过这一步为原始特征图引入像素级注意力。
优选的,两个特征图进行点乘后可进行全局池化处理,使特征图包含有最强的全局信息,这一支路可为模块提供全局信息,进一步提升模块的性能。
140:加权模块,用于压缩特征图的空间维度,将特征图实数化,基于所述维度和实数,对低层特征图进行加权;
在本实施例中,如图4,将特征图实数化后得到的实数具有全局感受野,同时它的输出维度和输入的特征图维度是相同的,也就可以用来表征在特征维度上的全局分布,这样就可以将全局感受野传递到下一层特征图中,这样的全局信息对于很多任务都是很重要的。
其中,zc表示输出的实数数组,h和w是特征图的高和宽,i,j表示特征图的坐标,uc是特征图的维度,将h×w×c的输入特征图转换为1×1×c的输出,这个结果代表这个特征图在空间维度上每一层对应的全局信息。
将高层的特征图通过全局池化转换为对应的全局信息,这些实数也就相当于从网络中提取的权重信息。将其与底层的特征图进行点乘处理,对低层特征图进行加权,计算过程如下式:
150:融合模块,用于将加权后的特征图与高层特征图融合,得到低层级对应的新的特征图;
在本实施例中,通过以上算法,添加了在空间维度上的调整,利用具有丰富语义信息的高级特征图对低级特征图进行加权,用较为简单的处理给低级特征图提供指导信息。补充了原始特征金字塔在空间维度上的空白,提升了特征融合处理的整体质量。
160:分类模块,用于通过目标检测和语义分割对融合后特征图进行分类,获取目标检测和语义分割特征图;
170:分割模块,用于于获取目标检测和语义分割特征图进行图像分割,获得分割结果。
本发明第三实施例提供了一种图像实例分割设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述处理器用于运行所述计算机程序以实现所述一种图像实例分割方法。
本发明第四实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序能够被所述存储介质所在设备的处理器执行,以实现所述的一种图像实例分割方法。
在本发明实施例所提供的几个实施例中,应该理解到,所提供的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。