ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:175.50KB ,
资源ID:147756      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-147756.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于cnn的工件缺陷检测方法研究.doc)为本站会员(无敌)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于cnn的工件缺陷检测方法研究.doc

1、基于 CNN 的工件缺陷检测方法研究 乔丽 赵尔敦 刘俊杰 程彬 华中师范大学计算机学院 摘 要: 将卷积神经网络 (CNN) 应用于工件缺陷检测, 来检测工件在生产过程中表面出现的缺陷, 以提高工件的生产质量。利用 CNN 可以对工件的图案进行识别, 但识别无法检测出细微缺陷的问题。在 CNN 进行工件图案识别的基础上, 研究一种利用 CNN 实现缺陷检测的方法。该方法通过扩充缺陷样本, 利用 CNN 识别的中间输出参数, 定义了缺陷分辨率的概念来衡量缺陷的程度, 当缺陷分辨率达到一定水平时则认为是无缺陷图案, 否则认为其存在缺陷。实验验证了提出的CNN 工件缺陷检测方法的有效性, 数据表明

2、缺陷检出率可达到 93.3%。关键词: 工件缺陷检测; 卷积神经网络; 训练样本; 缺陷分辨率; 作者简介:乔丽, 女, 硕士, 主要研究方向为图像处理;作者简介:赵尔敦, 男, 博士, 副教授, 主要研究方向为机器视觉、人工智能;E-mail:;作者简介:刘俊杰, 男, 硕士生, 主要研究方向为图像处理;作者简介:程彬, 男, 硕士生, 主要研究方向为图像处理。基金:湖北省自然科学基金项目 (2016CFB470) 资助Research of Workpiece Defect Detection Method Based on CNNQIAO Li ZHAO Er-dun LIU Jun-j

3、ie CHENG Bin College of Computer, Central China Normal University; Abstract: The application of convolutional neural network (CNN) was proposed in workpiece defect detection, which can detect workpiece defects on its surface, to improve the product quality.The CNN cant recognize the small defects of

4、 a product although it can classify different objects very well.This paper presented a method which uses CNN for defect detection based on the results of a recognition process.Firstly the defective samples are expanded to overcome the difficulty for lacking of training samples.Then by observing the

5、output data obtained from a recognition CNN, a concept called“the defect distinguish ratio”is defined to measure the degree of defection.It is considered as a non-defect pattern only when the defect distinguish ratio reaches a certain level.Finally, the experiment demonstrates the validity and feasi

6、bility of the method, in which the defect detection ratio can reach 93.3%.Keyword: Workpiece defect detection; CNN; Training samples; Defect distinguish ratio; 1 引言在制造业中, 传统的人工检测方法已无法满足生产需求, 而且受个人主观因素和精神状态的影响, 人工检测难以确保检测质量。近年来, 基于深度学习和机器视觉的缺陷检测系统逐渐被制造商所采用1, 促进了工业自动化、智能化的发展。但是设计一个鲁棒性好的缺陷检测系统仍然是一个具有挑战

7、性的问题2。卷积神经网络 (CNN) 已成功应用于人脸识别3、字符识别4、图像检索5和自然语言处理6-7等研究领域, 在工业检测方面也受到广泛应用。基于机器学习的模型通常包含特征表示和分类器两个部分。而 CNN 模型本身就包含特征提取阶段, 提取的特征能较为全面地反映图像的特征信息, 节省了人力挑选特征的时间, 弥补了手工提取特征不能根据新数据集进行调整的不足, 因此利用CNN 对工件进行缺陷检测研究具有理论和应用的双重意义。本文选取工业生产线上釆集的笔记本键盘图像作为研究对象, 对键盘表面进行缺陷检测, 剔除不合格产品。首先构建 CNN 网络模型, 然后采用基于 CNN 的识别技术来分析缺陷

8、工件与合格工件在图像上的不同表现, 进而研究设计缺陷检测的方法。根据实际工程需求, 在检测过程中不需要识别缺陷所属类别, 只需检测工件是否有缺陷, 即从总体上识别出工件缺陷区域的个数即可。本文根据某生产厂家提供的缺陷图像, 选出 5 种主要的缺陷类型:字符断线、字符粗细不均、字符歪斜、字符移位、污点, 并进行分析。常见的缺陷示例如表1 所列。本系统主要针对这 5 种缺陷进行检测, 暂且不考虑其他缺陷类型。表 1 常见工件缺陷类型示意图 下载原表 2 系统模型工件缺陷检测方法通常分为 3 步:1) 先检测图像是否有缺陷, 从而把样本集分为两个部分, 即有缺陷和没有缺陷的图像;2) 过滤掉没有缺陷

