一种基于深度学习的纤维识别方法及装置与流程

文档序号:14555560阅读:315来源:国知局
一种基于深度学习的纤维识别方法及装置与流程

本发明涉及纤维识别技术领域,更具体地说,涉及一种基于深度学习的纤维识别方法、装置、设备及计算机可读存储介质。



背景技术:

目前,现有方案对纤维的分类,是通过人工选取特征量实现纤维分类,即对特征量提取依靠人工设定提取,为此从颜色,形状,纹理,条纹四个方面提取特征量。然而手工地选取特征是一件非常费力、启发式(需要专业知识)的方法,能不能选取好很大程度上靠经验和运气,而且它的调节需要大量的时间。即使选取了特征量我们的识别率也只能达到96%,而想要进一步的提高却非常困难。bp算法作为传统训练多层网络的典型算法,实际上对仅含几层网络,该训练方法就已经很不理想。目前,通过bp算法对纤维进行分类存在一下问题:

(1)梯度越来越稀疏:从顶层越往下,误差校正信号越来越小;

(2)收敛到局部最小值:尤其是从远离最优区域开始的时候(随机值初始化会导致这种情况的发生);

(3)一般我们只能用有标签的数据来训练,但大部分的数据是没标签的,而大脑可以从没有标签的的数据中学习。

因此,如何准确对纤维进行识别分类,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种基于深度学习的纤维识别方法、装置、设备及计算机可读存储介质,以实现自动确定纤维特征,准确对纤维进行识别分类。

为实现上述目的,本发明实施例提供了如下技术方案:

一种基于深度学习的纤维识别方法,包括:

利用预定参数创建卷积神经网络模型;其中,所述卷积神经网络模型的卷积核为长宽不等的矩形卷积核;

获取纤维图片的训练集及验证集,通过所述纤维图片的训练集及验证集对所述卷积神经网络模型训练,得到训练后的卷积神经网络模型;

确定待识别纤维图片,根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别;其中,所述训练集、验证集及待识别纤维图片中的纤维图片均为长宽不等的矩形纤维图片。

其中,所述卷积神经网络模型为7层卷积神经网络模型,各层包括:

第一层:conv1-relu1-pool1-norm1;第二层:conv2-relu2-pool2-norm2;第三层:conv3-relu3;第四层:conv4-relu4-pool4;第五层:

fc5-relu5-dropput5;第六层:fc6-relu6-dropput6;第七层:fc7-softmax。

其中,所述训练集、验证集及待识别纤维图片的纤维图片中的纤维直径均大于预设阈值。

其中,所述根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别,包括:

根据所述训练后的卷积神经网络模型获取所述待识别纤维图片的中的纤维特征,并利用所述纤维特征以及所述训练后的卷积神经网络模型中的softmax函数对所述待识别纤维图片进行分类。

一种基于深度学习的纤维识别装置,包括:

卷积神经网络模型创建模块,用于利用预定参数创建卷积神经网络模型;其中,所述卷积神经网络模型的卷积核为长宽不等的矩形卷积核;

卷积神经网络模型训练模块,用于获取纤维图片的训练集及验证集,通过所述纤维图片的训练集及验证集对所述卷积神经网络模型训练,得到训练后的卷积神经网络模型;

纤维图片识别模块,用于确定待识别纤维图片,根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别;其中,所述训练集、验证集及待识别纤维图片中的纤维图片均为长宽不等的矩形纤维图片。

其中,所述卷积神经网络模型为7层卷积神经网络模型,各层包括:

第一层:conv1-relu1-pool1-norm1;第二层:conv2-relu2-pool2-norm2;第三层:conv3-relu3;第四层:conv4-relu4-pool4;第五层:fc5-relu5-dropput5;第六层:fc6-relu6-dropput6;第七层:fc7-softmax。

其中,所述训练集、验证集及待识别纤维图片的纤维图片中的纤维直径均大于预设阈值。

其中,所述纤维图片识别模块,具体用于:

根据所述训练后的卷积神经网络模型获取所述待识别纤维图片的中的纤维特征,并利用所述纤维特征以及所述训练后的卷积神经网络模型中的softmax函数对所述待识别纤维图片进行分类。

一种纤维识别设备,包括:

存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述基于深度学习的纤维识别方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于深度学习的纤维识别方法的步骤。

通过以上方案可知,本发明实施例提供的一种基于深度学习的纤维识别方法,包括:利用预定参数创建卷积神经网络模型;其中,所述卷积神经网络模型的卷积核为长宽不等的矩形卷积核;获取纤维图片的训练集及验证集,通过所述纤维图片的训练集及验证集对所述卷积神经网络模型训练,得到训练后的卷积神经网络模型;确定待识别纤维图片,根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别;其中,所述训练集、验证集及待识别纤维图片中的纤维图片均为长宽不等的矩形纤维图片。

