语义分割方法、装置和系统及存储介质与流程

文档序号:16042060发布日期:2018-11-24 10:33阅读:124来源:国知局

本发明涉及计算机领域,更具体地涉及一种语义分割方法、装置和系统以及存储介质。

背景技术

语义分割(semanticsegmentation)是计算机视觉中一个比较基本的任务。目前用卷积神经网络(cnn)来解决这个任务主要还是沿袭全卷积网络(fullyconvolutionalnetwork)的方法,因为语义分割任务需要对图像上的每个像素点进行分类。目前一种比较主流的用于语义分割的网络结构是u型网络(即u-net)。现有的u-net尚存在改进的空间。



技术实现要素:

考虑到上述问题而提出了本发明。本发明提供了一种语义分割方法、装置和系统以及存储介质。

根据本发明一方面,提供了一种语义分割方法。该方法包括:获取待处理图像;将待处理图像输入u型网络,以获得u型网络输出的待处理图像的语义分割结果,其中,u型网络的收缩路径包括依次连接的n个卷积模块,n个卷积模块中的第i个卷积模块的输出特征与在第i个卷积模块之后的至少一个卷积模块的输出特征结合到一起,结合后的特征跳跃连接到u型网络的扩张路径中的、与第i个卷积模块相对应的反卷积层的输出端,其中,n是大于1的整数,1≤i<n。

示例性地,对于第i个卷积模块之后的至少一个卷积模块中的每一个,该卷积模块的输出特征输入卷积层,卷积层的输出特征输入上采样层,第i个卷积模块之后的至少一个卷积模块所对应的所有上采样层的输出特征与第i个卷积模块的输出特征进行元素对应乘,元素对应乘的结果为结合后的特征。

示例性地,方法还包括:获取训练图像以及对应的分类标注数据,分类标注数据用于指示训练图像属于至少一个预定类别的概率;将训练图像输入u型网络;对于n个卷积模块中的一个或多个卷积模块中的每一个,将该卷积模块的输出特征输入与该卷积模块相对应的语义监督模块,以获得语义监督模块输出的训练图像的分类结果;对于n个卷积模块中的一个或多个卷积模块中的每一个,基于分类结果与分类标注数据计算该卷积模块对应的分类损失;基于一个或多个卷积模块对应的分类损失计算总的损失;基于总的损失优化u型网络,以获得经训练的u型网络。

示例性地,与一个或多个卷积模块中的每一个相对应的语义监督模块包括两个卷积层、全局池化层、全连接层和分类函数层。

示例性地,对于n个卷积模块中的第2个卷积模块至第n-1个卷积模块中的至少一个卷积模块中的每一个,该卷积模块包括的残差卷积单元的数目与n个卷积模块包括的残差卷积单元的总数目之间的比例大于该卷积模块对应的预设比例。

示例性地,n等于5,n个卷积模块中的第2个卷积模块至第n个卷积模块包括的残差卷积单元的数目分别为8,8,9,8。

根据本发明另一方面,提供了一种语义分割装置,包括:第一获取模块,用于获取待处理图像;第一输入模块,用于将待处理图像输入u型网络,以获得u型网络输出的待处理图像的语义分割结果,其中,u型网络的收缩路径包括依次连接的n个卷积模块,n个卷积模块中的第i个卷积模块的输出特征与在第i个卷积模块之后的至少一个卷积模块的输出特征结合到一起,结合后的特征跳跃连接到u型网络的扩张路径中的、与第i个卷积模块相对应的反卷积层的输出端,其中,n是大于1的整数,1≤i<n。

根据本发明另一方面,提供了一种语义分割系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述语义分割方法。

根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述语义分割方法。

与现有的u-net相比,根据本发明实施例的u-net,在每个卷积模块处融合了后续卷积模块的高级特征,使得浅层特征也能够拥有比较高的语义信息。这样,浅层特征与深层特征在语义信息方面的差距没有原来那么大了,浅层特征与深层特征就可以更好地融合了,由此可以带来整个网络的处理效果方面的提升。根据本发明实施例的语义分割方法、装置和系统以及存储介质,由于采用改进的u-net,因此可以获得更准确的语义分割结果。

附图说明

通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1示出现有的u-net架构的示意图;

图2示出在现有的u-net框架下,采用不同特征级获得的分割结果;

图3示出用于实现根据本发明实施例的语义分割方法和装置的示例电子设备的示意性框图;

图4示出根据本发明一个实施例的语义分割方法的示意性流程图;

图5示出根据本发明一个实施例的u-net的部分网络结构的示意图;

图6示出resnext-50和resnext-50的网络结构的示意图;

图7示出根据本发明一个实施例的seb模块的功能示意图;

图8示出根据本发明一个实施例的训练阶段的u-net的部分网络结构的示意图;