9、的图像, 将有缺陷的图像保存到缓冲区中待下一步处理;3) 对有缺陷图像进行分割, 对分割出的缺陷区域再进行分类。本文的工件缺陷检测方法与上述流程有所区别, 主要用于剔除不合格产品, 不进行缺陷分类。本系统分为两部分:工件识别部分和工件缺陷检测部分。识别是将采集的工件图像与标准图像对比, 识别一致即为本类工件产品;缺陷检测则是对已经识别出来的工件进行是否存在缺陷的检测。检测的系统模型如图 1 所示, 系统分为 3 个阶段:预处理阶段、识别阶段和缺陷检测阶段。图 1 系统模型图 下载原图在预处理阶段, 对工业相机拍摄的图像进行定位和校正, 以减小其对缺陷检测结果的影响。首先将单个较大目标工件分割成

10、多个可以表征工件质量的目标区域, 将得到的目标区域图像大小统一规格化为 N*N 像素, 即 N 行 N 列。然后将采集的图像像素值序列和相应的标签作为样本属性, 用以生成训练样本集, 并按顺序输入到卷积神经网络中进行训练。识别阶段主要通过 CNN 识别工件的目标区域图像。利用已采集的训练样本对网络进行训练后, 卷积神经网络将工件的目标图像像素序列作为特征输入到训练好的网络中, 进行识别分类, 最后输出识别结果, 以确定是否对应于目标区域的标准图像。识别出来的工件可能仍包含有缺陷的产品, 如字符出现断线等缺陷情况, 利用分类识别的方式很难进行判别。因此在缺陷判别检测过程中, 将经过 CNN 识别

11、出来的工件进一步执行 CNN 缺陷检测。缺陷检测需要采集和生成新的缺陷检测样本, 并训练网络, 通过缺陷检测评判后, 才能判定产品是否真的合格。3 CNN 结构模型如图 2 所示, CNN 的基本结构分为 7 层8:第 1 层是输入阶段;第 2-5 层属于特征提取阶段, 第 2 层和第 3 层是第一个特征的提取阶段, 第 4 层和第 5 层是第二个特征的提取阶段, 每一个节点与上一层的局部邻域相连, 低层级提取的特征整合转化为更高层级的特征表现;第 6 层和第 7 层是分类阶段, CNN 使用两层全连接神经网络作为分类器, 另外图像处理中常见的分类器还有多项式逻辑回归或径向基函数网络9。图 2

12、 CNN 模型结构图 下载原图CNN 的 7 层结构包含输入层、卷积层、下采样层、全连接层、输出层。第 1 层是输入层, 输入的图像大小要统一为 N*N。第 2 层和第 4 层是卷积层, 通过对前一层进行卷积运算, 得到多个特征图, 即前一层分别与多个可训练的卷积核进行卷积运算, 卷积核大小为 k*k, 再加上一个偏置 b, 经过一个激励函数 f 得到与卷积核同等数量的特征图, 特征图的大小为 (N-k+1) * (N-k+1) 。其计算过程可以用式 (1) 表示:其中, x 代表卷积层, l 代表层数, k 是卷积核, M j代表第 j 个特征图, b 为偏置。第 3 层和第 5 层是下采样

13、层, 对上一卷积层的每个特征图进行子抽样, 将上一层的高分辨率表示转化为低分辨率表示, 以减少数据处理时间且不损失有用信息10, 即分别对每个特征图中 m*m 大小的邻域进行加权求和或取最大值等运算, 加上一个偏置 b, 再经过一个激励函数 f, 得到与输入时同等数量的特征图, 此时特征图的大小变为 (N-k+1) /m。下采样层的计算方式为:其中, x 表示采样层, l 为层序号, j 为特征图序号, down () 表示下采样函数。对本层输入图像 n*n 区域加权求和, 和 b 分别对应每个输出特征图的权值和偏置。第 6 层是全连接神经网络层, 即分类器, 将前一层得到的特征图组合起来作为

14、特征向量输入网络进行学习。第 7 层是输出层, 输出相应的标记。4 预处理工件识别与检测系统在采集到工件图像后, 需要对图像进行去噪处理, 恢复有用的图像信息, 提高图像的质量11, 从而改善后期缺陷检测的表现。鉴于产品存在部分彩色图案, 采集的原始图像是 24 位颜色存储的 BMP 位图, 直接对彩色图像处理运算量大、时间长, 因此对原始图像进行灰度化处理。键盘工件如图 3 所示。分析键盘工件的特征, 判断整个键盘是否合格的关键在于每个按键的图案是否合格。因此定义每个按键图案为检测目标, 分别对各个目标图案进行识别与检测。首先定位键盘, 从而定位出各个需要检测目标的按键图案, 本文设置图像模

