基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法与流程

专利2022-06-29  82


本发明涉及机器视觉与谷物质量检测领域,尤其是一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法。



背景技术:

计算机视觉技术提供一种实时、高效、无损伤的检测方法,通常与智能算法结合获取被测对象的代表特征。卷积神经网络(即cnn)是一种深层识别模型,提供“端对端”的学习方式,输入的原始图像通过特征层被映射为特征表示集,再通过末端的分类层实现多分类。因此,基于计算机视觉技术的cnn质量检测方法是一种不依赖于先验知识的全自动智能检测方法。

在实际应用中cnn仍然存在许多问题。一方面,虽然cnn的多层结构解决了手动提取特征的难题,但同时也扩大了对训练样本的需求量,提高了训练时间以及对设备计算能力的要求;另一方面,由于光照、背景等环境因素的改变,训练好的cnn模型将会失效,需采集新环境下的样本重新训练模型。但在新环境下采集大量带标签的样本是费时且昂贵的,且再次训练一个新的模型也是不现实的。



技术实现要素:

本发明人针对上述问题及技术需求,提出了一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法,该方法在传统cnn的基础上引入自适应学习率与迁移学习算法。自适应学习率可以提高cnn模型训练过程中的收敛速度与识别精度,而迁移学习可以使在源领域上训练好的cnn模型在目标领域上表现良好,使得cnn自适应领域的变化,提高cnn的泛化能力,最终实现更加精确的谷物质量检测。本发明采用的技术方案是:

一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法,该方法包括:

获取m个源领域样本与n个目标领域样本,其中均包括合格样本与缺陷样本;所述源领域样本与所述目标领域样本按照相同的比例各分为训练集与测试集,m和n都为正整数,且m>n;

采用深度卷积神经网络cnn模型识别样本,并用所述源领域样本训练好的参数初始化所述cnn模型;所述源领域训练集与所述目标领域训练集作为所述cnn模型的输入,并在所述cnn模型的结构中引入迁移学习算法,自适应调节两个领域的分布,计算两个领域的分布差异,即域分布差异与类别分布差异;

在反向传播过程中,根据所述cnn模型的损失变化与权值变化分别提出自适应学习率α1与α2,引入二次函数模型得到所述自适应学习率α1,并采用梯度下降法寻优,将正态分布模型引入所述域分布差异,并结合所述自适应学习率α2采用梯度上升法寻优;

通过所述反向传播迭代更新模型参数,进而优化所述分布差异与分类损失;当迭代次数达最优时,保存所述模型参数,并输入所述目标领域测试集,得到所述目标领域中谷物质量检测的精度。

进一步地,所述通过所述反向传播迭代更新模型参数,进而优化所述分布差异与所述分类损失,包括:

所述cnn模型的损失包含所述分类损失、所述域分布差异与所述类别分布差异,并用μ与分别表示所述域分布差异与所述类别分布差异对所述cnn模型的重要程度;

迭代次数小于最优迭代次数(例如500)时,在每一次迭代过程中,所述分类损失与所述类别分布差异分别结合所述自适应学习率α1更新所述模型参数,所述域分布差异结合所述自适应学习率α2对特征层参数进行二次更新;

大约所述迭代次数达到最优迭代次数,所述cnn模型收敛到最佳,保存所述模型参数,并检测目标领域测试集,从而得到所述目标领域中谷物质量的检测精度。

进一步地,所述分类损失与所述类别分布差异分别结合所述自适应学习率α1更新所述模型参数,包括:

其中,θ是所述模型参数,包含所述特征层参数θrepr与分类层参数θc,lc是所述分类损失,lcda是所述类别分布差异,且根据交叉熵函数计算所述分类损失与所述类别分布差异;

所述自适应学习率α1与损失变化呈正相关;将所述二次函数与损失结合得到g=e2,e为损失,代表所述分类损失或所述类别分布差异或域分类损失,通过对所述二次函数求导得到所述自适应学习率α1=2eα;所述cnn模型训练后期,所述损失趋于0,所述自适应学习率α1也趋于0,为保证所述cnn模型后期的收敛速度,提出改进方法:

进一步地,所述通过所述域分布差异结合所述自适应学习率α2对所述特征层参数进行二次更新,并将正态分布模型引入所述域分布差异,结合所述自适应学习率α2采用梯度上升法寻优,包括:

其中,σ为正态分布模型参数,θrepr为所述特征层参数;所述自适应学习率α2与所述权值变化呈正相关:

其中,权值为lmda为所述域分布差异,通过在所述特征层后加入额外的域分类器得到;将所述自适应学习率α2的值带入所述域分布差异的优化公式中为:

为保证所述cnn模型后期的收敛速度,提出改进方法:

进一步地,所述根据交叉熵函数计算所述分类损失与所述类别分布差异,包括计算:

其中,d'是所述源领域训练集与所述目标领域训练集的样本总数,h是样本序数,为预测标签,yh为输入样本的真实标签;k是类序数,是所述源领域的类别分布,是所述目标领域的类别分布;根据softmax函数计算得到所述源领域的类别分布与所述目标领域的类别分布。

进一步地,所述根据softmax函数计算得到所述源领域的类别分布与所述目标领域的类别分布,包括:

类别分布是领域中任一类别与所有类别相似的概率的集合,通过在分类层后接入所述softmax函数计算,且引入放大因子τ使差异较大的类别占有一定的比列分配;所述源领域的类别分布为:

所述目标领域的类别分布为:

其中,ls为所述源领域的样本标签,xs为所述源领域样本,为所述源领域中第k类别的第m个样本的类别分布;lt为所述目标领域的样本标签,xt为所述目标领域样本,为所述目标领域中所述第k类别的第n个样本的类别分布。

进一步地,所述通过在特征层后加入额外的域分类器得到所述域分布差异,包括:

所述域分类器是一个二分类器,分类函数是所述softmax函数,并通过所述交叉熵函数计算域分类损失ldc;

其中,d代表领域的集合,且源领域与目标领域的差异是由环境因素的改变引起的;yd是真实领域,是预测领域,θdc是域分类器参数;

通过所述域分类器得到所述领域分布差异为:

其中,是均匀分布标签,是预测标签,x'是所述源领域样本与所述目标领域训练集的集合。

进一步地,所述源领域与目标领域的差异是由环境因素的改变引起的,包括:所述源领域选择光照均匀的黑色背景,所述目标领域选择光照不均匀的白色背景。

本申请的有益技术效果是:

本申请公开了一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法,该方法采集源领域以及目标领域下的谷物样本图像,其中包括合格谷物的样本图像与带有缺陷的谷物样本图像,选择深度卷积神经网络cnn模型识别缺陷,利用源领域训练好的模型参数初始化cnn模型,并引入迁移学习算法利用源领域样本辅助目标领域样本完成目标领域下谷物的质量检测。在训练过程中提出自适应学习率,并引入二次函数与正态分布模型分别采取梯度下降与梯度上升的方式更新模型参数,优化模型损失。该方法能够提高cnn模型的训练性能,自适应领域的变化,极大程度的提高谷物质量检测的准确性。

附图说明

图1是本申请公开的基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法的流程图。

图2是引入迁移学习算法的卷积神经网络cnn模型的结构图。

图3是计算领域样本的类别分布示意图。

图4是引入迁移学习的自适应cnn模型的反向传播示意图。

具体实施方式

下面结合具体附图和实施例对本发明作进一步说明。

本申请公开了一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法,该方法包括如下步骤,请参考图1示出的流程图:

步骤s1:搭建图像采集系统用于采集不同领域下的样本,选择光照均匀的黑色背景作为源领域,并采集m个源领域样本{xs,ys};选择光照不均匀的白色背景作为目标领域,并采集n个目标领域样本{xt,yt},两个领域的样本均包括合格样本与缺陷样本,m和n都为正整数,且m>n。对所有样本图像进行分割并统一尺寸,具体方法可以参考现有的方法,本申请不再赘述。将源领域样本与目标领域样本按照相同的比例各分为训练集与测试集。

步骤s2:采用深度卷积神经网络cnn模型识别样本,并用源领域样本训练好的参数初始化cnn模型。源领域训练集与目标领域训练集作为cnn模型的输入,并在特征层和分类层后分别引入迁移学习算法,如图2所示,计算两领域的分布差异,即域分布差异与类别分布差异,并通过反向传播算法优化分布差异与分类损失,完成领域迁移,实现谷物的质量检测。

(1)cnn模型的分类损失为:

其中,d'=m n,θrepr为特征层参数,f(·)为特征层的激活函数;θc为分类层参数,分类函数为softmax,为预测标签,yh为输入样本的真实标签。

(2)在cnn模型的特征层后加入额外的域分类器用于评估域分布差异,且域分类器是一个二分类器,分类参数为θdc,分类函数为softmax函数。源领域样本与目标领域训练集通过特征层参数θrepr被映射为特征表示,将特征表示输入域分类器,并通过交叉熵函数计算域分类损失ldc:

其中,d为源领域或目标领域,yd是真实领域,是预测领域,x为xs或xt。

通过域分类器计算两个领域的特征表示的差异得到域分布差异lmda:

其中,是均匀分布标签,是预测标签,x'是xs与xt的集合。ldc最优意味着域分类器可以很容易的通过θdc将源领域与目标领域区分开,此时lmda最大;lmda最优意味着域分类器无法区分经θrepr映射后的两领域,此时ldc最大。因此,参数θdc与θrepr需要分别优化,在ldc中仅更新θdc,在lmda中仅更新θrepr,保证在性能最好的域分类器中学习领域的不变性,即在性能最好的域分类器中也难以区分两个领域间的样本。

(3)在cnn模型分类层中的softmax函数用于计算样本的类别分布信息,如图3所示。通过softmax函数记录样本属于每个类别的概率,对第k类别中的所有样本对应的概率求均值,得到第k类别属于每一个类别的概率,即为第k类别的类别分布,类别分布即为领域中所有类的类别分布的集合。源领域类别分布为:

目标领域的类别分布为:

其中,为源领域的样本标签,为源领域中第k类别的第m个样本的类别分布。为目标领域的样本标签,为目标领域中第k类别的第n个样本的类别分布。

通过反向传播将源领域的类别分布迁移到目标领域,实现两个领域的类间对齐。其中将调整为与相同的尺寸大小,类别分布差异lcda通过交叉熵函数计算:

步骤s3:如图4所示,在cnn模型训练过程中提出自适应学习率,得到自适应cnn模型。根据cnn模型的损失变化与权值变化分别提出自适应学习率α1与α2。

(1)自适应学习率α1与损失变化呈正相关。将二次函数与损失结合得到g=e2,e为损失,代表所述分类损失或所述类别分布差异或所述域分类损失。通过对二次函数求导得到自适应学习率α1=2eα。cnn模型训练后期的损失趋于0,自适应学习率α1也趋于0,为保证cnn模型后期的收敛速度,提出改进方法:

(2)自适应学习率α2与权值变化呈正相关,其中为权值。

步骤s4:基于迁移学习与自适应cnn模型的损失为:其中μ=0.01,分别表示域分布差异与类别分布差异对于cnn模型的重要程度。反向传播算法用于迭代更新模型参数,进而优化分布差异与分类损失。在每次迭代过程中,特征层参数θrepr与分类层参数θc通过自适应学习率α1进行更新后,θrepr再通过自适应学习率α2进行二次更新。

(1)结合自适应学习率α1采用梯度上升法优化分类损失与类别分布差异:

带入α1的值得:

其中,θ是模型参数,包含θrepr与θc。

(2)优化域分布差异时仅更新θrepr,并引入正态分布模型得到:

求导得到:

由于正态分布模型存在最大值,因此在更新θrepr过程中需采用梯度上升法寻找最优解,结合自适应学习率α2优化lmda为:

带入α2的值得:

θrepr的变化系数为:由于cnn模型训练后期lmda趋于0,变化系数也趋于0,为保证cnn模型后期的收敛速度,提出改进方法:

步骤s5:结合自适应学习率α1优化域分类损失ldc,更新域分类器参数θdc:

步骤s6:重复步骤s2到s5,大约迭代次数达到500时,模型收敛到最佳,保存模型参数。输入目标领域测试集,实现跨领域与跨任务的谷物质量检测。

以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。


技术特征:

1.一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法,其特征在于,所述方法包括:

获取m个源领域样本与n个目标领域样本,其中均包括合格样本与缺陷样本;所述源领域样本与所述目标领域样本按照相同的比例各分为训练集与测试集,m和n都为正整数,且m>n;

采用深度卷积神经网络cnn模型识别样本,并用所述源领域样本训练好的参数初始化所述cnn模型;所述源领域训练集与所述目标领域训练集作为所述cnn模型的输入,并在所述cnn模型的结构中引入迁移学习算法,自适应调节两个领域的分布,计算两个领域的分布差异,即域分布差异与类别分布差异;

在反向传播过程中,根据所述cnn模型的损失变化与权值变化分别提出自适应学习率α1与α2,引入二次函数模型得到所述自适应学习率α1,并采用梯度下降法寻优,将正态分布模型引入所述域分布差异,并结合所述自适应学习率α2采用梯度上升法寻优;

通过所述反向传播迭代更新模型参数,进而优化所述分布差异与分类损失;当迭代次数达最优时,保存所述模型参数,并输入所述目标领域测试集,得到所述目标领域中谷物质量检测的精度。

2.根据权利要求1所述的方法,其特征在于,所述通过所述反向传播迭代更新模型参数,进而优化所述分布差异与所述分类损失,包括:

所述cnn模型的损失包含所述分类损失、所述域分布差异与所述类别分布差异,并用μ与分别表示所述域分布差异与所述类别分布差异对所述cnn模型的重要程度;