图9示出根据本发明一个实施例的ss模块的网络结构的示意图;

图10示出现有的u-net与根据本发明实施例的u-net分别使用给定的特征级所获得的分割结果;

图11示出多种现有的语义分割网络与根据本发明实施例的u-net分别在pascalvoc2012验证集上进行性能测试获得的结果;

图12示出根据本发明一个实施例的语义分割装置的示意性框图;以及

图13示出根据本发明一个实施例的语义分割系统的示意性框图。

具体实施方式

为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。

之前的人设计u-net这种网络结构主要基于以下主观的想法:将低分辨率高语义信息的特征(featuremap)和高分辨率低语义信息的特征融合在一起,就能得到高分辨率高语义信息的特征(想要的结果)。然而,这种想法是否真的正确,这两种特征融合是否真的有效,却很少有人探究。

发明人首先发现,在现有的u-net框架下,将低分辨率高语义信息的特征和高分辨率低语义信息的特征融合在一起这种主观的想法是存在一定缺陷的。具体表现是在u-net中,前面两个跳跃连接(shortcut)是否存在,对u-net的性能影响不大。下面结合实例进行说明。

图1示出现有的u-net架构的示意图。参考图1,u-net可以包括左侧的收缩路径和右侧的扩张路径。u-net可以理解为一种编码器-解码器结构,收缩路径是编码器,扩张路径是解码器。编码器逐渐减少池化层的空间维度,解码器逐步修复物体的细节和空间维度。由于编码器部分的池化过程会造成信息丢失,在解码器部分通过上采样生成的分割图一般较为粗糙,因此可以在编码器和解码器之间引入shortcut来改善上采样的粗糙程度,帮助解码器更好地修复目标的细节。

在图1中,共存在四个shortcut,分别示出为s1、s2、s3和s4。本领域技术人员可以理解,每个shortcut是从u-net的收缩路径到扩张路径的一种快捷连接方式,本文不对此进行赘述。需理解,图1仅是一种原理上的示意图,u-net在实现时可能存在一些细节上的变化。

图2示出在现有的u-net框架下,采用不同特征级获得的分割结果。在图2中,示出两种u-net的分割结果,这两种u-net的特征提取网络分别基于预训练的resnet-50和resnext-101模型构建。在图2中,u-net的分割结果(代表性能)是针对pascalvoc2012验证集,采用平均交并比(meanintersectionoverunion,miou)评估的。在图2中,特征级一列中的每一项表示对应的shortcut被连接,例如,{3,4}表示图1所示的s3和s4被连接,而s1和s2没有连接。如图2所示,无论是在resnet-50模型下还是在resnext-101模型下,将s2连接起来u-net的性能增长很少,即使将s1和s2都连接起来性能的增长依然不多。

发明人推测造成上述问题的原因是u-net中低分辨率高语义信息的特征和高分辨率低语义信息的特征在分辨率和语义信息上都有着很大的区别与间隔(gap),这种间隔太大,以致融合这两种特征时不能做到彼此互补。

因此,发明人认为,在浅层特征中引入更多的语义信息,有可能帮助弥补这种间隔,从而使得这两种特征能够更好地融合,达到预期的效果。下面将详细介绍在浅层特征中引入更多语义信息以帮助特征更好融合的方法。

可以理解,上述高分辨率低语义信息的特征(即浅层特征)可以理解为包括基础模型(basemodel,对应于u-net的收缩路径)中比较靠前的特征,例如下述conv2、conv3这两个卷积模块输出的特征。低分辨率高语义信息的特征(即深层特征)可以理解为包括基础模型中比较靠后的特征,例如下述conv4、conv5这两个卷积模块输出的特征。此外,由于u-net的扩张路径是将conv5的输出特征进行上采样,以逐步修复物体的细节和空间维度,因此,扩张路径中各网络层输出的特征也可以视为属于低分辨率高语义信息的特征。

本发明实施例提供了一种语义分割方法、装置和系统以及存储介质。根据本发明实施例的语义分割方法,采用新的u-net进行图像的语义分割。所述新的u-net可以通过对现有u-net的网络结构进行一定改进获得。在新的u-net中,将收缩路径中的靠后的卷积模块的输出特征与靠前的卷积模块的输出特征结合在一起之后,再跳跃连接到u-net的扩张路径中。这样,相当于在浅层特征中加入了深层的高语义信息特征,从而使得浅层特征和深层特征能够更好地融合,从而可以提升u-net的性能,可以获得更好的语义分割效果。根据本发明实施例的语义分割方法和装置可以应用于任何需要进行语义分割的领域,例如地理信息系统、无人车驾驶、医疗影像分析、机器人技术等领域。

