基于改进FCOS的钢带表面缺陷检测算法

本文转载自人工智能技术与咨询、新机器视觉

摘要

 针对现有钢带表面缺陷检测所存在的检测效率低、适用范围有限等缺陷,提出一种基于改进FCOS的钢带表面缺陷检测算法。该算法使用含形变卷积的卷积神经网络提取缺陷特征,使用关键点特征融合增强检测模型输入,并使用中心采样策略选取训练样本优化模型训练,最后使用东北大学钢带表面缺陷公共数据集进行训练和评估。本文算法在东北大学钢带表面缺陷公共数据集上平均检测精度为74%,检测速度为31.4 FPS。

引言

作为钢铁产业的重要产品,钢带被广泛应用于各个领域。但由于设备和工艺条件的限制,钢带在生产过程中常出现划痕、裂缝等表面缺陷,不仅影响产品的外观,而且会影响产品的性能。因此,在钢带生产制造中对其进行表面缺陷检测具有重要意义。

目前,常用的钢带表面缺陷检测方法包括人工检测、漏磁检测和基于计算机视觉的检测。人工检测方法受检验人员主观因素影响较大,实时性差,误检率高。漏磁检测方法虽然成熟,但对不同缺陷的敏感度不同,漏检率高,且由于使用条件的陷制,难以大规模推广 。随着深度学习的飞速发展,基于计算机视觉的检测技术以其智能化、实时性、高精度、可靠性等优点为钢带表面缺陷检测技术提供新的解决方案 。王等人提出一种融合多级特征的Faster R-CNN算法,解决了钢带表面多样化和随机缺陷的检测问题 。戴等人设计了一种基于改进Faster R-CNN的缺陷检测算法,以解决工件表面缺陷检测的局限性和精度不高的问题,检测效果相比传统方法得到大幅提高 。李等人提出一种改进YOLOv3算法,使用加权K-means聚类算法设计检测框参数提高先验框与特征图层匹配度,并增加残差单元和大尺度特征图输出,从而增强算法对缺陷检测能力 。刘等人提出一种改进YOLOv4算法,使用轻量级深层神经网络MobileNetV3作为特征提取网络以提高模型检测速度和特征提取能力,并设计多尺度损失函数解决因正负样本不平衡而导致检测效果差的问题,在保证检测速度的基础上有效提升了精度。

然而,上述算法都是基于Anchor-based模型的实现,即需要基于先验知识给检测网络预设一组检测框,然后模型输出检测框微调参数,最终通过微调参数和检测框预设参数计算出最终模型输出的检测框,因此预设检测框的尺度和形状直接影响模型训练效果。并且由于预设检测框的尺度和形状与输入数据相关,所以Anchor-based模型设计依赖设计者对先验知识的了解,泛化能力有限。针对以上问题,本文提出基于改进FCOS的钢带表面缺陷检测算法,通过直接回归检测框参数而非对预设检测框微调实现缺陷检测,避免引入先验知识导致模型泛化能力不够问题。模型使用含形变卷积的卷积神经网络提取网络特征,增强特征提取效果,使用关键点特征融合方式丰富检测分支输入,增强模型检测效果,并使用中心采样策略选取合适的训练样本,优化模型训练效果。基于改进FCOS的表面缺陷检测算法在东北大学钢带表面公开数据集上平均检测精度(mean Average Precision, mAP)为74.0%,检测速度为31.4 FPS,性能满足当前工业生产需求。

FCOS模型结构

FCOS 模型结构如图1所示,首先使用深度卷积神经网络提取输入图像特征图,然后使用分类网络、回归网络、中心度网络对特征图上的所有特征点逐个进行检测,分类网络输出原图上以此特征点为中心的区域所含缺陷类别,回归网络输出原图上以此特征点为中心的缺陷区域,中心度网络输出特征点在原图上对应的点为中心点的概率,抑制偏心度较大的低质量检测框的输出。

6e1ed74089b1e347324016a99b579e6c.png

令 Fi∈ℝH×W×C 是第i层的特征图,s为该层总的下采样倍率,输入图像中的真实检测框定义为 {Bi} ,其中

8d85981800c38fcdc50bd72ed27f350d.png

此处

35c8e8049ad85a6c7267cde34d32b83f.png

分别为真实检测框的左上角点和右下角点的坐标, c(i)为真实检测框中缺陷的类别,C为缺陷类别个数。对于特征图 Fi上的每个位置

(x,y) ,其在输入图像上的映射位置约为 

5b6e11c50d975c1d8c834f0c89a7857c.png

与Anchor-based通过回归基于此处预设的检测框的微调参数从而得到真实检测框的方式不同,FCOS直接回归该位置的检测框,即FCOS直接将位置视为训练样本,而不是将生成的检测框视为训练样本。具体来说,如果坐标为 (x,y)的这个特征点落在真实检测框中心点一定区域内且特征点的类别标签 c* 为真实检测框的类别,则将此特征点为正样本,否则将其视为背景类负样本,即 c*=0c*=0 。除此之外,检测网络还会输出一个4维向量t*=(l*,t*,r*,b*) 作为特征点的回归结果,此处l*,t*,r*,b* 为特征点到边界框四个边的距离。

