一种基于局部PCA和BP神经网络的瓶口缺陷检测方法与流程

文档序号:12657060阅读:572来源:国知局
一种基于局部PCA和BP神经网络的瓶口缺陷检测方法与流程

本发明涉及工业自动化检测技术领域,特别涉及一种基于局部PCA和BP神经网络的瓶口缺陷检测方法。



背景技术:

目前,国内每年啤酒瓶需求量任然十分大。据最新行业数据显示。2016年1-9月,中国啤酒行业累计产量3685.3万千升。2015年全国规模以上啤酒企业470家,完成酿酒总产量4715.72万千升。可想而知,啤酒瓶需求量十分巨大。而国内80%以上的啤酒瓶需要回收使用。

根据中国制造2025的要求,机器换人成为机器人相关领域的重大趋势。使用高速高精度啤酒瓶空瓶检测系统取代人工检测,不仅可以减少不合格瓶流入市场,对消费者和生产厂家造成的伤害,而且具有以下几个优点:(1)检测速度快。国内啤酒生产线速度达到两万四到四万瓶每小时,国外最快速度达到七万瓶每小时。(2)人力成本骤减。近年来,人力成本迅速增加,人工检测不仅愈加昂贵,而且效率低,达不到生产线的要求。(3)解决了企业招工难的问题,并提高了生产质量。由于人工检测工作量大、枯燥,愿意从事该工作的人愈来愈少,并且高强度,枯燥的工作,很难保证人检后的质量。因此,高速高精度的瓶酒瓶空瓶检测系统被迅速推广。

据智能工厂相关要求,十分必要拥有和大力发展一批具有完全自主知识产权的智能自动化工业生产设备。高速高精度空瓶检测系统的实现,不仅解决了进口验瓶机欧洲检测标准与我国国家标准不尽相同,给啤酒瓶生产厂商带来的困扰,而且对我国食品饮料行业卫生安全的提升具有实际价值。

瓶口检测作为空瓶检测系统中重要环节,直接影响到啤酒生产厂商的产品质量和经济效益。当瓶口破损的啤酒瓶流入市场,可能会对消费者造成伤害,同时导致啤酒在运输途中快速变质,损害企业的经济效益和声誉。因此,对瓶口检测提出了很高的精度要求。

目前,存在许多瓶酒瓶瓶口检测算法,如1995年,陈建国,贺正辉等在《残差分析用于动态门限分割》提出基于残差分析动态阈值的缺陷检测,检测精度为83.33%。2005年,刘焕军,王耀南,段峰等在《基于支撑向量机的空瓶智能检测方法》中提出基于支持向量机的缺陷检测,检测精度为97.78%。2006年,严筱永等在《基于图像的啤酒瓶瓶口与瓶底污损自动检测》中提出基于Otsu阈值的缺陷检测,检测精度为95.56%。2009年,张田田等在《基于机器视觉的啤酒瓶瓶口检测系统的研究》中提出基于全局阈值的缺陷检测,检测精度为96.67%。2014年,郭克友,廉丽冰等在《基于BP神经网络的啤酒瓶口检测方法》中提出基于BP神经网络的缺陷检测法,检测精度为88.89%。2015年,周显恩、王耀南、朱青等在《基于机器视觉的瓶口缺陷检测方法研究》中提出残差分割法来检测瓶口缺陷,检测精度为100%。

然而,由于空瓶检测系统的高速、稳定、高精度、适应性强、便于工程师调试等诸多要求,现有方法无法满足日益增长的需求。



技术实现要素:

本发明要解决的技术问题是:如何提出一种高速高精度瓶口缺陷检测算法,用于解决高速瓶酒灌装生产流水线上空瓶瓶口缺陷中检测时间长、检测精度不高的问题,同时解决瓶口检测中任需定位或者精确定位所带来的定位时间长,定位精度不高,定位结果易受干扰等一系列问题。

一种基于局部PCA和BP神经网络的瓶口缺陷检测方法,包括以下步骤:

步骤1:构建多个样本瓶口图像集合;

