声明:论文英文名称 -A deep region-based pyramid neural network for automatic detection and multi-classification of various surface defects of aluminum alloys

1. 相关背景

  铝合金是建筑和土木工程中最重要的建筑材料之一,广泛应用于桥梁、道路、大跨度屋顶系统、输电塔、海上油气平台等领域。然而,铝合金在生产、运输和储存的过程中,表面会出现各种类型的缺陷。下图给出了9种常见的缺陷。

(a)脏点,(b)水泡,©划痕,(d)凹坑,(e)材料不平整,(f)橘皮,(g)基底暴露,(h)杂色,(i)流痕。
  然而,现有的深度学习方法大多只关注一到两种类型的缺陷。目前还没有方法对铝合金中上述9种缺陷进行精确的检测和分类。此外,一些缺陷,如脏点,其直径通常小于5mm,对于普通的检测模型太小而无法检测。一些缺陷,如流痕,其总宽度通常比总长度小得多,是非常细的,这使得检测模型不能准确地生成包围盒。当缺陷非常小或细长时,现有的深度学习方法检测精度显著下降。

2. 创新点

  本文提出利用计算机视觉和深度学习技术实现铝合金各种缺陷的自动检测。 基于区域的卷积神经网络 (Faster R-CNN) 因其在效率和准确性方面的优势而被选为基本框架。 根据铝合金缺陷的特点,通过
(1) 特征金字塔网络 (FPN) 对框架进行优化,将低层结构信息与高级语义信息相结合,并提高小目标的特征映射分辨率 ;
(2) 在最合适的地方采用可变性卷积网络进行特征提取;
(3) 上下文 ROI 池化,用于以整个图像为参考对区域提议进行微调。
为了充分利用有限的样本,训练过程也进行了优化:
(1) 利用没有缺陷的样本;
(2) 水平和垂直旋转的样本复制。
所提出的方法在具有 10000 张图像的数据集上得到验证,与其他现有的缺陷检测和分类深度学习方法相比,该方法具有出色的性能。

3. 实现方法

  为了在实际场景中检测铝合金的缺陷,需要选择一个相对准确和高效的基线模型。 在本研究中,由于其在目标检测方面的出色性能,选择了 Faster R-CNN 作为我们的基本网络结构。 然后针对铝合金的缺陷特征,从两个角度对提出的缺陷检测模型进行优化。 从深度物体检测模型的角度来看,我们在基线中引入了三个新特征以提高其检测精度,包括(1)区域提议网络(RPN)中的特征金字塔网络(FPN),它捕获不同尺度和形状的物体缺陷;(2) CNN 中的可变形卷积操作,捕获位于不同位置的缺陷,以及 (3) 上下文 ROI 池化方法,根据缺陷的上下文获得更好的边界框。 从训练策略的角度,我们通过使用无缺陷样本和数据增强来优化训练过程。
  论文以Faster R-CNN作为基本的框架,如下图所示。

经典的Faster R-CNN由以下五个模块组成:
(1)主干,这是一个用于图像特征提取的CNN模型。在图像分类任务中,通常采用现有网络作为主干模型(如ImageNet、VGG -Net、Inception-Net)
(2)RPN网络,以图像特征为输入,用来生成大量的候选框。
(3)ROI池化层,对每个给定的区域提取固定大小的特征图。
(4)分类层,生成每个区域提议的分类概率
(5)边界框回归模块,可以很好地调整每个输出边界框的位置和大小。

