登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 机械机电类 > 工业工程 > 正文

卷积神经网络在产品缺陷识别中的应用毕业论文

 2020-02-19 18:31:24  

摘 要

产品的缺陷问题是制造业中无法避免的问题,造成产品缺陷的原因往往有很多,例如操作人员能力有限、生产工艺和科学技术水平的限制等等。在传统制造业中,工人采用人工目测的方法来识别产品缺陷,但这种方式不仅速度慢、效率低,其准确度还与工人的状态有密切联系。时至今日,随着科学技术的发展,深度学习成为了热门的研究领域,我们也可以将目光投向这一新兴技术。

本文使用TensorFlow构建了一个卷积神经网络,它可以实现六种带钢表面缺陷的识别以及分类。该网络模型迭代了8000次,在测试集上进行测试后,其准确率达到了90%以上,已经可以进行初步的使用。

研究发现,在产品缺陷识别领域应用深度学习技术,在保证其准确率的同时,能够大幅提升识别速度。深度学习技术可以更好地解决此类问题,拥有广阔的研究前景。

关键词:卷积神经网络;缺陷识别;深度学习

Abstract

Product defect is an unavoidable problem in manufacturing industry. There are many reasons for product defect, such as the limited ability of operators, the limitation of production technology and scientific and technological level, and so on. In traditional manufacturing industry, workers use artificial visual method to identify product defects, but this method is not only slow and inefficient, but also has a close relationship with the accuracy of workers'status. Today, with the development of science and technology, in-depth learning has become a hot research field, and we can also focus on this new technology.

In this paper, TensorFlow is used to construct a convolution neural network, which can recognize and classify six kinds of surface defects of strip steel. The network model has been iterated 8000 times. After testing on the test set, the accuracy rate of the network model has reached more than 90%, and it can be used preliminarily.

It is found that the application of deep learning technology in the field of product defect recognition can greatly improve the recognition speed while guaranteeing its accuracy. Deep learning technology can better solve such problems and has broad research prospects.

Keywords : CNN ; Defect identification ; Deep learning

目 录

第一章 绪论1

1.1 课题研究背景及意义 1

1.2国内外研究现状 1

1.2.1产品检测的研究现状1

1.2.2深度学习的研究现状2

1.2.3 深度学习的优缺点3

1.3 本文主要内容 3

第二章 神经网络的结构及原理 4

2.1 人工神经网络4

2.1.1 人工神经元4

2.1.2 神经网络7

2.1.3 神经网络的训练8

2.2 卷积神经网络8

2.2.1 网络结构 8

2.2.2 卷积运算 8

2.2.3 池化(Pooling) 9

2.2.4 正则化 9

2.2.5 全连接层 10

第三章 基于卷积神经网络的钢材表面缺陷检测 11

3.1 数据准备 11

3.1.1 数据分析 11

3.1.2 数据预处理 13

3.2 结构设计 13

3.2.1高层封装的选择 14

3.2.2网络模型的选择 14

3.3 参数设置 18

3.4 训练过程 18

3.4.1前向传播过程 19

3.4.2 反向传播过程 19

3.5结果分析 20

第四章 结论 23

4.1 总结23

4.2 展望23

参考文献 24

致谢 25

第一章 绪论

1.1 课题研究背景及意义