15、板, 采用模板匹配方法定位目标区域, 严格对应字符在各按键上的相对位置。由于按键排列位置是统一规格化的, 不妨假定有瑕疵的按键比例很低, 这样可以利用整个键盘的特征对键盘进行定位。在实际编写系统时, 通过位置比较对按键进行排序, 键盘上共有 86 个按键, 依照从左到右、从上到下的次序, 每个目标区域对应一个序号标识。部分目标按键模板如图 4所示。图 3 键盘工件示意图 下载原图图 4 部分目标按键的模板示意图 下载原图4.1 训练样本集的扩充机器学习是对一定量的数据进行学习, 利用学习得到的规律对未知数据进行预测, 因此分类算法需要充足的训练样本和测试样本。但是在实际应用中样本集数量少且类型

16、多, 导致理论上效果很好的学习方法在应用时效果很不理想。在工业生产上, 缺陷发生的概率一般较小, 这会导致可获得的缺陷样本数目过少、缺陷数据分布不平衡等情况, 从而影响到分类器的分类精度和工作效率。由于难以获取到充足的真实样本, 在实验中为了保证训练样本的数量, 需扩充样本集。样本扩充方法常采用在图像空间中对原始图像进行几何变换, 如平移、旋转以及应用仿射变换生成的图像来扩充样本集。但通过这种方式得到的扩展样本比较规则, 对存在一定程度扭曲的情况并不能很好地模拟, 导致网络学习到的特征过于特殊, 无法生成合理的样本集。根据高斯函数的特性, 使用高斯分布在原始训练样本集的基础上生成一定数目的样本

17、, 可以实现对训练样本集的有效扩充。本文引入高斯分布扩充样本方法对样本进行扩充。高斯函数是正态分布的密度函数, 一维高斯函数为:在实际样本扩充计算中, 卷积内核大小设为 11, 通过一维高斯函数计算出卷积内核, x 在内核大小范围内取值, 是均值, 是方差。图像处理中使用的是二维高斯函数, 根据高斯函数的可分离性, 即一个高斯函数与另一个高斯函数的卷积仍然为高斯函数, 通过两个一维高斯函数进行逐次卷积可得到二维高斯函数。本文使用的高斯扩充样本方法首先使用一维高斯模板沿着水平方向逐次卷积, 然后沿着垂直方向逐次卷积来完成。通过两次卷积操作可以有效地对样本数据进行拓展, 从而生成丰富的缺陷样本用于

18、缺陷识别与检测, 以改善整个系统的表现。本文将工业相机在同一环境下不同时刻拍摄的 100 张工件图像作为训练样本集。在进行样本扩充之前, 先将得到的工件训练样本集进行适度的扭曲变形, 通过设置不同的缩放、平移、扭曲参数生成大量扩展样本, 对图 5 中的无缺陷按键经过适度扭曲变形可以获得大量缺陷样本, 图 6-图 10 为随机抽取的部分缺陷样本示意图。图 5 部分无缺陷样本示意图 下载原图图 6 部分断线缺陷样本示意图 下载原图图 7 部分字符粗细不均缺陷样本示意图 下载原图图 8 部分字符歪斜缺陷样本示意图 下载原图图 9 部分移位缺陷样本示意图 下载原图图 1 0 部分污点缺陷样本示意图 下

19、载原图4.2 网络参数的选择卷积神经网络已经提出了很多年12, 但在工程领域并没有得到广泛的应用, 原因是实现卷积神经网络比较复杂, 并且难以达到工业生产要求的实时性。文献10提出了一种简化的卷积神经网络, 这种网络更容易实现, 实时性高, 不需要太复杂的方法, 而是在识别正确率、识别速度及系统资源之间取得平衡折衷, 本文基于此模型, 构建出适用于工件识别的 CNN 模型。经典的 CNN 模型由 7 层构成, 包括输入层、卷积层、子采样层、全连接层、输出层, 2 个卷积层之间还有 2 个下采样层, 总共 7 层网络13。简化的网络模型是将卷积与下采样同步进行, 卷积过程按步长间隔遍历图像中的像

