一种基于孪生网络的标签缺陷检测算法制造技术

技术编号:22077017 阅读:26 留言:0更新日期:2019-09-12 14:35
本发明专利技术公开了一种基于孪生网络的标签缺陷检测算法,步骤S1:训练集和测试集的获取;步骤S2:网络搭建和训练;步骤S3:测试集验证。采用本发明专利技术的技术方案,搭建孪生网络标签缺陷检测系统,投入获取到标签数据集进行训练,再采用softmax进行分类,只需要训练几种类型的标签,测试时即使待测标签类型不在训练集中,一样可以进行缺陷检测,能有效减少准备工作工作量,提高检测效率以及降低成本。

A Label Defect Detection Algorithms Based on Twin Networks

【技术实现步骤摘要】
一种基于孪生网络的标签缺陷检测算法
本专利技术涉及标签制造
,特别涉及一种基于孪生网络的标签缺损检测算法,可用于提高对标签的管理。
技术介绍
作为产品信息的载体,商品标签包含大量信息,在产品管理中扮演重要角色。但是,商品标签会存在打印缺陷,缺号,漏号,断号,破损等问题,这将对产品管理产生巨大影响。市场流通标签数以亿计,标签质量事关重大,在标签流入市场前,进行质量检测极有必要。目前,对标签的检测多采用人工检测,明显存在效率,准确率不高等缺陷;市场已有质检仪,臃肿巨大,价格昂贵,维护难度大,只支持离线检测;流行的OCR方案,追求全面普适性,效率和精度难免不高。而目前以摄像头为图像采集设备,识别条形码二维码以及字符,以实现对动态标签的检测的方案主要是模板匹配、背景差分、频率域分析,但是模板匹配无法应对旋转和缩放问题,且待检测标签需与其正确标签完全对齐,对网络要求高;而背景差分对于背景模板的样本要和训练标签一一匹配,训练样本较为复杂,其同模板匹配一样,待检测标签的正确标签模板需存在于训练库中;基于频率域分析的方法,存在着当正常图像与缺陷频率相近时容易产生误检的问题。
技术实现思路
本专利技术针对传统的图像处理技术的缺点,设计了一种基于孪生网络的标签缺损检测算法,以提高标签检测的训练数据问题。实现本专利技术的技术方案如下:一种基于孪生网络的标签缺陷检测算法,包括以下步骤:步骤S1:获取标签数据集,其中,训练集包含各种标签缺损种类,并划分为训练集、验证集和测试集;步骤S2:搭建孪生网络并用训练集数据训练该孪生网络;步骤S3:测试集验证训练好的孪生网络,并通过使用不同类型字符模拟不同类型标签;其中,所述步骤S1进一步包括:步骤S11:搜集标签,截取字符区域,得到无污损和有污损图片N张,用来作为模拟标签;取模拟标签中N1张作为验证集,N2张作为测试集,N3张作为训练集,其中,N1+N2+N3=N,且三种数据集中,正常标签和M种缺陷标签数量服从均匀分布;步骤S12:将训练集中的图片转换为tfrecord格式,同时为有无污损的图片贴上相应“label”,以便于确定代价函数计算公式的y值;之后对训练集打乱顺序制作batch,以便实现分批训练;所述步骤S2进一步包括:步骤S21:孪生网络搭建,采用2个卷积神经网络模型VGG16网络作为卷积神经网络框架,其中每个VGG16模型包括5个卷积段,13个卷积层,5个最大化池化层,3个全连接层;使用3*3卷积核提取特征;输入n对大小为224×224的图像到两个共享权值的VGG16模型,输出两个1000维特征f1、f2,分别用于预测输入图像的行人身份受识别标签d,再用平方层来比较高维特征f1、f2,使其共同预测验证标签s;步骤S22:孪生网络的训练;将训练集投入孪生网络中训练,由于两个VGG16网络之间共享权值,两个输入通过同一卷积神经网络学习提取特征;VGGNet由5段卷积构成,每段卷积包括2~3层卷积层,最后一层卷积层后面都有一个最大池化层来压缩图片,降维去冗;每一段的卷积层都具有相同的卷积核数,每增加一段,该段内卷积层的卷积核数就增加1倍;如下是一个VGG16网络结构:第一个卷积段,VGG网络的第一层卷积的输入图像大小为224×224×3,经过64个3*3*3的卷积核,以步长为1进行卷积,输出一张224*224*64的特征图,第二层卷积输入图像大小和输出图像大小均为224*224*64。然后经过以2*2的最大化池化层,步长为2,得到112*112*64特征图。第二个卷积段。这个卷积段与第一个卷积段像素,但是经过这段的两个卷积层后输出通道变成128,输出为112*112*128。最大化池化层与第一段最大化池化层一样,因此输出尺寸变为56*56*128。第三个卷积段。这段卷积层的个数由之前的两个变成3个,然后输出通道变为256,输出56*56*256,经过与之前一致的池化层,输出尺寸变为28*28*256。第四个卷积段。卷积层的通道数依旧翻倍,变成512,最后经过池化层,输出尺寸变成14*14*512。第五个卷积段。这一段卷积层的通道数维持在512,经过最大化池化层之后,输出变为7*7*512。经过13层卷积层后,VGG16网络进入3个全连接层,第一个和第二个全连接层有4096个单元,第三个全连接层有1000个单元,最后输出维度为1000的特征。步骤S23:通过计算损失函数,将其作为参考通过反向传播算法训练卷积神经网络,优化相应的权重偏置等参数,让卷积神经网络更好地提取特征,最终实现训练样本的完美拟合。采用的损失函数(loss)如下式所示:其中,L为损失函数值;y表示输入图像标签相似度,y=0表示输入样本input1与input2不相似,y=1则表示输入样本相似;dn表示两个输入样本之间的欧氏距离,其中:dn=||Gw(X1)-Gw(X2)||margin用于在Gw(x)定义一个边界,表示当输入一个正样本和一个负样本时,只有距离有小于这个值时才会对损失函数有影响。所述步骤S3进一步包括:步骤S31:双输入中其一为已知正确标签;步骤S32:另外一个通道输入待测标签;步骤S33:构造函数f(z,x)计算相似度,其中,z为比较模板图像,x为同样大小的侯选图像,φ为卷积内嵌函数,b表示在每个位置上的不同偏置值;该孪生框架的输出为一张得分图,如果这两个图像描述的是相同物体,返回高分,否则返回低分;步骤S35:通过softmax实时监测网络关于训练集和验证集的分类正确率,每完成100次输出一次平均正确率。网络每批训练64(32*2)张图片,迭代N次时,loss稳定近乎0略有小波动,在训练集上的准确率稳定为100%,在验证集上的分类准确率也稳定超过99%,完成训练。上述技术方案中,具体实现过程如下:(1)孪生网络搭建。本专利技术采用2个卷积神经网络模型VGG16网络作为卷积神经网络框架,其中每个VGG16模型包括5个卷积段,13个卷积层,5个最大化池化层,3个全连接层,使用3*3卷积核提取特征,唯一不同是每个卷积段使用的卷积核个数不同。输入n对大小为224×224的图像到两个共享权值的VGG16模型,输出两个1000维特征f1、f2,分别用于预测输入图像的行人身份受识别标签d,再用平方层来比较高维特征f1、f2,使其共同预测验证标签s。(2)孪生网络构成。由于孪生网络由2个卷积神经网络模型VGG16网络,两个VGG16网络之间共享权值,因此可以视为两个输入通过同一卷积神经网络学习提取特征。VGGNet由5段卷积构成,每段卷积包括2~3层卷积层,最后一层卷积层后面都有一个最大池化层来压缩图片,降维去冗。每一段的卷积层都具有相同的卷积核数,每增加一段,该段内卷积层的卷积核数就增加1倍。开始卷积核数为64,后来每经过一个卷积段就翻倍,最多为512个。(3)网络训练。将由n对大小为224×224的图像构成的训练集投入孪生网络中训练,由于两个VGG16网络之间共享权值,因此可以视为两个输入通过同一VGG16网络框架,学习提取特征,进行维度规约,以便在特征空间中计算对比损失函数。为得到更短的训练时间和更好的训练效果的目标,在训练标签缺损的网络之前,先加载VGG针对MNIST手写数字数据集的预训练参数。(4)通过本文档来自技高网...

