0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CNN和DenseBlock的导光板标记线缺陷检测

新机器视觉 来源:新机器视觉 作者:新机器视觉 2020-11-01 11:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

目前越来越多的中外学者致力于机器视觉的研究, 但却少有导光板检测的成熟方法以及学术论文可被参考, 通过借鉴液晶屏缺陷检测的研究方法进行研究. 在数字图像算法检测方法中, 文献[1]中将图像作为像素矩阵, 利用奇异值分解(SVD)检测缺陷, 首先去除图像背景, 然后利用剩余奇异值重建图像并显示缺陷区域. 但是这种方法中没有提供消除各种缺陷类型时必须的奇异值数, 以获得良好的实验结果. 文献[2]中, 利用奇异值对图像进行分类, 并将缺陷图片分为粗缺陷和细缺陷两类, 采用二维离散小波系数与区域增长相结合的方法提取缺陷区域, 该算法在时间复杂度上表现较为优异, 但是在应对导光板复杂特征时表现欠佳. 文献[3]中扩展了原霍夫变换的点到线的距离差, 在非平稳灰度梯度的缺陷检测中得到了有效的应用. 然而不同的距离差值与相同的控制参数组合将会导致得到不同的结果, 文中并未提到此自动检测方法是否需要人工干预来设置参数. 在神经网络的检测算法中, 文献[4]中作者为Mura缺陷的定量评估设计了一个模糊神经网络, 然而对于低对比度的Mura缺陷, 如何准确地提取到缺陷特征是一个挑战. 文献[5]中作者为预测Gap Mura缺陷使用4种神经网络, 分别是BP神经网络、径向基函数、学习向量量化1和学习向量量化2进行训练, 但是BP神经网络本身具有收敛速度慢、权值收敛局部极小化等问题, 并不能提供稳定的解决方案. 文献[6]中作者针对Mura缺陷采用监督学习网络, 将观察到的Mura缺陷标记为特征, 并被输入到一个卷积神经网络提取所选择的特征. 文中所使用的网络需要提前表及特征, 过程繁杂, 工作量大, 且文中使用网络结构简答单一, 捕获特征较少, 无法应对复杂纹理的图像分类任务. 文献[7]中作者使用神经网络光学模型和遗传算法等方法优化设计棱镜型液晶导光板, 以求在现有条件下获得优异的亮度均匀性. 但是使用的网络BP神经网络训练方面问题多多, 无法保证使用不同的数据集时的检测效果. 文献[8]中作者融合STN和DenseNet卷积神经网络组成新型网络结构ST-DenseNet用于树种叶片数据集分类. 文献[9]中作者通过改进AlexNet完成遮挡猕猴桃目标识别任务. 文献[10]中作者使用VGG16分类卷积神经网络对血液细胞进行诊断分类研究. 在理论研究方面, 人们在探索分类卷积神经网络时注意到了注意力这一概念。

上述分类卷积神经网络的分类效果虽然表现不错, 但是由于网络参数较多, 运行时卷积神经网络的时间复杂度较大. 因工业产品检测需要考虑时间成本和资金成本, 无法直接使用上述分类网络进行分类检测. 由于目前用于工业检测的卷积神经网络案例较少, 查阅相关文献后, 选择对现有卷积神经网络进行改进, 完成导光板分类检测算法. 针对工业检测需求, 更改DenseNet网络中的卷积结构, 结合Bilinear-CNN算法提高卷积神经网络局部特征注意力. 最终在900张的测试图片组成的测试数据集上达到了95.53%的准确率, 平均单张图像检测时间为40.1 ms.

导光板是一种亚克力材质的塑料板材, 经过花纹烫印后, 被广泛用于显示器背光模组核心组件. 对导光板标记线的检测, 则是验证当前烫印工艺是否合格的一个重要标准. 使用数字图像算法检测导光板标记线虽然可以有效地对图片进行检测, 但是面对特征更加复杂的大面积气泡、严重污染和无标记线等情况无法得到满意的结果. 使用深度学习方法进行工业检测, 是学术界和工业界共同探索的课题. 使用深度学习的方法对小数据集、低对比、高纹理、高相似的导光板标图片进行缺陷检测, 导光板缺陷板材示意图如图1所示.

