一种基于深度学习的图像分割方法、系统及电子设备与流程

文档序号:16473208发布日期:2019-01-02 23:19阅读:216来源:国知局
一种基于深度学习的图像分割方法、系统及电子设备与流程

本申请属于图像分割技术领域,特别涉及一种基于深度学习的图像分割方法、系统及电子设备。



背景技术:

图像工程主要分为三个层次:图像处理、图像分析和图像理解。图像分割的目标是将图像中的每个像素进行分类,即利用图像目标物体的像素和周围像素之间的不连续性或者目标内部的相似性把图片切割成多个小区域的分割块。图像分割是图像工程中最基础也是最难的一个部分,是联系图像处理和图像分析之间的重要桥梁。图像分割方式主要包括二值分割、语义分割以及实例分割。在传统的图像处理算法里面,大多都是研究二值分割,即是把图片的像素分成前景和背景两类。传统的分割算法主要包括边缘检测(如canny)、阈值分割(如otsu)、区域生长、聚类(如k-means)和图模型(如grabcut)等。

现在数据越来越多,很多大型的分割数据库都公开了(pascalvoc,cityscape,places,davis等),计算机的计算能力进一步提升,gpu在处理图像计算的能力被重视起来,效果最好的是基于深度学习的一些方法,例如fcn(fullyconvolutionalnetworks,全卷积网络)、deeplab(语义分割网络)、u-net(convolutionalnetworksforbiomedicalimagesegmentation,此网络用于分割细胞图像)、drn(deepresidualnetwork,深度残差网络)、pspnet(pyramidsceneparsingnetwork,语义分割网络)等。深度学习相对于传统的方法的优点是可以自动提取到图像的特征,无论是语义分割还是实例分割都可以建立端到端的网络结构,以及能够一定程度上提取到图片中的语义信息,而且因为训练的图片变多了,训练得到的模型也具有更好的泛化能力。

其中文章[philippfischer,thomasbrox.u-net:convolutionalnetworksforbiomedicalimagesegmentation.medicalimagecomputingandcomputer-assistedintervention(miccai).2015.]中提出的u-net网络结构把图像分割网络分成两个部分,u-net网络结构如图1所示,由一条收缩路径(左侧)和一条扩展路径(右侧)组成。收缩路径遵循卷积网络的典型体系结构,它由2次3*3无填补卷积(unpaddedconvolutions)和最大池化重复应用组成。每一次下采样都将通道数量加倍,在扩展路径中的每一步都对特征图进行上采样,然后进行2*2卷积将特征通道数减小一半,与收缩路径中相应裁剪的特征值图堆叠。输入图片从左到右依次经过逐层的卷积和池化,提取到的特征具有更加抽象的语义信息,下采样的过程能够一步一步的获取到整张图片的全局语义信息,但是特征图的分辨率却一直在降低,这也导致越右边的特征图虽然有更抽象的语义信息但是也丢失了很多空间细节信息,这样会导致分割结果边界不清晰。虽然上采样本身能够恢复一些空间细节信息。但是这是远远不够的,u-net就是在上采样的过程中也加入一些左边有着更高分辨率的特征图(更高分辨率往往意味着更多空间细节信息)。文章采取直接复制过来再裁剪到与上采样图片一样大小,因为随着卷积次数增多,提取的特征也更加有效,更加抽象,上采样的图片是经历多次卷积后比较高效和抽象的图片,然后把特征图与左侧不怎么抽象但分辨率高的特征图片进行堆叠,让上采样过后的特征图里不光有着抽象的语义信息,也有着更多的空间细节信息。

综上所述,现有的图像分割方法存在的不足在于:

1)、传统图像分割算法

边缘检测实现简单,但是找到的边缘不完全是目标物体的边缘。阈值分割一般用来做二值分割,但是无论是整张图还是局部都不太好自动的找到一个合适的阈值。区域生长分割结果的好坏一般比较依赖于初始点的好坏。聚类能够比较好的去利用到图像的纹理,颜色和空间信息,但是需要一种很好的能够表示好图像纹理,颜色和空间信息的方法。手工设计的特征并不适用于全部的图片。

