一种针对图像语义分割的端到端差异网络学习方法与流程

文档序号:15020675发布日期:2018-07-25 00:37阅读:291来源:国知局

本发明属于图像处理技术领域,特别涉及一种针对图像语义分割的端到端差 异网络学习方法。



背景技术:

图像语义分割是计算机视觉三大任务之一,它的目标是对图像中的每个像素 点做类别标记,得到一副图像的语义分割图。从传统的图像分割角度来看,图像 语义分割是在语义层面上将图像分割成多个区域,然后为每个区域分配合适的类 别标签。目前,语义分割在自动驾驶、实时道路监控、自动虚拟试衣和医疗疾病 系统等方面都有广泛的应用。在深度学习兴起之前,语义分割的主要方法是使用 条件随机场模型来建立概率图模型,近几年来,深度卷积神经网络由于具有很强 的学习能力,计算机视觉领域逐渐趋于成熟。同时随着高速计算设备GPU的发展, 解决语义分割问题的主流框架已经被深度学习方法所取代。

尽管深度神经网络在图像理解方面精度有了很大的提高,但在这些复杂场景 下仍然面临诸多挑战,主要包括:

①较难分割小目标区域或目标区域的条状部位。当原始图像通过全卷积神经 网络得到具有多个类别通道特征图之后,由于步长大于等于2的池化层和卷积层 存在,分割结果的图像尺寸缩小了若干倍。如果这样的池化层或卷积层达到一定 的个数,小目标或目标的条状部位在网络的深层输出特征中将会消失。

②较难分割边缘模糊边界区域。在复杂的自然场景中,前景和背景区域都不 仅仅包含单个目标,这给语义分割任务带来巨大的挑战。同时两个物体边界处的 分割性能受颜色相似、边缘模糊、相互遮挡和光照变化的影响,现有的分割方法 只能得到目标的主要部分而不能得到目标的精确边缘。

③较难分割不同目标的相似部位。对于不同目标的相似部分,由于局部区域 在外观上的(例如颜色、纹理和形状)的高度相似性,现有方法较难区分这些区 域。例如,猫和狗的身体部位、牛和羊的背部。

上述三种问题都是语义图像分割任务中常见的边界难题,基于全卷积神经网 络(Full convolution neural network,FCN)的模型一般都会存在这些问题。 同时,单个模型很难在保证整体精度不下降的情况下,对这些边界问题处理得很 好。



技术实现要素:

本发明的目的,在于提供一种针对图像语义分割的端到端差异网络学习方 法,其可对小目标区域较为敏感,同时也能在一定程度上解决边缘模糊和相似部 位误判问题。

为了达成上述目的,本发明的解决方案是:

一种针对图像语义分割的端到端差异网络学习方法,包括如下步骤:

步骤1,使用Caffe深度学习框架分别搭建主网络结构和完整网络结构,其 中,主网络结构用于生成粗分割模型和训练集中每个图像的小目标区域,完整网 络用于最终的图像语义分割;

步骤2,使用训练集的部分数据训练主网络的粗模型,通过粗模型得到的分 割结果与真实分割图比较得到粗模型的误分区域;

步骤3,将步骤2得到的粗模型作为初始化参数训练完整网络模型得到最终 的分割结果,建立图像语义分割模型;

步骤4,分割模型测试,根据步骤3得到的图像语义分割模型分割所有的测 试图像。

上述步骤1中,基于Attention模型的多尺度全卷积神经网络搭建主网络结 构,首先使用插值层将原始图像缩小到若干个不同的尺度,每个尺度的输入图像 使用独立的全卷积神经网络进行训练得到适用于该尺度的分割模型,然后将不同 尺度的分割特征置信图通过Attention模型学到的权重加权融合得到最终的输 出评分。

