一种基于特征点的管材表面缺陷视觉检测方法
2022-01-25郑建聪谢麒麟韩家明
郑建聪,谢麒麟,方 挺,韩家明,董 冲
(1.宝山钢铁股份有限公司钢管条钢事业部,上海 201900;2.安徽工业大学电气与信息工程学院,安徽 马鞍山 243032)
金属管材是重要的冶金产品,广泛用于建筑、汽车及电力等行业[1]。随着国际经济的快速发展,各行业对管材表面质量提出了更高的要求。管材在生产、加工以及搬运过程易产生污秽和损伤两类表面缺陷。表面损伤可分为点状损伤和线状损伤,其比污秽的危害更大,不仅增加销售难度,后续加工时还存在安全隐患。长期以来,管材表面缺陷检查依赖传统的人工观察方法,该方法效率低下、成本较高,且典检人员会因长时间观察不可避免地出现疲劳,易导致误检和漏检[2-3]。针对这一问题,科研人员在分析管材内外缺陷产生原因的基础上[4],提出了基于超声波[5]、漏磁[6]及涡流[7]的表面缺陷检测方法。超声波检测为接触式测量,对管材生产线的空间布局要求较高;漏磁检测需经常标定,维护成本较高;涡流检测的探头易损伤,且易产生误报。因此,有必要设计一种非接触式的管材表面缺陷检测方法。
随着科学技术的发展,机器视觉技术在缺陷检测领域逐渐发挥重要作用。在加工制造业,文献[8]提出了一种基于YOLOv2的手机镜片缺陷视觉检测方法;文献[9]设计了一种基于机器视觉的芯片引脚缺陷检测系统。在日常生活中,文献[10]搭建了一种针对平面口罩缺陷视觉检测系统,引入深度学习网络对不同口罩缺陷建模学习;文献[11]针对油炸花生的饱满度、褶皱度等视觉特征设计了一种自动分拣系统,检测已知类别花生种类准确率可达95%。由上述研究成果可发现,基于机器视觉的缺陷检测技术较为成熟,拥有较多可借鉴的技术方案,具备工程实用的可行性。管材表面点状缺陷和线状缺陷的成像特征独特,具备采用机器视觉算法开展检测的先决条件,但目前极少见相关具体检测方法。鉴于此,设计一种基于机器视觉的金属管材表面缺陷检测方法,用于检测管材表面点状和线状缺陷,且通过可视化实验验证所提方法的可行性和准确性,旨在提升表面缺陷检测效率的基础上降低企业的运维成本。
1 数据采集和算法设计
1.1 缺陷图像采集
搭建管材典型缺陷图像采集平台,如图1。搜集具有典型缺陷的管材并对其进行编号,使用日光灯对待测管材表面进行补光后,使用摄像头自上而下拍摄管材表面。通过搭建的实验平台采集管材缺陷图像样本,可有效模拟管材在生产线上的成像状态,为其表面缺陷检测创造条件。
图1 典型缺陷图像采集实验平台Fig.1 Typical defect image collection experimental platform
1.2 算法设计
搜集的管材典型表面缺陷为点状缺陷和线状缺陷,如图2。线状缺陷与直线状的光线相似度较高,通常存在两个端点,这两个端点与点状缺陷较相似。因此,可将线状缺陷视为点状缺陷的特例,通过点状缺陷检测算法对其进行检测。
图2 管材表面典型缺陷Fig.2 Typical defects on pipe surface
进一步分析可知,点状缺陷所在区域和其周围区域存在明显的图像灰度差,因此文中考虑采用图像特征点检测算法检测缺陷点所在区域。现有图像特征点检测算法主要有ORB(oriented FAST and rotated BRIEF)[12]、SIFT[13]和SURF[14]算法。SIFT 算法和SURF 算法在求解主方向时对局部区域的梯度方向依赖较高,且对图像色彩信息利用率不高。ORB 算法在一定程度上不受图像变换和噪声的影响,具有准确性高、运算速度快等优点,被广泛用于同步定位与建图(simultaneous localization and mapping,SLAM)[15]和图像拼接[16]等环节。鉴于ORB 算法技术成熟且优点明显,文中采用ORB算法检测图像中的点缺陷。
值得注意的是,采集的管材缺陷图像包含部分无用背景,这些背景存在肉眼难以发现的图像干扰,对缺陷检测带来较大影响。管材在图像中的位置通常稳定在某一大致区间,因此可针对图像设定感兴趣区域(region of interest,RoI),将RoI 设置为后续待检测区域,其他区域不予处理,这样既可减少图像背景的影响,又可提升缺陷检测效率。文中采用的ORB算法中,使用FAST算子搜寻缺陷图像的特征点,具体步骤如下:
1)随机选取管材表面缺陷图像中的一个像素点P,设其灰度值为LP;
2)设定像素灰度对比阈值T,将像素点P与其水平和垂直方向的4个像素进行对比;
3) 若点P与其领域内N个像素存在对比差异(设N为3),则认为点P为一个ORB特征点。
在上述步骤的基础上,将检测到的特征点设为圆心,以圆心与取点区域的形心连接线为横坐标构建特征点描述子。本文算法流程图如图3。
图3 本文算法流程图Fig.3 Flowchart of the algorithm in this paper
2 实验结果分析
2.1 算法性能分析
实验平台为Visual Studio Software,同时配置OpenCV 图像处理库构建算法编程的软件平台。选取典型管材缺陷图像进行算法实验验证,结果如图4。
图4 检测结果可视化效果Fig.4 Visualization of detection results
为便于肉眼观察,使用黑色记号笔标记缺陷所在的大致区域,标记痕迹的颜色比缺陷颜色深。图4(a)为点状缺陷检测结果,包含RoI 图像和检测结果两部分信息。分析图4(a)可知:通过设置合适的RoI 区域可删除大部分无关图像背景,有效保留了待检测的管材区域;采用本文提出的检测算法在准确检测出真实缺陷点所在位置的同时,还检测出了黑色记号笔的标记痕迹,说明本文算法对图像灰度变化区域较敏感,具备准确检测不同灰度缺陷的能力;采用本文算法检测该图缺陷的时间约0.32 s,速度较快,说明本文算法具备工程应用的潜力。分析图4(b)可知,本文算法不仅可准确检测出线状缺陷的端点,还可检测出图像右侧未标记的线状缺陷端点。为验证本文算法在无干扰状态下的检测效果,选取一幅典型缺陷图像并擦除黑色记号笔的标记痕迹,结果如图4(c)。分析图4(c)可知,本文算法可准确检测出图像中的缺陷点,检测时间约0.35 s。
随机选取50 幅包含缺陷的管材图像,采用文中算法对其进行检测。在实际检测过程中,无论某管材上有多少个缺陷点,只要检测出其中一个缺陷点即可判定该管材存在缺陷,认定算法检测成功。在上述约定下,本文算法的检测成功率约92%,说明本文算法的检测准确率较高。
2.2 算法实时性分析
为进一步展示本文算法的检测效率,随机选取部分图像的检测时间,结果如图5。分析图5 可知,本文算法的平均检测时间约0.32 s,说明本文算法具备快速检测管材表面缺陷的潜力。
图5 本文算法检测时间Fig.5 Detection time of the algorithm in this paper
3 结论
设计一种基于ORB 特征点的管材表面缺陷检测方法,通过采集典型缺陷图像构建样本集,分析缺陷的成像特征;设置RoI 区域减少图像背景对检测过程的干扰,使用ORB算法检测管材表面的缺陷。实验结果表明,本文算法的检测准确率约92%,平均检测时间约0.32 s,检测准确率较高且检测速度较快,具备较高的工程实用价值。