2)、深度学习的图像分割

虽然深度神经网络已经远远的超越了传统分割方法,但是利用cnn(convolutionalneuralnetwork,卷积神经网络)做图像分割依然存在一些问题,例如特征分辨率降低,物体存在多尺度,不能很好的对全局的上下文信息建模等。虽然u-net用了降采样-上采样的方法,但是在降采样的过程中会丢失图片太多的空间细节信息。drn用了空洞卷积去保证最小的特征图的分辨率不会太小,但是也只是缓解特征分辨率降低的问题,分辨率不降低,显卡的显存容纳不了太多的图像的特征图,提取到的图片的特征多样性会变小。pspnet用了金字塔池化的方法去获取全局上下文信息,效果还不错,但是分割出来的图片边缘依然比较粗糙。所以分割依然是一个很开放和值得研究的领域。



技术实现要素:

本申请提供了一种基于深度学习的图像分割方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。

为了解决上述问题,本申请提供了如下技术方案:

一种基于深度学习的图像分割方法,包括以下步骤:

步骤a:对原始图像进行归一化处理;

步骤b:将所述归一化后的图像输入resunet网络模型,所述resunet网络模型提取输入图像中包含全局语义信息的特征图,并对所述特征图进行上采样及特征图堆叠处理,得到最终的特征图;

步骤c:对所述上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

本申请实施例采取的技术方案还包括:在所述步骤a中,所述对原始图像进行归一化处理具体为:采用深度学习归一化方式gn对原始图像进行归一化处理。

本申请实施例采取的技术方案还包括:在所述步骤b中,所述resunet网络模型为采用resnet和u-net结合的网络模型,包括2n+1个resblock、n个平均池化层、n个上采样层以及2(n+1)个卷积层,所述resunet网络模型为全卷积网络,提取的特征图为大→小→大的变化过程。

本申请实施例采取的技术方案还包括:所述resunet网络模型包括自底向上的下采样模块和自顶向下的上采样模块,所述下采样模块在下采样过程中,提取的特征图由大变小,获得所述输入图像的全局语义信息;所述上采样模块利用上采样使所述特征图由小变大,并在每次上采样之后进行特征图堆叠,得到既拥有高分辨又有抽象低分辨率的特征图。

本申请实施例采取的另一技术方案为:一种基于深度学习的图像分割系统,包括:

归一化模块:用于对原始图像进行归一化处理;

特征图提取模块:用于将所述归一化后的图像输入resunet网络模型,所述resunet网络模型提取输入图像中包含全局语义信息的特征图,并对所述特征图进行上采样及特征图堆叠处理,得到最终的特征图;

结果输出模块:用于对所述上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

本申请实施例采取的技术方案还包括:所述归一化模块对原始图像进行归一化处理具体为:采用深度学习归一化方式gn对原始图像进行归一化处理。

本申请实施例采取的技术方案还包括:所述resunet网络模型为采用resnet和u-net结合的网络模型,包括2n+1个resblock、n个平均池化层、n个上采样层以及2(n+1)个卷积层,所述resunet网络模型为全卷积网络,提取的特征图为大→小→大的变化过程。

本申请实施例采取的技术方案还包括:所述resunet网络模型包括自底向上的下采样模块和自顶向下的上采样模块,所述下采样模块在下采样过程中,提取的特征图由大变小,获得所述输入图像的全局语义信息;所述上采样模块利用上采样使所述特征图由小变大,并在每次上采样之后进行特征图堆叠,得到既拥有高分辨又有抽象低分辨率的特征图。

本申请实施例采取的又一技术方案为:一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于深度学习的图像分割方法的以下操作:

步骤a:对原始图像进行归一化处理;

