APP下载

人工神经网络在金属餐具缺陷检测中的应用

2019-01-17李志鹏王秋悦

天津职业技术师范大学学报 2018年4期
关键词:勺子像素点餐具

庄 涛,张 军,李志鹏,王秋悦

(天津职业技术师范大学电子工程学院,天津 300222)

随着生产力和科学技术的发展,工业生产的自动化水平有了很大的提高,很多领域都引入全自动流水化生产线,在这种条件下,采用人工进行产品质量检测显然无法满足工业自动化的需求[1]。近年来机器视觉检测技术被广泛应用于工业生产中,如在木材、玻璃、纺织品、印刷版等领域,产品的缺陷检测已从人工检测为主转变为以机器视觉检测为主,并取得了良好的检测效果[1]。在现有的工业生产中,对金属餐具的缺陷检测,主要还是依靠人工肉眼检测。这种传统的检测方法,成本高,效率低,易受主观因素的影响。为了提高检测效率,降低人工成本,本文提出一种将机器视觉和人工神经网络相结合的检测方法,并以金属勺子为例进行分析和检测,取得了较好的检测效果[2-6]。

1 缺陷检测系统总体结构设计

缺陷检测系统总体结构如图1所示。该系统总体结构包括光照单元、运动控制单元、图像采集单元、图像处理单元。光照单元用于提供合适的照明光线以保障金属餐具图像的清晰度;运动控制单元通过移动工作台,使采集的图像包含整个待测金属餐具;图像采集单元实现待测金属餐具的图像采集;图像处理单元是整个系统的核心,主要包括数字图像处理和人工神经网络,其中数字图像处理部分主要对待测金属餐具图像进行预处理,并提取出缺陷特征量。人工神经网络的功能是对大量不同样本的特征量进行学习训练,检测出存在缺陷的目标对象[7]。

图1 缺陷检测系统总体结构

2 缺陷特征提取

2.1 缺陷分析

在金属餐具的生产过程中,由于受制作工艺的限制和其他因素的影响,出现缺陷无法避免。金属勺子缺陷如图2所示。一般而言,缺陷分为边缘缺陷和表面缺陷。边缘缺陷是指边缘有凸起和凹陷,表面缺陷是指表面光洁度不够,有划痕。

图2 金属勺子缺陷

2.2 图像预处理

针对勺子的缺陷,需要对采集的金属餐具原图像进行处理,以便更好地突出缺陷,便于特征量的提取。

(1)边缘缺陷的预处理

边缘缺陷的预处理过程如图3所示。对采集的原图像进行灰度化处理,转化为256级的灰度图,分别采用图像增强来提高勺子和背景的对比度,图像二值化方法来分割出金属餐具,图像滤波法滤除图像中的噪声点,边缘检测法检测金属餐具的边缘。

图3 边缘缺陷的预处理过程

(2)表面缺陷的预处理

表面缺陷的预处理过程如图4所示。对表面的缺陷只需通过图像灰度化、图像增强以及图像滤波方法进行预处理。

图4 表面缺陷的预处理过程

勺子原图像经过预处理后的结果如图5所示。

2.3 特征量提取

经过预处理后,缺陷已被清晰地呈现出来。为了识别出缺陷,需要对缺陷的特征进行提取,提取的特征量能否准确地描述缺陷,这对后续的识别具有关键作用。

图5 预处理后的结果

2.3.1 对边缘缺陷的特征提取

(1)周长

图像中目标物的边缘周长可以定义为其所占的像素点个数,如图像大小为M×N的二值图像,目标物为1,背景为0,则目标物的周长可表示为:

(2)边缘像素点到中心距离的均值和方差

假设边缘像素点坐标为(xi,yj),目标物的中心坐标为(x0,y0),则每个边缘像素点到中心的距离为:

边缘像素点到中心距离的均值为:

边缘像素点到中心距离的方差为:

2.3.2 对表面缺陷特征提取

表面缺陷指金属餐具表面的光洁度,光洁度主要反映在图像的灰度特征上[8],因此只需提取图像的灰度特征参数。

图像的不变距对于图像的平移、尺度变化、镜像和旋转不变。低阶矩主要描述目标的整体特征,如面积、主轴、方向角等;高阶矩主要描述图像的细节,如扭曲度、峰态等[9]。