首先,参照图3来描述用于实现根据本发明实施例的语义分割方法和装置的示例电子设备300。

如图3所示,电子设备300包括一个或多个处理器302、一个或多个存储装置304。可选地,电子设备300还可以包括输入装置306、输出装置308、以及图像采集装置310,这些组件通过总线系统312和/或其它形式的连接机构(未示出)互连。应当注意,图3所示的电子设备300的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器302可以采用数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、微处理器中的至少一种硬件形式来实现,所述处理器302可以是中央处理单元(cpu)、图像处理器(gpu)、专用的集成电路(asic)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元中的一种或几种的组合,并且可以控制所述电子设备300中的其它组件以执行期望的功能。

所述存储装置304可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器302可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置306可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置308可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。可选地,所述输入装置306和所述输出装置308可以集成在一起,采用同一交互装置(例如触摸屏)实现。

所述图像采集装置310可以采集图像,并且将所采集的图像存储在所述存储装置304中以供其它组件使用。图像采集装置310可以是单独的相机或移动终端中的摄像头等。应当理解,图像采集装置310仅是示例,电子设备300可以不包括图像采集装置310。在这种情况下,可以利用其他具有图像采集能力的器件采集图像,并将采集的图像发送给电子设备300。

示例性地,用于实现根据本发明实施例的语义分割方法和装置的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。

下面,将参考图4描述根据本发明实施例的语义分割方法。图4示出根据本发明一个实施例的语义分割方法400的示意性流程图。如图4所示,语义分割方法400包括以下步骤s410和s420。

在步骤s410,获取待处理图像。

待处理图像可以是任何需要进行语义分割的图像。待处理图像可以是静态图像,也可以是视频中的视频帧。待处理图像可以是图像采集装置采集到的原始图像,也可以是对原始图像进行预处理(诸如数字化、归一化、平滑等)之后获得的图像。

示例性地,可以将待处理图像提取为张量的形式,获得图像张量,该图像张量可以代表待处理图像。在这种情况下,将待处理图像输入u-net可以是将上述图像张量输入u-net。

在步骤s420,将待处理图像输入u型网络,以获得u型网络输出的待处理图像的语义分割结果,其中,u型网络的收缩路径包括依次连接的n个卷积模块,n个卷积模块中的第i个卷积模块的输出特征与在第i个卷积模块之后的至少一个卷积模块的输出特征结合到一起,结合后的特征跳跃连接到u型网络的扩张路径中的、与第i个卷积模块相对应的反卷积层的输出端,其中,n是大于1的整数,1≤i<n。

根据本发明实施例的u-net的整体网络结构可以参考图1所示的现有u-net的网络结构。示例性地,除u-net的收缩路径的某些后续卷积模块的输出特征与前面的卷积模块的输出特征进行结合以外,根据本发明实施例的u-net的其余网络结构可以与现有的u-net一致。

图5示出根据本发明一个实施例的u-net的部分网络结构的示意图。如图5所示,根据本发明实施例的u-net的收缩路径(即属于基础模型的部分)可以包括5个卷积模块,分别用conv-1、res-2、res-3、res-4和res-5表示。示例性地,u-net的5个卷积模块可以采用与resnet模型(例如resnet-50、resnet-101等)或者resnext模型(resnext-50、resnext-101等)中的5个卷积模块conv1、conv2、conv3、conv4、conv5一致的网络结构实现。图6示出resnext-50和resnext-50的网络结构的示意图。本领域技术人员可以结合图6理解resnext模型和resnext模型的5个卷积模块的网络结构,进而可以理解根据本发明实施例的u-net的5个卷积模块的网络结构。

下面描述后续卷积模块的输出特征与前面的卷积模块的输出特征进行结合的方式。以res-2为例,可以将res-2、res-3、res-4和res-5的输出特征一起连接到res-2对应的语义植入分支(semanticembeddingbranch,seb)模块。在seb模块中,res-2、res-3、res-4和res-5的输出特征进行了结合。结合后的特征通过shortcut的方式连接到u-net的扩张路径,连接节点与现有的u-net中res-2的连接节点一致。res-2、res-3、res-4和res-5的输出特征到扩张路径的shortcut分别与上述图2所示的s1、s2、s3和s4相对应。

示例性地,对于第i个卷积模块之后的至少一个卷积模块中的每一个,该卷积模块的输出特征输入卷积层,卷积层的输出特征输入上采样层,第i个卷积模块之后的至少一个卷积模块所对应的所有上采样层的输出特征与第i个卷积模块的输出特征进行元素对应乘,元素对应乘的结果为结合后的特征。

在seb模块中的结合方式可以是如下方式,即在第i个卷积模块之后的至少一个卷积模块的输出特征进行卷积和上采样之后,将获得的特征与将第i个卷积模块的输出特征进行元素对应乘,以获得结合后的特征。