可见,在本方案中,通过深度学习中的卷积神经网络模型对纤维进行识别和分类,可以自动的学习纤维特征,不需要人参与选取的过程,从而大幅提升计算机对纤维识别的准确性,扩大了可被识别的纤维种类。并且,基于卷积神经网络模型具有多层的隐层节点,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易,与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。本发明还公开了一种基于深度学习的纤维识别装置、设备及计算机可读存储介质,同样能实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种基于深度学习的纤维识别方法流程示意图;

图2为本发明实施例公开的卷积神经网络模型第一层示意图;

图3为本发明实施例公开的卷积神经网络模型第二层示意图;

图4为本发明实施例公开的卷积神经网络模型第三层示意图;

图5为本发明实施例公开的卷积神经网络模型第四层示意图;

图6为本发明实施例公开的卷积神经网络模型第五层示意图;

图7为本发明实施例公开的卷积神经网络模型第六层示意图;

图8为本发明实施例公开的卷积神经网络模型第七层示意图;

图9为本发明实施例公开的纤维图像示意图;

图10为本发明实施例公开的卷积层滑动示意图;

图11a为本发明实施例公开的一神经元连接示意图;

图11b为本发明实施例公开的另一神经元连接示意图;

图12为本发明实施例公开的一种基于深度学习的纤维识别装置结构示意图。

具体实施方式

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

本发明实施例公开了一种基于深度学习的纤维识别方法、装置、设备及计算机可读存储介质,以实现自动确定纤维特征,准确对纤维进行识别分类。

参见图1,本发明实施例提供的一种基于深度学习的纤维识别方法,包括:

s101、利用预定参数创建卷积神经网络模型;其中,所述卷积神经网络模型的卷积核为长宽不等的矩形卷积核;

其中,所述训练集、验证集及待识别纤维图片的纤维图片中的纤维直径均大于预设阈值。

具体的,常用的卷积神经网络模型主要包括lenet-5,alexnet,googlenet,vgg等网络结构,但是在本方案中,结合纤维图片的特点,发现lenet-5输入图像尺寸小,输出特征图数量少,学习的特征不够,效果不好。googlenet和vgg层数较深,我们的数据量不大,太深的网络结构很容易发生过拟合,以上结构并不适合对于纤维的识别。而alexnet在大规模图像数据库imagenet获得了很好的效果,其输入图片大,输出的特征图数量多,学习的特征也就多,效果很好,但并不完全适用于纤维图像分类,故为了得到识别率更高,识别速度更快的模型,在本实施例中需在alexnet模型结构的基础上提出改进模型,即在创建卷积神经网络模型时,根据预先参数对模型的层数、参数数量和参数值进行了调整,从而生成一个新的网络模型,在本方案中用yhnet表示。

需要说明的是,由于本方案所需要进行分类的纤维包括天然纤维,天然纤维不具有均一性。以羊毛羊绒识别为例,同一种纤维上的鳞片,在直径细小的地方,鳞片密集,相互之间的距离短;直径粗大的地方,鳞片稀疏,相互之间的距离大。如果随机选择纤维段,同一种纤维将不具有可比性,识别率将很低,为了避免这一情况的影响,在本实施例中需要设定一个预设阈值,该预设阈值为在获取纤维片段时的最小直径,即本方案中的训练集、验证集或者是待识别纤维图片的纤维图片中的纤维直径均需要大于该预设阈值,若将该预设阈值设置为较大的值,也可以理解为本方案中所涉及的纤维图片均为从纤维直径最大处提取的纤维段。

进一步的,本方案所提取的纤维段的形状都似长宽不等的长方形,如果仍然采用长宽相等的正方形图片作为卷积神经网络的输入就不能很好的体现纤维特征,为了更好的提取纤维特征,需要剪裁掉图片中无用的空白区域,故我们输入图片为长宽不等的长方形纤维图片,

在本方案中,设定长方形纤维图片的尺寸为227×83,因此,本方案中纤维图片的训练集、验证集中的纤维图片、以及待识别纤维图片的尺寸均为227×83,可见,由于输入图片的尺寸为长宽不等,所以本方案中的相应卷积层也需采用长宽不等的卷积核;由于纤维段图像尺寸较小,故卷积核的尺寸也不应过大;并且,在训练时,由于输入的纤维样本数量在深度卷积网络训练中算比较少,例如两万幅,所以为了防止过拟合,本方案所构建的模型总层数不应过多,每层卷积层的卷积核数量也不宜过多。