3.1 Feature pyramid network (FPN)

  由于铝合金缺陷即使是同一种类的缺陷,通常也有不同的尺度,如果缺陷的尺寸非常小或变化太大,传统的检测方法很难捕捉到缺陷。在我们提出的方法中,使用ResNet - 101作为主干。通过卷积运算,提取的特征大小变为输入图像中特征原始大小的十六分之一。
  在骨干网中,来自高层的特征可能更多地关注语义理解,而来自低层的特征可能包含更多的结构信息。FPN的思想是融合上下两层的特征,生成更具鉴别性的特征,用于生成候选区域和边界框回归(如下图所示)。这使得模型在检测任务中利用更多层次或规模的特征,提高了网络的特征表达能力。

  同时将特征金字塔的提取的特征图送入到RPN网络和ROI Pooling层,对于 RPN,使用共享权重网络根据不同的金字塔层次生成不同大小的候选区域。 对于ROI-Pooling层,将不同大小的候选框映射到不同的金字塔层,以及提取的 ROI-Pooling 特征。由于我们将候选区域的生成和特征提取分配到特征金字塔的每一层,可以大大提高小目标特征映射的分辨率。 因此,可以提高对此类小缺陷的最终检测精度。

3.2 可变形卷积网络(DCN)

  在一些经典的网络模型中,例如Faster R-CNN,卷积核的大小都是固定的正方形。然而,铝合金缺陷的形状非常不规则,可以发现许多缺陷样品又细又长。 常规卷积的规则正方形没有能力准确处理这种不规则形状的缺陷。 因此,提出了一种基于可变形卷积的可变形卷积网络 (DCN),它可以使卷积对动态像素位置进行操作。 如图下图4所示,可变形卷积可以使卷积区域尽可能地集中在缺陷上。

  变形卷积网络可以动态调整计算位置,从而获得更多有用的信息。卷积的计算仍然保持不变,只是每个卷积核的采样位置变得动态,如图5所示。

  常规的卷积操作主要可以分为两部分:(1)在输入的feature map上使用规则网格R进行采样;(2)进行加权运算,R定义了感受野的大小和扩张

R={(-1,-1),(-1,0),....(0,1),(1,1)}

对于在输出特征图上的每个位置r0,通过下列式子计算:


其中rn是对R中所有位置的枚举。
  在变形卷积中,变形由前一层的特征决定。适当的变形要求前一层具有可靠的特征。因此,我们将FPN结构的最后一块改为可变形卷积,同时保持整体结构与原FPN相同。可变形卷积的操作是不同的,在可变形网络的操作中,常规的规则网格R通过增加一个偏移量进行扩张,同样的位置r0变为:
  下面来看一下可变形卷积的网络结构:如下图所示,大体流程为,在输入的feature map中,原始的通过sliding window得到的是绿框,引入可变形卷积后,我们把原来的卷积网路分为两路,共享input feature map,其中上面的一路用一个额外的conv层来学习offset,得到HW2N的输出offset,其中,2N的意思是有x,y两个方向的偏移,得到这个之后,我们对原始卷积的每一个窗口,都不再是原来规整的sliding window(input feature map中的绿框)而是经过平移后的window(input feature map中的蓝框),取得数据后计算过程和常规卷积一样,即input feature map和offset共同作为deformable conv层的输入。

  ROI Pooling模块是two-stage中常见的池化方法,基于目标检测方法中所有的region proposal。将任意输入大小的矩形调整为固定尺寸大小的feature。给定input feature map x 和一个大小为wh,位于左上角的区域r0,ROI Pooling将会把这个ROI划分为bb个bins,同时输出一个size为b*b的feature map y,可以用如下公式表示:
nij为bin中像素的数量。
  再来看可变形池化,公式如下:

  相比普通ROI Pooling,同样增加了一个offset,下图为网络结构:具体操作为,首先,通过普通的ROI Pooling得到一个feature map,如下图中的绿色块,通过得到的这个feature map,加上一个全连接层,生成每一个位置的offset,然后按照上面的公式得到△rij,为了让offset的数据和ROI 的尺寸匹配,需要对offset进行微调,此处不是重点。全连接层的参数可以通过反向传播进行学习。