图7示出根据本发明一个实施例的seb模块的功能示意图。在图7中,“×”符号表示元素对应乘操作。如图7所示,在第i个卷积模块对应的seb模块中,可以首先对在第i个卷积模之后的卷积模块输出的特征图(即高级特征图)进行3×3卷积,然后对卷积结果进行双线性上采样,获得新的特征图。随后,可以将第i个卷积模块输出的特征图(即低级特征图)与新的特征图进行元素对应乘操作,获得结合后的特征。图7仅示例性地示出了一组高级特征与一组低级特征的结合方式,如果存在多于一组的高级特征,则每组高级特征可以分别执行各自的卷积和上采样,最后将多组高级特征转换后的结果与低级特征一起进行元素对应乘操作,获得结合后的特征。

通过对每组高级特征进行卷积和上采样,可以将每组高级特征转换为与要结合的低级特征大小一致,即每组高级特征均与低级特征具有相等的宽、高和通道数,以方便进行结合。

假设第l个卷积模块的输出特征为xl,第l个卷积模块的输出特征与在第l个卷积模块之后的至少一个卷积模块的输出特征进行结合获得的结合后的特征用表示,则该结合后的特征与第l个卷积模块对应的反卷积层的输出特征的合并公式可以表示如下:

其中,yl为第l个卷积模块对应的合并结果,upsample(yl+1)为第l+1个卷积模块对应的合并结果在进行上采样(或说上卷积、反卷积)之后获得的结果。

u-net的扩张路径包括若干反卷积层。例如,在根据本发明实施例的u-net中,第l个卷积模块对应的反卷积层是指该层的输出特征与第l个卷积模块所对应的结合后的特征一起输入合并模块进行合并的层。在第l个卷积模块对应的反卷积层中,可以对第l+1个卷积模块所对应的合并结果进行反卷积,获得该反卷积层的输出特征。

可以理解,在根据本发明实施例的u-net中的合并操作可以理解为一个不断迭代的过程。例如,第l个卷积模块所对应的结合后的特征与第l+1个卷积模块所对应的合并结果的反卷积结果进行合并,获得第l个卷积模块所对应的合并结果;第l-1个卷积模块所对应的结合后的特征与第l个卷积模块所对应的合并结果的反卷积结果进行合并,获得第l-1个卷积模块所对应的合并结果;以此类推。

可以理解,本文所述的特征可以是特征图(featuremap)。

根据本发明实施例的u-net的每个卷积模块所结合的后续卷积模块的数目可以根据需要设定,本发明不对此进行限制。例如,res-2的输出特征可以与res-3、res-4、res-5中的一个或多个的输出特征进行结合,获得结合后的特征,再以shortcut的方式连接到扩张路径。又例如,res-3的输出特征可以与res-4、res-5中的一个或多个的输出特征进行结合,获得结合后的特征,再以shortcut的方式连接到扩张路径。又例如,res-4的输出特征可以与res-5的输出特征进行结合,获得结合后的特征,再以shortcut的方式连接到扩张路径。在u-net中,第1个卷积模块conv-1的层数较少,主要对输入图像进行简单的卷积,所以可以根据需要选择不在此处设置shortcut。在这种情况下,2≤i<n,也就是说,可以忽略第1个卷积模块,在第2个卷积模块至第n-1个卷积模块中的一个或多个卷积模块处进行上述特征的结合。

与现有的u-net相比,根据本发明实施例的u-net,在每个卷积模块(或说阶段,stage)处融合了后续卷积模块的高级特征,使得浅层特征也能够拥有比较高的语义信息。这样,浅层特征与深层特征在语义信息方面的差距没有原来那么大了,浅层特征与深层特征就可以更好地融合了,由此可以带来整个网络的处理效果方面的提升。根据本发明实施例的语义分割方法,由于采用改进的u-net,因此可以获得更准确的语义分割结果。

示例性地,根据本发明实施例的语义分割方法可以在具有存储器和处理器的设备、装置或者系统中实现。

根据本发明实施例的语义分割方法可以部署在图像采集端处,例如,在安防应用领域,可以部署在门禁系统的图像采集端;在金融应用领域,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。

替代地,根据本发明实施例的语义分割方法还可以分布地部署在服务器端(或云端)和个人终端处。例如,可以在客户端获取图像,客户端将获取的图像传送给服务器端(或云端),由服务器端(或云端)进行语义分割。