上述步骤1中,完整网络结构包含一个输入层、两个网络管道和两个损失层, 一副输入图像同时作为两个管道的输入,将两个管道分别记为主网络和差异网 络,主网络起到分割作用;差异网络用于分割主网络难以分割的小目标、目标的 条状部位以及边缘模糊区域,所述差异网络的网络结构通过对残差神经网络 ResNet做修改,只保留该网络的第一个池化层,去除其他所有步长为2的池化 层,使得整个差异网络的感受野相对原始网络较小;在主网络的尾端,使用一个 交叉熵损失函数作为主网络模型的损失层,在整个网络的尾端,使用一个带权重 的交叉熵损失函数作为整个网络的损失层。

上述步骤2的具体步骤是:

步骤21,对训练数据集中每个样本的真实标记图进行维度转换,将三维的 真实标记图转换为二维的标记图,使其适用于Caffe框架的输入层;

步骤22,从所有的训练集中随机选择一半的数据,作为主网络模型训练数 据集,创建数据集图像索引文件作为Caffe框架输入层的参数;

步骤23,使用SGD方法优化主网络模型参数,设置Caffe的训练参数存入 求解配置文件;

步骤24,使用已经训练好的VGGNet模型参数作为主网络的初始化参数,主 网络最后两个全连接层的参数使用高斯随机初始化,在Caffe框架下完成训练, 得到主网络粗模型参数,同时根据粗模型参数计算训练集每个样本的分割图,比 较分割图与真实标记图得到误分区域;

步骤25,将所有误分区域的像素点都添加到集合中,同时,对于该集合中 的每个像素点,以该像素点为中心,将周围的像素点同时加入到集合中。

上述步骤3的具体步骤是:

步骤31,搭建一个仅包含差异网络的语义分割模型,利用交叉验证的方法 得到最优的参数w;

步骤32,设置Caffe的训练参数存入求解配置文件,同时将每个样本的粗 模型误分区域的二值图像路径添加到图像索引文件的每一行的最后位置;

步骤33,将使用部分数据训练得到的主网络粗模型参数作为整个网络中主 网络的初始化参数,差异网络使用高斯随机初始化方式在Caffe框架下完成端到 端的训练,得到整个图像语义分割模型。

上述步骤4的具体步骤是:

步骤41,配置Caffe测试网络结构文件:测试网络的输入数据来自内存; 测试网络最后一层得到输出置信图,置信图共有C+1个通道,每个通道的大小与 原始图像大小一致,每个像素点的值表示原始图像对应位置对应类别的置信评 分;

步骤42,对于一副待分割的图像,首先进行去均值化和维度转换操作,然 后将转换后的图像作为网络的输入进行预测,得到C+1个通道的置信评分,根据 置信评分得到最终的分割图。

采用上述方案后,本发明与现有技术相比,具有以下特征:

首先,本发明设计了一个具有较小感受野的差异网络,并结合现有网络以端 到端的方式进行训练和测试,与现有的图像语义分割技术相比,本发明更适用于 分割小目标和目标的条状部位,同时在语义分割数据集上整体分割性能也有所提 升;

其次,与现有技术相比,本发明在图像的模糊边缘区域和不同类别的相似部 位上也具有较高的分割质量。当一副图像中有两个相邻目标的边缘处外观相似 时,现有的方法无法精确地分割两个目标的轮廓,本发明相比于现有方法可以较 好地改善该问题。

附图说明

图1是本发明的整体流程图;

图2是本发明完整的深度学习架构图;

图3是本发明设计的差异网络结构图;

图4是基于多尺度和Attention模型的主网络深度学习架构图;

图5是本发明涉及的两种粗模型误分区域图:原始误分区域图和扩张后的误 分区域图;

图6是利用本发明提供的语义分割方法进行20000次迭代的训练集误差图。

具体实施方式

以下将结合附图,对本发明的技术方案及有益效果进行详细说明。

如图1所示,本发明提供一种针对图像语义分割的端到端差异网络学习方 法,包括如下步骤:

步骤1,搭建网络结构:使用Caffe深度学习框架分别搭建主网络结构和完 整网络结构,其中,主网络结构用于生成粗分割模型和训练集中每个图像的小目 标区域,完整网络用于最终的图像语义分割;

步骤2,主网络模型训练:使用训练集的部分数据训练主网络的粗模型,通 过粗模型得到的分割结果与真实分割图比较得到粗模型的误分区域;