从已知有无瓶口缺陷的啤酒瓶瓶口图像中随机抽取多个大小相同的样本瓶口图像集合,每个样本瓶口图像集合中包含M个样本;

步骤2:对样本瓶口图像集合中的每一张瓶口图像进行归一化处理;

步骤3:构建样本瓶口图像集合中相同局部图像块的局部样本集合;

按照设定的图像块大小F、水平步长以及垂直步长,按照从左至右,从上到下的顺序扫描归一化后的图像,依次提取局部图像块,以相同位置的局部图像块组建局部样本集合;

获取每张瓶口图像有N个局部样本集合;

步骤4:对局部样本集合进行PCA降维处理;

将局部样本集合中每个局部样本均转化为一维行向量,获得局部样本集合的局部二维矩阵,并对局部二维矩阵进行PCA降维处理,获得局部样本集合PCA特征;

局部样本集合PCA特征中每一行代表一张样本瓶口图像的单个局部PCA特征;

步骤5:PCA特征融合;

将样本瓶口图像集合中所有的局部样本集合PCA特征按照局部样本集合中局部样本在样本中的位置顺序进行拼合,得到样本瓶口图像集合PCA融合特征和每张瓶口图像的融合PCA特征;

样本瓶口图像集合PCA融合特征中每一行代表一张瓶口图像的融合PCA特征;

步骤6:以样本瓶口图像的PCA融合特征和对应的缺陷标记,训练BP神经网络模型;

步骤7:将待检测的图像和随机抽取的M-1个样本构建成一个样本瓶口图像,重复步骤2-步骤5,获得待检测图像的融合PCA特征,并输入步骤6已训练好的BP神经网络模型,得到待检测图像的缺陷检测结果。

进一步地,对进行PCA降维处理后的二维矩阵进行归一化处理。

进一步地,所述PCA降维处理是指将二维矩阵降维处理为K列,K的取值为[4,23]。

进一步地,所述BP神经网络的输入节点个数为融合PCA特征的列数,隐含层的节点个数为输入层节点个数2-3倍,输出层节点个数为2,输出缺陷检测结果。

进一步地,所述样本瓶口图像集合中样本个数M的取值为100-500。

进一步地,当待检测图像数量P达到M时,则以所有待检测图像图像构建样本瓶口图像集合,否则,则从已知有无瓶口缺陷的啤酒瓶瓶口图像中随机选取M-P张图像和待检测图像构建样本瓶口图像集合。

进一步地,所有瓶口图像采用工业相机Baumer TXG12拍摄,所采集的图像尺寸为400*400。

有益效果

本发明提供了一种基于局部PCA和BP神经网络的瓶口缺陷检测方法,通过利用工业相机获取瓶口图像,利用瓶口图像像素值十分稀疏,好瓶与坏瓶口十分相似,且瓶口在图像中的位置变换不大的特点,利用相同位置处的图像特征相似的特点,采用PCA对相同局部特征降维处理后,提取主成成分,输入到BP神经网络中,经大量样本训练后,获得训练好的BP神经网络;再利用待检测图像的主成成分特征输入BP神经网络进行检测,完全满足了高速高精度的要求。该检测方法由于采用了与瓶口图像特征匹配的工业相机,不再需要对瓶口进行定位,确定圆心,这样大大减少了精确定位引起的定位时间长,定位精度不高,定位结果易受干扰等一系列问题;采用基于BP神经网络和局部PCA(主成分分析)的瓶口缺陷检测算法具有更高的精度,最高精度达到千分之一的误检率。

附图说明

图1为相机采取的几种瓶口缺陷图像示意图,其中,(a)表示外环崩口,(b)表示封盖面磨损,(c)表示内环磨损,(d)表示封盖面磨损,(e)表示外环磨损,(f)表示封盖面破裂;

图2为相机采取的两张大小为400行、400列的瓶口检测坏的图像示意图,其中,(a)表示无缺陷瓶口,(b)表示有缺陷瓶口;

图3为局部PCA(主成分分析)加BP神经网络训练和测试系统示意图;

图4为一个10*10的矩阵局部样本的提取过程。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步的详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