20、素, 下采样过程取各 n*n 区域 (n 为步长) 的左上角像素点, 这样网络就只剩下 5 层结构, 大大降低了网络复杂度。这种网络模型包括输入层、卷积层、全连接层、输出层, 卷积层可以看作一个可训练的特征提取器, 可以由一层或者多层组成, 全连接层和输出层构成可训练的分类器。针对本文处理的按键图像, 设定网络输入图像大小为 29*29。卷积核的大小选为奇数可以对图像进行充分重叠, 不会丢失信息。当选择大小为 3*3 时, 重叠单元过少, 没有冗余计算, 当选择大小为 7*7 时, 重叠单元则过多, 因此本文选择卷积核大小为 5*5。第二卷积层设定为 6 个不同的卷积核, 分别对图像作卷积运算

21、得到 6 个特征图。全连接层也即隐藏层, 其节点数量是可变的, 通过改变其数量来控制整个网络的泛化能力。隐藏层节点数目过多, 就需要训练更多的权值, 导致训练时间增加, 且不能确保提高识别率, 容易造成对训练样本的过度拟合。本文对各种隐层节点数的情况进行了实验, 实验结果如表 2 所列。通过对不同隐藏层节点数目的 CNN 模型分别训练, 统计相应的识别正确率和识别消耗时间并进行比较, 发现隐藏节点数目越多, 识别消耗的时间越长, 节点个数为 50 时识别时间最短, 但是正确率较低;隐藏单元为 100 时达到最优, 而节点数目在100 以上识别时, 正确率并没有得到改善。表 2 不同隐藏层单元数

22、目的识别率和识别时间 下载原表 4.3 学习速率的设定对于多层网络, 误差曲面可能含有多个局部极小值, 网络权值的初始化决定了网络训练从误差曲面的哪个方向开始梯度下降搜索, 如果每一步都沿着误差曲面最快下降的方向修改权向量, 就能以最快的速度到达最小误差点。因此权值初始化对避免网络瘫痪、缩短网络的训练时间极为重要。较大的学习速率能够在训练初期加快收敛进程, 然而在训练后期却会妨碍误差的充分收敛, 即在搜索过程中越过误差曲面最小值;过小的学习速率虽然有利于后期的充分收敛, 但会使整个训练过程收敛缓慢。本文在训练初期使用较大的学习速率 0.005, 每训练 5 次则减小速率继续训练。当误差在某个值

23、附近徘徊时, 误差会随着学习速率的逐渐减小而继续减小。随着速率逐渐变小, 收敛速度越来越缓慢, 当学习速率减少到小于设定的阈值时, 将速率恢复到某个合适的值, 如 0.0002, 继续训练, 以保证误差充分减小。4.4 训练代数的确定将样本集按照批次大小逐个将数据输入到 CNN 模型中, 然后计算这一个批次中所有样本的平均损失, 即代价函数。在一个批次的样本集中, 如果类别覆盖率过小将会影响模型的优化程度和速度。本文对不同训练代数下的识别率进行了实验, 实验结果如表 3 所列。采用均方误差 (MSE) 作为代价函数, 随着训练时代数的增加, 训练误差不断减小, 但测试集上的错误率却先减后增,

24、这表明不断增加训练代数会造成网络对训练集的过度拟合。因为 Sigmoid 函数在小输入情况下具有线性特征, 所以将网络权值初始化为小值随机数, 可使在训练初期形成的决策面比较平滑。随着训练的进行, 权值开始增加, Sigmoid 函数的非线性特征开始显现, 造成决策面的复杂程度不断提高, 最终导致训练后期决策面过度复杂。本文通过设定最大代数来限制过度训练。表 3 不同训练代数的识别率 下载原表 梯度刚开始下降时, 网络表现为一个非常平滑的函数, 不存在局部极值的问题, 当训练一定时间后, 通过不断学习而改变的权值将网络演变成一个可以表示高度非线性函数的网络, 出现了多个局部极小值14-15。因

25、此在训练初期, CNN中的权值应初始化为接近于 0 的随机数, 可以避免网络因参数过大而过早达到饱和状态, 能有效降低搜索停留在局部极小值的概率;而随机取值则保证了网络具有一定的学习能力。参数的设定对识别结果影响较大, 通过在数据集上的多次实验, 本文获得了最有效的设置。最终选择卷积核大小为 5*5, 隐藏层节点数目为 100, 学习速率为0.05, 训练代数为 3000。5 CNN 工件缺陷检测方法5.1 工件缺陷检测的流程工件缺陷检测流程如图 11 所示, 利用训练好的网络模型从图像采集模块中获取图像, 对图像进行预处理, 定位提取图像中的有效信息区域, 在分割图像过程中获得目标区域的位置