迭代次数小于最优迭代次数时,在每一次迭代过程中,所述分类损失与所述类别分布差异分别结合所述自适应学习率α1更新所述模型参数,所述域分布差异结合所述自适应学习率α2对特征层参数进行二次更新;

大约所述迭代次数达到最优迭代次数,所述cnn模型收敛到最佳,保存所述模型参数,并检测目标领域测试集,从而得到所述目标领域中谷物质量的检测精度。

3.根据权利要求2所述的方法,其特征在于,所述分类损失与所述类别分布差异分别结合所述自适应学习率α1更新所述模型参数,包括:

其中,θ是所述模型参数,包含所述特征层参数θrepr与分类层参数θc,lc是所述分类损失,lcda是所述类别分布差异,且根据交叉熵函数计算所述分类损失与所述类别分布差异;

所述自适应学习率α1与损失变化呈正相关;将所述二次函数与损失结合得到g=e2,e为损失,代表所述分类损失或所述类别分布差异或域分类损失(域分类损失见权利7),通过对所述二次函数求导得到所述自适应学习率α1=2eα;所述cnn模型训练后期,所述损失趋于0,所述自适应学习率α1也趋于0,为保证所述cnn模型后期的收敛速度,提出改进方法:

4.根据权利要求1或2所述的方法,其特征在于,所述通过所述域分布差异结合所述自适应学习率α2对所述特征层参数进行二次更新,并将正态分布模型引入所述域分布差异,并结合所述自适应学习率α2采用梯度上升法寻优,包括:

其中,σ为正态分布模型参数,θrepr为所述特征层参数;所述自适应学习率α2与所述权值变化呈正相关:

其中,权值为lmda为所述域分布差异,通过在所述特征层后加入额外的域分类器得到;将所述自适应学习率α2的值带入所述域分布差异的优化公式中为:

为保证所述cnn模型后期的收敛速度,提出改进方法:

5.根据权利要求3所述的方法,其特征在于,所述根据交叉熵函数计算所述分类损失与所述类别分布差异,包括计算:

其中,d'是所述源领域训练集与所述目标领域训练集的样本总数,h是样本序数,为预测标签,yh为输入样本的真实标签;k是类序数,是所述源领域的类别分布,是所述目标领域的类别分布;根据softmax函数计算得到所述源领域的类别分布与所述目标领域的类别分布。

6.根据权利要求5所述的方法,其特征在于,所述根据softmax函数计算得到所述源领域的类别分布与所述目标领域的类别分布,包括:

类别分布是领域中任一类别与所有类别相似的概率的集合,通过分类层中的所述softmax函数计算,且引入放大因子τ使差异较大的类别占有一定的比列分配;所述源领域的类别分布为:

所述目标领域的类别分布为:

其中,ls为所述源领域的样本标签,xs为所述源领域样本,为所述源领域中第k类别的第m个样本的类别分布;lt为所述目标领域的样本标签,xt为所述目标领域样本,为所述目标领域中所述第k类别的第n个样本的类别分布。

7.根据权利要求4所述的方法,其特征在于,所述通过在特征层后加入额外的域分类器得到所述域分布差异,包括:

所述域分类器是一个二分类器,分类函数是所述softmax函数,并通过所述交叉熵函数计算域分类损失ldc;

其中,d代表领域的集合,源领域与目标领域的差异是由环境因素的改变引起的;yd是真实领域,是预测领域,θdc是域分类器参数;

通过所述域分类器得到所述域分布差异为:

其中,是均匀分布标签,是预测标签,x'是所述源领域训练集与所述目标领域训练集的集合。

8.根据权利要求7所述的方法,其特征在于,所述源领域与目标领域的差异是由环境因素的改变引起的,包括:所述源领域选择光照均匀的黑色背景,所述目标领域选择光照不均匀的白色背景。

技术总结
本发明提供一种基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法,涉及机器视觉与谷物质量检测领域,该方法包括:采集源领域以及目标领域下的谷物样本图像,其中包括合格谷物的样本图像与带有缺陷的谷物的样本图像,选择深度卷积神经网络CNN模型识别缺陷,利用源领域训练好的模型参数初始化CNN模型,并引入迁移学习算法利用源领域样本辅助目标领域样本完成目标领域谷物的质量检测。在CNN模型的训练中提出自适应学习率,并引入二次函数与正态分布模型分别采取梯度下降与梯度上升的方式更新模型参数,优化模型损失。该方法能够提高CNN模型的训练性能,自适应领域的变化,极大程度的提高谷物质量检测的准确性。

技术研发人员:李可;张思雨;张秋菊
受保护的技术使用者:江南大学
技术研发日:2020.01.09
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-46982.html

最新回复(0)