瓶口缺陷图像指的是存在内环磨损、外环磨损、封盖面磨损、存在脏污、内环崩口、外环崩口、封盖面破裂等缺陷的瓶口图像,如图1所示。

一种基于局部PCA和BP神经网络的瓶口缺陷检测方法,如图3所示,具体步骤如下:

步骤1:利用工业相机获取大量瓶口样本图片(如图二),每张图片大小为400*400,创建一个瓶口样本数据库,6万张好的瓶口图像,6万张坏的瓶口图像,一共12万张样本图片。该实施例中Q取值为120000。同时将好瓶口图像标签为1,坏的瓶口图像标签为0。从样本数据库中每次随机抽取M个样本,并保存好这M个样本对应标签。该实施例中M取值为200。

步骤2:对步骤1抽取的200张样本提取局部样本。

首先对每一个样本进行归一化处理,接着设置F、Brows、和Bcols的值。该实施例中初始范围F取值为100*400,行步长为Brows为10,列步长为Bcols为0。

然后,提取局部样本。

如图4所示,该图为一个10*10的矩阵局部样本的提取过程。初始范围F为4*6,行步长Brows为4,列步长Bcols为3,一共6个局部样本;

本实例中,对于200张样本图片的每张图片,提取出它第1行到100行和全部列的像素值,并保存为第一个局部样本集,该样本集有200个大小为100*400的样本。同样按照行步长为10,我们提取200张样本图片每张图片的第11行到110行和全部列的像素值,保存为第二个局部样本集。以同样的方式移动行步长保存局部样本集,最终得到31个局部样本集(实施例中N为31)。

步骤3:将步骤2得到的31个局部样本集分别进行PCA处理。

一个局部样本集有200个大小为100*400的样本;

首先将200个大小为100*400的样本转换成一个200*40000的矩阵,每一行代表一个局部样本;

然后进行PCA处理,提取主成成分,降维至K维,该实施例中K取值为6;因此一个局部样本集的PCA结果为200*6的矩阵,每一行代表一个局部样本的PCA样本特征。

对每一个局部样本的PCA特征做归一化处理,找到局部PCA特征矩阵每一行的最大值与最小值,将每一行的各个数值减去该行的最小值后除以该行最大值与最小值之差,就可以得到归一化的局部样本PCA特征矩阵。

将31个局部样本集分别进行PCA处理和归一化后,得到31个200*6的矩阵;

最后按行拼成一个200行、31*6即186列的二维矩阵。

每一行代表一个样本图像的局部PCA融合特征,每一个样本图像都有相应的标签。

步骤4:每次从样本数据库中抽取200张不同的样本集,依次重复上述步骤2和3,进行局部PCA处理,重复600次直到所有样本处理完,得到所有样本的局部PCA融合特征,每一行代表一个图像样本的局部PCA融合特征。

步骤5:训练BP神经网络;

将局部样本PCA融合特征矩阵作为BP神经网络的输入,因此BP神经网络的输入节点个数等于融合特征矩阵的列数即输入节点个数有186个;

隐含层的节点个数一般按经验设置成输入层节点个数的两倍,在实际情况调到最好的情况时隐含层的节点个数有397个;

输出层节点个数有两个,代表着瓶口图像缺陷检测结果的好与坏,对应好的瓶口标签1,坏的瓶口标签0;

将好的瓶口样本图像和坏的样本图像按照4:3:3的比例随机分成训练集、验证集和测试集,输入到BP神经网络中进行训练、验证和测试;

最后保存训练好的BP神经网络模型;

步骤6:用训练好的BP神经网络模型在啤酒瓶空瓶检测系统中做瓶口缺陷检测。

在检测时利用工业相机采取1张瓶口图像,并与随机从瓶口样本数据库中抽取的199张样本图像组成200个样本,经过步骤2、3和4,得到200个样本的局部PCA特征。然后单独提取出这1张图像的局部PCA特征,输入到训练好的BP神经网络中检测,得到瓶口图像检测结果。

本发明中应用了具体实施例对发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对发明的限制。

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