3.3 上下文的ROI pooling

  在使用经典的Faster R-CNN进行缺陷检测的同时,网络首先生成一个候选框,然后对候选框进行微调以获得最终的边界框。 生成的候选框可以大于或小于目标缺陷。 对于微调,经典的Faster R-CNN利用候选区域内部的信息来识别缺陷和候选框之间的相对位置关系。 例如,在下图 (a)中,候选框(虚线框)大于缺陷(实线框)。 网络可以意识到应该向左移动候选框。 然而,当候选框(带虚线的框)小于缺陷(带实线的框)时,如下图 (b)所示,网络现在知道候选框应该扩展多少。 针对这个问题,一个直观的想法是引入上下文信息,让网络能够看到每个候选框的周围信息,从而更准确地预测box的边界。

  因此,我们提出上下文 ROI-Pooling 来涉及每个框的上下文信息。 给定一个框 B= {x,y,w,h},其中 x,y 表示中心位置,w,h 表示宽度和高度,我们将其 ROI-Pooled 特征表示为 F=R(P,B),其中 R 表示 ROI-Pooling 操作。 我们将 B 的上下文框表示为 Bc= {x,y,2w,2h},并将 B 的池化特征修改为 F=R(P,B) +R(P,Bc)。 然后这样的特征将像经典的 faster R-CNN 一样被输入到后面的层中。 提出的上下文 ROI 池化如下图所示。利用上下文信息已在图像分类的其他一些研究中实现。不同之处在于其他方法仅将全局图像特征视为上下文信息,而我们提出的上下文 ROI 池将周围区域视为上下文。 这样的设计可以帮助模型更准确地决定边界框。

4.训练策略

  深度检测模型想要表现出良好的性能,就需要大量数据进行训练,这导致了大量的标记工作。 对于缺陷检测任务,没有足够的缺陷样本进行足够的训练,而容易获取大量的正常样本(NP)。 这种正常样本与缺陷样本具有相似的全局视觉感知,只是在缺陷位置有微小的差异。 受在线困难示例挖掘(论文中的参考文献)的启发,提出利用正常样本来在线挖掘困难示例并增强分类层的能力,如下图 8所示。具体来说,在每个批次中,我们提供 相同数量的缺陷样本和正常样本进入网络。 RPN 损失仅应用于检测样本。 在 R-CNN 阶段,我们在缺陷样本中挖掘正候选区域,并在缺陷和正常样本中挖掘困难的负候选区域。挖掘的候选框被送入分类层以计算分类损失。 边界框回归损失仅适用于正候选区域。 通过这种训练方式,网络充分利用了正常样本,从而提高了其区分背景信息的能力。

  值得注意的是,铝合金上的缺陷类型是不会随着旋转改变的。当带有铝缺陷的图像以任意角度旋转时,缺陷类型不会改变。这样,我们可以通过旋转现有训练数据集中的图像和相应的边界框来获得新的训练数据。在本研究中,采用(1)水平翻转、(2)垂直翻转和(3)水平和垂直翻转作为我们的数据集增强策略,使原始训练数据集的大小增加了4倍,从而提高了训练结果。

