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

    文章

    4771

    浏览量

    100735
  • 导光板
    +关注

    关注

    0

    文章

    15

    浏览量

    10360
  • cnn
    cnn
    +关注

    关注

    3

    文章

    352

    浏览量

    22205

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

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

收藏 人收藏

    评论

    相关推荐

    基于AI深度学习的缺陷检测系统

    在工业生产中,缺陷检测是确保产品质量的关键环节。传统的人工检测方法不仅效率低下,且易受人为因素影响,导致误检和漏检问题频发。随着人工智能技术的飞速发展,特别是深度学习技术的崛起,基于AI深度学习的
    的头像 发表于 07-08 10:30 1390次阅读

    基于CNN的网络入侵检测系统设计

    入侵检测提供了新的思路和方法。卷积神经网络(Convolutional Neural Network, CNN)作为深度学习的一种重要模型,以其强大的特征提取能力和模式识别能力,在网络入侵检测领域展现出巨大的潜力。
    的头像 发表于 07-05 17:28 1062次阅读

    cnn卷积神经网络分类有哪些

    卷积神经网络(CNN)是一种深度学习模型,广泛应用于图像分类、目标检测、语义分割等领域。本文将详细介绍CNN在分类任务中的应用,包括基本结构、关键技术、常见网络架构以及实际应用案例。 引言 1.1
    的头像 发表于 07-03 09:28 616次阅读

    外观缺陷检测原理

    的结合应用加速渗透进工业产品的 外观缺陷检测 领域。思普泰克凭借深耕机器视觉多年沉淀的技术实力,建立以深度学习技术为核心的差异化发展优势,开发出视觉引擎等工业级视觉应用产品,全面赋能产品外观缺陷
    的头像 发表于 06-17 17:38 420次阅读
    外观<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>原理

    产品标签OCR识别缺陷检测系统方案

    目前实验来看,康耐德机器视觉可以检测出标签有无以及有没贴歪斜,印刷字符只能检测出缺陷比较大的产品,具体还要以实际缺陷产品来模拟确认。此方案适合65mm以下产品,由于颜色太多,不能所有产品都兼容。
    的头像 发表于 06-10 18:26 741次阅读
    产品标签OCR识别<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>系统方案

    请问STM32F中空闲线及地址标记唤醒功能怎么实现的?

    STM32F中空闲线及地址标记唤醒功能怎么实现的? 越细越好
    发表于 05-11 08:10

    基于深度学习的缺陷检测方案

    图像预处理通常包括直方图均衡化、滤波去噪、灰度二值化、再次滤波几部分,以得到前后景分离的简单化图像信息;随后利用数学形态学、傅里叶变换、Gabor 变换等算法以及机器学习模型完成缺陷标记检测
    发表于 04-23 17:23 873次阅读
    基于深度学习的<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>方案

    赛默斐视X射线薄膜测厚仪与薄膜表面缺陷检测

    的及时检测显得尤为重要。X射线薄膜测厚仪作为一种先进的检测设备,为薄膜表面缺陷检测提供了有效的解决方案。 薄膜表面缺陷
    的头像 发表于 04-17 15:52 342次阅读

    机器视觉如何检测橡胶圈外观尺寸检测

    外观检测 机器视觉系统可以检测橡胶圈表面的缺陷,裂纹、气泡、凹陷等。通过图像处理算法,系统能够准确识别并标记出这些缺陷。系统能够精确识别颜色
    的头像 发表于 03-15 17:24 572次阅读

    如何应对工业缺陷检测数据短缺问题?

    这篇论文介绍了一种文本引导的变分图像生成方法,旨在解决工业制造中的异常检测和分割问题。传统方法通过训练非缺陷数据的分布来进行异常检测,但这需要大量且多样化的非缺陷数据。
    发表于 03-14 10:15 463次阅读
    如何应对工业<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>数据短缺问题?

    洞察缺陷:精准检测的关键

    缺陷检测是生产过程的重要组成部分。它有助于确保产品的高质量和满足客户的需求。缺陷检测有许多不同的解决方案,特定应用的最佳解决方案取决于所检测
    的头像 发表于 02-26 15:44 336次阅读
    洞察<b class='flag-5'>缺陷</b>:精准<b class='flag-5'>检测</b>的关键

    基于深度学习的芯片缺陷检测梳理分析

    虽然表面缺陷检测技术已经不断从学术研究走向成熟的工业应用,但是依然有一些需要解决的问题。基于以上分析可以发现,由于芯片表面缺陷的独特性质,通用目标检测算法不适合直接应用于芯片表面
    发表于 02-25 14:30 1489次阅读
    基于深度学习的芯片<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>梳理分析

    2023年工业视觉缺陷检测经验分享

    表面缺陷检测任务是指通过对产品表面进行仔细的检查和评估,以发现和识别任何不符合质量标准或设计要求的表面缺陷。这项任务的目的是确保产品的外观质量和功能性满足预定的要求,从而提高产品的整体质量和客户满意度。
    发表于 02-21 14:31 1066次阅读
    2023年工业视觉<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>经验分享

    无纺布缺陷在线检测仪怎么用

    随着科技的不断发展,无纺布作为一种新型环保材料,已经广泛应用于各个领域。然而,无纺布的生产过程中难免会出现一些缺陷,如针眼、孔洞等。为了提高无纺布的质量,许多企业开始使用无纺布缺陷在线检测仪进行实时
    的头像 发表于 02-03 14:58 493次阅读
    无纺布<b class='flag-5'>缺陷</b>在线<b class='flag-5'>检测</b>仪怎么用

    描绘未知:数据缺乏场景的缺陷检测方案

    了解更多方案细节,欢迎您访问官网(Neurocle | 友思特 机器视觉 光电检测 ) 导读 深度学习模型帮助工业生产实现更加精确的缺陷检测,但其准确性可能受制于数据样本的数量。 友思特
    的头像 发表于 01-25 10:46 565次阅读
    描绘未知:数据缺乏场景的<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b>方案