基于特征点的缺陷检测可以视作对以特征点为几何中心的矩形感受野区域的缺陷检测,因此当特征点远离目标中心时,存在特征点对应的感受野无法完全覆盖目标的情况,基于这类特征点进行目标检测时则会生成很多低质量的检测框,因此引入中心度概念,通过中心度分支抑制此类检测框。

中心度描述了从特征点到特征点对应目标中心的归一化距离,给定 l*,t*,r*,b* 时,中心度监督信号定义如下:

5f1d870cfe66b297409ef4bd187c334d.png

(1)

中心度数值范围为0到1,训练时使用交叉熵作为损失函数进行训练,测试时,特征点对应缺陷类别的最终分数由分类分数乘中心度获得,因此,中心度可以降低远离目标中心的边界框分数,使得这些低质量边界框在NMS后处理中被过滤掉,从而显著提高检测性能

FCOS的改进

形变卷积

CNN网络由卷积层和池化层组成,由于卷积层和池化层都是对固定尺度的区域进行采样,即在同一层的CNN模块的每个激活单元拥有固定尺度和形状的感受野,然而不同位置的物体的尺度和形状都是不一样的,对于尺度、形状和感受野不匹配的物体,感受野固定的CNN无法充分提取物体的特征(如图2所示)。因此,本文引入形变卷积(Deformable Convolution Network, DCN) [8] 模块增强深度卷积网络特征提取能力。

07906d66fd57b0264613d115c69a9d3c.png

图2. 3 × 3卷积感受野(红色为常规卷积感受野,黄色为形变卷积感受野)

常规卷积由两步组成:1) 在输入特征图x上对矩形网格 R区域进行采样;2) 对采样值使用权重w进行加权求和。其中网格 RR 定义了感受野的大小和膨胀比例,如 R={(−1,−1),(−1,0),⋯,(0,1),(1,1)}表示一个膨胀比例为1、大小为3 × 3的卷积核。对于输出特征图y上的每个特征点 p0,都有

8450fbb3fee6304df6e49be25f00df94.png

(2)

其中 pn为 RR 上的每个点的坐标。在形变卷积中,矩形网格 RR 使用偏移量 {Δpn|n−1,⋯,N}表示,其中 N=|R| ,则卷积计算变为

97dc4b32932c3421b9775bc5a31a86a2.png

(3)

此时采样变为非规则且基于偏移量 pn+Δp0,且由于偏移量 Δp0通常都为小数,因此公式(3)中的 x(p0+pn+Δpn)通过双线性插值实现,公式如下:

8735558cd58f1b8bc9306154abaaba99.png

(4)

其中q为特征图x上的整数空间位置, G(⋅,⋅)为双线性插值核函数,由于 G(⋅,⋅)为2维计算,可以拆分成两个单维核函数相乘:

073f8414dc5bf28b1e316426b746fb94.png

(5)

如图3所示,采样点的偏移量通过在相同的输入特征图上使用旁路卷积获得,旁路卷积核的尺度和膨胀比率与当前卷积层相同,且输出的偏移量向量空间分辨率与输入特征图相同,通道数为输入特征图的两倍,与偏移量的两个维度相对应。在训练时,同时学习用于生成输出特征的卷积核与偏移量,梯度通过公式(4)和公式(5)反向传播。

bffd4eacd8dee6135b142bd3ee3488ce.png

图3. 形变卷积网络

关键点特征融合

在FCOS中,检测网络是基于特征点进行检测,也可看作基于以特征点为几何中心的矩形感受野区域的检测,然而由于缺陷尺度、形状各异,特征点又是根据空间映射直接计算出来的,特征点感受野区域和缺陷区域可能存在一定程度的不匹配,使用此类特征点进行缺陷检测则会影响模型的检测性能。

针对以上问题,本文提出基于关键点特征融合的方式进行检测,即将原本基于单个特征点的检测拓展为基于一组关键点进行检测,使用一组关键点而不是单个特征点描述缺陷特征,丰富输入网络的信息,提升检测网络的表现。

如图4所示,左图为使用单个特征点检测,输入检测网络的信息为此特征点对应的感受野区域的信息,右图为使用关键点集合检测,输入检测网络的信息为这组关键点对应的感受野区域的综合信息,相较于单个特征点,关键点集合能够提供更丰富的缺陷信息,从而更易于后续的检测。

f97eb4f7288f6fa2eb501e8af6abeba7.png

图4. 单个特征点表征与关键点集合表征示意图(红色矩形为特征点,黄色矩形为特征点对应的感受野)

关键点集合的生成与融合使用DCN实现,如图5所示,首先使用1 × 1卷积生成2k个需要融合的关键点坐标,然后根据坐标使用双线性插值获得关键点集合对应的特征,然后使用1 × 1卷积对这些特征进行融合,并与原特征点特征合并,作为检测网络输入。

