一种基于PU-Learning的图像语义分割方法

文档序号:1354694 发布日期:2020-07-24 浏览:11次 >En<

阅读说明:本技术 一种基于PU-Learning的图像语义分割方法 (Image semantic segmentation method based on PU-L earning ) 是由 汪聪 浦剑 于 2020-03-23 设计创作,主要内容包括:本发明提供了一种基于正样本和无标签样本学习的图像语义分割方法,属于计算机视觉技术领域,其中方法包括:数据准备步骤、数据预处理步骤、深度卷积神经网络构建步骤、基于PU-Learning的损失函数设计步骤、损失函数的优化学习步骤,迭代执行训练步骤直至所述图像语义分割模型的训练结果满足预定收敛条件。本发明采用深度神经网络提取待分割的图像特征,在此基础上,本发明设计了一种基于PU-Learning的交叉熵损失函数,可以在只有部分像素级标注的情况下训练优化语义分割模型,本发明方案既可以端到端的训练优化语义分割模型,同时在一定程度上保留了像素级别的直接监督,在保证了良好的语义分割质量的同时,提升了数据的标注速度。(The invention provides an image semantic segmentation method based on positive sample and unlabelled sample learning, which belongs to the technical field of computer vision, and comprises a data preparation step, a data preprocessing step, a deep convolutional neural network construction step, a loss function design step based on PU-L earning, and an optimization learning step of a loss function, wherein the training step is executed iteratively until the training result of the image semantic segmentation model meets a preset convergence condition.)

一种基于PU-Learning的图像语义分割方法

技术领域

本发明涉及计算机视觉技术领域,具体为一种基于PU-Learning的图像语义分割方法。

背景技术

随着大数据技术,第五代移动通信技术,物联网技术等技术的不断发展,图像、视频等多媒体资源的采集、汇聚和存储越来越方便,目前,在一些应用场景(如自动驾驶,医疗影像等)中,人们需要对所采集到的图像进行语义分割,图像语义分割是计算机视觉领域的一个经典问题,其目的是让计算机对图像中每个像素的类别进行预测,即给每个像素打上类别标签。

现有的基于监督学习的图像分割技术中,人们往往需要为训练样本提供像素级的类别标注,即需要手动为图像中的每个像素点打上类别标签,统计数据表明,对一幅图像进行像素级标注的时间平均为15分钟,可见这个标注过程费时费力,代价不菲,为此,人们提出了一种基于弱监督的图像语义分割方法。该方法的训练样本不需要像素级标注,而只利用图像级标注的训练图像或参考图像进行语义分割,相比于其它系统需要对训练图像进行繁重的像素级标注而言,这种对图像的粗略标注会更快也会更容易获得,但是,因为没有准确的像素级标注作为模型学习的参考,使得这类弱监督语义分割问题非常具有挑战性,语义分割的质量难以保证。

综上所述,兼顾语义分割质量和数据标注速度成为制约图像语义分割方法获得大数据支持、得到更进一步发展的重要问题。

发明内容

针对现有技术的不足,本发明提供了一种基于PU-Learning的图像语义分割方法,解决了背景技术中提到的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种基于PU-Learning的图像语义分割方法,包括以下步骤:

S1、数据准备,且待训练的图像数据库中,每一种类别的像素级图像标注都至少有一个;

S2、接收图像,对所述图像进行数据预处理,进行减均值除以标准差的操作,控制样本的数值分布,且在样本不足的情况下,需要进行数据增广操作,包括对图片进行旋转一定角度、水平翻转、模糊噪声、多尺度缩放,最后把图像的宽高调整至相同的大小;

S3、构建深度卷积神经网络,利用深度学习的全卷积神经网络作为语义分割的模型,使用全卷积神经网络进行预测,通过多个卷积层/非线性激活层/池化层学习中间表示的参数,得到训练图像的语义分割的初步结果;

S4、损失函数的设计,其中:yi,pi分别表示该像素点被分到第i类的的真实概率和预测概率,真实概率可依据像素点的标签获得,预测概率可将语义分割模型的输出经过softmax函数获得,γ和α分别是两个超参数,其中γ的值一般设置为2,α的值应小于负样本占全部样本的比例,可以在实际应用中调节。k表示有标签样本的类别共有k个;

S5、损失函数的优化学习,依据所述初步结果,利用损失函数计算本初步结果与对应图像标注的误差,采用随机梯度下降的方法对所述语义分割模型的模型参数进行修正调优;

S6、迭代执行所述训练,直至所述语义分割模型的训练结果满足预定收敛条件。

进一步地,所述S1至S5为训练步骤,迭代执行S1至S5训练步骤,得到经训练的语义分割模型。

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

(1)、本发明基于交叉熵损失函数以及PU-Learning,设计了一种新颖的损失函数,可以在只有部分像素级标注的情况下训练优化语义分割模型。

(2)、本发明方案既可以端到端的训练优化语义分割模型,同时在一定程度上保留了像素级别的直接监督,在保证了良好的语义分割质量的同时,提升了数据的标注速度。在图像语义分割领域快速发展的现状下。

(3)、本发明适用于现有的各种深度图像语义分割模型,因而可以被用于大规模的图像语义分割场景。

附图说明

图1为本发明的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种基于PU-Learning的图像语义分割方法,包括以下步骤:

S1、数据准备,且待训练的图像数据库中,每一种类别的像素级图像标注都至少有一个(需要统一地将无标签样本的标签设置为0,其他不同类别样本的标签从1开始标注);

S2、接收图像,对图像进行数据预处理,进行减均值除以标准差的操作,控制样本的数值分布,且在样本不足的情况下,需要进行数据增广操作,包括对图片进行旋转一定角度、水平翻转、模糊噪声、多尺度缩放,最后把图像的宽高调整至相同的大小;

S3、构建深度卷积神经网络,利用深度学习的全卷积神经网络作为语义分割的模型,使用全卷积神经网络进行预测,通过多个卷积层/非线性激活层/池化层学习中间表示的参数,得到训练图像的语义分割的初步结果;

S4、损失函数的设计,其中:yi,pi分别表示该像素点被分到第i类的的真实概率和预测概率,真实概率可依据像素点的标签获得,预测概率可将语义分割模型的输出经过softmax函数获得,γ和α分别是两个超参数,其中γ的值一般设置为2,α的值应小于负样本占全部样本的比例,可以在实际应用中调节。k表示有标签样本的类别共有k个;

S5、损失函数的优化学习,依据初步结果,利用损失函数计算本初步结果与对应图像标注的误差,采用随机梯度下降的方法对语义分割模型的模型参数进行修正调优;

S6、迭代执行训练,直至语义分割模型的训练结果满足预定收敛条件。

S1至S5为训练步骤,迭代执行S1至S5训练步骤,得到经训练的语义分割模型,具体地,训练步骤迭代执行直至语义分割模型的训练结果满足预定收敛条件。例如,预定收敛条件为达到预定迭代次数,当迭代次数达到预定迭代次数时,迭代过程结束。

工作时,在S1至S6的步骤中,对于S3,以FCN全卷积网络为例,具体示例如下:

1.输入层

2.<=1卷积层1_1(3*3*64)

3.<=2非线性激活ReLU层

4.<=3卷积层1_2(3*3*64)

5.<=4非线性激活ReLU层

6.<=5池化层(3*3/2)

7.<=6卷积层2_1(3*3*128)

8.<=7非线性激活ReLU层

9.<=8卷积层2_2(3*3*128)

10.<=9非线性激活ReLU层

11.<=10池化层(3*3/2)

12.<=11卷积层3_1(3*3*256)

13.<=12非线性激活ReLU层

14.<=13卷积层3_2(3*3*256)

15.<=14非线性激活ReLU层

16.<=15卷积层3_3(3*3*256)

17.<=16非线性激活ReLU层

18.<=17池化层(3*3/2)

19.<=18卷积层4_1(3*3*512)

20.<=19非线性激活ReLU层

21.<=20卷积层4_2(3*3*512)

22.<=21非线性激活ReLU层

23.<=22卷积层4_3(3*3*512)

24.<=23非线性激活ReLU层

25.<=24池化层(3*3/2)

26.<=25卷积层5_1(3*3*512)

27.<=26非线性激活ReLU层

28.<=27卷积层5_2(3*3*512)

29.<=28非线性激活ReLU层

30.<=29卷积层5_3(3*3*512)

31.<=30非线性激活ReLU层

32.<=31池化层(3*3/2)

33.<=32卷积层6_1(7*7*4096)

34.<=33非线性激活ReLU层

35.<=34随机丢弃Dropout层(0.5)

36.<=35卷积层6_2(1*1*4096)

37.<=36非线性激活ReLU层

38.<=37随机丢弃Dropout层(0.5)

39.<=38上采样层

40.<=39损失层,进行损失函数的计算

其中符号“.<=”前面的数字为当前层数,后面的数字为输入层数,例如,3.<=2表明当前层为第三层,输入为第二层,卷积层后面括号内为卷积层参数,例如,7×7×4096,表明卷积核大小7×7,通道数为4096,池化层后面括号内为池化层参数,例如,3×3/2表明池化核大小3×3,间隔为2,随机丢弃Dropout层后面括号内为丢弃概率,例如,0.5表明该层的神经元在一次预测中不参与预测且在反向传播中参数不修改调优的概率是50%。

上述示例中,将大部分卷积层的卷积核设为3×3,能更好的综合局部信息,本实施例中,设定池化层的步长,目的是为了让上层特征在不增加计算量的前提下获得更大的视野,同时池化层的步长还有增强空间不变性的特征,即允许同样的输入出现在不同的图像位置上,而输出结果响应相同。

在上述示例中,每个卷积层之后都有一个非线性激活单元。该非线性激活单元具体为线性整流单元(RectifiedLinearUnits,以下简称:ReLU),通过在卷积层后增加上述线性整流单元,将卷积层的映射结果尽量稀疏一些,更接近人的视觉反应,从而使图像处理效果更好。

在上述示例的上采样层前,加入了随机丢弃Dropout层,能够比较有效地缓解深度神经网络过拟合现象的出现。

上采样层为了将之前的特征放大到原图大小,得到每个像素预测为每个不同类别的不同概率值,例如,有不同的10类正样本和无标签样本,一共有11类,则最后预测的张量宽高和原图相同,长度为11。

综上所述,该全卷积神经网络的卷积层主要用于信息归纳和融合,池化层(可选为最大池化层:MaxPooling)主要进行高层信息的归纳,该全卷积神经网络可以进行微调来适应不同的性能和效率的权衡。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于边缘检测的电视台台标检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!