黄德成 任德均
摘 要:随着新能源车的迅速发展,各汽车制造商正不断推出新产品。在此背景下,各类工件供应是否齐全成为相关企业关注的重要问题。文章设计了一种基于机器视觉的工件计数系统。该系统具有视觉成像系统,能够对多种工件进行图像采集。同时系统还设计了一套简单易操作、功能完备的工件计数软件,满足实时统计和工件种类拓展的需求。为了稳定监测工件位置信息,还设计了一种模拟光电传感器的算法替代实物光电传感器,减少系统受干扰的可能性。最后,运用YOLOv5目标检测算法,实现了99.9%的检测精度。
关键词:机器视觉;模拟光电门;目标检测;计数软件
中图分类号:TP389.1;TP391.4 文献标识码:A 文章编号:2096-4706(2023)16-0171-05
Design of Workpiece Counting System Based on Machine Vision
HUANG Decheng, REN Dejun
(School of Mechanical Engineering, Sichuan University, Chengdu 610065, China)
Abstract: With the rapid development of new energy vehicles, automakers are constantly introducing new products. In this context, whether the supply of various workpieces is complete has become an important issue for relevant enterprises. In this paper, a workpiece counting system based on machine vision is designed. This system has a vision imaging system that enables to carry out image acquisition of a wide range of workpieces. At the same time, the system also designs a set of easy-to-operate and fully functional workpiece counting software to meet the needs of real-time statistics and workpiece type expansion. In order to stably monitor the position information of the workpiece, this paper also designs an algorithm that simulates the photoelectric sensor to replace the physical photoelectric sensor, so as to reduce the possibility of system interference. Finally, the YOLOv5 target detection algorithm is used to achieve a detection accuracy of 99.9%.
Keywords: machine vision; analog photoelectric door; object detection; counting software
0 引 言
在汽車工业当中,汽配维修是一个长期的领域。对于汽修厂而言,因汽车零部件的替换维修等业务,需要对各类零件进行存储统计以方便调用。因汽车品牌及款式众多,对应的零件种类更加纷繁复杂,且相当一部分汽车零部件为金属器件,大量的搬运和人工计数统计对维修人员而言耗时费力且效率、准确度均不高。
目标检测技术是计算机视觉以及机器学习中的重要研究领域,而视觉检测在计数领域主要应用于农牧业和水产养殖业等。田冉等[1]在2016年通过红外传感器与机器视觉融合的技术替代人工对果树诱捕靶标害虫进行检测,实现了远距离、大面积、可持续的果树害虫检测技术支撑。中国计量大学古亭[2]在2020年运用机器视觉对蚕茧进行计数和分类识别,在预处理和二值化的基础上,采用距离变换的方法对蚕茧进行准确计数。2021年,鞠文辉[3]使用YOLOv3算法在单帧图像中对麦穗进行检测,从而完成对小麦产量的预估,同时用Faster R-CNN算法对水流中浮游生物进行目标检测计数。
上述文献中处理机器视觉检测计数问题多以传统视觉算法为立足点,对图像进行BLOB分析,在形态学处理以及阈值分割等操作下找到合适的提取方法。此类方法需要人工对特定类别图像目标物进行特征分析和提取,具体算法仅适用于特定目标物,不具备通用性。且农牧业及水产养殖业大多不具备稳定的机器视觉成像采集环境,例如内蒙古科技大学李雪冬[4]在对羊群的计数追踪研究中因数据缺乏,采用无人机进行跟拍采集对应数据,天气情况以及地理环境背景完全不稳定,给传统算法设计以及特征提取带来了很多困扰。考虑到工业厂家在生产线上对小型零部件的统计计数需求,以及称重计量的较大偏差和传统人工计数错误率高、劳动力强度大、效率低、不稳定等固有缺点。本文设计了一套通用的工件计数检测系统,通过设计的机械分堆结构进行工件分摊,形成姿态角度随机但无重叠的成堆工件,通过图像采集硬件系统,结合传统图像处理以及深度学习目标检测算法进行实时检测,对各类小型生产工件进行识别计数统计。
1 软硬件方案设计
本文工件计数系统结构由机械分堆控制模块、光源成像采集模块、软件操作模块和检测算法模块四部分构成。机械分堆控制模块运行流程图如图1所示,金属挡板闭合阻止工件前进从而形成分堆,金属挡板由PLC控制的电机驱动,PLC根据传送带传送速率控制挡板开闭时间,使分堆零件数量大致相同。硬毛刷转动扫下重叠的零件,避免工件相互间遮挡。
光源成像采集模块布局在机械分堆控制模块后,采用顶部摄像、常亮条光及方形外壳搭配拟合为灯箱光源的效果,同时根据工件生产环境,工件生产往往多附带油污以及灰尘,因此本文选用深色传送带,以抑制带有黑色油污的工件进入传送带时对传送带造成的污染,有效减缓算法处理过程中由于图像背景颜色差异过大导致的干扰。本文选用海康威视CE050-30UC彩色工业相机搭配6 mm镜头构成成像硬件系统。成像硬件布局示意图与实景图如图2所示。
本文在Visual Studio 2019上基于Winform框架设计制作了工件计数设备的操作软件,包含登录界面和操作主界面。主界面中包含两个picture box窗口camwindow和camwindow2。camwindow位于主界面左侧用于实时显示成像系统采集的图像,camwindow2用于显示上一批次工件检测效果,便于用户实时监测设备运行情况及准确度。
2 模拟光电传感器
光电传感器[5]通过把光强度变化转化为电信号进行信息发送,工业生产过程中常使用光电传感器来探测物料在传送带上的运行位置,并结合软件和算法对设备运行进行控制。但由于工业生产环境的复杂性,光电传感器因探测的方式决定其需要靠近物料,实际运用过程中相当一部分光电传感器是以裸露在外的方式进行使用。长时间情况下,光电传感器容易在物料搬运转移过程中被破坏,多数生产车间在长时间运作的过程中会有灰尘杂物等累计,这也会对光电传感器的功能稳定性造成干扰。对于企业生产以及设备检修都会造成延误以及资源损耗。
2.1 传感器算法逻辑
本文使用算法实现了一个模拟光电传感器,用于感知进料口和出料口工件堆的位置以及辅助计数,实际使用过程中达到了替代实物光电传感器的作用。以无工件的背景图案作为模板,设备所拍工件照片进行目标面积值对比。设定ROI位于成像视野中部、灰度差异阈值用于判定是否进料、差异面积值用于判定进料是否完整。计算式如下:
Δarea = Spinture - Smodel (1)
Spinture为采集图片中高于设定灰度阈值的面积大小,Smodel为背景模板对应的超出灰度阈值的面积值,Δarea为二者面积差。
2.2 综合计数数量判断流程
根据机械分堆控制模块中传送带运行速率与挡板开闭控制的搭配,工件被较为均匀分堆送入成像系统,相机拍摄时间间隔也会有相应调整,使每堆工件在成像区域划定的ROI区域内被完整拍摄,软件调用深度学习模型对每张图片进行检测,得到该图检测计数数量,本堆零件完成拍摄计数后,以所有图片的计數众数作为实际数量录入总数进行叠加。若众数不止一个,则取所有数据的中位数为中值。
2.3 ROI检测区域设定
本文在成像区域前后端均设有模拟光电传感器,入料口灰度差异面积值达到阈值时再调用深度学习模型,此时工件堆已经完全进入成像视野范围,当出料口灰度差异面积值达到阈值时,说明此时上一堆零件已经基本走出成像视野范围且下一堆零件尚未达到入料口光电传感器,由此ROI检测区域设定来确保用于检测的数据为对应的分堆图像,同时,确保设备运行速度及效率在较高水准。模拟光电传感器运行效果图如图3所示。
3 YOLOv5检测算法
YOLO系列算法作为One-stage的代表性算法,把目标分类与定位均转化为回归问题,相比于Faster-RCNN等两阶段系列算法,YOLO系列算法在检测精度上稍逊,但在检测速度上展现出明显优势,在工业的应用场景中广受欢迎。YOLOv3[6]借用ResNet[7](残差网络)的优点,改进提出DarkNet53网络进行特征提取,并引入特征金字塔(Feature Pyramid Networks)[8]进行多尺度预测。YOLOv4继续改进,加入Mosaic数据增强法,分为输入端、Backbone、Neck以及预测四个部分。YOLOv5紧跟YOLOv4提出,在原有的基础上不断创新集成,在准确度上与YOLOv4相当的同时,在速度上远优于YOLOv4,模型明显轻量化,有利于在工业中进行部署,是深度学习现有技术的优化整合。
本文选用YOLOv5目标检测对工件进行计数统计,YOLOv5共有4个版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,区别在于网络通道数量以及模块堆叠次数不一致,模型大小也因此不同。结合计数项目实际检测需求,本文选择YOLOv5s作为检测模型。
YOLOv5网络结构分为输入端、骨干网络(Backbone)、颈部(Neck)以及预测(prediction)四个部分。输入端保留YOLOv4中的Mosaic数据增强方法,把4张图片随机缩放、随机分布和随机裁剪,最后拼接整合成一张图,达到丰富数据集和提升网络训练速度的目的。Backbone模块用于提取图像特征,采用Focus结构与CSP结构相结合的方式。Focus结构通过slice操作对图像进行切片,slice操作用等距离的方式提取图像原图中的对应像素,然后按照原图行列关系进行对应拼接,循环依次对图像所有像素进行相同操作,最终原图被裁剪为几张等大的小图,再经过Concat操作把所有完成裁剪的小图合成多通道的图像序列用于与后续卷积核进行特征提取。YOLOv5在保留YOLOv4设计的包含残差模块的CSP结构的同时,另外新增了叠加卷积模块的CSP结构。Neck网络中与YOLOv4相同,仍然保留FPN+PAN[9]结构,强化不同层之间的特征融合,增强多尺度上进行预测的能力。预测模块用于模型的最终检测。YOLOv5框架结构如图4所示。
4 实验结果与分析
本文数据集采用自制的数据集,以某汽车配件厂提供的工件作为样品,搭建本文实验平台,使用Labelimg对采集到的数据进行数据标注,类别名为工件生产的实际名称,生成平行框xml数据集后,数据集以7:2:1比例划分训练集、验证集以及测试集,以VOC2007文件格式导入YOLOv5进行训练。
本文选取三种在形状、颜色、大小、材质上各有异同的工件进行实验,来验证所选YOLOv5s网络在各类工件检测中的普适性和通用性。20-P007与28-T001外观上均为圆形,体积大小稍有不同,材质均为硬性塑料,28-T001尺寸最小,单个工件标注框大小约为70×70,同时30-2001与其他工件相比传送带背景相比和传送带背景更为接近,材质为软塑料,相比其他两种工件更易变形。三种工件均在同一成像环境、硬件条件以及拍摄距离下进行采集。工件图样如图5所示,训练后测试结果如表1所示。测试集原图效果图如图6所示。
定量评价方面,选取的指标为:召回率(Recall, R)、准确率(Precision, P)[10]、平均精度均值mAP(mean Average Precision)等。计算式如下:
(2)
(3)
(4)
(5)
上式中TP表示IoU≥设定阈值的检测框数目;FP表示IoU<设定阈值的检测框数目;FN表示漏检的目标数目,mAP表示平均精度,n表示检测目标类别数。
YOLOv5中损失包含三个部分:矩形框损失(lossrect)、置信度损失(lossobj)、分类损失(lossclc)。总体损失为三部分损失的加权和。损失函数如下:
loss = a · lossobj + b · lossrect + c · lossclc (6)
其中a、b、c分别表示三种损失的权重。
本文使用CIoU loss[11]来衡量矩形框的损失。DIoU把两矩形框的重叠面积以及中心点距离用于损失计算,CIoU在此基础上把两矩形框的宽高比作为影响因素带入计算,公式更加合理:
lossCIoU = 1 - CIoU (7)
(8)
(9)
(10)
其中,ρ表示两矩形框中心点之间的距离,c表示两矩形框的最小外接矩形的对角线长度,v表示两框宽高比的相似度,α表示v的权重,IoU表示两矩形框面积的交并比值。预测矩形框左上角坐标为(xp1,yp1),右下角坐标为(xp2,yp2);标签矩形框左上角坐标为(xl1,yl1)、xl2,yl2)。
实验训练了200轮,由表1分析可知,实验条件下,工件的计数准确度可达99.9%,满足企业的生产检测需求。
5 结 论
本文针对工业中批量工件识别计数的实际需求,设计开发出一套工件识别计数系统。通过光源与机械结构的搭配构造出灯箱光源的成像效果,形成具备通用稳定的视觉成像环境,满足多类别工件的成像采集需求;在winform软件框架下设计出一套简单易观察的操作软件,满足实时检测和统计的生产需求。算法中选用了YOLOv5s目标检测模型,检测速度快的同时,在少量数据用于训练的情况下即可达到极高的检测精度;同时还使用算法模拟实现了光电传感器的功能,效果稳定,减少了系统可能受到的干扰。
参考文獻:
[1] 田冉,陈梅香,董大明,等.红外传感器与机器视觉融合的果树害虫识别及计数方法 [J].农业工程学报,2016,32(20):195-201.
[2] 古亭.基于机器视觉的蚕茧计数与识别研究 [D].杭州:中国计量大学,2020.
[3] 鞠文辉.基于深度学习的视觉计数方法研究 [D].济南:山东师范大学,2021.
[4] 李雪冬.基于计算机视觉的羊群计数算法研究与实现 [D].包头:内蒙古科技大学,2021.
[5] 颜晓河,董玲娇,苏绍兴.光电传感器的发展及其应用 [J].电子工业专用设备,2006(1):59-62.
[6] REDMON J,FARHADI A .YOLOv3:An Incremental Improvement [J/OL].arXiv:1804.02767 [cs.CV].(2018-04-08).https://arxiv.org/abs/1804.02767.
[7] HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Las Vegas:IEEE,2016:770-778.
[8] LIN T Y,DOLL?R P,GIRSHICK R,et al. Feature pyramid networks for object detection [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Honolulu:IEEE,2017:2117-2125.
[9] LI H,XIONG P,AN J,et al. Pyramid Attention Network for Semantic Segmentation [J/OL].arXiv:1805.10180 [cs.CV].(2018-05-25).https://arxiv.org/abs/1805.10180v1.
[10] 任秋霖,任德均,李鑫,等.基于卷积自编码器的医用玻璃瓶口缺陷检测方法 [J].计算机与现代化,2022,324(8):114-120.
[11] ZHENG Z,WANG P,REN D,et al. Enhancing geometric factors in model learning and inference for object detection and instance segmentation [J].IEEE Transactions on Cybernetics,2021,52(8):8574-8586.
作者简介:黄德成(1997—),男,汉族,四川成都人,硕士研究生,研究方向:机器视觉、深度学习;通讯作者:任德均(1971—),男,汉族,四川成都人,副教授,硕士生导师,博士,研究方向:机器视觉、机器人、嵌入式系统、机电一体化。