26、, 从而确定该区域的真实标签。接着通过训练好的 CNN识别目标区域图像, 网络识别后将输出的标签值与上一步获得的标签值进行对比, 若对比结果不同, 则表示识别有误, 当前图像与标准图像存在较大差异, 从而过滤出具有错键或有较大缺陷情况的工件;若对比结果相同, 则该工件主要由无缺陷和细微缺陷两部分构成, 具有细微缺陷工件的图像与标准图像差异较小, 在 CNN 识别的误差允许范围内, 因此能够被正确地识别出来。接下来对识别正确的各目标图像进行缺陷检测, 最后根据是否存在缺陷目标区域来判别整个工件是否为合格品, 假设工件中有一个区域存在缺陷则该工作为瑕疵品。图 1 1 缺陷检测流程图 下载原图由于

27、CNN 强大的识别能力, 识别正确率可以达到 99.2%, 因此当工件图像含有大面积缺陷时, 通过对提取出的特征进行识别就可以识别标记为不合格工件, 将识别为不合格的图像标记为有缺陷。而通过识别标记为合格的目标工件图像可以分为两类, 一类是无缺陷图像, 网络能够正确识别并分类;另一类是含有小瑕疵图像, 没有影响到整体识别结果, 需要通过本文下一步的缺陷检测算法进行更细化的检测, 过滤出含缺陷的图像。5.2 基于 CNN 的缺陷检测原理在本文构建的卷积神经网络中, 输出层神经元的激活函数采用 S 型函数, S 型函数具有非线性放大系数功能, 可以把无穷大的输入值转变为区间范围为-1 到1 的输出

28、值, 对应某个标签的输出值越接近于 1, 该图像越容易被归为相应标签类别。将图像输入到卷积神经网络进行识别是一个分类过程, 网络中间输出值与类别一一对应, 数值大小表示该图像属于该类别的相关强度, 即数值越大, 图像与该类别的相关强度越大, 因此将图像归为最大输出值的类别。本文以键盘表面图像为实验对象, 由于其表面按键数量很多, 为方便说明, 选择其中 8 个按键进行分析, 如图 12 所示。实验的目标是将这 8 个按键识别出来, 并检测出缺陷错误。图 1 2 实验样本对象 下载原图通过目标定位检测将 8 个按键图像分割出来, 送入训练好的 CNN 模型进行识别, 得到 8 个网络中间输出参数

29、 o1, o2, , o8, 不妨设识别的类别标签为 1 到 8, 识别的原理是:对网络得到的 8 个中间输出值进行比较, 将最大值对应的序号设为本次识别的类别标签;然后将该识别结果与前期定位提取阶段定义的类别标签进行比较, 不一致则表明按键错误或有较大的缺陷;一致则表明识别结果正确。但类别识别正确并不能保证按键图像中不包含细微缺陷。因此接下来确定识别出的按键是否有缺陷。需要定义一个相似性度量, 当相似度达到一定程度时, 表明按键图像完好;否则表示其有缺陷。对于数值型数据, 通常两个对象的相似度指它们在欧氏空间中互相邻近的程度;而对于分类型数据, 两个对象的相似度与它们取值相同的属性个数有关1

30、6。在本文中, 相似性度量指在某个区域内像素具有某种相似的特性, 每一个区域内部的某种特性或特征相同或接近, 而不同区域间的图像特征则应该有明显差别8。通过上述识别原理, 观察到 CNN 识别的中间输出参数实际上反映了输入图像与正常图像的相似程度, 因此本文根据中间输出参数来进行缺陷检测度量的定义。定义缺陷分辨率 (Distinguish Ratio, DR) 为:其中, M 和 S 分别表示 o1, o2, , o8中的最大值和次大值。设定两个阈值T1T2, 缺陷判别规则定义为:当 DRT 1时, 该图像有重大缺陷;当 T1DRT2时, 该图像有小缺陷;当 DRT 2时, 该图像无缺陷。即当

31、缺陷分辨率 DR 大于设定的阈值 T2时, 图像判断为无缺陷;当缺陷分辨率 DR 小于或等于阈值 T1时, 判断图像有重大缺陷;如果在两者之间, 则有细小缺陷。阈值的选择根据要求的严格程度来设定。通过大量非缺陷样本和缺陷样本的统计, 本文得出无缺陷图像的 DR比值均高于 0.7, 缺陷图像的 DR 比值均低于 0.7, 因此阈值 T2可以取为 0.7。6 实验结果与分析依据上述缺陷分辨率的定义, 本节给出针对不同的缺陷样本集进行计算的结果。通过网络模型识别正确的无缺陷样本集, 计算其缺陷分辨率如图 13 所示。从图中可以看到, 分辨率主要分布在 0.70.9, 分辨率接近于 1 表示在无缺陷的样本集中图像之间的特征信息差异较大。图 1 3 无缺陷集缺陷分辨率示意图 下载原图

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报