APP下载

基于YOLOv3算法的多行纽扣计数

2020-11-13朱凌云

自动化仪表 2020年10期
关键词:单通道中心点传送带

李 彦,朱凌云

(1.东华大学信息科学与技术学院,上海 201620;2.数字化纺织服装技术教育部工程研究中心,上海 201620)

0 引言

对生产线的纽扣进行计数是纽扣生产流程中非常重要的步骤,而现在依然有许多纽扣生产厂采用人工计数的方法。即便是自动计数,一般也是采用机械计数、定位计量、光学计数等方法,由排队装置排列出一个个纽扣,在传送带上进行计数。姚畅[1]设计了一种采用3路传输的大批量纽扣排队与分拣设备,分拣速度较高但结构较为复杂。杨海洋[2]提出了一种粗略人群计数方法,能够实现流量预测。王杰[3]采用改进的Vibe目标检测算法实现钻杆计数。

近年来,卷积神经网络(convolutional neural network,CNN)得到了很大程度的发展[4-6]。你只看一次(you only look once,YOLO)是一种端到端的目标检测算法,其在检测速度与效率上都有不错的表现[7-10]。强恩超等[11]提出基于YOLOv3的闯红灯行人数统计系统设计,验证了在计数方面的可实现性,但计数算法不适用于目标太密集的情况。

为了保证基于YOLOv3检测后纽扣计数的高适应性和准确性,本文提出了基于YOLOv3算法的多通道纽扣计数,通过类似软件防抖的方式消除由YOLOv3算法带来的定位误差影响。采用多通道计数,提高计数效率。采用K-means++算法对纽扣标签进行聚类分析,以确定最优的检测框宽高值。

1 YOLOv3算法

YOLOv3采用端到端的检测方法,并将图像划分为S×S的网格,判断目标中心点是否位于该网格内,从而实现多目标检测。该算法在检测速度上具有很大的优势,同时可满足较高的检测准确度。

2 数据集扩增

针对纽扣数据集单一以及制作大量数据集标签困难的问题,对数据集进行扩增,有利于提高检测效率并减少不必要的时间开支。因为纽扣自身是较为对称的结构,本文对纽扣进行旋转操作,可以避免不必要的信息损失。对已打标签的纽扣图像以及标签作旋转操作(60°、90°、120°、150°、210°、240°以及300°旋转,即数据集变为原来的8倍),并对旋转后的空白处作填零处理。不同角度的旋转图像如图1所示。

图1 不同角度的旋转图像Fig.1 Rotated images at different angles

3 纽扣计数方法

目前,纽扣自动计数依然主要采用光学设备。随着机器视觉技术的发展,将有更多的工业产品采用机器视觉的方法计数。本文设计了基于YOLOv3的多行纽扣计数方法,可以准确地实现多行密集纽扣计数。

3.1 单通道纽扣计数

对于传送带上单行传输的纽扣,因为纽扣穿过图像上任意一条竖线的次数为1,可以借此来判断传送带上跑过纽扣的数量。但使用YOLOv3算法来进行定位,存在一定的定位误差,极易造成计数误差。因此,本文对此进行改变,并且使用了如图2所示的单通道计数矩形框。

图2 单通道计数矩形框Fig.2 Single channel counting rectangle

单通道纽扣计数的步骤如下。

①将采集到的图像送入YOLOv3网络,对纽扣进行检测与定位。

②获取检测到的纽扣矩形框中心点坐标,并判断其是否位于矩形框内。当连续3次以上检测到纽扣中心坐标位于矩形框,置纽扣标志位为1;当连续2次及以上未检测到中心点位于矩形框的纽扣,置该标志位为0。

③当标志位为下降沿,即标志位由1变为0时,纽扣数目加1。

基于软件消抖的思想,通过多次检测box中心点位于矩形框的纽扣,能够降低由于YOLOv3算法漏检造成的错误计数风险。

3.2 多通道纽扣计数

对于传送带上密集多行传输的纽扣,使用YOLOv3算法对其定位,并提出了一种多通道的纽扣计数方法。其实现步骤如下。

①设定K值(K值为可同时检测的通道数),初始化K条横向通道为封闭并设定宽度,初始化竖向通道为开启并设定宽度。

②设定所有横向通道的mask位(用于判断是否检测到纽扣)为0。

③获取YOLOv3检测到的预测框及其对应的中心点。

④得到所有中心点位于竖向通道内的预测框,判断这些预测框是否位于已开放的横向通道内。若是,则该通道mask位置为1;否则,置一封闭横向通道为开放,其mask位为1,设该通道位置为该中心点。

⑤根据mask位,对所有已开放的横向通道采用单通道计数方法,连续两次横向通道mask为0,则置该横向通道为封闭。

⑥回到步骤②,处理下一张图像。

4 试验与分析

4.1 纽扣数据集标签制作

纽扣数据集制作的效果,会在一定程度上影响算法检测的效果。为了与实际的检测情形保持一致,使用运动的纽扣图片作为数据集。同时,因为纽扣矩形框标签制作的效率问题,采用单行纽扣图片作为训练集,以LabelImg软件制作标签。试验表明,采用该方法检测多行纽扣,也能达到很高的检测效率。

4.2 试验环境配置与模型训练结果

本文采用的试验设备CPU与显卡分别为i5 9400F与GTX 1060 6g,操作系统为Ubuntu 18.04。模型训练结果如图3所示。由LOSS曲线可以看出,在模型进行2 000次的batches迭代后,模型LOSS基本稳定,并且维持在0.1以下,说明已基本拟合。由IOU曲线可以看出,模型IOU基本接近于1,说明矩形框拟合得很好。

图3 模型训练结果Fig.3 Model training results

4.3 基于YOLOv3算法的纽扣计数性能分析

由IOU曲线与LOSS曲线可以得出,YOLOv3算法模型已基本拟合。而在对该检测系统的测试过程中,该算法对一帧图片的运行时间约为0.07s,能够实现纽扣的快速检测。

本文针对纽扣进行实时计数检测。该算法完成了纽扣计数,能够检测传送带上是否有纽扣,以及传送带是否处于正常速度运行状态。试验结果表明,该算法能够实现对纽扣的定位以及准确计数,并能够进行实时故障监测,说明该算法具有可行性与实用性,性能也能达到要求。

5 结论

本文基于YOLOv3算法,结合多通道计数与类似软件消抖的方法,提出了一种多通道纽扣计数方法。在数据集方面,对纽扣图像集进行扩增,提高了检测效率和减少了不必要的时间开支。在试验方面,该算法能够实现纽扣的准确计数与简单的故障检测,并且能够达到较好的实时性。该检测系统能够运用于生产线,提高了检测效率与正确率,减轻了工人的劳动强度。下一步工作是在计数的同时,实现纽扣的表面瑕疵检测,以进一步提高工作效率。

猜你喜欢

单通道中心点传送带
基于联合聚类分析的单通道腹部心电信号的胎心率提取
浅探传送带模型的分析策略
教学考试杂志社“优师计划”阶段性成果展示
——“模型类”相关试题选登
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
如何设置造型中心点?
模拟电视发射机数字化改造方法的探讨
传送带模型中摩擦力的判断
模拟电视发射机数字化改造方法的探讨
寻找视觉中心点