1 相关理论方法

卷积神经网络(Convolutional Neural Networks, CNN)是一种特殊的人工神经网络, 其主要的特点是卷积运算操作. 卷积神经网络在进行分类或者回归的时候, 大致都分为两个部分, 他们分别是前馈运算和反馈运算. 前馈运算是产生运算数据的过程, 其主要通过卷积操作、汇合操作和非线性激活函数映射等一系列操作共同完成. 反向传播主要是计算预测值和真实值之间的误差或损失, 凭借反向传播算法将损失逐层向前反馈, 更新每一层的权重和偏置, 通过周而复始的进行前馈运算和反馈运算, 最终得到期望的模型.

2 基于双线性CNN和DenseBlock的分类检测框架

本文算法分上下两步, 第1步, 基本权重训练: 通过修改DenseNet网络, 改进DenseBlock中特征计算单元的结构, 减少卷积神经网络卷积层数量, 避免过拟合, 以及减少卷积神经网络参数数量. 第2步, 权重模型优化: 使用Bilinear-CNN分类算法组成混合深度模型进行迁移学习, 将使用第1步训练得到的权重迁移到第2步的Bilinear-CNN分类网络重新训练, 通过捕捉特征通道之间的成对相关性, 提高分类准确率, 各步网络结构如图4所示. 通过对实验的卷积神经网络算法的权重进行分析发现, 本文所设计的卷积神经网络算法仅需要极少的参数参与运算.

2.1 改进的神经网络模型介绍

与传统的为提高识别精度, 通过增加卷积层数量或使用金字塔特征融合的方法不同. 卷积神经网络在工业检测应用的场景, 主要运行在工控机或者普通PC机上. 因此设计卷积神经网络时, 首先考虑减少卷积神经网络卷积层, 然后再考虑提高卷积神经网络分类精度.

2.1.1 减少卷积神经网络参数

减少DenseBlock中的卷积层数, 通过减少卷积操作次数和卷积数量, 提高卷积神经网络运行速度. 减少卷积层数量可以在减少运行时间的同时减少网络参数数量. 但是随之而来的副作用, 则是无法获得足够的特征, 使得特征激活映射区域无法正确映射到目标物体上.

减少卷积操作中的通道数量, 随着卷积操作中通道数量的增加, 网络参数数量也随之增加, 使得网络在运行时需要申请更多的显存和内存空间. 减少卷积操作中的通道数量, 可以有效的降低卷积神经网络的空间复杂度.

在特征计算单元中加入DropOut算法, 通过设置忽略特征检测器的概率, 使某些神经元的激活值以一定的概率停止工作. DropOut的加入可以使当前模型泛化性更强, 减少对某些局部特征的依赖, 从而避免过拟合.

在每个DenseBlock后面加入多层感知器(MLP)[20], 与Caffe中MLP的实现方法不同, 实验算法中的MLP算子中没有使用3×3大小的卷积核进行卷积, 仅使用两层1×1大小的卷积核进行卷积, 这样做有助于在加深网络卷积深度与增强网络容量和复杂度的同时, 减少网络参数数量[21].

2.1.2 加速损失函数收敛

在实验中, 发现使用原DenseNet网络结构中的GAP结构, 无法有效降低损失函数的损失值. 在使用三层全连接层代替Global Average Pooling (GAP)之后, 损失函数的损失值快速下降. 对比前后结果, 三层全连接层作为一个小型网络, 相比于GAP算法其可以获取更多的特征. 使用GAP算法对高纹理、低对比的灰度图分类时, 会造成特征图上的特征丢失.

GAP对所接收到的每一个特征图都进行了极端降维, 它将尺寸为h×w×d的张量缩小为1×1×d大小的张量. GAP激活区域与分类结果之间的关系证明如下所示[22]:

使用三层全连接层可以有效地降低损失函数损失值, 加速了梯度下降, 促使网络可以更加快速的拟合权重参数, 找到当前网络的局部最优解. 但是随着三层全连接层的使用, 导致卷积神经网络的参数数量增加, 所以在下一步的迁移学习过程中通过修改全连接层结构的方法, 降低网络参数数量.

