改进的全卷积神经网络的陶瓷材质件序列图像分割方法
技术领域
本发明涉及计算机图形处理技术领域,尤其涉及陶瓷材质三维重建中序列图像分割方法,具体为改进的全卷积神经网络的陶瓷材质序列图像分割方法。
背景技术
近年来,随着电商平台以及数字博物馆的兴起,使得对三维重建的需求程度越来越高。通过三维重建技术,将现实存在的物体以三维立体的方式完全呈现于网络平台上。
在基于图像序列的三维重建过程中,对序列图像的分割是整个重建过程中至关重要的一步,分割的精度直接影响了最终三维模型的品质和纹理的准确性。然而在自然环境中进行多角度图像系列采集时,由于图像数量多、环境复杂、物体材质各异、颜色多变等因素导致采集到的图像质量参差不齐。目前,对图像的分割多采用传统的分割方法借助一些工具进行,由于图像复杂多变等因素,传统的分割方法很难识别一些人工视觉特征,特别是处理视觉模糊边缘,以及反光物体和透明材质的分割时,需要投入大量的时间和人力,而且分割精确度不高。
现有技术的不足:
1)对灰度图像的取阈值分割就是先确定一个处于图像灰度取值范围之中的灰度阈值,然后将图像中各个像素的灰度值与之相比较,灰度值大于阈值的像素为一类,灰度值小于阈值的像素为另一类。这两类像素一般分属图像的两类区域,从而达到分割的目的。对陶瓷工艺品来说,这种方法只考虑像素本身的灰度值,不考虑空间特征,因而对噪声很敏感,因此达不到需求的分割效果。
2)图像最基本的特征是边缘,它是图像局部特性不连续(或突变)的结果。基于边界的分割方法是利用不同区域间像素灰度不连续的特点检测出区域间的边缘,从而实现图像分割。边缘检测是所有基于边界分割方法的第一步。基于边缘的分割方法其难点就在于边缘检测时抗噪性和检测精度之间的矛盾。对于外表光滑拍摄时带有反光边缘的物体来说,提高检测精度,则噪声产生的伪边缘会导致不合理的轮廓;若提高抗噪性,则会产生轮廓漏检和位置偏差。
3)区域分割的实质就是把具有某种相似性质的像索连通,从而构成最终的分割区域。它利用了图像的局部空间信息,可有效地克服其他方法存在的图像分割空间小连续的缺点。在此类方法中,如果从全图出发,按区域属性特征一致的准则决定每个像元的区域归属,形成区域图常称之为区域生长的分割方法。如果从像元出发,按区域属性特征一致的准则,将属性接近的连通像元聚集为区域,则是区域增长的分割方法。若综合利用上述两种方法,就是分裂合并的方法。基于区域的分割方法往往会造成图像的过度分割,而单纯的基于边缘检测方法有时不能提供较好的区域结构。
深度学习作为机器学习发展的一个分支,其动机在于建立模拟人脑进行分析学习的神经网络,通过组合底层也正形成更加抽象的高层特征,模仿人脑的机制来解释数据,尤其在图像方面表现优异。而其中的卷积神经网络(Convolutional neural network,CNN)是人工神经网络的一种,由于它的权值共享结构和生物神经网络更类似,可以减少权值的数量,从而降低网络模型的复杂度,现已成为深度学习中的一个研究热点。目前CNN已经成功应用到视频中的人体工作识别信号重构,人脸等目标检测识别,图像分类,分割等各个领域。
发明内容
全卷积神经网络(Fully Convolutional Networks,FCN)是基于卷积神经网络(CNN)的一种改进结构,将一维的向量转换为二维的卷积,在保持CNN良好的分类性能的基础上,更好的保持了像素矩阵之间的空间位置关系,更有利于全局的特征提取。鉴于FCN的优点,可以在图像分割中利用它的优点来提高分割精度。
针对上述不足,本发明提出了一种改进的全卷积神经网络的陶瓷材质件序列图像分割方法,包括如下步骤:
S10:对采集的原始图像进行手工标注,将目标和背景用不同的类别区分,得到训练标签(Ground Truth),采用索引模式来表示训练样本的标签图;
S20:构建改进的基于全卷积神经网络(Fully Convolutional Network)的网络模型,进行训练;
S30:依据梯度下降算法(Stochastic gradient descent)计算损失函数(LossFunction)和反向传播计算损失函数(Loss Function),对网络进行训练学习,学习速率在验证准确率停止增加时减小为原来的十分之一;其中
步骤S10中,所述的对采集的原始图像进行手工标注的过程包括如下步骤:
S11:对采集的原始图像(RGB彩色图像)进行手工标注,将目标物体和背景分离,并分别用不同的颜色表示;
S12:转为索引模式,只保留两种颜色,使得对应的每个像素点都有明确的类别;
S13:原始图片存储为JPG格式,标签图存储为PNG格式图片,颜色模式只保留两种,并定义为标签图(Ground Truth);
步骤S20中,所述的构建改进的基于全卷积神经网络的网络模型,进行训练,具体包括如下过程:
S21:输入层设计为直接接收JPG、PNG三维图像输入的ImageData类型的数据层;
S22:利用反卷积层,将通过池化层降低的维度通过线性插值法恢复到原来的维度;
S23:激活函数利用PReLu函数;
S24:输出层改进为二分类,把上一层反卷积层的结果通过softmax函数进行分类;
步骤S30中,所述的依据梯度下降算法计算损失函数和反向传播计算损失函数,对网络进行训练学习,网络的每一层的权重由均值为0和方差为0.01的高斯分布来初始化,具体步骤为如下:
S31:将使用的超参数:批量大小(batchsize)、动量(moment)、权重衰减系数λ、初始学习率α分别设置为:4、0.9、0.005、1×10-10;
S32:定义网络的训练学习是最小化其整体代价函数,并设定有一组数量为m的训练样本集{(x(l),y(l)),…,(x(m),y(m))},网络整体代价函数表示为式(3):
其中,hW,b(x)是神经网络模型,(Wji (l)是第l层第j单元与第l+1层第i单元之间的连接权重,b是隐藏层神经元的偏置项;λ是一个减小权重幅度的规则化项;W代表函数J(W,b)中的形式参数,即为式(3)右边Wji (l)的简称;x(l)代表数组样本中第l个数据;y(l)代表数组样本中第l个数据对应的标签;x(m)代表数组样本中第m个数据;y(m)代表数组样本中第m个数据对应的标签;x(i)代表数组样本中第i个数据;y(i)代表数组样本中第i个数据对应的标签;nl-1代表第nl-1层,一般网络共n1层,则nl-1层为倒数第二层;sl代表第l层神经元的个数,sl+1代表第l+1层神经元的个数;求解式(3)最小值采用注明的随机梯度下降最优化算法,而计算J(W,b)对W和b的偏导数时,使用反向传导算法;
S33:批量梯度下降法中的每一次迭代都按照式(10)和式(11)对参数W和b进行更新:
其中,α是学习速率;bi (l)表示第l+1层第i神经单元的偏置;
S34:在训练学习的过程中通过观察式(3)中的网络整体代价函数值,如果在验证集上的式(3)中的网络整体代价函数值停止增加时,将学习速率α减小为原来值的十分之一,继续训练,直到网络收敛。
本发明方法可以获得如下有益效果为:
1、能够全面学习物体的视觉特征,全面的考虑平滑性,对比度变化和距离等因素,有比较好的抗干扰性,能够自动将目标物体从背景中分割开;
2、在图像数量规模巨大的情况下,智能分割方法能够减少人工交互的过程。
附图说明
图1是本发明的网络结构和参数配置图;
图2是本发明的训练数据格式图;
图3是本发明中的分割效果对比图;
图4是本发明中的分割参数指标图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
本发明实施例为基于改进的全卷积神经网络的陶瓷材质工艺品图像进行分割的方法,既在对陶瓷材质工艺品进行三维建模过程中,基于对全卷积神经网络加以改进后对图像真值实现智能分割的方法,下面结合附图对本发明做进一步的详细描述。
本发明提出的一种改进的全卷积神经网络的陶瓷材质件序列图像分割方法,是基于全卷积神经网络的陶瓷材质件真值序列图像分割方法,包括以下步骤:
S10:首先对采集的原始图像进行手工标注,将目标和背景用不同的类别区分,得到训练标签(Ground Truth),采用索引模式来表示训练样本的标签图;而图像分割的过程分为两个阶段,分别是步骤:
S20:构建改进的基于全卷积神经网络(Fully Convolutional Network)的网络模型并在训练数据集上对网络模型进行训练;
S30:再在测试集上进行测试效果然后对网络进行调整,具体是依据梯度下降算法(Stochastic gradient descent)计算损失函数(Loss Function)和反向传播计算损失函数(Loss Function),对网络进行训练学习,学习速率在验证准确率停止增加时减小为原来的十分之一。
在步骤S10中,所述的对采集的原始图像进行手工标注的过程包括如下数据预处理过程:
S11:利用传统的分割工具对原始RGB彩色图像进行手工标注,将目标和背景用不同的类别区分,并分别用不同的颜色表示,得到训练标签;
S12:将标签图由RGB模式转换为索引模式,只保留两种颜色,使得对应的每个像素点都有明确的类别;
S13:原始图片存储为JPG格式,标签图存储为PNG格式;并采用数据增强(dataAugmentation)变换方法对两种格式的图片进行增强,本实施例中具体采用以下两种方法:一种是旋转/反射变换(Rotation/Reflection):随机旋转图像一定角度,改变图像内容的朝向,具体实施例为采用90°、180°、270°三种角度对图片进行旋转变换;另一种是翻转变换:按照一定的比例方法或者缩小图像,本实施例进一步采用将图像缩小为1/10。
本实施例依据的网络需要将数据分成两部分数据集:训练集和测试集,根据大量文献与实验得出训练集与测试集之间的比例为4:1时,实验结果最佳,因此按照此比例将数据集随机分成两部分。
S20:构建改进的基于全卷积神经网络的网络模型
首先介绍全卷积神经网络相关理论基础:全卷积神经网络的搭建是基于开源caffe框架中的prototxt语言,通过该语言中的name参数指定层的名称,type参数指定层的类型,top指定连接的下一层,bottom指定连接的上一层的结构搭建,并从此建立整个网络中层与层之间的关联。网络的设计通过对卷积层,池化层,带参数的线性修正单元的反复组合,实现对特征的提取,其中相同类型的层通过参数设置的不同来区分;不同的卷积层能够提取出不同反向的特征,池化层能够降低特征的维度,减少数据量,单参数的线性修正单元起到激活函数的作用。
在Softmax分类中,假设是一个{(x(l),y(l)),…,(x(m),y(m))}由m个标签的样本数据构成的训练集,y(i)∈{0,1,…,k}是类别标签,可以取k个不同的值,本实施例中由2个类别组成,故k=2。给定一个测试输入x,用假设函数hθ(x)估计其被划分归类到每一个类别j的概率p(y=j|x),所以假设函数会输出一个k维的向量来代表k个类别估算的概率大小,具体的假设函数hθ(x)如下式(1):
式中,θ1,θ2,...,θk∈Rn+1是Softmax回归模型中的参数,把输入x分类到j类别的概率时 是对输入x的分类概率分布的归一化操作,因此这些概率的和是1。
S21:输入层设计为直接接收JPG、PNG三维图像输入的ImageData类型的数据层。突破了caffe自身的数据接收层只能接收LMDB数据格式的局限;
S22:利用反卷积层,将通过池化层降低的维度通过线性插值法恢复到原来的维度;
S23:激活函数设置为带参数的线性修正单元(PReLU)。由于以往的线性修正单元(ReLu)在优化过程中存在潜在的问题:ReLU的饱和性会使得梯度为0的神经元存在,导致神经网络中的某些神经元永远不会被激活,从而一些像素点根本就不会被网络学习。而PReLU很好的解决了这个问题;
S24:输出层改进为二分类,把上一层反卷积层的结果通过softmax函数进行分类。
训练调整网络中,在步骤S30中,所述的依据梯度下降算法计算损失函数和反向传播计算损失函数,对网络进行训练学习,网络的每一层的权重由均值为0和方差为0.01的高斯分布来初始化,具体步骤为如下:
S31:将使用的超参数:批量大小(batchsize)、动量(moment)、权重衰减系数λ、初始学习率α分别设置为:4、0.9、0.005、1×10-10;
S32:定义网络的训练学习是最小化其整体代价函数,并设定有一组数量为m的训练样本集{(x(l),y(l)),…,(x(m),y(m))},对于单个样例(x,y)来说,其代价函数为式(2):
对于整体样本,网络整体代价函数表示为式(3):
其中,hW,b(x)是神经网络模型,Wji (l)是第l层第j单元与第l+1层第i单元之间的连接权重,b是隐藏层神经元的偏置项;λ是一个减小权重幅度的规则化项;W代表函数J(W,b)中的形式参数,即为式(3)右边Wji (l)的2简称;x(l)代表数组样本中第l个数据;y(l)代表数组样本中第l个数据对应的标签;x(m)代表数组样本中第m个数据;y(m)代表数组样本中第m个数据对应的标签;x(i)代表数组样本中第i个数据;y(i)代表数组样本中第i个数据对应的标签;nl-1代表第nl-1层,一般网络共n1层,则nl-1层为倒数第二层;sl代表第l层神经元的个数,sl+1代表第l+1层神经元的个数。求解式(3)最小值采用注明的随机梯度下降最优化算法,而计算J(W,b)对W和b的偏导数时,使用反向传导算法;
进行前馈传导计算,利用前向传导公式,得到L2,L3,…直到输出层Lnl的激活值;
对输出层(第nl层)的每个输出单元i,根据公式(4)计算残差:
对于l=nl-1,nl-2,nl-3,...,2的各层,采用公式(5)计算第l层的第i个节点的残差:
采用式(6)和式(7)计算最终需要的偏导数值:
式(6)和式(7)中,表示第nl层第i个单元的输入,表示第nl层第i个单元的输出;
由单个样例的代价函数J(W,b;x,y)求整体样本的代价函数J(W,b)的偏导数公式如式(8)和式(9):
S33:批量梯度下降法中的每一次迭代都按照公式(10)和式(11)对参数和进行更新:
其中,α是学习速率;bi (l)表示第l+1层第i神经单元的偏置;
S34:在训练学习的过程中通过观察式(3)中的网络整体代价函数值,如果在验证集上的式(3)中的网络整体代价函数值停止增加时,将学习速率α减小为原来值的十分之一,继续训练,直到网络收敛。
现在通过性能分析来说明本实施例方法产生的技术效果
参照附图1、2、3和4,图1是本发明方法中的网络结构和参数配置,采用了卷积层和池化层和激活函数组合使用的方法,可以在每个阶段都能对像素进行激活,最后网络采用了反卷积层,用上采样的方式使得图像恢复到和原始图像尺寸一样大小。中间采用全连接层fc6、fc7层,使得网络能够确保图像像素之间的位置空间关系,最后能够实现端对端的效果。
图2是输入网络的训练样本格式,原始图片是JPG格式,模式为RGB模式,标签图是利用分割工具手工进行分割的标签图,格式为PNG,模式为索引图,使得每个像素均有一个固定的类别与之对应。
图3是分割效果对比图,3a是原始图片,3b是手工分割图(Ground Truth),3c是实验结果图。选取三组比较具有代表性的图片,从上至下分别是俯视角度、斜上方、平视角度拍摄的三组图,而且这三组图均有不同的底座代表整体的样本,通过对比手工分割图,本实施例所采用的改进全卷积神经网络陶瓷材质件图像分割方法均能正确的区分前景和背景,将物体从背景中提取出来,而且兼顾了整体物体轮廓和边缘的光滑性。
图4是实验中的四个分割参数指标,分别是:mean IU、loss、Overall accuracy、fwavacc,计算公式分别如下:
mean IU:
loss:
overall accuracy:∑inii/∑iti
fwavacc:(∑ktk)-1∑inii/(ti+∑jnji-nii)
其中,nji为类别j的像素分类为i类别的个数,ncl为类别总数,ti=∑jnij为类别i的像素总数,nij为类别为i的像素被预测为类别j的个数,从图4中可以看出:mean IU一直升高,最后稳定在0.933左右;overall accuracy一直升高,最后稳定在0.98左右;loss一直下降,最后稳定在9200左右;fwavacc一直在上升,最后稳定在0.967附近。
目前图像分割领域分割最好的网络PSPNet中bottle类别mean IU最高0.844(http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=bottle&challeng eid=11&compid=6&submid=10392),而该实施例中最高达到0.933。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。