5.实验结果

  实验数据是直接从铝生产企业收集的,数据集中共有 10000 张图像,其中 5000 张用于训练,5000 张用于测试。 训练和测试数据集划分的比例设置为1:1,与常用的比例(例如8:2或7:3)相比,更难取得好的结果。 该比率应用于每个缺陷类别,以确保每个类别都包含训练数据和测试数据。 每个图像要么不包含缺陷,要么至少包含以下缺陷之一:(1) 脏点,(2) 起泡,(3) 划痕,(4) 凹坑,(5) 不均匀材料,(6) 橘皮,(7) ) 基底暴露,(8) 杂色,和 (9) 流痕。 数据集中的铝合金由特定的生产线生产,所有样本均由领域专家进行注释。 每个类别的缺陷数量如下图所示。在这个数据集中,大多数样本没有缺陷。然而,存在大量的脏点,由于尺寸小,极难检测。

  作者将两张图像,一张有缺陷的图像和一张无缺陷的图像,输入到模型中。采用多尺度训练策略,将输入图像的短边调整为 [600,1000] 中的随机大小。 在测试阶段,我们将输入图像的短边调整为 800。我们训练模型 24 个周期,并使用随机梯度下降 SGD进行优化。 初始学习率为 0.01,在第 16 和 22 epoch 时除以 10。

  作者进行了三次实验,并在中报告了平均结果。如上表所示,我们首先将我们的解决方案与一些经典的目标检测算法进行比较。Faster R-CNN仅实现76.55%的mAP,而我们的模型提高了10%以上,实现了86.78%的mAP。我们还可以看到,我们的方法显著优于其他一些常用的检测方法,如R-CNN和Bayes, map分别为58.11%和69.13%。这表明我们的方法可以有效地处理铝合金中的缺陷检测问题,与当前的目标检测算法相比,实现了最先进的性能。

  作者还研究了各个不同的模块的有效性,实验结果如上表所示。其中使用相同的基线网络(resnet 101),NS代表补充正常的样本。我们使用包含模型(3)、模型(4)和模型(5)的集成模型来进一步提高精度。 集成是机器学习中常用的优化方法。与将所有模型集成为一个的集成不同,集成是指对多个模型进行投票的过程。 对于集成模型,每个涉及的模型都会产生自己的预测结果,然后选择大多数模型预测的类别作为最终结果。 最终的集成模型实现了 86.78% 的 mAP。

  上图为Faster R-CNN与论文提出的模型在每一类缺陷上AP的对比。可以看出,论文的模型在所有9个类别中都比经典的Faster R-CNN获得了更高的精度。优化后的模型在凹坑、凹凸不平、桔皮、基底曝光和杂色等方面表现良好,ap接近100%。
由于划痕、流痕、脏点和水泡这4种缺陷AP较低,所以作者给出了这4种缺陷的准确率和召回率的曲线,如下图所示。

  从图中可以看出,这些类别的低AP是由它们的低召回引起的,尤其是脏点和水泡。较差的召回率说明我们的优化模型在发现这些缺陷方面仍然存在严重的困难。

6.总结

  铝合金是建筑和民用基础设施工程中最重要的建筑材料类型之一,而铝合金在生产、运输和储存过程中,其表面不可避免地会产生缺陷。对这些缺陷进行检测和分类,对质量管理至关重要。然而,目前还没有有效的方法能够自动、准确地检测出铝合金的9大类缺陷,特别是当缺陷较小时或较细时。提出了一种基于计算机视觉和深度学习的缺陷自动检测与分类方法。选择较快的R-CNN作为基线模型进行检测。然后提出了4种有效的策略来优化更快的R-CNN结构和训练过程,以提高其鲁棒性:(1)采用FPN改进小目标的特征表达;(2)利用变形卷积处理异形缺陷;(3)提出语境ROI池,提高边界框生成的准确性;(4)利用无缺陷样本增强训练过程。
  实验验证表明,优化后的模型在缺陷检测方面表现突出,mAP值为86.78%,远高于R-CNN(58.11%)、Bayes(69.13%)和经典的R-CNN(76.55%)。该模型对脏点的检测从18.8%提高到51.2%,对流痕的检测从30.3%提高到67.7%,也表明该模型对细小缺陷的检测能力有所提高。然而,优化后的模型对划痕、流痕、脏点和水泡的检测能力仍然较弱。优化后的模型在4个类别中的APs分别为81.9%、67.7%、51.2%和41.8%。低召回率说明优化后的模型仍然难以检测到极小或不明显的缺陷,这受到基于视觉的方法的限制。我们未来的工作将结合我们的基于视觉的方法和其他技术,如激光扫描,以进一步提高检测性能。