2.2 双线性CNN算法

双线性CNN(如图5)由两组CNN特征提取器组成, 它使用两个卷积神经网络的输出在图像的每个位置进行外积相乘, 并在原图各个位置进行池化以获得最终的图像特征描述符. 通过外积操作捕捉特征通道之间的成对相关性, 对局部特征之间的交互进行建模. 由于双线性CNN的两个CNN的输出是线性的, 所以被叫做双线性CNN[23]. 在双线性CNN算法中, 有并行子网络A、B, 网络A的作用是对图像中对象的特征部位进行定位, 而网络B则是用来对网络A检测到的特征区域进行特征提取, 由这两个网络共同完成了图像分类中最重要的两个任务: 区域检测和特征提取[24].

双线性CNN的全局图像描述符, 表示如下:

目前双线性CNN有两种实现方法, 第1种: 使用不同的两组卷积神经网络作为特征提取器, 第2种: 使用同一组网络获取的最终特征描述符进行运算. 通过对比研究, 因考虑到算法最终的应用环境, 最终选择第2种实现方式进行实验.

2.3 损失函数

3 实验分析

训练数据集共有4059张图片, 验证和测试数据集各有896张图片. 为应对不同工厂的不同产品, 旨在寻找简单易用的端到端的神经网络, 本文分类卷积神经网络算法在训练时并未对图片预处理.

实验电脑硬件配置如下:

(1) CPU: Intel Core(TM) i5-4590; 四核四线程; 主频: 3.3 GHz.

(2)实验训练用GPU: NVIDIA Titan V; 显存: 12 GB; 内存: 250 GB.

(3)实验测试用GPU: NVIDIA GTX 1060; 显存: 6 GB.

(4)本机内存: DDR3: 1600 MHz; 内存: 16 GB.

实验软件环境如下:

(1)操作系统: Windows 10, ubuntu 16.04.

(2)编程语言: Python.

(3)第三方库: Pillow, numpy, matplotlib, tensor-flow, keras, scikit-image.

3.1 DenseNet实验参数与结果

在第1步的训练中, 将训练集输入到网络中进行模型训练, 训练过程所涉及的参数有batch_size大小、学习率、激活函数、迭代次数和优化函数(训练参数设置如表1所示).

使用实验网络模型对同一个数据集、在相同的训练参数下, 进行多次训练后发现, 每次训练后得到的准确率在92%左右震荡. 从侧面验证, 通过改进所得到的卷积神经网络具有较好的鲁棒性(loss变化图如图6所示, 本文使用留一法数据进行展示, 用以凸显卷积神经网络拟合效果).

3.2 双线性CNN实验结果与分析

使用迁移学习技术对双线性CNN网络进行训练, 通过修改第一步中的DenseNet网络结构, 使用双线性CNN算法替换三层全连接层, 在减少网络参数的同时提高了分类准确率. 在第二步训练双线性CNN时依然采用交叉熵损失函数作为图像分类训练的损失函数(如图7).

将训练集输入到网络中进行模型训练, 训练过程所涉及的参数有batch_size、学习率、激活函数、迭代次数和优化函数等(如表2).

实验所用训练数据集(如图8)由3类缺陷图片组成, 分别是无线、有线和气泡, 每类有1353张图片, 共计4059张训练图片, 图片大小为448×448×1的灰度图片. 测试数据集和验证数据集各有896张图片, 在上述数据集中无线、有线和气泡的缺陷图片各有300张测试图片, 图片大小为448×448×1的灰度图片. 使用实验算法在测试数据集上测试, 最终得到分类准确率为95.53%.

经过对测试数据集图片内容逐张图片验证发现, 误判主要于有线板材被严重污染的情况下出现. 在对气泡和无线板材进行逐张图片验证时发现, 这两类图片的检测准确率为100%. 根据工厂质量品控标准, 可以将合格的检测为不合格的, 但是不能存在不合格检测为合格的情况. 所以无线板材的准确检测是保障导光板质量的最低标准, 实验算法基本实现了导光板标记线的检测要求. 实验网络分类结果如图9.

使用VGG-16、V2-ResNet-101、AlexNet与本文网络相对比, 分类结果如表3所示.