随着我国经济的快速发展,制造水平不断提高,制造产品的速度越来越快,人们的需求日益增长,对于产品的要求也越来越高。然而在产品生产过程中,由于生产方式和工艺的限制,产品往往会出现不同种类的缺陷。如钢铁产品的结疤、气泡、裂纹、划痕,或是塑料产品的飞边、变形、开裂、烧焦和表面收缩。产品缺陷往往会产生不利的影响,轻者如表面缺陷,容易鉴别且影响产品的销售;重者如产品内部或是材质缺陷,在不容易被鉴别的同时也可能会产生严重的后果,甚至可能会对消费者的人身安全造成威胁。因此产品缺陷的检测显得尤为重要。在传统工业生产中,由于技术和工艺的限制,大部分产品缺陷检测环节都是人工检测,这种方法不仅效率低,还会产生额外的费用,甚至在检测过程中可能出错,从而导致了检测的结果不够精确。而随着计算机技术的迅猛发展,以及人工智能、深度学习等新技术的出现,利用这些新技术来进行产品缺陷检测成为了一个更好的选择。产品表面缺陷检测从属于机器视觉技术,通过计算机视觉模拟人类视觉,从而对具体的实物进行图像的采集、分析,而后进行识别和应用。这项技术有效的提高了检测的效率和精度,适合于企业大规模生产,消费者的权益也得到了保障。

1.2国内外研究现状

1.2.1产品检测的研究现状

目前,产品表面缺陷检测的主要应用领域主要在带钢表面、塑料薄膜和布匹检测。在带钢表面质量检测中,传统的方法是人工目视抽检法和表面频闪光检测这两种检测方法。在工业中实现自动化的检测方法有:漏磁检测技术、红外检测技术、涡流检测技术及计算机视觉检测等方法。其中,计算机视觉检测方法经历了漫长的发展历程,逐渐成为了当今的主流。在20世纪70年代,由于激光器的出现,光电检测技术应运而生。随后,英国、日本、德国先后将这项技术运用于工业生产之中。其原理是将激光照射到工件表面,将反射和散射的信息传输至计算机系统,经过分析后可以进行图像信号处理,成功识别缺陷。1997年,韩国将基于人工神经网络的技术应用于质量检测领域,美国也将ESS系统和IS-2000系统应用于钢铁公司的生产车间内,如美国的Cognex公司将自行研发的SmartView系统实用于表面缺陷检测,该系统显著提高了图像采集的质量,然后使用算法分析,识别率达到了更高的水平。

缺陷检测算法是表面缺陷检测系统的核心。目前常见的算法大致分为:统计、光谱、模型、学习和结构。统计,是通过计算图像灰度值的空间分布,以实现缺陷检测;光谱算法则是采用傅里叶变换等算法进行缺陷检测;学习方法使我们研究的重点,它是基于神经网络的检测方法,Stojanovic等人使用三层BP人工神经网络进行缺陷检测,并取得了较高的准确率。随后,Wu X等人提出了基于卷积神经网络的缺陷检测方法,利用这种方法,可以轻易的对纹理等特殊结构进行检测,其性能大大超出传统的检测方法。

1.2.2深度学习的研究现状

深度学习(Deep Learning, DL)由Hinton等人于2006年提出,是机器学习(Machine Learning, ML)的一个新领域。深度学习对学习样本数据的内在规律和表示结构,它利用学习中抓取的特征信息,来对自然信息进行解释。深度学习的最高目标是让机器能够像人一样从外界获取知识,类似于人类的学习过程,最终能够识别声音、文本和图像等数据。

深度学习的本质,是使用大量训练数据来获得足够多的特征信息,构筑一个包含多个隐藏层的机器学习网络模型,以实现对训练样本的识别与分类,并且有效的提高其精度。深度学习过程是利用深度学习模型,实现学习特征的目标。不同于传统的浅层学习模型,深度学习模型的结构层次更为复杂,有五层以上的网络层都拥有隐藏层节点,乃至十层以上。深度学习的核心是特征学习,它将特征层层提取,初始数据则用一个新的特征向量来表示,由此更加容易实现分类或预测问题。相对于由人工提取出的特征信息,基于深度学习的特征信息很显然更加具有代表性,识别效率大大提升。