大小为M×N的数字图像f(x,y)的二维(p+q)阶矩定义为:

式中:p=0,1,2,…;q=0,1,2,…。p和q均为整数。

相应的,(p+q)阶中心矩定义为:

式中:p=0,1,2,…;q=0,1,2,…。其中:

ηpq表示归一化中心距,定义为:

由二阶距和三阶矩可推导出7个不变距组,分别为:

以上提取出的10个特征量,分别为边缘的周长、边缘像素点到中心距离的均值、边缘像素点到中心距离的方差、7个不变距。这10个特征量将作为神经网络识别的10个输入参数。

3 BP神经网络

3.1 BP神经元及BP网络模型

BP神经元与其他神经元相比,其传输函数为非线性函数。BP网络一般为多层神经网络,信息从输入层流入,经过隐含层,流向输出层[3]。其中,隐含层可有多层。BP神经元一般模型如图6所示,BP神经网络模型如图7所示。

3.2 BP网络学习算法

假设一训练的输入向量为 X=(x1,x2,x3,…,xn)T,期望输出为Y= (y1,y2,y3,…,yn)T,实际输出为Y′=(y1′,y2′,y3′,…,yn′)T。

如果有n个输入样本,则输出误差为:

图6 BP神经元一般模型

图7 BP神经网络模型

式中:i为输出层的中的第i个神经元为i层第j个神经单元的输出,fi为传递函数。

由最速下降法可知,每层神经元的权值迭代式为:

式中:i为层数;μ为收敛速度,也称学习效率;ΔEk=∂Ek/∂Wij为误差对权值的梯度向量。

根据式(16)和各层的传递函数,可求出第k次迭代的总误差梯度ΔEk,代入式(17),便可逐次修正其权值,并使总误差向减小的方向变化,直至达到所要求的误差性能为止。

4 缺陷识别系统模型及构成

输入层作为外部数据的输入端,其节点个数取决于输入向量的维数。经过特征参数提取后,共提取10个特征量,把这10个特征量作为网络的输入,则网络的输入层的节点个数为10个。

设计的识别要求是识别出缺陷的存在,故输出层只需有1个输出节点。1代表有缺陷;0代表无缺陷。

隐含层节点个数的确定没有准确的理论依据,需要依据前人设计经验以及具体试验来确定,对用于模式识别/分类的BP网络,可参照下式进行设计。

式中:n为隐含层节点数;ni为输入节点数;no为输出节点数;a为1~10的常数。

识别系统模型如图8所示。

图8 识别系统模型

经过图像预处理,提取出缺陷特征向量,这些特征向量既可直接作为神经网络的输入,也可对网络进行训练和学习。通过对样本的学习,各层各节点的权值便能确定,神经网络也随之确定[10],继而可对金属餐具是否存在缺陷进行识别。

5 结果及分析

用200个勺子图像样本对神经网络进行训练,再用30个勺子图像验证该神经网络的检测效果。其中,30个勺子图像分别为:10个勺子同时具有边缘缺陷和表面缺陷;10个勺子只具有边缘缺陷;10个勺子只具有表面缺陷。检测结果如表1所示。

表1 检测结果

从表1可知,对于所提取的特征量具有2种缺陷的样本,神经网络完全能够识别出缺陷的存在,而只具有某一种缺陷的样本,神经网络存在识别错误。该错误主要是由于用于训练的样本数量不够导致对网络的训练不足。综合来看,神经网络的缺陷检测率达到了80%,说明采用此方法对勺子缺陷进行检测是可行的。

6 结语

本文以金属勺子为例验证了本研究提出的检测方法的有效性。但由于用于训练的样本过少,可能存在过拟合现象。为了更好地验证检测性能,还需获得更多的缺陷样本。用不同的金属餐具进行测试时不同的金属餐具会出现不同种类的缺陷,因此需要进一步提取不同的缺陷特征参量。本文提出的检测方法的适用性有待进一步验证。

猜你喜欢

勺子像素点餐具
基于局部相似性的特征匹配筛选算法
做木勺子
吃面
餐具叮咚
夹在杯子上的勺子等
基于像素点筛选的舰船湍流尾迹检测算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
有趣的西式餐具
不用自带餐具