根据本发明实施例,语义分割方法400还可以包括:获取训练图像以及对应的分类标注数据,分类标注数据用于指示训练图像属于至少一个预定类别的概率;将训练图像输入u型网络;对于n个卷积模块中的一个或多个卷积模块中的每一个,将该卷积模块的输出特征输入与该卷积模块相对应的语义监督模块,以获得语义监督模块输出的训练图像的分类结果;对于n个卷积模块中的一个或多个卷积模块中的每一个,基于分类结果与分类标注数据计算该卷积模块对应的分类损失;基于一个或多个卷积模块对应的分类损失计算总的损失;基于总的损失优化u型网络,以获得经训练的u型网络。

本领域技术人员可以理解,u-net的收缩路径可以用于分类功能,与扩张路径合在一起可以用于语义分割功能。在训练u-net时,可以首先预训练u-net的收缩路径(即用于分类的基础模型),例如可以首先针对conv-1、res-2、res-3、res-4和res-5这五个卷积模块进行预训练。u-net的收缩路径训练好之后,可以将预训练的网络参数作为初始化参数,并且,可以将扩张路径加入,针对整个u-net进行语义分割任务的训练。

在预训练用于分类的基础模型时,离最后的损失信号近的地方的特征拥有更强的语义信息。传统的分类网络都只在最后加一个损失函数,有一些可视化的工作表明后层网络的特征是有更高语义信息的,而前层网络的特征更多的是低语义信息的边边角角的特征。对于u-net的conv-1、res-2、res-3、res-4和res-5这五个卷积模块来说,越往后卷积模块输出的特征的语义信息越强,相对地,特征的分辨率则越低。

基于上述理论,可以在训练基础模型时在比较靠前的卷积模块输出特征的地方加上额外的损失(extraloss),以强行在前层的特征中植入较高的语义信息。

图8示出根据本发明一个实施例的训练阶段的u-net的部分网络结构的示意图。如图8所示,对于res-2至res-5这四个卷积模块,可以在每个卷积模块后面加入一个语义监督(semanticsupervision,简称ss)模块。

示例性地,与一个或多个卷积模块中的每一个相对应的语义监督模块可以包括两个卷积层、全局池化层、全连接层和分类函数层。

图9示出根据本发明一个实施例的ss模块的网络结构的示意图。如图9所示,卷积模块输出的特征图可以输入对应的ss模块。在ss模块中,可以依次执行两次3×3卷积、全局池化、全连接,随后,全连接层输出的特征可以输入至分类函数层(图9中未示出),最后可以将分类函数层输出的特征连接至分类损失函数以计算分类损失。示例性地,分类函数层可以是softmax层。示例性地,计算分类损失所采用的分类损失函数可以是交叉熵损失函数。

在训练时,可以基于imagenet图像分类任务进行基础模型的训练,即训练图像可以自imagenet图像数据集中选取。每个卷积模块后面的分类函数层可以输出训练图像属于各预定类别的概率。分类标注数据(groundtruth)用于指示训练图像实际所属的类别,其可以是一个独热(one-hot)向量。例如,在分类标注数据中,训练图像所属类别对应的元素可以取值为1,其余元素可以取值为0。

本领域技术人员可以理解基于每个ss模块的分类结果与分类标注数据计算分类损失的方式,本文不对此进行赘述。示例性地,可以对一个或多个卷积模块对应的分类损失求平均,以获得总的损失。例如,如果在res-2、res-3、res-4和res-5这四个卷积模块后面均连接ss模块,则可以计算四个分类损失,并对这四个分类损失求平均,获得总的损失。

随后,可以更新u-net的参数以使得总的损失最小化直至收敛,最终可以获得经训练的u-net。

需注意,上述ss模块主要在u-net的训练阶段使用,在u-net的实际应用阶段,可以去除每个卷积模块后面连接的ss模块。

在每个卷积模块后面接入的ss模块中包含的网络层主要是一些浅层网络,即包含的层数较少,例如卷积层仅为一两层,加上后续的池化、全连接、softmax等层,总的层数也不多。由于在每个ss模块后面获得分类结果,因此经过训练之后,接入ss模块的卷积模块所输出的特征将距离最终的分类结果比较近,也就是说,该卷积模块输出的特征包含的语义信息会比较强。因此,通过上述方法,可以提升连接ss模块的卷积模块输出的特征的语义信息。因此,采用上述方法可以进一步提升浅层特征的语义信息,进一步减少前层与后层特征之间的间隔。

在训练时接入ss模块的卷积模块的数目可以根据需要设定,例如,其可以是上述conv-1、res-2、res-3、res-4和res-5这五个卷积模块中的一个或多个。如上所述,由于第1个卷积模块conv-1的层数较少,主要对输入图像进行简单的卷积,因此,第1个卷积模块本身距离最终的分类结果较远,可以根据需要选择忽略第1个卷积模块,在第2个卷积模块至第n个卷积模块中选择一个或多个卷积模块接入ss模块进行训练。