步骤b:将所述归一化后的图像输入resunet网络模型,所述resunet网络模型提取输入图像中包含全局语义信息的特征图,并对所述特征图进行上采样及特征图堆叠处理,得到最终的特征图;

步骤c:对所述上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的基于深度学习的图像分割方法、系统及电子设备采用resnet和u-net结合的网络模型进行图像分割,能够保留原始图像的空间细节信息,并能够分割不同尺度不同形状的物体。在整个网路结构中,本申请采用resblock代替普通卷积层,解决了卷积神经网络中常见的梯度消失问题,也能让网络更加容易训练,收敛到一个更好的分割结果。本申请利用groupnormalization代替batchnormalization,能有效地解决由于显存限制batchsize很小的情况下,归一化所需的均值和方差计算不准确的问题,能够让网络在很小的batchsize的情况下也能收敛到很好的结果。

附图说明

图1为u-net网络结构图;

图2是本申请实施例的基于深度学习的图像分割方法的流程图;

图3为本申请实施例优选的resunet网络模型的结构图;

图4为本申请实施例的上采样及特征图堆叠示意图;

图5是本申请实施例的基于深度学习的图像分割系统的结构示意图;

图6是本申请实施例提供的基于深度学习的图像分割方法的硬件设备结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

请参阅图2,是本申请实施例的基于深度学习的图像分割方法的流程图。本申请实施例的基于深度学习的图像分割方法包括以下步骤:

步骤100:采用深度学习归一化方式gn(groupnormalization,组归一化)对原始图像进行归一化处理;