s102、获取纤维图片的训练集及验证集,通过所述纤维图片的训练集及验证集对所述卷积神经网络模型训练,得到训练后的卷积神经网络模型;

具体的,在本方案中,通过将纤维图片训练集及验证集输入创建的卷积神经网络模型,对卷积神经网络模型进行训练,以自动学习不同类别纤维图片的纤维特征,从而为纤维图片分类做准备。

s103、确定待识别纤维图片,根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别;其中,所述训练集、验证集及待识别纤维图片中的纤维图片均为长宽不等的矩形纤维图片。

其中,所述根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别,包括:

根据所述训练后的卷积神经网络模型获取所述待识别纤维图片的中的纤维特征,并利用所述纤维特征以及所述卷积神经网络模型中的softmax函数对所述待识别纤维图片进行分类。

具体的,在本方案中,利用训练集和验证集对卷积神经网络模型训练后,便可利用该卷积神经网络模型对纤维图像进行识别及分类。

综上可见,本方案将深度学习运用于纤维测试识别领域,使得纤维识别变得简单,不再需要人工设置提取大量特征,而是可以自主学习纤维特征,既能实现高效的分析运算,提高效率,又能极大地降低运算成本。

基于上述实施例,在本实施例中,对本方案中的卷积神经网络模型进行具体描述,具体的:本方案中的卷积神经网络模型为7层卷积神经网络模型,各层包括:第一层:conv1-relu1-pool1-norm1;第二层:conv2-relu2-pool2-norm2;第三层:conv3-relu3;第四层:conv4-relu4-pool4;第五层:fc5-relu5-dropput5;第六层:fc6-relu6-dropput6;第七层:fc7-softmax。

在本方案中,基于alexnet模型结构,对模型的层数、参数数量和参数值进行了调整,提出了更适合的cnn模型yhnet。并且,由于纤维的形态是细长的,根据这一特性,在本方案中选取的模型输入图像为227×83的3通道彩色图像,并构建了一个7层的cnn模型,命名为yhnet。网络结构如下所示:

参见图2,为yhnet第一层具体结构:conv1-relu1-pool1-norm1;参见图3,为yhnet第二层具体结构:conv2-relu2-pool2-norm2;参见图4,为yhnet第三层具体结构:conv3-relu3;参见图5,为yhnet第四层具体结构:conv4-relu4-pool4;参见图6,为yhnet第五层具体结构::fc5-relu5-dropput5;参见图7,为yhnet第六层具体结构:fc6-relu6-dropput6;参见图8,为yhnet第七层具体结构:fc7-softmax。

可以理解的是,在本方案中输入的图像尺寸为227×83,需要先通过conv1卷积层进行多通道卷积操作。卷积层(convolutionallayer)是cnn的主要网络层,卷积层由多个卷积模板组成,卷积模板是输入层和输出层之间的连接参数,通过对输入数据进行滤波,得到特征图。每个卷积模板提取一种特征,对应一个特征图。卷积层通过局部感知提取不同的局部特征最终构成全局特征,低层的卷积可以提取边缘、角、线等特征,高层的卷积层能学到更深层次的特征。

卷积层后是修正线性单元。在传统的神经网络模型中,通常使用sigmoid函数f(x)=(1+e-x)-1和双曲正切函数f(x)=tanh(x)作为神经元的激活函数,但使用这两种函数作为激活函数训练深度网络有两个问题,一个是sigmoid函数在反向传播时梯度容易消失,很难训练完深度卷积网络;另一个这两种函数求导计算量大,训练速度非常慢。而非饱和非线性函数f(x)=max(0,x)训练速度要快很多,nair和hinton称其为修正线性单元(rectifiedlinearunits,relus)。

然后通过池化层进行数据压缩。池化层(poolinglayer)也叫下采样层,在cnn中,一般紧跟在卷积层之后,通过对输入数据进行下采样,对数据进行降维压缩,而且可以在一定程度下防止过拟合。池化层的方法有平均池化(meanpooling),最大池化(maxpooling),在本方案中采用是最大池化。

池化层后跟着“norm”层也就是局部响应归一化层(localresponsenormalization,lrn),局部响应归一化层完成一种“临近抑制”操作,对局部输入区域进行归一化。我们采用的是在通道内归一化模式,局部区域在空间上扩展,但只针对独立通道进行(即尺寸为1×local_size×local_size);每个输入值都除以其中n为局部尺寸,大小为local_size。

需要说明的是,在本方案中的第五层,有一层特殊的dropout层,在训练的以1/2概率使得隐藏层的随机神经元的输出为0,这样就丢到了一半节点的输出,bp的时候也不更新这些节点。可以防止过拟合。在第七层,采用softmax来进行分类,是logistic回归模型在多分类问题上的推广。