此外,图9所示的ss模块的结构仅是示例而非对本发明的限制,ss模块可以具有其他合适的结构,只要其能实现分类功能即可。比较可取的是,ss模块包括较少的网络层,例如其包括的卷积层可以不超过5层,使得总的网络层较少,这样,能够使得对应的卷积模块输出的特征距离最终的分类结果较近,从而使得卷积模块输出的特征包含的语义信息较强。

根据本发明实施例,对于n个卷积模块中的第2个卷积模块至第n-1个卷积模块中的至少一个卷积模块中的每一个,该卷积模块包括的残差卷积单元的数目与n个卷积模块包括的残差卷积单元的总数目之间的比例大于该卷积模块对应的预设比例。

在基于已知残差网络(例如resnet或者resnext)构建u-net的情况下,可以对已知残差网络的卷积模块包括的残差卷积单元(block)的数目进行重排,使得第2个卷积模块至第n-1个卷积模块中的至少一个卷积模块中的每一个包括的block的数目增多。通过重排,可以使得对于已知残差网络的第2个卷积模块至第n-1个卷积模块中的每一个,该卷积模块包括的block的数目与n个卷积模块包括的block的总数目之间的比例大于该卷积模块对应的预设比例。

在传统的resnet或者resnext模型中,conv2、conv3、conv4、conv5这四个卷积模块各自包括若干block。返回参考图6,resnet-50和resnext-50两列下面,分别示出了各自的网络结构的参数。在图6中,中括号内部的参数是单个block的参数,中括号外部的参数是各卷积模块包括的block的数目。如图6所示,在传统的resnet-50模型和resnext-50模型中,conv2、conv3、conv4、conv5这四个卷积模块包括的block的数目均为3,4,6,3。

可以对传统的resnet模型或者resnext模型的卷积模块中包括的block进行重排,以此提升浅层特征的语义信息。重排后,靠前的卷积模块包括的block数目占总的block数目的比例提高,例如提高到大于预设比例。例如,在u-net基于resnet-50模型或者resnext-50模型构建的情况下,conv2对应的预设比例可以是20%或更大,conv3对应的预设比例可以是25%或更大,conv4对应的预设比例可以是37.5%或更大。又例如,在u-net基于resnet-101模型或者resnext-101模型构建的情况下,conv2对应的预设比例可以是10%或更大,conv3对应的预设比例可以是10%或更大,conv4对应的预设比例可以是70%或更大。

示例性地,n等于5,n个卷积模块中的第2个卷积模块至第n个卷积模块包括的残差卷积单元的数目分别为8,8,9,8。

例如,在传统的resnet-101模型或者resnext-101模型中,conv2、conv3、conv4、conv5这四个卷积模块包括的block数目的分布是3,4,23,3,当时是认为这样可能对分类任务有好处。而现在,为了增加前层特征的语义信息,让前层的shortcut引出特征的地方拥有更强的语义表现能力,可以将block分布重排成8,8,9,8。这样,前层引出特征的地方的语义表现能力更强了,于是可以获得拥有更强语义信息的特征。

在基于已知残差网络(例如resnet或者resnext)构建u-net的情况下,比较可取的是,首先提高比较靠前的卷积模块包括的block的比例。

在一个示例中,可以对已知残差网络的卷积模块包括的block的数目进行重排,使得第2个卷积模块包括的block的数目增多。例如,可以增加conv2包括的block的数目,并保持其余卷积模块的block的数目不变或减少。在这种情况下,n个卷积模块中的第2个卷积模块包括的block的数目与n个卷积模块包括的block的总数目之间的比例大于预设比例。

在另一个示例中,可以对已知残差网络的卷积模块包括的block的数目进行重排,使得第2个卷积模块和第3个卷积模块包括的block的数目增多。例如,可以同时增加conv2和conv3包括的block的数目,并保持其余卷积模块的block的数目不变或减少。在这种情况下,对于n个卷积模块中的第2个卷积模块和第3个卷积模块中的每一个,该卷积模块包括的block的数目与n个卷积模块包括的block的总数目之间的比例大于该卷积模块对应的预设比例。

在根据本发明实施例的u-net中,同一卷积模块内包含的不同block之间可以具有相同的网络参数(例如卷积核大小),不同卷积模块包括的block的参数可以不同。在根据本发明实施例的u-net中,某一卷积模块和与其相邻的上一卷积模块相比实现降采样,即通道数减少。示例性地,根据本发明实施例的u-net中的每个卷积模块中的block可以采用与现有u-net中的对应卷积模块的block一致的网络参数。例如,沿用上述示例,根据本发明实施例的u-net中的res-2、res-3、res-4和res-5这四个卷积模块的block分布可以重排为8,8,9,8,其中,res-2包括的8个block的网络参数可以与现有的resnet-101模型或者resnext-101模型中的conv2包括的3个block的网络参数一致。