【技术保护点】
1.一种基于孪生网络的标签缺陷检测算法,其特征在于,包括以下步骤:步骤S1:获取标签数据集,其中,训练集包含各种标签缺损种类,并划分为训练集、验证集和测试集;步骤S2:搭建孪生网络并用训练集数据训练该孪生网络;步骤S3:测试集验证训练好的孪生网络,并通过使用不同类型字符模拟不同类型标签;其中,所述步骤S1进一步包括:步骤S11:搜集标签,截取字符区域,得到无污损和有污损图片N张,用来作为模拟标签;取模拟标签中N1张作为验证集,N2张作为测试集,N3张作为训练集,其中,N1+N2+N3=N,且三种数据集中,正常标签和M种缺陷标签数量服从均匀分布;步骤S12:将训练集中的图片转换为tfrecord格式,同时为有无污损的图片贴上相应“label”,以便于确定代价函数计算公式的y值;之后对训练集打乱顺序制作batch,以便实现分批训练;所述步骤S2进一步包括:步骤S21:孪生网络搭建,采用2个卷积神经网络模型VGG16网络作为卷积神经网络框架,其中每个VGG16模型包括5个卷积段,13个卷积层,5个最大化池化层,3个全连接层;使用3*3卷积核提取特征;输入n对大小为224×224的图像到两个共享权值的VGG16模型,输出两个1000维特征f1、f2,分别用于预测输入图像的行人身份受识别标签d,再用平方层来比较高维特征f1、f2,使其共同预测验证标签s;步骤S22:孪生网络的训练;将训练集投入孪生网络中训练,由于两个VGG16网络之间共享权值,两个输入通过同一卷积神经网络学习提取特征;VGGNet由5段卷积构成,每段卷积包括2~3层卷积层,最后一层卷积层后面都有一个最大池化层来压缩图片,降维去冗;每一段的卷积层都具有相同的卷积核数,每增加一段,该段内卷积层的卷积核数就增加1倍;如下是一个VGG16网络结构:第一个卷积段,VGG网络的第一层卷积的输入图像大小为224×224×3,经过64个3*3*3的卷积核,以步长为1进行卷积,输出一张224*224*64的特征图,第二层卷积输入图像大小和输出图像大小均为224*224*64;然后经过以2*2的最大化池化层,步长为2,得到112*112*64特征图;第二个卷积段,这个卷积段与第一个卷积段像素,但是经过这段的两个卷积层后输出通道变成128,输出为112*112*128;最大化池化层与第一段最大化池化层一样,因此输出尺寸变为56*56*128;第三个卷积段,这段卷积层的个数由之前的两个变成3个,然后输出通道变为256,输出56*56*256,经过与之前一致的池化层,输出尺寸变为28*28*256;第四个卷积段,卷积层的通道数依旧翻倍,变成512,最后经过池化层,输出尺寸变成14*14*512;第五个卷积段,这一段卷积层的通道数维持在512,经过最大化池化层之后,输出变为7*7*512;经过13层卷积层后,VGG16网络进入3个全连接层,第一个和第二个全连接层有4096个单元,第三个全连接层有1000个单元,最后输出维度为1000的特征;步骤S23:通过计算损失函数,将其作为参考通过反向传播算法训练卷积神经网络,优化相应的权重偏置等参数,让卷积神经网络更好地提取特征,最终实现训练样本的完美拟合;采用的损失函数(loss)如下式所示:...

