一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云边协同场景下基于记忆机制的卷包异常检测方法及装置

2023-02-02 03:20:20 来源:中国专利 TAG:


1.本发明涉及卷烟外包装的异常检测算法,特别是一种云边协同场景下,针对卷包(卷烟外包装)的,基于记忆机制的无监督异常检测方法及装置。


背景技术:

2.在高速流水线生产卷烟的过程当中,会不可避免地产生残次品,卷烟外包装会出现商标破损,透明纸折叠等异常。及时地剔除有缺陷的产品、避免该缺陷产品流入市场可以避免更大的经济损失。传统的检测方案大多是基于人工检测,但是这样的检测方法十分浪费人力物力,且判断的方法十分主观,效率低,难以适应现今流水线上的高速生产方式。随着深度学习的兴起,基于机器视觉的异常检测方案代替了人工检测。
3.基于深度学习的异常检测技术在工业缺陷检测领域有着广泛的应用,然而大多数基于二分类的方法需要大量的正常和异常样本来训练异常检测模型。在工业场景下的异常检测任务当中,由于产品的异常样本难以获得,并且异常的种类多且复杂,难以应用这类基于分类的检测方法,因此现在往往采用的是基于无监督学习的异常检测方案。训练阶段只采用正常样本,模型对于正常样本的数据分布进行学习,而测试阶段遇到不同于正常样本的数据分布即判定为异常样本。但是,正常样本的数据分布也存在着多种模式,特别是在现代化工厂中拥有着多条流水线,也即拥有多个边端,在不同的边端上会因为拍摄角度不一致、位置偏移等问题造成数据分布不一致,因此在单个边端训练得到的模型很难具有对所有边端数据的判别能力。如何使得模型在面对各个边端正常数据的时候都具有很好的重构能力,是一个巨大的挑战。


技术实现要素:

4.本发明的目的是提供一种云边协同场景下基于记忆机制的卷包异常检测方法及装置。
5.本发明采用的技术方案如下:
6.一种云边协同场景下基于记忆机制的卷包异常检测方法,具体为:
7.将获取的待检测卷烟外包装图像x输入至基于云边协同场景下训练获得的异常检测模型进行重构,获得重构图像
8.基于待检测卷烟外包装图像x与重构图像的重构误差判断所述待检测卷烟外包装图像x是否异常;
9.其中,所述基于云边协同场景下训练获得的异常检测模型的训练方法如下:
10.构建训练数据集,所述训练数据集包括多个子训练数据集,每个子训练数据集对应卷烟厂一个边端,包含对应边端收集的多张正常的卷烟外包装图像;
11.构建与子训练数据集一一对应的多个异常检测模型,每个异常检测模型结构相同,包括编码器和解码器,其中编码器对输入图像进行编码获得特征向量,解码器对特征向量进行解码获得输入图像的重构图像;
12.将子训练数据集的样本输入至对应的异常检测模型进行迭代训练,其中,每训练完一轮,每个异常检测模型以最小化损失函数为目标更新模型参数并上传至云端进行融合得到全局模型参数,将融合后的全局模型参数发回各个异常检测模型后继续下一轮训练,直至达到设定的最大迭代次数,获得训练好的异常检测模型;融合方法如下:
[0013][0014]
其中k代表边端编号,αk代表第k个边端的权重,代表t轮迭代训练后第k个边端的更新的模型参数,θ
t 1
代表t 1轮迭代后全局模型参数。
[0015]
进一步地,所述基于待检测卷烟外包装图像x与重构图像的重构误差判断所述待检测卷烟外包装图像x是否异常具体为:
[0016]
若待检测卷烟外包装图像x与重构图像的重构误差大于阈值,则判定为待检测卷烟外包装图像x异常,否则为无异常。
[0017]
进一步地,所述阈值表示为η=μ 3σ,其中,μ和σ分别是云边协同场景下训练获得的异常检测模型对训练数据集中每个样本进行重构后的重构误差的均值、方差。
[0018]
进一步地,所述异常检测模型的结构还包括记忆模块,所述记忆模块为一个矩阵,表示为m∈r
n*d
;其中n是超参数,表示记忆模块中包含的原型个数,d代表每个原型的特征数量;所述记忆模块用于表达正常样本的原型的信息,具体如下:
[0019]
将编码器编码获得特征向量z与记忆模块中的n个原型分别求余弦相似度,再进行一个softmax操作,得到n个一维向量wi,n个一维向量wi构成权重向量w,w∈rn×d。一维向量wi表示如下:
[0020][0021][0022]
其中mi表示记忆模块的第i个原型,wi表示记忆寻址权重向量的第i项,||*||是向量的模长;
[0023]
采用连续的relu函数来对得到的权重向量w进行稀疏化处理,得到
[0024][0025]
其中λ表示收缩阈值,∈是一个实数,以防止分母为零;
[0026]
将与记忆模块中的原型向量相乘后得到新的特征向量与记忆模块中的原型向量相乘后得到新的特征向量
[0027]
解码器对新的特征向量进行解码获得输入图像的重构图像。
[0028]
进一步地,所述损失函数包括重构损失和稀疏正则化损失loss
spar
,其中,稀疏正则化损失loss
spar
表示为:
[0029][0030]
一种云边协同场景下基于记忆力机制的卷烟外包装异常检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机
程序时实现如上所述的云边协同场景下基于记忆机制的卷包异常检测方法。
[0031]
本发明的有益效果是:1、本发明提出的云边协同场景下的异常检测方案得到了一个强大且通用的模型,使得模型在面对来自各个边端的卷烟数据集时都有一个不错判别效果。2、本发明针对不同边端之间正常样本之间不能共享的问题,将原型引入了云边协同的框架当中,获得了更好的检测效果。3、本发明针对原型网络在各个边端中特征空间难以对齐的问题,采用了迭代更新的方案使得原型能在不同的边端中使用。
附图说明
[0032]
图1是本方法的数据集预处理过程示意图;
[0033]
图2是基于云边协同场景下训练获得的异常检测模型的训练架构示意图;
[0034]
图3是本方法的训练流程图;
[0035]
图4是本方法的可视化结果示意图,包含了边端1和边端2的两种缺陷检测结果;
具体实施方式
[0036]
下面结合附图和具体实施例对本发明的技术方案作进一步说明。
[0037]
本实施例以某卷烟厂的四个边端(四条流水线)摄像头拍摄的照片为例,每个边端构建本地图像数据集对本发明作详细说明,在不同边端数据集采集设备下,数据集的图片数据分布不一致。
[0038]
本发明的一种云边协同场景下基于记忆机制的卷包(卷烟外包装)异常检测方法,将获取的待检测卷烟外包装图像x输入至基于云边协同场景下训练获得的异常检测模型进行重构,获得重构图像再基于待检测卷烟外包装图像x与重构图像的重构误差判断所述待检测卷烟外包装图像x是否异常。
[0039]
如图2所示,为本发明的基于云边协同场景下训练获得的异常检测模型的训练方法架构示意图,训练时主要是基于边端数量,构建对应的多个异常检测模型,每个模型中通过边端构建的子训练数据集进行训练,在每一轮训练完成后将模型上传至云端进行融合,再返回各个边端对应的异常检测模型训练,不断迭代更新,从而使得各个边端对其它边端的数据集也具有较好的异常检测能力。
[0040]
图3是本发明的基于云边协同场景下训练获得的异常检测模型的训练流程图,训练方法具体如下:
[0041]
(1)收集各个边端卷烟图像异常检测样本数据集,在每个边端数据集中,包含了一定数量的正常样本和异常样本,各边端的数据集详情如表1所示。
[0042]
表1每个边端的样本数量
[0043]
[0044]
为了使测试效果更加的可靠,将每个边端下的正常样本都划分出1/3和各个边端下的异常样本组成测试集,其他的正常样本作为构建为对应边端的子训练数据集进行模型训练。
[0045]
一般情况下因为在流水线上摄像头拍摄的照片包含过多的背景信息,而这些信息对于异常检测是冗余的。因此,优选地,对四个边端的卷烟数据集的不同区域进行了裁剪以使得模型能更加关注卷烟烟包本身,图1是各个边端数据集原始图片和预处理过程示意图。本实施例在训练和测试过程当中,数据集的图片被resize为3*256*448(c*h*w),其中c代表图片的通道数,h代表图片的高度,w代表图片的宽度。
[0046]
(2)对各个边端搭建对应的异常检测模型,每个异常检测模型结构相同,异常检测模型用于对输入图像进行重构,可以采用自编码器结构,一般情况下,自编码器主要包括编码器和解码器,其中编码器是一个多层2d卷积神经网络,对输入图像进行编码获得特征向量,解码器为一个多层的2d反卷积神经网络,对特征向量进行解码获得输入图像的重构图像。作为一种实施方式,为了尽可能表达正常样本的原型的信息,本实施例中采用基于记机制的深度自编码器作为异常检测模型,具体地,搭建方法如下:
[0047]
(2.1)搭建编码器,编码器由多层卷积神经网络组成,本实施例中编码器由7层卷积神经网络依次组成:conv(3,2,64),conv(3,2,128),conv(3,2,128),conv(3,2,256),conv(3,2,256),conv(3,2,512);
[0048]
(2.2)搭建记忆模块m,m通过随机初始化一个矩阵得到,它表示为m∈r
n*d
。其中n是人为设定的超参数,表示记忆模块中包含的原型个数,d代表每个原型的特征数量。
[0049]
(2.3)搭建解码器,解码器由多层反卷积神经网络组成,本实施例中解码器由6层反卷积神经网络依次组成:dconv(3,2,256),dconv(3,2,256),dconv(3,2,128),dconv(3,2,128),dconv(3,2,64),dconv(3,2,3)。
[0050]
(2.4)将编码器,记忆模块,解码器依次连接,即可组成基于记忆机制的深度自编码器异常检测模型。
[0051]
(3)云边协同框架下,在各个边端训练基于记忆机制的深度自编码器异常检测模型,该步骤通过以下子步骤实现:
[0052]
(3.1)将各个边端的子训练数据集的样本输入至对应的异常检测模型进行迭代训练,设置训练轮次、学习率、原型数量n等超参数。
[0053]
(3.2)输入的卷烟外包装图像x经过编码器编码和reshape操作后得到的特征向量表示为z,z∈rd,d表示每个特征向量的特征数量。得到特征向量的操作用编码器函数fe(
·
)表示:
[0054]
z=fe(x;θe)
[0055]
θe表示编码器的参数。
[0056]
(3.3)将得到的特征向量z与记忆模块中的n个原型分别求余弦相似度,再进行一个softmax操作,得到n个一维向量wi,n个一维向量wi构成权重向量w,w∈rn×d。一维向量wi表示如下:
[0057]
[0058][0059]
其中mi表示记忆模块的第i个原型,wi表示记忆寻址权重向量的第i项。||*||表示向量的模长。
[0060]
(3.4)采用连续的relu函数来对得到的权重向量w进行稀疏化处理,得到
[0061][0062]
其中λ表示收缩阈值,而∈是一个非常小的数字,取值范围为[10-8
,10-6
],本实施例中取值为10-8
,以防止被零除。
[0063]
(3.5)将与记忆模块中的原型向量相乘后得到新的特征向量与记忆模块中的原型向量相乘后得到新的特征向量这个新的特征向量包含了来自多个原型的特征。
[0064]
(3.6)解码器将该新的特征向量恢复成和输入高宽一致的重构图像并计算损失函数,本实施例中,为了更好地表达正常样本的原型的信息,损失函数除重构损失外还引入了稀疏正则化损失函数,具体子步骤包含如下:
[0065]
(3.6.1)根据重构图像计算重构损失函数,损失函数可以采用均方差或者平均绝对误差等,本实施例中采用均方差损失函数,具体表示如下:
[0066][0067]
(3.6.2)为了保证模型的稀疏性,根据向量计算稀疏正则化损失函数:
[0068][0069]
(3.6.3)根据重构损失loss
recon
和稀疏正则化损失loss
spar
计算加权损失loss
finally
[0070]
loss
finally
=loss
recon
αloss
spar
[0071]
其中α是一个用于控制两个损失函数的比例的人工设置的参数。
[0072]
(3.7)根据步骤(3.6)得到基于记忆机制的深度自编码器异常检测模型的加权损失loss
finally
,采用adam优化器更新模型的网络权值。其中,每训练完一轮,判断各个边端模型是否达到设定最大迭代次数,若否,按照步骤(4)将模型参数上传至云端进行融合,等待进行下一次迭代;若是,保存模型中的参数以及训练好的网络权值。
[0073]
(4)云边协同框架下的模型参数和原型参数更新机制:
[0074]
边端和云端的异常检测模型结构相同,边端负责本地数据的存储和本地模型的训练,云端负责汇总各个边端的模型,得到全局模型的参数,并下发给各个边端。分布在各个边端的本地模型中记忆网络的原型参数也是根据本地数据训练得到,其中保存了各自边端正常样本的特征,云端负责原型参数的更新。
[0075]
该步骤通过以下子步骤实现:
[0076]
(4.1)各个边端的基于记忆机制的深度自编码器异常检测模型利用对应子训练数据集每训练完一轮,将模型参数上传至云端,在云端融合各个边端对应的异常检测模型的模型参数,并将新得到的模型发回各个边端的异常检测模型后继续下一轮训练,直至达到设定的最大迭代次数。融合方法如下:
[0077][0078]
其中k代表边端编号,αk代表第k个边端的权重,代表t轮迭代后第k个边端的模型参数,θ
t 1
代表t 1轮迭代后全局模型的参数。
[0079]
基于上述的训练方法训练后,最后一次融合得到的全局模型参数发回各个边端的异常检测模型后,各个边端的异常检测模型完全相同,保留其中一个训练好的异常检测模型即可用于异常检测。在异常检测过程中,一般是设定阈值,若待检测卷烟外包装图像x与重构图像的重构误差大于阈值,则判定为待检测卷烟外包装图像x异常,否则为无异常。其中阈值可以根据训练数据集计算获取,具体为:
[0080]
全局模型收敛后,训练好的异常检测模型对所有边端的训练样本进行重构,记录重构损失,所有重构损失的均值记为μ,方差记为σ,设定重构损失的阈值为η=μ 3σ。
[0081]
重构图像表示为:
[0082][0083]
θ表示训练好的异常检测模型的参数,f(
·
)表示训练好的异常检测模型函数。
[0084]
计算x和两者的差别作为重构误差:
[0085][0086]
当mse大于阈值η后即判定待检测卷烟外包装图像x异常。
[0087]
与前述一种云边协同场景下基于记忆机制的卷包异常检测方法的实施例相对应,本发明还提供了一种云边协同场景下基于记忆机制的卷包异常检测装置的实施例。
[0088]
本发明实施例提供的一种云边协同场景下基于记忆力机制的卷烟外包装异常检测方法装置,包括一个或多个处理器,用于实现上述实施例中的一种云边协同场景下基于记忆机制的卷包异常检测方法。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0089]
表2给出了不同模型的验证效果。为了评估模型对于正常样本和异常样本的重构效果,将异常样本与随机划分出来的正常样本作为测试集,并采用(roc)作为评判指标。表中的第一行代表各个边端只在本地数据集训练,采用所有边端的测试集做测试的结果;第二行和第三行表示各个边端在云边协同的框架下训练,并采用所有边端的测试集做测试的结果,不同在于是否采用原型网络,其中ae为自编码器,mem-ae为基于记忆机制的深度自编码器。从表2中的结果可以看出本发明提出的基于云边协同下的异常检测方案使得模型能够判别不同边端下的烟包样本,并且原型的引入很好的保留了不同边端下不同域的特征,使得模型的判别效果更好。
[0090]
表2不同模型验证结果
[0091]
[0092][0093]
图4是本方法的可视化实验结果示意图,该图以边端1和边端2作为样例,验证了本方法可以很好地实现缺陷样本的检测,并确定缺陷所在位置和形状。
[0094]
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法把所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献