图像识别是深度学习算法最早尝试应用的方面。多伦多大学的教授Yann LeCun等人[6]于三十年前首次提出了卷积神经网络(Convolutional Neural Networks)。卷积神经网络(CNN)是一种具有卷积层的深度神经网络模型,它由两个非线性的卷积层、两个的下采样层和一个全连接层组成,隐藏层的数目至少为五个。在当时,卷积神经网络在小范围的应用问题上取得了同时期最高的成绩,但在之后的很长时间里都没有进展。这是由于卷积神经网络在高像素图像的应用中不能达到很高的准确率,例如不能很好地识别高像素的图像。这使得在计算机视觉领域,卷积神经网络没有得到足够的重视。直到2012年十月,Hinton教授以及他的两个学生[7]在ImageNet的网络问题上取得了世界上最好的成绩,而他们使用的是更深层次的卷积神经网络模型,这使得图像识别的研究向前迈出了一大步。Hinton所构建的的网络模型采用原始自然图像进行训练,而不是人工提取特征。Hinton取得此伟大成果的原因有很多,其中最主要的原因是对于算法的改进,即在模型的训练过程中提出了“权重衰减”的概念,这有效地防止了过拟合。另一个重要原因则是电脑技术的进步和GPU加速运算能力的问世,这使得在训练过程中,网络可以利用更多的数据进行训练,从而实现识别准确率的提升。[19]2012年,百度公司使用深度学习的技术,用于识别人脸与其他自然图像等问题,验证了此方法的商业可行性,这是对于国内其他深度学习公司的一针强心剂[1]。而如今,深度学习网络模型已能够以较高准确率识别和分类大部分的自然图像,深度学习模型在提高了图像识别准确率的同时,还避免了人工特征提取等枯燥繁杂的工作,使得算法运行效率提高了很多。因此,深度学习完全可以取代人与机器学习相结合的传统方法,成为图像识别技术的主流。[18]

近年来,国内对于深度学习的应用存在于各个方面,例如交通[3]、自然研究[13]、互联网[16]、企业管理[17]等方面。

1.2.3 深度学习的优缺点

相对于经典的机器学习,深度学习的优点有很多。例如精度高、上限高、应用范围广等等。其中上限高指的是,在传统机器学习中,数据量增加到一定程度时,其准确率不会再有很大的提升。而深度学习由于其网络层次很深,能够接受的数据量会远超过机器学习。同时,深度学习也有着一些缺点。在小批量的样本上,深度学习的表现可能不如传统机器学习;在价格上,无论是深度学习的样本数据集还是网络的构建,都会比传统机器学习高很多。最后,传统机器学习相对于深度学习更容易理解,其原因在于,我们并不知道网络内部的工作情况,深度学习的理论知识、参数等都是实践总结而来。

1.3本文主要内容

本文主要研究了卷积神经网络在产品表面缺陷的识别水平。首先介绍了深度学习、缺陷检测的背景及意义;然后对人工神经网络、卷积神经网络的工作原理进行了详细的分析,并利用构建的网络模型,使用钢材表面缺陷的图片进行实际应用。最后,对本文的成果和改进方向做了大致的陈述,同时对深度学习技术进行了总结和展望。

第二章 神经网络的结构及原理

2.1 人工神经网络

人工神经网络(Artificial Neural Network),是人工智能领域兴起的起点。它使用多种连接方法构建一个网络模型,这是对生物学神经网络的模拟,也是人类思考功能的抽象化表示。

2.1.1 人工神经元

人工神经网络是由人将大量独立单元相互连接而建立的网络,它是对人脑中神经系统的模拟,并实现其思考能力。而这些处理单元我们把它称作人工神经元。人工神经网络可看作是以各个人工神经元为节点,用有向加权弧连接而成的有向图,而有向弧的权值代表有向弧两端的两个人工神经元之间相关性的大小。人工神经元的结构如下图所示:

图2.1

