具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1是根据本发明实施例提供的一种基于深度学习的智能仓储物料识别方法的流程图。如图1所示,该方法具体包括如下步骤:
步骤S102,构建基于目标演化算法的深度神经网络模型并进行训练,得到训练之后的深度神经网络模型。
在本发明实施例中,基于目标演化算法的深度神经网络模型为在传统基于误差逆向传播算法(back propagation,BP)的深度神经网络基础上,利用目标演化算法代替BP的深度神经网络模型。其中,目标演化算法为对传统演化算法的算子进行改进之后的演化算法。具体的,目标演化算法包括:目标选择算子、目标交叉算子和目标变异算子;其中,
目标选择算子包括:
a为目标演化算法中种群的数量,p0为最优个体被选择的初始概率,s为对p0进行标准化后的概率,Tb为对种群重新排列后对应个体所在的位置,p为目标选择算子对最优个体的选择概率;
目标交叉算子包括:
Pj为目标交叉算子,F为种群中两个进行交叉的个体的最大适应度,Fmean为整个种群的平均适应度,n为目标演化算法在当前工作过程中的选代次数,nmax为目标演化算法在工作过程中的最大选代次数,Pjmin为最小交叉概率,Pjmax为最大交叉概率;
目标变异算子包括:
Pb为目标交叉算子,Pbmin为最小交叉概率,Pbmax为最大交叉概率。
步骤S104,构建基于多目标优化模型的深度森林分类模型并进行训练,得到目标深度森林分类模型。
步骤S106,基于训练之后的深度神经网络模型和目标深度森林分类模型,对待识别图像中的仓储物料进行识别;待识别图像为包含仓储物料的图像。
本发明提供了一种基于深度学习的智能仓储物料识别方法,利用演化算法对深度神经网络模型进行训练,以及通过多目标优化模型对深度森林分类模型的超参数进行优化,提高了模型的学习能力,避免了梯度消失和梯度爆炸的问题,提高了模型训练效果和物料识别精度,缓解了现有技术中存在的因模型训练效果差而导致物料识别精度低的技术问题。
可选地,步骤S102还包括如下步骤:
步骤S1021,对预设图像样本库中的每个图像进行预处理和特征提取,得到灰度特征和纹理特征;预处理包括降噪处理和去冗余处理。
步骤S1022,对灰度特征和纹理特征进行特征融合,得到融合后的图像。
步骤S1023,将融合后的图像作为训练集,对基于目标演化算法的深度神经网络模型进行训练,得到训练之后的深度神经网络模型。
具体的,在本发明实施例中,首先搭建图像采集系统,并建立图像样本库。可选地,在本发明实施例中,主要通过硬件设备进行图像的采集,通常在实际应用场景中,通过物料分选机器人进行图像采集与物料识别,物料分选机器人主要由图像识别系统、控制系统、分拣系统等部分组成。
然后,对图像进行降噪、去冗余等预处理。图像在其采集或传递过程中常会受到各种噪声的影响,导致其中包含的重要信息很难被读取和识别。因此,在对图像进行分析之前需要对图像进行增强,图像质量的改进是图像中有用信息提取的前提,图像质量的好坏在很大程度上影响最终图像信息提取的准确性,从而使其更适合进行下一步分析。物料分选作业工况条件比较恶劣,采集的图像会受到灰尘、光线、设备振动等因素的影响。为了保证一定的图像清晰度,需要对原始图像进行处理。
本发明采用非线性低通滤波方法对物料图像进行滤波,非线性低通滤波器进行滤波时,均值滤波保持像素值不变,当像素P与均值的差值落在一个标准差之外时,将像素的新值设置为均值,公式如下:
其中,μ是像素周围的某一邻域内像素灰度的平均值,σ是该邻域内像素灰度的标准差。H×W为像素的大小,本发明中采用3×3的尺寸对样本图像进行非线性低通滤波。
然后,通过灰度分析和纹理分析,确定用于分类识别的特征参数。灰度特征是图像最为典型的特征之一,常用来描述图像或图像区域的表面性质,对图像进行灰度分析可以得到灰度图像的直方图及基本的灰度衡量特征值。图像的直方图是最基本的图像分析方法,其描述了图像的灰度级内容,包含了丰富的图像信息,反映了图像的灰度分布情况,图像灰度特征基本衡量参数有灰度均值、方差、偏度和最大频数所对应的灰度值等。
由灰度分析可以实现灰度图像的特征提取,其中衡量值有灰度均值μj、灰度方σj、灰度偏度ξj,和最大频数所对应的灰度值M,表达式分别为:
其中,图像类型为8位灰度图像时,灰度等级范围为0-255,式中,Pj表示灰度强度为j时对应的灰度点数量。
纹理是样本表面的固有特征,是对图像信息的定量描述。一般认为它是由许多连接且周期性重复的单元构成,与灰度特征不同,纹理不是基于单个像素点的特征,它通常与图像的尺度关系密切,且具有区域性和统计特征。本发明选取基于局部二值模式的方法来提取图像中物料的纹理。
局部二值模式是一种用来描述图像局部纹理特征的算子,它具有旋转不变性和灰度不变性等显著的优点。原始的局部二值模式算子定义为在NL*ML的窗口内,以窗口中心像素为阈值,将相邻的像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。公式如下:
其中,(xc,yc)为中间像素点的值,P为邻域的第P个像素,ip为邻域像素的灰度值,ic为中心像素的灰度值,s(x)为符号函数,定义如下:
之后,对灰度特征和纹理特征进行图像特征融合,融合方法为对应像素点位的像素值相加之后取均值,得到融合后的图像。
最后,搭建基于演化算法的深度神经网络模型,并用训练集训练模型,用测试集测试模型。传统的深度神经网络通过采用误差逆向传播算法(back propagation, BP)进行学习训练,它的结构简单,可塑性强,且拥有较强的数据拟合能力。深度神经网络模型主要包含输入层、隐含层和输出层,在训练过程中,神经网络不断调整输入层与隐含层以及隐含层和输出层之间的权值和阈值,当神经网络输出值与目标值一致或者达到选代次数时训练停止,这种神经网络拥有较强的泛化能力,神经网络的结构原理如图2所示。
在本发明实施例中,采用演化算法中的遗传算法(genetic algorithm, GA)来替代BP算法,通过演化算法优化深度神经网络。演化算法是根据大自然中生物体进化规律而设计提出的,工作原理是首先对输入数据进行编码,之后通过一定的概率进行选择、交叉和变异运算直到选择出适应度最大的个体作为目标值输出,之后停止运算。
在本发明采用的演化算法中,采用误差平方的倒数作为适应度函数,进行衡量种群中个体适应能力大小的标准,公式如下:
其中,E为误差函数,P为整体输出,w为权矢量,x为输入矢量,y为理论输出矢量,F为适应度,j为选代次数,K为输入数据的维度,N为总的迭代次数。
传统的演化算法在工作过程中经常采用“轮盘赌”的方式,种群中个体被选中的概率是随机的,这种选择方式很有可能丢掉最优个体,在实际的运算过程中会产生较大的误差。而在本发明实施例中,对选择算子进行改进,首先将种群个体利用排序法依据可能被选择的概率进行重新排列,重新排序之后个体被选择的概率如下所示:
a为目标演化算法中种群的数量,p0为最优个体被选择的初始概率,s为对p0进行标准化后的概率,Tb为对种群重新排列后对应个体所在的位置,p为目标选择算子对最优个体的选择概率。
本发明实施例中所采用的目标演化算法,对交叉算子进行改进。传统的演化算法在工作过程中一般会将交叉概率设为0.3-0.8之间的一个常数。在运算过程中,交叉概率设置过高会提高演化算法的全局搜索能力,但染色体的适应能力会有所下降,而交叉概率设置得过低会降低演化算法的全局搜索能力和收敛速度。本发明对交叉算子进行改进,在算法选代过程中会根据适应度的变化来调整交叉概率的变化,改进的交叉概率如下所示:
Pj为目标交叉算子,F为种群中两个进行交叉的个体的最大适应度,Fmean为整个种群的平均适应度,n为目标演化算法在当前工作过程中的选代次数,nmax为目标演化算法在工作过程中的最大选代次数,Pjmin为最小交叉概率,Pjmax为最大交叉概率。可选地,在本发明实施例中,Pjmin设置为0.3,Pjmax设置为0.8。
本发明中所采用的目标演化算法,对变异算子进行改进,传统的演化算法在工作过程中一般会将变异概率设为0.001-0.1之间的一个常数。在演化算法运算初期,种群个体的适应度相对平均适应度较低,所以需要将变异的概率设为较小的值,从而保留染色体中基因优良的个体。在演化算法运算的后期,种群个体的适应度相对高于平均适应度,因此需要将变异的概率设为较大的值来提高演化算法的局部搜索能力。本发明实施例对变异算子进行改进,在演化算法运算过程中会根据适应度的变化来调整变异概率的值,改进的变异概率如下所示:
Pb为目标交叉算子,Pbmin为最小交叉概率,Pbmax为最大交叉概率。可选地,在本发明实施例中,Pbmin设置为0.001,Pbmax设置为0.1。
图3为本发明实施例提供的一种基于目标演化算法优化深度神经网络模型的流程示意图。可选地,在本发明实施例中,所采用的深度神经网络的参数为:网络层数为5层,隐层节点数为100个,学习率为0.001,批次大小为64,迭代次数为200。
可选地,在本发明实施例中,基于多目标优化模型的深度森林分类模型的超参数包括:每层森林中随机森林个数ωi、每层森林中完全随机森林的个数θi、每个森林中包含决策树的个数bi;多目标优化模型的优化函数包括:
多目标优化模型的目标函数包括:
x
tr是训练集样本,N
tr是训练集样本数目,
代表两个数转化为向量的哈达玛积,
f 1为训练集上的均方根误差,
f 2为训练集的稀疏度。
本发明实施例所采用的深度森林分类模型为基于多目标优化的深度森林分类模型,接下来进行详细介绍。
深度森林分类模型采用级联结构进行连接,每一层森林则为决策树的集成。深度森林分类模型自动确定深度森林级联的层数,其自动确定深度森林级联的层数的方法为:每个森林通过k折交叉验证生成类向量,即每个样本数据作为k-1次的训练样本,产生k-1个类向量,并根据待分类的图像得到验证数据,当拓展产生新的一层森林时,整个深度森林框架的性能会根据验证数据进行评估,如果整个深度森林框架的性能没有明显改善,则深度森林的层数不再增加。在深度森林分类模型的训练过程中,每层使用Q个随机森林和P个完全随机森林,第一层将产生(Q+P)×C个特征,产生的特征向量将与原始特征向量连接并输入到下一级,其中,C为类别个数;之后的每一层与此类似,直至倒数第二层。
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别,决策树是一个预测模型,它代表的是对象属性与对象值之间的一种映射关系。
随机森林是利用多棵决策树对样本数据进行训练并预测的一种分类器,每棵树的产生方法为,在整个特征空间中随机选择
个特征作为候选特征,其中,d为输入特征的个数,然后选择具有最佳Gini值的特征作为节点的分裂特征。
完全随机森林是利用多棵决策树对样本进行训练并预测的一种分类器,完全随机树森林中每棵树的产生方法为,在整个特征空间中随机选择1个特征作为节点的分裂特征。
Gini值是指基尼系数,在决策树之CART算法中用Gini指数来衡量数据的不纯度或者不确定性,同时用Gini指数来决定类别变量的最优二分值的切分问题。
当深度森林分类模型训练完成后,利用训练后的深度森林分类模型对实际需要处理的图像进行测试,并得到目标域图像的分类结果;其中,取深度森林分类模型中最后一层森林的结果的平均值中的最大值作为深度森林分类模型输出的分类结果所对应的类别:
Fin(c)=Maxy{Ave.m[c11,c12,…,c1y,c21,c22,…,c2y,…,cm1,cm2,…,cmy]}
其中,m为深度森林每层包含森林的个数,y为该数据集的类别的个数,c为数据集的分类的类别,Fin(c)为深度森林分类模型输出的分类结果,Maxy为深度森林分类模型中最后一层森林的结果的平均值中的最大值,Ave.m为深度森林分类模型中最后一层森林的结果的平均值。
可选地,图4为根据本发明实施例提供的一种深度森林分类模型图解的示意图。如图4所示,深度森林分类模型中涉及到的超参数包括每层森林中随机森林个数wi、每层森林中完全随机森林的个数θi、每个森林中包含决策树的个数bi等,在本发明实施例中,采用多目标优化的方式对这三个超参数进行优化,以实现自适应决定深度森林算法的结构。
多目标优化的目的是使多个目标在给定区域同时尽可能最佳,多目标优化的解通常是一组均衡解,即一组由众多Pareto最优解组成的最优解集合 ,集合中的各个元素称为Pareto最优解或非劣最优解。
在本发明中,设置两个优化函数:
其中x
tr是训练集样本,N
tr是训练集样本数目,
代表两个数转化为向量的哈达玛积。
因此,在训练集上的均方根误差作为第一个目标:
第二个目标为稀疏度:
其中,m为观测次数,nN为每层神经元的个数,L为深度森林的层数。
因此,本发明提出的多目标优化模型的目标函数为:
同时使两个目标函数最小化,让模型在性能越好的前提下,尽可能地稀疏。
最后,通过基于多目标优化的深度森林分类模型完成物料的识别与分类。
具体的,步骤S106还包括如下步骤:
步骤S1061,对待识别图像进行质心提取和物料边框标定操作,得到待识别仓储物料图像。
步骤S1062,对待识别仓储物料图像进行特征提取和特征融合操作,得到待识别仓储物料图像的特征图像。
具体的,对待识别仓储物料图像进行扩展形态学轮廓操作,得到形态学特征图;对待识别仓储物料图像进行二值化处理,得到二值特征图;对形态学特征图和二值特征图进行特征融合操作,得到特征图像。
步骤S1063,基于训练之后的深度神经网络模型,对特征图像进行特征提取,得到待识别特征向量。
步骤S1064,以待识别仓储物料的特征向量作为输入,通过目标深度森林分类模型对待识别仓储物料进行识别,得到识别结果。
在本发明实施例中,首先分别对经过预处理后的待识别图像进行扩展形态学轮廓操作和二值化操作,提取形态学特征与二值特征,并进行特征融合。
具体的,设f(x,y)和g(x,y)为定义在二维离散空间F和G上的两个离散函数,其中f(x,y)为每一主成分图像在点(x,y)处的灰度函数,g(x,y)为结构元素在点(x,y)处的灰度函数,D f 为f(x,y)的域,Dg为g(x,y)的域,则f(x,y)对g(x,y)的扩展腐蚀和扩展膨胀被分别定义为:
其中,dist算子为距离算子,(u,v)表示点(x,y)的邻域尺寸。在经典形态学中,开、闭运算是去除比结构元素小的目标的一部分,现在寻求一种能把比结构元素小的目标作为一个整体直接去除的方法,同时把多尺度分析的概念运用到扩展形态学方法中。因此dist算子的选择是一个关键点,本发明实施例中的dist算子选择定义如下:
定义扩展开、闭运算为:
经过多次开闭运算,得到多幅形态学特征图像,形成图像的形态学特征。
在提取图像的二值特征时,将采集到的物料图像各通道像素值相加后取平均,并采用如下公式转换为二值特征图:
其中,XT为图像各通道像素值相加后取平均。
将提取到的形态学特征图与二值特征图进行融合,融合方法为对应像素点位的像素值相加,得到融合后的特征图。
然后进行图像重叠样本的分离与重构、物料定位操作。首先,提取样本的质心。质心是最常见的颗粒属性,是物质系统上被认为质量集中在此处的一个假想点,因此可以用它来抽象的代替该颗粒样本。在机器视觉中,常用质心的坐标位置来追踪图像中的目标。
物理学中两个或者两个以上互相有关联的质点组成的系统称为质点系,而质量分布的平均位置则为质点系的质心。设质点系由n个质点组成,它们的质量可以由mi表示,若用R表示各质点相对于某一个固定点的矢径,用ri表示质心的矢径。将数字图像看作质点系,则其中各像素可被看为质量均相同的点,那么颗粒的质点就代表像素位置的平均,即:
其中A代表颗粒中所有像素数量总和,对于二值图像来说就是颗粒的面积。
在实际工况下,皮带上的物料样本互相混合、重叠且分布不均,导致提取的二值图像目标样本间易形成狭小的相连区域。将原本两个样本看为一个样本,影响了样本目标边缘提取的正确,导致定位错误。如果出现这种情况,可多次进行扩展形态轮廓的方法进行图像处理。
优选地,在本发明实施例中,对物料定位采用LABVIEW平台进行目标定位。
根据图像中物体的质心,标定物料边框之后,对混合物料进行定位,并利用基于多目标优化的深度森林分类模型进行识别分类。
可选地,图5为根据本发明实施例提供的一种对基于目标演化算法的深度神经网络模型进行训练的流程图。如图5所示,首先搭建图像采集平台,并建立图像样本库;然后对图像进行预处理,包括降噪、去冗余等;然后进行特征提取,具体的,通过灰度分析和纹理分析,对图像进行灰度特征提取和纹理特征提取,并进行特征融合;然后构建基于目标演化算法的深度神经网络模型,并用训练集训练模型,用测试集测试模型精度;在满足精度要求召回,保存模型,得到训练之后的深度神经网络模型。
可选地,图6为根据本发明实施例提供的另一种基于深度学习的智能仓储物料识别方法的流程图。如图6所示,首先,通过采集平台采集物料图像;然后,对物料图像进行降噪、去冗余等预处理;分别对经过预处理后的图像进行扩展形态学轮廓操作和二值化操作,提取形态学特征与二值特征,并进行特征融合;然后,进行图像重叠样本的分离与重构、物料定位操作;然后,根据质心标定物料边框;然后利用训练之后的深度神经网络模型进行特征提取;最后,利用基于多目标优化的深度森林分类器进行识别分类,并输出分类结果。
由以上描述可知,本发明实施例提供了一种基于深度学习的智能仓储物料识别方法,该方法与现有技术相比,具有以下优点:
(1)提高物料识别能力,基于图像的物料定位通常存在外界环境导致图片产生畸变、目标样本轮廊难以复原、难以区分混合样本的轮廓等问题,本发明中采用改进的深度神经网络算法进行分类识别,本发明中采用的演化算法进行了创新改进,传统演化算法的选择概率、交叉概率和变异概率使用的是固定的常数,这样在训练的前期和后期容易产生局部最优解,为了解决这个问题,对选择算子、交叉算子和变异算子的概率进行了改进,通过判断当前适应度值从而对选择概率、交叉概率和变异概率进行调整,随着适应度值的不断变化,预测模型的选择概率、交叉概率和变异概率会随之产生变化,使预测模型能够将各个参数调整为模型最佳的状态;
(2)提高物料识别算法的训练效果,通过演化算法替换传统的反向传播算法,提高模型的学习能力,避免了梯度消失和梯度爆炸的问题,提高模型训练效果和物料识别精度;
(3)提高物料识别算法的泛化性,在实际物料识别应用现场中,光照、灰尘等外界因素对采集照片的影响较大,不同应用场景的环境差异较大,而通常对物料进行特征分析时选用的特征较为单一,本发明中通过采用多特征融合的操作,对物料的多种特征和背景特征进行深度挖掘,使得算法模型能够较为稳定地应用在各个场景;
(4)提高物料识别算法的训练速度,本发明设计的基于演化算法的深度神经网络算法结构简单,训练速度快,且所选用的分类器为基于多目标优化的深度森林分类模型,分类速度快,能够提高物料识别的效率。
本发明实施例提供的方法从应用层面,对仓储管理具有显著促进作用,能够通过对物品的出入库快速智能识别,提高仓库空间利用率及作业效率,进一步为企业实现降本增效的目的。
实施例二:
图7为根据本发明实施例提供的一种基于深度学习的智能仓储物料识别系统的示意图。如图7所示,该系统包括:第一训练模块10,第二训练模块20和识别模块30。
具体的,第一训练模块10,用于构建基于目标演化算法的深度神经网络模型并进行训练,得到训练之后的深度神经网络模型。
在本发明实施例中,基于目标演化算法的深度神经网络模型为在传统基于误差逆向传播算法(back propagation,BP)的深度神经网络基础上,利用目标演化算法代替BP的深度神经网络模型。其中,目标演化算法为对传统演化算法的算子进行改进之后的演化算法。具体的,目标演化算法包括:目标选择算子、目标交叉算子和目标变异算子;其中,
目标选择算子包括:
a为目标演化算法中种群的数量,p0为最优个体被选择的初始概率,s为对p0进行标准化后的概率,Tb为对种群重新排列后对应个体所在的位置,p为目标选择算子对最优个体的选择概率;
目标交叉算子包括:
Pj为目标交叉算子,F为种群中两个进行交叉的个体的最大适应度,Fmean为整个种群的平均适应度,n为目标演化算法在当前工作过程中的选代次数,nmax为目标演化算法在工作过程中的最大选代次数,Pjmin为最小交叉概率,Pjmax为最大交叉概率;
目标变异算子包括:
Pb为目标交叉算子,Pbmin为最小交叉概率,Pbmax为最大交叉概率。
第二训练模块20,用于构建基于多目标优化模型的深度森林分类模型并进行训练,得到目标深度森林分类模型。
具体的,在本发明实施例中,基于多目标优化模型的深度森林分类模型的超参数包括:每层森林中随机森林个数ωi、每层森林中完全随机森林的个数θi、每个森林中包含决策树的个数bi;多目标优化模型的优化函数包括:
多目标优化模型的目标函数包括:
x
tr是训练集样本,N
tr是训练集样本数目,
代表两个数转化为向量的哈达玛积,
f 1为训练集上的均方根误差,
f 2为训练集的稀疏度。
识别模块30,用于基于训练之后的深度神经网络模型和目标深度森林分类模型,对待识别图像中的仓储物料进行识别;待识别图像为包含仓储物料的图像。
可选地,识别模块30,还用于:对待识别图像进行质心提取和物料边框标定操作,得到待识别仓储物料图像;对待识别仓储物料图像进行特征提取和特征融合操作,得到待识别仓储物料图像的特征图像;基于训练之后的深度神经网络模型,对特征图像进行特征提取,得到待识别特征向量;以待识别仓储物料的特征向量作为输入,通过目标深度森林分类模型对待识别仓储物料进行识别,得到识别结果。
本发明提供了一种基于深度学习的智能仓储物料识别系统,利用演化算法对深度神经网络模型进行训练,以及通过多目标优化模型对深度森林分类模型的超参数进行优化,提高了模型的学习能力,避免了梯度消失和梯度爆炸的问题,提高了模型训练效果和物料识别精度,缓解了现有技术中存在的因模型训练效果差而导致物料识别精度低的技术问题。
可选地,识别模块30,还用于:对待识别仓储物料图像进行扩展形态学轮廓操作,得到形态学特征图;对待识别仓储物料图像进行二值化处理,得到二值特征图;对形态学特征图和二值特征图进行特征融合操作,得到特征图像。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一中的方法的步骤。
本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述实施例一中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。