实践证明,采用本发明实施例提供的方法,浅层特征和后层特征确实能够更好地融合。图10示出现有的u-net与根据本发明实施例的u-net(用exfuse表示)分别使用给定的特征级所获得的分割结果。图10所示的现有的u-net和根据本发明实施例的u-net均基于resnext-101构建。如图10所示,对于根据本发明实施例的u-net来说,将前两个shortcut连接起来有1.3的涨点。更好的特征融合也让本发明实施例提供的u-net模型在benchmark数据集上获得了很大的性能提升。图11示出多种现有的语义分割网络与根据本发明实施例的u-net(用exfuse表示)分别在pascalvoc2012验证集上进行性能测试获得的结果。在图11中,各网络的性能采用miou衡量。如图11所示,根据本发明实施例的u-net的性能达到了86.8%的miou,超过了图11所示的其他现有方法,达到了本领域领先水平。

根据本发明另一方面,提供一种语义分割装置。图12示出了根据本发明一个实施例的语义分割装置1200的示意性框图。

如图12所示,根据本发明实施例的语义分割装置1200包括第一获取模块1210和第一输入模块1220。所述各个模块可分别执行上文中结合图3-11描述的语义分割方法的各个步骤/功能。以下仅对该语义分割装置1200的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。

第一获取模块1210用于获取待处理图像。第一获取模块1210可以由图3所示的电子设备中的处理器302运行存储装置304中存储的程序指令来实现。

第一输入模块1220用于将所述待处理图像输入u型网络,以获得所述u型网络输出的所述待处理图像的语义分割结果,其中,所述u型网络的收缩路径包括依次连接的n个卷积模块,所述n个卷积模块中的第i个卷积模块的输出特征与在所述第i个卷积模块之后的至少一个卷积模块的输出特征结合到一起,结合后的特征跳跃连接到所述u型网络的扩张路径中的、与所述第i个卷积模块相对应的反卷积层的输出端,其中,n是大于1的整数,1≤i<n。第一输入模块1220可以由图1所示的电子设备中的处理器302运行存储装置304中存储的程序指令来实现。

示例性地,对于第i个卷积模块之后的至少一个卷积模块中的每一个,该卷积模块的输出特征输入卷积层,卷积层的输出特征输入上采样层,第i个卷积模块之后的至少一个卷积模块所对应的所有上采样层的输出特征与第i个卷积模块的输出特征进行元素对应乘,元素对应乘的结果为结合后的特征。

示例性地,语义分割装置1200还包括:第二获取模块(未示出),用于获取训练图像以及对应的分类标注数据,分类标注数据用于指示训练图像属于至少一个预定类别的概率;第二输入模块(未示出),用于将训练图像输入u型网络;第三输入模块(未示出),用于对于n个卷积模块中的一个或多个卷积模块中的每一个,将该卷积模块的输出特征输入与该卷积模块相对应的语义监督模块,以获得语义监督模块输出的训练图像的分类结果;第一计算模块(未示出),用于对于n个卷积模块中的一个或多个卷积模块中的每一个,基于分类结果与分类标注数据计算该卷积模块对应的分类损失;第二计算模块(未示出),用于基于一个或多个卷积模块对应的分类损失计算总的损失;优化模块(未示出),用于基于总的损失优化u型网络,以获得经训练的u型网络。

示例性地,与一个或多个卷积模块中的每一个相对应的语义监督模块包括两个卷积层、全局池化层、全连接层和分类函数层。

示例性地,对于n个卷积模块中的第2个卷积模块至第n-1个卷积模块中的至少一个卷积模块中的每一个,该卷积模块包括的残差卷积单元的数目与n个卷积模块包括的残差卷积单元的总数目之间的比例大于该卷积模块对应的预设比例。

示例性地,n等于5,n个卷积模块中的第2个卷积模块至第n个卷积模块包括的残差卷积单元的数目分别为8,8,9,8。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

图13示出了根据本发明一个实施例的语义分割系统1300的示意性框图。语义分割系统1300包括图像采集装置1310、存储装置(即存储器)1320、以及处理器1330。

所述图像采集装置1310用于采集图像。图像采集装置1310是可选的,语义分割系统1300可以不包括图像采集装置1310。在这种情况下,可以利用其他图像采集装置采集图像,并将采集的图像发送给语义分割系统1300。

所述存储装置1320存储用于实现根据本发明实施例的语义分割方法中的相应步骤的计算机程序指令。

所述处理器1330用于运行所述存储装置1320中存储的计算机程序指令,以执行根据本发明实施例的语义分割方法的相应步骤。