神经网络能在两个方面模拟大脑,一是神经网络从外界输入中学习到网络之前并不理解的知识,二是单个神经元的权值用于记录已经习得的知识。如图中所示,a1、a2是作为输入的训练样本,1是一个偏置项。在这个神经元中,总输入为,而后通过激励函数运算出最终结果。激励函数起到决定网络收敛速度的作用,在不同的应用环境下,应该选择不同的激励函数。常见的激励函数有以下几种形式:

  1. 阈值函数:当输入值达到某个阈值时,输出为1,否则输出为0。选择这种激励函数是因为神经元不希望传递微小的噪声信号,而是只传递有意识的明显的信号。
  2. 线性函数:该函数的输出与输入之间成线性关系,但是其形式太过单一,无法模拟实际情况,更像是机器而非“人脑”,故一般很少使用。
  3. S形函数(Sigmoid Function):Sigmoid函数的输出介于0~1之间,通常在输出必须为0~1之间时被使用。它曾是在神经元中最常用的激励函数,但近年来,使用它的人越来越少了。原因在于Sigmoid函数本身存在一些缺陷,例如在深度神经网络中梯度反向传播时出现的梯度爆炸和梯度消失,其中梯度爆炸不那么容易出现,而梯度消失出现的概率比较大。如果我们初始化神经网络的权值为0到1之间的随机值,那么由反向传播算法的公式可知,梯度从后往前传播时,每传递一层梯度值都会减小为原来的四分之一倍,如果神经网络的隐含层较多,那么梯度在穿过很多层之后会变得极小,这就是梯度消失现象;同理,当网络权值初始化为大于一的值,则可能会出现梯度爆炸的现象。另一个缺陷为Sigmoid的输出不是零均值(zero-centered)。这种输出会导致一些问题,例如后一层的神经元得到的输入是由前一层输出的非零均值的信息。

它的数学表达式如下:

(2.1)

Sigmoid的图像如下:

图2.2

  1. 双曲正切函数(tanh):Tanh函数形状与Sigmoid函数相同,但它向下偏移了一个单位,以原点中心对称。其输出值介于-1~1之间,当需要输出在-1~1范围的信号时选用。双曲正切函数解决了Sigmoid函数不是零均值输出的问题,但是梯度消失的问题和梯度爆炸的问题还是可能发生。

它的数学表达式如下:

(2.2)

tanh的图像如下:

图2.3

  1. ReLU函数

ReLU是修正线性单元(The Rectified Linear Unit)的缩写,是当今神经网络中最常使用的激励函数,因为它的导数等于1或者0,故可以解决梯度弥散的问题。由于ReLU是线性的,所以相对于非线性的sigmoid和tanh激励函数,对ReLU求梯度非常简单,计算也很简单,可以大大提高随机梯度下降的收敛速度。然而,ReLU函数也有缺点。例如,在大梯度流过ReLU单元之后,权重更新的结果可能是在此之后任何数据点都无法激活它。 如果发生这种情况,从这一数据点开始,通过神经元的梯度将始终为零。换句话说,这是这个神经元在训练中不可逆的“死亡”。尽管存在一些缺点,ReLU仍是目前最常用的激励函数。

它的数学表达式如下:

(2.3)

ReLU函数的图像如下所示:

图2.4

  1. Leaky ReLU函数

人们为了解决Dead ReLU问题,创造了将ReLU的前半段设为而非0的函数。从理论上讲,Leaky ReLU具有ReLU的所有优点,并且不存在Dead ReLU问题,但是在现实应用当中,并不能完全证明Leaky ReLU总是优于ReLU。

它的数学表达式如下:

(2.4)

Leaky ReLU的图像如下:

图2.5

2.1.2 神经网络

神经网络是一个复杂的信息系统。其复杂体现在神经元之间连接的的多样性,以及不同的连接方式使得神经网络有着不同的作用和性质。以下是两种最基本的人工神经网络结构:

  1. 前向网络:网络可以分为很多层,每层按照信号传入的顺序进行排列,每层的神经元只接受前一层神经元的输入,各神经元之间不存在反馈。
  2. 反馈网络:每个节点代表一个神经元,每个节点不但可以接受外界输入,还能够接受来自其他节点的反馈,并且每个节点也都可以直接对外界进行输出。神经网络的基本结构如下图所示:

图2.6

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图