对于多分类问题,训练集为{(x(1),y(1)),…,(x(m),y(m))},输出y(i)∈{1,2,…,k},其中k表示类别数。softmax函数σ(z)=(σ1(z),…,σm(z))定义如下:

其中,是第i个类别的线性预测结果,将此公式代入上述公式对其取非负,并且除以所有项之和进行归一化,得到的值oi=σi(z)就是数据x属于类别i的概率。然后softmax回归的目标是根据最大化似然函数原则,在目标函数中,我们则是要最小化损失函数,所以使用最小化log似然函数的原则。所以softmax-loss函数的定义如下:

l(y,o)=-log(oy)

通过最小化损失函数,可以得到拟合数据的最优模型。

下面为本方案提供一个具体实施例,在本实施例中,首先通过硬件平台系统获取了14401幅纤维图片,并对这些图像进行标记,羊毛标记为1,羊绒标记为0。其中训练集中有8600张,验证集有3801张,测试集有2000张,图像经处理剪裁为227*83的纤维图片。每幅图片以jpg格式保存。参见图9,为本实施例提供的一幅纤维图像。

在本实施例中,卷积层conv使用公式为:

(cic)ab=relu(wic×conv(aab,kic)+bic)

其中,公式中cc表示第c个卷积层的第i个通道的卷积结果,(cic)ab表示矩阵cic的第a行第b列的元素值;relu表示relu函数,表达式为f(x)=max(0,x);wic为输入到第c个卷积层第i个通道的加权值;×为乘号;aab是以卷积核为大小滑动窗口在原图像矩阵i上的待卷积值,其大小与卷积核一样;kic为第c个卷积层的第i个通道的卷积核;conv为标准的矩阵卷积运算;bic为第c个卷积层的第i个通道的偏移。

在本方案中池化层(pool)采用的是max-pooling,参见图10,举例来说如果池化层卷积核为kernel=2,即将从卷积层输出的特征图像(特征矩阵)c中以2*2的卷积核在其上滑动,每滑动一次,选取其中最大的那个值。

经过多层卷积和池化,我们设置了两个全连接层,前一个全连接层设置了dropout来防止过拟合,每次做完dropout,相当于从原始的网络中找到一个更瘦的网络,例如参见图11a和图11b所示。在本方案中,可通过设置dropout的系数dropout_ratio来确定每次有多少个神经元关闭,在本方案中设置为0.5,即每次有一半的神经元关闭,不更新。

最后,用训练好的模型caffemodel去给测试集中的2000张图片分类,这2000张中,羊毛羊绒各1000张,其中羊毛识别错误了40张,羊绒识别错误了67张,错误率为5.35%。

下面对本发明实施例提供的纤维识别装置进行介绍,下文描述的纤维识别装置与上文描述的纤维识别方法可以相互参照。

参见图12,本发明实施例提供的一种基于深度学习的纤维识别装置,包括:

卷积神经网络模型创建模块100,用于利用预定参数创建卷积神经网络模型;其中,所述卷积神经网络模型的卷积核为长宽不等的矩形卷积核;

卷积神经网络模型训练模块200,用于获取纤维图片的训练集及验证集,通过所述纤维图片的训练集及验证集对所述卷积神经网络模型训练,得到训练后的卷积神经网络模型;

纤维图片识别模块300,用于确定待识别纤维图片,根据所述训练后的卷积神经网络模型对所述待识别纤维图片进行识别;其中,所述训练集、验证集及待识别纤维图片中的纤维图片均为长宽不等的矩形纤维图片。

基于上述实施例,所述卷积神经网络模型为7层卷积神经网络模型,各层包括:

第一层:conv1-relu1-pool1-norm1;第二层:conv2-relu2-pool2-norm2;第三层:conv3-relu3;第四层:conv4-relu4-pool4;第五层:fc5-relu5-dropput5;第六层:fc6-relu6-dropput6;第七层:fc7-softmax。

其中,所述训练集、验证集及待识别纤维图片的纤维图片中的纤维直径均大于预设阈值。

其中,所述纤维图片识别模块,具体用于:

根据所述训练后的卷积神经网络模型获取所述待识别纤维图片的中的纤维特征,并利用所述纤维特征以及所述卷积神经网络模型中的softmax函数对所述待识别纤维图片进行分类。

基于上述任意实施例,在本实施例中公开一种纤维识别设备,包括:

存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述基于深度学习的纤维识别方法的步骤。

在本实施例中还公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于深度学习的纤维识别方法的步骤。

需要说明的是,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

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

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