根据表3数据所示, DesneNet-BCNN 与其他主流网络对比结果如下.

在网络参数方面, 较V2-ResNet-101卷积神经网络参数减少了97.2%, 较AlexNet卷积神经网络参数减少了97.5%.

在准确率方面, 较V2-ResNet-101卷积神经网络准确率提升了0.44%, 较AlexNet卷积神经网络准确率提升了3.34%.

在平均单张图片检测时间方面, 较V2-ResNet-101卷积神经网络快了13.3 ms, 较AlexNet卷积神经网络慢了29.5 ms.

4 结语

本文卷积神经网络主要分两步完成, 第1步: 通过修改DenseNet 网络结构降低参数数量、提高检测速度、减少图片检测所用时间以及避免训练过拟合. 第2步: 使用迁移学习方法, 将第1步训练所的权重迁移到双线性CNN进行进一步训练, 通过外积操作捕捉特征通道之间的成对相关性, 提高分类准确率. 使用本文算法在低对比、高纹理、高相似的灰度图片小数据集上进行分类, 最终取得了95.53%的准确率. 相比于V2-ResNet-101 网络结构, 准确率提升了0.44%, 参数减少了97.2%, 平均单张图像检测时间大约减少25%. 因为使用机器视觉的方法对导光板缺陷进行检测的相关文献较少, 使用深度学习方法的文献更加稀少. 因此现有的导光板检测方面的文献, 无法提供有价值的参考和对比. 由于工场计件生产规则限制, 无法在工厂生产线上进行长时间的、大负荷的、连续的算法鲁棒性和稳定性评测. 但是在与传统算法搭配进行缺陷检测的过程中, 就目前的算法检测结果来看, 已基本满足工业生产的缺陷检测需要. 下一步, 在面对减少缺陷检测时间、提高缺陷检测准确率、保证算法鲁棒性和稳定性等方面, 需要更深入的研究和分析。

责任编辑:YYX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106796
  • 导光板
    +关注

    关注

    0

    文章

    15

    浏览量

    10479
  • cnn
    cnn
    +关注

    关注

    3

    文章

    355

    浏览量

    23248