4952f99951f1900f45a730cd2600f792.png

图5. 关键点集合生成与融合

中心采样策略

在原始的FCOS实现中,只要特征点在原图上的映射点处在标注框内部,此特征点会被视作正样本。然而标注框内部靠近边缘的部分往往仍然是背景部分,因此这部分正样本实际对应的点应该属于负样本的背景部分,使用这些样本进行训练会对模型的学习造成困扰。

针对以上问题,本文使用中心采样策略选取正样本(如图6所示),即以标注框中心点为圆心,取一个比标注框更小的圆形区域,只有在原图上的映射点处于此圆形区域的特征点才会被视作正样本,这样就将大多数处在标注框内边缘、实际落在背景部分的特征点正确识别为负样本,有利于模型的正确学习。在本文提出的改进FCOS模型中,使用标注框短边的0.75作为中心采样区域的直径。

2fb6081f4edbd031f7b07c42d66de711.png

图6. 中心采样(落在绿色圆环内的特征点被视作正样本,反之为负样本)

实验结果与分析

为了验证本模型的可行性和优势,我们使用东北大学的NEU-DET数据集进行实验。

 NEU-DET数据集

NEU-DET数据集是东北大学宋克臣团队 [9] 制作的钢带表面缺陷数据集,包含6种缺陷类别,分别为裂纹(Crazing),夹杂(Inclusion),斑块(Patch),点蚀表面(Pitted Surface),轧制氧化皮(Rolled-in Scale),划痕(Scratch),每种缺陷含有300张分辨率为200 × 200的灰度图片,总样本数为1800。数据集同时提供每张图片所对应的缺陷标注信息的XML文件,标注信息包括缺陷所属类别与边界框的信息(矩形框左上角和右下角的坐标信息),共计4189个边界框。图7为NEU-DET数据集中6种表面缺陷图像的示例样本。

58d53b2e2b38e4b942f13b926cd25c50.png

图7. NEU-DET数据集缺陷样本示例

评价指标

本文采用的评价指标为COCO数据集评价指标 ,包括mAP、AP50、AP75、APS、APM、APL。COCO评价指标根据模型输出的目标类别和模型输出检测框与实标注框的交并比(Intersection over Union, IoU)判断是否正确检测到目标。其中AP50、AP75指的是IoU阈值分别为0.5和0.75时的检测精度,IoU阈值越高意味着对检测精度要求越高,mAP则是IoU阈值从0.5到0.95的平均精度。APS、APM、APL分别为对小目标、中目标、大目标检测精度,在COCO数据集中,面积小于322的为小目标,面积大于322小于962为中目标,面积大于962的为大目标。

实验结果

实验采用的硬件配置为GTX1080Ti显卡,软件环境为CUDA10.1,Cudnn7.6.4。每个批次使用8张图片进行训练,使用含动量的随机梯度下降优化参数,学习率为0.2,动量为0.9,权重衰减速率为0.0001,每个模型共训练36轮,实验结果如图8和表1和所示。

05c4bfbdcf7051e9e408617be4d12549.png

图8. 改进FCOS模型检测结果(上图为真实标注框,下图为改进FCOS输出结果)

本文在不同主流模型上进行实验对比,实验结果如表1所示。从表中可以看出改进FCOS模型在NEU-DET数据集上的各项表现均优于其他主流模型,尤其在AP75指标和APS指标上,改进FCOS相较于主流模型提升巨大,相较于Faster R-CNN,AP75提升11.8%,APS提升16.1%,相较于YOLOv3,AP75提升22.1%,APS提升25.8%。改进FCOS在不使用基于先验知识设计的预设检测框的情况下下,不仅实现了高精度检测,而且大幅提升了缺陷检测算法对小尺度目标的检测精度,证明Anchor-free算法在缺陷检测领域的应用价值。

92ecc3a3e760ddc9aee6ad9b0f9f8ed2.png

表1. 各类缺陷检测模型实验结果对比

总结

针对钢带表面缺陷检测问题,本文提出一种基于改进FCOS的表面缺陷检测算法,使用直接回归检测框的思想实现缺陷检测,避免引入先验知识导致模型性能波动和泛化性降低。在特征提取部分使用形变卷积增强卷积网络对不同尺度、形状缺陷的特征提取能力。在检测部分使用关键点特征融合方法丰富输入网络的信息。使用中心采样策略定义样本正负,提高训练样本质量,改善模型训练效果。最终改进FCOS模型在NEU-DET数据集上mAP达到74.0%,检测速度为31.4 FPS,并且在检测精确度和小目标检测上均大幅领先主流算法,证明Anchor-free思想在缺陷检测领域的应用价值,为缺陷检测模型设计提供新的思路。(本文来自人工智能与机器人研究,作者黄颀

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

6bedc5ac0d0c2833906c18392997fa0d.jpeg

▲长按加微信群或投稿,加微信:dddvision

0d096accb596befcc3af6e3f58b8919d.jpeg

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近6000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

c2d2cdd746e3ec930e4026824fdf1b55.jpeg

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值