基于深度区域的金字塔神经网络用于铝合金表面各种缺陷的自动检测和多分类—论文笔记相关推荐

  1. GAPNet基于图注意力的点神经网络用于局域特征探索

    2篇GAPNet基于图注意力的点神经网络用于局域特征探索 转载文章 https://blog.csdn.net/u014636245/article/details/90478608 版权声明:本文为 ...

  2. 基于深度学习和3D图像处理的精密加工件外观缺陷检测系统

    由于精密五金加工工艺特殊.零件形状复杂,表面存在金属材质纹理.加工残留纹路以及加工工艺的干扰,如切削液.油污.电镀.喷砂.氧化处理不良等.这样的金属加工件外观缺陷难以使用普通2D视觉检测系统进行高效检 ...

  3. 用于高亮反光零件缺陷的自动视觉检测系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 检查光亮.反光的零件是否有缺陷,需要采用新颖的照明和成像技术的自动成像系统 汽车配件和浴室设备等部件通 ...

  4. 论文解读:《基于注意力的多标签神经网络用于12种广泛存在的RNA修饰的综合预测和解释》

    论文解读:<Attention-based multi-label neural networks for integrated prediction and interpretation of ...

  5. 【基于深度学习的脑电图识别】数据集篇:脑电信号自动判读的大数据

    本文是由CSDN用户[Memory逆光]授权分享.主要介绍了<THE TUH EEG CORPUS: A Big Data Resource for Automated EEG Interpre ...

  6. 文献分享 基于ECG和ECG呼吸信号特征的阻塞性和限制性肺病自动检测

    原文链接https://www.sciencedirect.com/science/article/pii/S1746809421003888?via%3Dihub 摘要: 早期发现阻塞性和限制性肺病 ...

  7. 基于深度神经网络的动作检测:问题与解决方案

    目录 介绍 使用DNN进行动作检测 平衡准确性和性能 准备数据集 配置网络 结论 介绍 动作检测是视频处理中最具挑战性的任务之一.它可用于安全系统和闭路电视(CCTV),情感和手势跟踪,体育赛事分析, ...

  8. 基于深度神经网络的火灾探测声学灭火器控制

    1.文章信息 本次介绍的文章是2022年发表在Elektronika ir Elektrotechnika的一篇基于计算机视觉的火灾检测文章. 2.摘要 近年来,寻找快速.环保的灭火方法一直是一个特别 ...

  9. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  10. [翻译]2020年综述:基于深度学习的视频超分辨率

    综述:基于深度学习的视频超分辨率 Video Super Resolution Based on Deep Learning: A Comprehensive Survey 论文链接:https:// ...

最新文章

  1. LeetCode Maximal Square(最大子矩阵)
  2. 插件使用之加载自定义lua脚本
  3. ArcGIS Server--揭开你的神秘面纱
  4. Mybatis查询可能为null
  5. 文章目录列表的字体颜色修改
  6. OpenGL, GLSL, DirectX, HLSL中的矩阵存储形式
  7. 利用预渲染加速iOS设备的图像显示
  8. 如何查看电脑显卡配置_无需软件!直接查看电脑配置方法
  9. 如果买一辆二手的劳斯莱斯在三线城市跑婚车,多久能回本?
  10. android 高德地图简书,Android高德之旅(4)我的位置
  11. 好用的项目工时管理系统有哪些
  12. Circular Local MiniMax
  13. mac虚拟机服务器设置u盘启动不了,mac虚拟机如何使用u盘启动盘
  14. 2021-06-03TunePat Amazon Video Downloader使用教程:如何下载电影和电视节目
  15. python excel表格去重_EXCEL数据如何去重? Python:这事我比你熟
  16. Maya---捕捉命令
  17. 微信爱帮公交查询之公交线路查询
  18. linux红帽子认证费用RHCT,关于RHCE和RHCT认证
  19. linux下查看vnc端口_Linux的VNCServer的默认端口是多少?
  20. 辐射76服务器位置,辐射76快速升级位置分享 前中期哪些位置好升级

热门文章

  1. html5在线点餐系统源码,Web点餐系统(前端开发)
  2. mac java环境变量验证_Mac系统 JAVA环境变量配置
  3. 华为 ---- ISIS 协议
  4. matlab程序的m语言,M语言GMSK程序求教
  5. VBM法MRI图像处理——记第一次使用cat12
  6. imdisk虚拟光驱安装linux,u深度ImDisk虚拟光驱加载iso镜像文件图文详细教程
  7. biopython有什么用_Biopython简介
  8. Java生成圆角图标
  9. 计算机系统定期验证,计算机化系统验证基本原则
  10. ps3 移动硬盘 安装linux,ps3内置硬盘安装方法