步骤3,完整网络模型训练:将步骤2得到的粗模型作为初始化参数训练完 整网络模型得到最终的分割结果;

步骤4,分割模型测试,根据步骤3得到的图像语义分割模型分割所有的测 试图像。

所述步骤1中,搭建的网络结构如图2所示,包含两个管道。第一个管道称 之为主网络,它起到主要的分割作用;第二个管道称之为差异网络,它的主要作 用是分割出小目标。两个网络的Softmax输出逐元素加和得到最终的预测结果, 具体包括如下步骤:

①搭建主网络结构:主网络结构是基于Attention模型(参见Chen L C,Yang Y,Wang J,et al.Attention to scale:Scale-aware semantic image segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:3640-3649.)的多尺度全卷积神经网络,如 图4所示,该模型首先使用插值层将原始图像缩小到若干个不同的尺度,如图中 共有尺度等于1和尺度等于0.5的输入图像,每个尺度的输入图像使用独立的全 卷积神经网络进行训练得到适用于该尺度的分割模型,然后将不同尺度的分割特 征置信图通过Attention模型学到的权重加权融合得到最终的输出评分。 Attention模型以每个管道的卷积神经网络的第一个全连接层的输出特征作为输 入,学习得到每个尺度输出特征的权重。最后使用交叉熵损失函数计算模型分割 结果的损失值;