在一个实施例中,所述计算机程序指令被所述处理器1330运行时用于执行以下步骤:获取待处理图像;将待处理图像输入u型网络,以获得u型网络输出的待处理图像的语义分割结果,其中,u型网络的收缩路径包括依次连接的n个卷积模块,n个卷积模块中的第i个卷积模块的输出特征与在第i个卷积模块之后的至少一个卷积模块的输出特征结合到一起,结合后的特征跳跃连接到u型网络的扩张路径中的、与第i个卷积模块相对应的反卷积层的输出端,其中,n是大于1的整数,1≤i<n。

示例性地,对于第i个卷积模块之后的至少一个卷积模块中的每一个,该卷积模块的输出特征输入卷积层,卷积层的输出特征输入上采样层,第i个卷积模块之后的至少一个卷积模块所对应的所有上采样层的输出特征与第i个卷积模块的输出特征进行元素对应乘,元素对应乘的结果为结合后的特征。

示例性地,所述计算机程序指令被所述处理器1330运行时还用于执行以下步骤:获取训练图像以及对应的分类标注数据,分类标注数据用于指示训练图像属于至少一个预定类别的概率;将训练图像输入u型网络;对于n个卷积模块中的一个或多个卷积模块中的每一个,将该卷积模块的输出特征输入与该卷积模块相对应的语义监督模块,以获得语义监督模块输出的训练图像的分类结果;对于n个卷积模块中的一个或多个卷积模块中的每一个,基于分类结果与分类标注数据计算该卷积模块对应的分类损失;基于一个或多个卷积模块对应的分类损失计算总的损失;基于总的损失优化u型网络,以获得经训练的u型网络。

示例性地,与一个或多个卷积模块中的每一个相对应的语义监督模块包括两个卷积层、全局池化层、全连接层和分类函数层。

示例性地,对于n个卷积模块中的第2个卷积模块至第n-1个卷积模块中的至少一个卷积模块中的每一个,该卷积模块包括的残差卷积单元的数目与n个卷积模块包括的残差卷积单元的总数目之间的比例大于该卷积模块对应的预设比例。

示例性地,n等于5,n个卷积模块中的第2个卷积模块至第n个卷积模块包括的残差卷积单元的数目分别为8,8,9,8。

此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的语义分割方法的相应步骤,并且用于实现根据本发明实施例的语义分割装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。

在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的语义分割装置的各个功能模块,并和/或者可以执行根据本发明实施例的语义分割方法。

在一个实施例中,所述程序指令在运行时用于执行以下步骤:获取待处理图像;将待处理图像输入u型网络,以获得u型网络输出的待处理图像的语义分割结果,其中,u型网络的收缩路径包括依次连接的n个卷积模块,n个卷积模块中的第i个卷积模块的输出特征与在第i个卷积模块之后的至少一个卷积模块的输出特征结合到一起,结合后的特征跳跃连接到u型网络的扩张路径中的、与第i个卷积模块相对应的反卷积层的输出端,其中,n是大于1的整数,1≤i<n。

示例性地,对于第i个卷积模块之后的至少一个卷积模块中的每一个,该卷积模块的输出特征输入卷积层,卷积层的输出特征输入上采样层,第i个卷积模块之后的至少一个卷积模块所对应的所有上采样层的输出特征与第i个卷积模块的输出特征进行元素对应乘,元素对应乘的结果为结合后的特征。

示例性地,所述程序指令在运行时还用于执行以下步骤:获取训练图像以及对应的分类标注数据,分类标注数据用于指示训练图像属于至少一个预定类别的概率;将训练图像输入u型网络;对于n个卷积模块中的一个或多个卷积模块中的每一个,将该卷积模块的输出特征输入与该卷积模块相对应的语义监督模块,以获得语义监督模块输出的训练图像的分类结果;对于n个卷积模块中的一个或多个卷积模块中的每一个,基于分类结果与分类标注数据计算该卷积模块对应的分类损失;基于一个或多个卷积模块对应的分类损失计算总的损失;基于总的损失优化u型网络,以获得经训练的u型网络。

示例性地,与一个或多个卷积模块中的每一个相对应的语义监督模块包括两个卷积层、全局池化层、全连接层和分类函数层。

示例性地,对于n个卷积模块中的第2个卷积模块至第n-1个卷积模块中的至少一个卷积模块中的每一个,该卷积模块包括的残差卷积单元的数目与n个卷积模块包括的残差卷积单元的总数目之间的比例大于该卷积模块对应的预设比例。

示例性地,n等于5,n个卷积模块中的第2个卷积模块至第n个卷积模块包括的残差卷积单元的数目分别为8,8,9,8。

根据本发明实施例的语义分割系统中的各模块可以通过根据本发明实施例的实施语义分割的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的语义分割装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

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