步骤100中,batchnormalization(批归一化,简写bn)是常用的一种归一化方法,但它的性能受batchsize(批量大小)的影响。受硬件设备的限制,batchsize通常不能设置为很大的数,而过小的batchsize又会使归一化所需的均值和方差计算不准确,导致性能下降。因为bn是在batch这个维度上归一化的,当batchsize很小的时候,计算出来的均值和方差不能反映数据分布的真实分布,会导致在训练、验证、测试三个阶段的参数不一致。而gn则是先将特征图的维度由[n,c,h,w]变为[n,g,c//g,h,w],归一化后的维度为[c//g,h,w](n为数量,c为通道数,h为特征图高,w为特征图宽,g为组数),因此,在batchsize小的情况下,gn的归一化性能也不收影响,使网络更容易训练。

步骤200:将归一化后的图像输入resunet网络模型,resunet网络模型利用自底向上的下采样模块提取图像中包含全局语义信息的由大变小的特征图,并利用自顶向上的上采样模块对特征图进行上采样及特征图堆叠处理,得到最终的特征图;

步骤200中,本申请采用resnet和u-net结合的resunet网络模型,resunet网络模型由2n+1个resblock、n个平均池化层、n个上采样层以及2(n+1)个卷积层构成,网络可根据具体数据集调整resnetblock的个数。如图3所示,为本申请实施例优选的resunet网络模型的结构图。其包括7个resblock、3个平均池化层、3个上采样层以及8个卷积层。整个网络为全卷积网络,并未采用全连接的方式对像素分类,这样既可以减少网络的参数,也可以减少网络的前后向推断的时间。整个网络特征图为大→小→大的变化过程:在网络特征图从大变小的过程中,其特征图包含越来越多的抽象的语义信息;在网络特征图从小变大的过程中,其特征图不仅仅只包含丰富的语义信息,而且借助于上采样和堆叠比其本身有着更高分辨率的低层次的特征图,使其特征图也包含足够的空间细节信息,从而使得图像分割结果能够还原到与输入图像有着同样的分辨率。

如图3所示,整个网络分成自底向上的下采样模块和自顶向下的上采样模块两部分,其中,网络从输入到resnetblock4为一个自底向上的下采样模块,下采样过程中,特征图由大变小,使其获得更多的全局语义信息。假设输入图像的大小为512*512,依次经过3次平均池化之后,输入resnetblock2的特征图大小为256*256,输入resnetblock3的特征图大小为128*128,输入resnetblock4的特征图大小为64*64,3次平均池化使得特征图越来越小,而不断的卷积过程使通道数越来越多。因为分辨率的降低,使特征图更加高效和抽象,也丢失很多空间细节信息。

网络从resnetblock5到输出为一个自顶向下的上采样模块,上采样过程中,利用上采样使特征图由小变大,经过三次上采样,特征图由64*64→128*128→256*256→512*512,每次上采样之后会有一个特征图堆叠。具体过程如图4所示,为本申请实施例的上采样及特征图堆叠示意图。比如最后一次上采样之后的特征图为512*512,和经过resnetblock1之后的特征图堆叠,此时的特征图既拥有高分辨的特征图,又有抽象的低分辨率的特征图,并且最终的特征图包含每个层次不同大小的特征图,能够保留足够的空间细节信息,有利于分割不同尺度的物体,使得预测结果更加准确。

本申请采用resnet代替普通卷积层,解决了卷积神经网络中常见的梯度消失的问题。为了保证输出特征的表达能力,本申请使resnetblock通道数逐层递进,能够让网络宽度变小,克服梯度消失的问题,也能控制参数数量,让网络更加容易训练,收敛到一个更好的分割结果。由于resnetblock的跳跃连接作用,即使在网络较深的情况下,也不会让模型趋于饱和,能够让resnet有着更低的收敛损失。

步骤300:对上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

步骤300中,与经典的卷积神经网络分类方式不同,本申请实施例的resunet网络模型并不是使用全连接层得到固定长度的特征向量进行分类,它可以接受任意尺寸的输入图像,利用上采样使特征图恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测,同时保留了原始输入图像中的空间细节信息。

请参阅图5,是本申请实施例的基于深度学习的图像分割系统的结构示意图。本申请实施例的基于深度学习的图像分割系统包括归一化模块、特征图提取模块和结果输出模块。

归一化模块:用于采用深度学习归一化方式gn对原始图像进行归一化处理;其中,batchnormalization(批归一化,简写bn)是常用的一种归一化方法,但它的性能受batchsize(批量大小)的影响。受硬件设备的限制,batchsize通常不能设置为很大的数,而过小的batchsize又会使归一化所需的均值和方差计算不准确,导致性能下降。因为bn是在batch这个维度上归一化的,当batchsize很小的时候,计算出来的均值和方差不能反映数据分布的真实分布,会导致在训练、验证、测试三个阶段的参数不一致。而gn则是先将特征图的维度由[n,c,h,w]变为[n,g,c//g,h,w],归一化后的维度为[c//g,h,w](n为数量,c为通道数,h为特征图高,w为特征图宽,g为组数),因此,在batchsize小的情况下,gn的归一化性能也不收影响,使网络更容易训练。

特征图提取模块:用于将归一化后的图像输入resunet网络模型,resunet网络模型利用自底向上的下采样模块提取图像中包含全局语义信息的由大变小的特征图,并利用自顶向上的上采样模块对特征图进行上采样及特征图堆叠处理,得到最终的特征图;本申请采用resnet和u-net结合的resunet网络模型,resunet网络模型由2n+1个resblock、n个平均池化层、n个上采样层以及2(n+1)个卷积层构成,网络可根据具体数据集调整resnetblock的个数。

本申请实施例优选的resunet网络模型包括7个resblock、3个平均池化层、3个上采样层以及8个卷积层。整个网络为全卷积网络,并未采用全连接的方式对像素分类,这样既可以减少网络的参数,也可以减少网络的前后向推断的时间。整个网络特征图为大→小→大的变化过程:在网络特征图从大变小的过程中,其特征图包含越来越多的抽象的语义信息;在网络特征图从小变大的过程中,其特征图不仅仅只包含丰富的语义信息,而且借助于上采样和堆叠比其本身有着更高分辨率的低层次的特征图,使其特征图也包含足够的空间细节信息,从而使得图像分割结果能够还原到与输入图像有着同样的分辨率。

整个网络分成自底向上的下采样模块和自顶向下的上采样模块两部分,其中,网络从输入到resnetblock4为一个自底向上的下采样模块,下采样过程中,特征图由大变小,使其获得更多的全局语义信息。假设输入图像的大小为512*512,依次经过3次平均池化之后,输入resnetblock2的特征图大小为256*256,输入resnetblock3的特征图大小为128*128,输入resnetblock4的特征图大小为64*64,3次平均池化使得特征图越来越小,而不断的卷积过程使通道数越来越多。因为分辨率的降低,使特征图更加高效和抽象,也丢失很多空间细节信息。

网络从resnetblock5到输出为一个自顶向下的上采样模块,上采样过程中,利用上采样使特征图由小变大,经过三次上采样,特征图由64*64→128*128→256*256→512*512,每次上采样之后会有一个特征图堆叠。比如最后一次上采样之后的特征图为512*512,和经过resnetblock1之后的特征图堆叠,此时的特征图既拥有高分辨的特征图,又有抽象的低分辨率的特征图,并且最终的特征图包含每个层次不同大小的特征图,能够保留足够的空间细节信息,有利于分割不同尺度的物体,使得预测结果更加准确。

本申请采用resnet代替普通卷积层,解决了卷积神经网络中常见的梯度消失的问题。为了保证输出特征的表达能力,本申请使resnetblock通道数逐层递进,能够让网络宽度变小,克服梯度消失的问题,也能控制参数数量,让网络更加容易训练,收敛到一个更好的分割结果。由于resnetblock的跳跃连接作用,即使在网络较深的情况下,也不会让模型趋于饱和,能够让resnet有着更低的收敛损失。

结果输出模块:用于对上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。本申请实施例的resunet网络模型并不是使用全连接层得到固定长度的特征向量进行分类,它可以接受任意尺寸的输入图像,利用上采样使特征图恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测,同时保留了原始输入图像中的空间细节信息。

图6是本申请实施例提供的基于深度学习的图像分割方法的硬件设备结构示意图。如图6所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。

处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图6中以通过总线连接为例。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:

步骤a:对原始图像进行归一化处理;

步骤b:将所述归一化后的图像输入resunet网络模型,所述resunet网络模型提取输入图像中包含全局语义信息的特征图,并对所述特征图进行上采样及特征图堆叠处理,得到最终的特征图;

步骤c:对所述上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。

本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:

步骤a:对原始图像进行归一化处理;

步骤b:将所述归一化后的图像输入resunet网络模型,所述resunet网络模型提取输入图像中包含全局语义信息的特征图,并对所述特征图进行上采样及特征图堆叠处理,得到最终的特征图;

步骤c:对所述上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:

步骤a:对原始图像进行归一化处理;

步骤b:将所述归一化后的图像输入resunet网络模型,所述resunet网络模型提取输入图像中包含全局语义信息的特征图,并对所述特征图进行上采样及特征图堆叠处理,得到最终的特征图;

步骤c:对所述上采样及堆叠处理后的特征图进行逐像素分类,并输出图像分割结果。

本申请实施例的基于深度学习的图像分割方法、系统及电子设备采用resnet和u-net结合的网络模型进行图像分割,能够保留原始图像的空间细节信息,并能够分割不同尺度不同形状的物体。在整个网路结构中,本申请采用resblock代替普通卷积层,解决了卷积神经网络中常见的梯度消失问题,也能让网络更加容易训练,收敛到一个更好的分割结果。本申请利用groupnormalization代替batchnormalization,能有效地解决由于显存限制batchsize很小的情况下,归一化所需的均值和方差计算不准确的问题,能够让网络在很小的batchsize的情况下也能收敛到很好的结果。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

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