②搭建整体网络结构:如图2所示,步骤1的完整网络结构包含一个输入层、 两个网络管道、两个损失层。对于一副输入图像,同时作为两个管道的输入,将 两个管道分别记为主网络和差异网络,其中主网络即为①的网络结构,起到主要 的分割作用;差异网络的作用是弥补主网络难以分割小目标、目标的条状部位以 及边缘模糊区域的问题,它的网络结构通过对残差神经网络ResNet(参见He K, Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2016:770-778.)做修改,只保留该网络的第一个池化 层,去除其他所有步长为2的池化层,使得整个差异网络的感受野相对原始网络 较小,具体结构如图3所示,其中BN层表示BatchNormalization层(参见Ioffe S,Szegedy C.Batch normalization:Accelerating deep network training by reducing internal covariate shift[C]//International Conference on Machine Learning.2015:448-456.);Relu层为线性整流函数(Rectified Linear Unit),是激励层的一种;ELT层Eltwise层,它可以对两个Block进行逐元素 的相关操作,本网络将两个输入Block逐元素累加得到一个新的Block;插值层 是将上一层的输出特征通过插值的方法将输出大小和原始图像大小一致;图3所 示最终的输出为C+1个通道数的置信图。

整个网络包含两个损失层,在主网络的尾端,使用一个交叉熵损失函数作为 主网络模型的损失层,公式如下:

式中:P为一幅图像中所有的像素点集合,独立的变量θ(θ0,θ1,θ2,…,θn)表 示模型的参数,C表示类别数,表示通过网络计算得到的第i个像素点标记类别的输出评分,k表示图像中第i个 像素点的真实标记类别。该损失函数的主要作用是学习主网络的模型参数,保证 在整体精度相对于单个主网络不下降的前提下,对小目标以及其他边界分割问题 较为敏感。

在整个网络的尾端,使用一个带权重的交叉熵损失函数作为整个网络(包括 主网络和差异网络)的损失层,带权重的交叉熵损失函数对小目标较为敏感,可 以使得差异网络有效地学习到小目标区域,公式如下:

式中:P'为一幅图像中包含小目标区域的像素点集合,P”为一幅图像中其 他区域的像素点集合,w为大于1的权重。第一项对小目标敏感的交叉熵损失函 数与第二项普通交叉熵损失函数累加得到该图像完整的交叉熵损失函数。

所述步骤2中,主网络模型训练分为下面几个步骤:

①设置样本标签:对训练数据集中每个样本的真实标记图进行维度转换,将 三维的真实标记图转换为二维的标记图,使其适用于Caffe框架的输入层。原始 样本的标签为三维的RGB图像,使用映射图转换将其映射为一维的灰度图,这样 的灰度值取值在0~C之间,其中C表示该数据集共C个类别,每个像素点取值 表示该像素点标记为对应类别,特别地,取值为0时表示像素点为背景;

②选择训练数据:从所有的训练集中随机选择一半的数据,作为主网络模型 训练数据集。创建数据集图像索引文件作为Caffe框架输入层的参数,索引文件 每一行包含两个文件路径,两个文件路径之间以空格隔开,第一个文件路径为训 练图像的文件路径,第二个文件路径为对应图像的真实标记文件路径;

③使用SGD方法优化主网络模型参数,设置Caffe的训练参数存入求解配置 文件,包括网络配置文件路径、学习率策略、权重衰减因子等;

④使用已经训练好的VGGNet模型(参见Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[J].arXiv preprint arXiv:1409.1556,2014.)参数作为主网络的初始化参数,主网络最 后两个全连接层的参数使用高斯随机初始化,在Caffe框架下完成训练,得到主 网络粗模型参数,同时根据粗模型参数计算训练集每个样本的分割图,比较分割 图与真实标记图得到误分区域;

⑤误分区域扩张:将所有误分区域的像素点都添加到P'集合中,同时,对于 该集合中的每个像素点,以该像素点为中心,将周围的像素点同时加入到P'中。 如图5所示,对于一副图像,左图白色区域为粗模型得到的误分区域,右图白色 区域为使用上述方法扩张后的误分区域。此外,从图中也可以看出,P'所构成的 误分区域,即差异网络着重学习的区域不仅仅包含难以分割的小目标区域和目标 的条状部位,同时还包含由于前景和背景相似导致的边缘模糊区域。如此,差异 网络同时也可以学习到除了小目标之外其他的分割边界问题,如边缘模糊区域和 不同目标的相似部位等。

所述步骤3中,完整网络模型训练包括如下步骤:

①获得小样本损失函数的权重参数w:搭建一个仅包含差异网络的语义分割 模型,该网络的损失层为上述所说的带权重的交叉熵损失函数;从训练数据集中 随机采样少部分的数据,利用交叉验证的方法得到最优的参数w;

②使用SGD方法优化主网络模型参数,设置Caffe的训练参数存入求解配置 文件,包括网络配置文件路径、学习率策略、权重衰减因子等,同时将每个样本 的粗模型误分区域的二值图像路径添加到图像索引文件的每一行的最后位置;

③将使用部分数据训练得到的主网络粗模型参数作为整个网络中主网络的 初始化参数,差异网络使用高斯随机初始化方式在Caffe框架下完成端到端的训 练,得到整个图像语义分割模型。通过图6中的完整语义分割网络进行20000次 迭代的训练集误差率可以验证本实施提供的语义分割方法具有较高的识别率。

所述步骤4中,分割模型测试包括如下步骤:

①配置Caffe测试网络结构文件,测试网络的输入层为MemoryData层,即 输入数据来自内存;测试网络最后一层得到输出置信图,置信图共有C+1个通道, 每个通道的大小与原始图像大小一致,每个像素点的值表示原始图像对应位置对 应类别的置信评分;

②对于一副待分割的图像,首先进行去均值化和维度转换操作,对图像进行 Padding操作使图像大小与测试网络输入大小要求一致,然后将转换后的图像作 为网络的输入进行预测,得到C+1个通道的置信评分,使用ArgMax操作计算每 个像素点标记置信评分最大的类别得到最终的分割图,并保存到本地。

综合上述,本发明一种针对图像语义分割的端到端差异网络学习方法,包含 模型训练和图像语义分割两个过程:首先,对原始的图像语义分割数据集进行数 据转换,利用Caffe深度学习框架搭建网络结构同时训练模型,得到最优的深度 神经网络模型后对测试数据集进行图像语义分割。本发明是一种基于深度学习的 端到端图像语义分割方法,该方法能够快速和准确地完成大规模的图像语义分割 任务,对自然场景下的小目标分割和模糊边界分割问题较为敏感,进而提高了图 像语义分割数据集的整体分割性能。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围, 凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本 发明保护范围之内。

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