原文标题:基于双线性CNN与DenseBlock的导光板标记线缺陷检测

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    构建CNN网络模型并优化的一般化建议

    通过实践,本文总结了构建CNN网络模型并优化的一般化建议,这些建议将会在构建高准确率轻量级CNN神经网络模型方面提供帮助。 1)避免单层神经网络:我们清楚神经网络本身是需要不断抽象出更高级别的纹理
    发表于 10-28 08:02

    UV紫外相机在工业视觉检测中的应用

    UV紫外相机通过捕捉紫外信号和激发荧光反应,解决常规相机无法识别的隐形缺陷标记,广泛应用于工业视觉检测
    的头像 发表于 10-21 09:45 165次阅读

    便携式EL检测仪:光伏组件缺陷检测的移动“透视眼”

    便携式EL检测仪:光伏组件缺陷检测的移动“透视眼”柏峰【BF-EL】在光伏电站运维与组件质量管控中,组件内部缺陷(如隐裂、断栅、虚焊、黑心片等)是影响发电效率与使用寿命的关键隐患。
    的头像 发表于 10-15 10:20 324次阅读
    便携式EL<b class='flag-5'>检测</b>仪:光伏组件<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的移动“透视眼”

    便携式EL检测仪:光伏组件缺陷检测的 “便携显微镜”

    便携式EL检测仪:光伏组件缺陷检测的 “便携显微镜”柏峰【BF-EL】便携式 EL(Electroluminescence,电致发光)检测仪,是基于光伏组件电致发光原理设计的便携式
    的头像 发表于 09-10 17:35 906次阅读
    便携式EL<b class='flag-5'>检测</b>仪:光伏组件<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的 “便携显微镜”

    电气设计线标记规则

    在电气工程设计中,线标记是保证系统可维护性和安全性的基础工作。一套科学、规范的线标记规则不仅能提高施工效率,还能为后续的检修、改造提供清晰指引。本文将系统介绍电气设计中线号
    的头像 发表于 08-23 23:12 2561次阅读
    电气设计<b class='flag-5'>线</b>号<b class='flag-5'>标记</b>规则

    探秘晶圆宏观缺陷检测技术升级与根源追踪新突破

    在晶圆加工流程中,早期检测宏观缺陷是提升良率与推动工艺改进的核心环节,这一需求正驱动检测技术与晶圆测试图分析领域的创新。宏观缺陷早期检测的重
    的头像 发表于 08-19 13:48 941次阅读
    探秘晶圆宏观<b class='flag-5'>缺陷</b>:<b class='flag-5'>检测</b>技术升级与根源追踪新突破

    塑料注塑缺陷检测的创新解决方案

    在塑料成型领域,注塑制品的质量控制至关重要。然而,塑料注塑过程中出现的缺陷不仅影响产品的外观,还可能降低其功能性能。这些缺陷的产生原因复杂多样,传统的检测方法往往难以应对复杂多变的检测
    的头像 发表于 08-05 17:52 601次阅读
    塑料注塑<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>的创新解决方案

    应用案例 | 深视智能线激光3D轮廓测量仪实现3C点胶质量在线检测

    3C行业点胶质量检测痛点传统2D视觉无法兼容多种检测需求,比如胶高、塌胶等三维参数的微米级精准测量。3C产线节拍快,对相机帧率要求高。传统检测方式效率低,误判、漏判断问题突出。深视智能
    的头像 发表于 08-04 08:18 3261次阅读
    应用案例 | 深视智能<b class='flag-5'>线</b>激光3D轮廓测量仪实现3C点胶质量在线<b class='flag-5'>检测</b>

    饮料液位及瓶盖缺陷检测视觉系统

    在合适的光源条件下,连接了多个相机的POC系列能够成功检测到随机故意放置在产线上的有缺陷的瓶装饮料(这些缺陷包括:液位过高或过低,瓶盖未正确拧紧,标签打印错误和瓶中液体有杂质/沉淀物)
    的头像 发表于 07-09 14:28 398次阅读
    饮料液位及瓶盖<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>视觉系统

    PCB丝印极性标记的实用设计技巧

    工程师使用二极管的三角形符号来表示正负极方向。然而,仍有不少标记符号存在潜在缺陷,易引发误解,给电路板的使用与维护带来困扰。 1、用圆点标记极性 以圆点标记焊盘某一侧作为极性符号的做法
    发表于 07-09 11:43

    020侧贴全彩3806发光led二极管

    的侧面光线分布,适配导光板耦合需求。 产品特点 超薄设计结构,高亮度,颜色一致性好,高可靠性和防能力,节能与热管理优化
    发表于 06-26 09:55

    PanDao:确认缺陷等级并用于加工

    量。 PanDao当前读取的是待生产面(标记为5/x)上的最大缺陷尺寸\"x\"。数值\"y\"无需纳入考量,因为:\"x\"直接影响最优制造
    发表于 06-03 08:51

    英国真尚有焊孔检测系统 焊接标记孔高速在线检测

    检测焊接标记孔在许多行业中具有重要意义,尤其是在制造和建筑领域。在这些行业中,金属板材的焊接和切割是常见的生产环节。为了确保产品的强度和使用寿命,必须对靠近焊缝的冲孔(焊接标记孔)进行检测
    的头像 发表于 03-06 09:53 507次阅读

    X-Ray检测设备能检测PCBA的哪些缺陷

    X-Ray检测设备可以检测PCB(电路板)的多种内部及外部缺陷,如果按照区域区分的话,主要能观测到一下几类缺陷: 焊接缺陷: 空洞(Void
    的头像 发表于 02-08 11:36 1111次阅读

    方便面面饼外观检测:精准识别0.5mm²细微缺陷

    在上篇文章中,我们了解了食品行业在外观缺陷检测时的现有难点,并分享了阿丘科技对鹌鹑蛋进行外观缺陷检测时的典型场景案例,详细内容可查看《鹌鹑蛋的外观
    的头像 发表于 12-12 17:35 1563次阅读
    方便面面饼外观<b class='flag-5'>检测</b>:精准识别0.5mm²细微<b class='flag-5'>缺陷</b>