【技术特征摘要】
1.一种基于孪生网络的标签缺陷检测算法,其特征在于,包括以下步骤:步骤S1:获取标签数据集,其中,训练集包含各种标签缺损种类,并划分为训练集、验证集和测试集;步骤S2:搭建孪生网络并用训练集数据训练该孪生网络;步骤S3:测试集验证训练好的孪生网络,并通过使用不同类型字符模拟不同类型标签;其中,所述步骤S1进一步包括:步骤S11:搜集标签,截取字符区域,得到无污损和有污损图片N张,用来作为模拟标签;取模拟标签中N1张作为验证集,N2张作为测试集,N3张作为训练集,其中,N1+N2+N3=N,且三种数据集中,正常标签和M种缺陷标签数量服从均匀分布;步骤S12:将训练集中的图片转换为tfrecord格式,同时为有无污损的图片贴上相应“label”,以便于确定代价函数计算公式的y值;之后对训练集打乱顺序制作batch,以便实现分批训练;所述步骤S2进一步包括:步骤S21:孪生网络搭建,采用2个卷积神经网络模型VGG16网络作为卷积神经网络框架,其中每个VGG16模型包括5个卷积段,13个卷积层,5个最大化池化层,3个全连接层;使用3*3卷积核提取特征;输入n对大小为224×224的图像到两个共享权值的VGG16模型,输出两个1000维特征f1、f2,分别用于预测输入图像的行人身份受识别标签d,再用平方层来比较高维特征f1、f2,使其共同预测验证标签s;步骤S22:孪生网络的训练;将训练集投入孪生网络中训练,由于两个VGG16网络之间共享权值,两个输入通过同一卷积神经网络学习提取特征;VGGNet由5段卷积构成,每段卷积包括2~3层卷积层,最后一层卷积层后面都有一个最大池化层来压缩图片,降维去冗;每一段的卷积层都具有相同的卷积核数,每增加一段,该段内卷积层的卷积核数就增加1倍;如下是一个VGG16网络结构:第一个卷积段,VGG网络的第一层卷积的输入图像大小为224×224×3,经过64个3*3*3的卷积核,以步长为1进行卷积,输出一张224*224*64的特征图,第二层卷积输入图像大小和输出图像大小均为224*224*64;然后经过以2*2的最大化池化层,步长为2,得到112*112*64特征图;第...

【专利技术属性】
技术研发人员:李竹王韵涛郭晨洁盛庆华
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1