精冲零件实时分拣技术研究
2022-11-08张昊武中国机械总院集团机电研究所有限公司
文/张昊武·中国机械总院集团机电研究所有限公司
彭群,杜贵江,李峰·北京机电研究所有限公司扬州分公司
为解决生产线上精冲件正反面实时分拣的问题,提出了一种基于像素点分割的判别算法,从提取的ROI 中心对图像进行n(n>3)等分,计算每份中非零像素点数量,并由此组成一个特征向量,然后通过计算待检测图像和模板两者的特征向量的欧氏距离,根据其结果设定阈值用来判别正反面。基于此算法设计开发了一套检测系统,整体平均运行速度达到2.68ms/件,准确率达到99.99%。
问题提出的背景
精冲零件的几何形状、尺寸和形位公差以及剪切面的质量都远优于普通冲裁的零件,因此精冲工艺在汽车零件制造和航空航天等相关领域发挥着很大作用。利用机器视觉检测,按照零件的正反面进行分拣,可减少人工,极大地提高生产效率,便于后续的直接装配、去毛刺和打包装箱等生产流程。
对于小型零件,模具往往采用多型腔设计,一次冲裁可以成形多个零件(2 ~6 个)。这种短时间内成形多个零件的工作节拍,会导致一个周期内掉落在送检传送带上的零件间隔较小,在传送带长度有限的情况下,不能很好的将其间隔变大。在利用机器视觉进行检测时,间隔较小对于触发拍照的方式也有影响,即:当第一个零件还没有走出拍照区域,第二个零件就触发了拍摄开关,存在拍摄不到完整零件或者将上一个零件拍进照片的可能。
另外实际生产环境中油污、灰尘及零件料渣等可能对传感器探头造成一定遮挡,使触发阈值发生变化;以及未去除的废料粒触发了开关,这些都有可能导致拍摄不到完整零件或将上一个零件再次识别,从而无法对零件进行检测判断。因此,急需一种快速稳定的检测技术对零件进行目标识别与正反面判断,以解决上述问题。
目标识别
为了解决触发拍照带来的问题,本文使用视频模式连续拍摄,对目标的完整性提出了以下判断方法。其可以对出现在视野里的零件依次追踪编号,由此可以将检测结果与每个零件一一对应上,通过相关信息的判断语句,在每个零件完全进入相机视野时,对其进行判断。新零件出现在视野中时赋予其新编号,退出视野时取消其编号。其中关键在于,如何判断目标完全进入视野和退出视野、检测以及目标跟踪。
首先用最小外接矩形框住进入视野的目标,然后设置两个条件语句。条件一,矩形短边的长度超过一个阈值;条件二,矩形中心点跨过“绊线”(图1 中绿色竖线)。若条件一,二均为真,则认为该目标完全进入视野,没有处于视野之外的部分,并且提取矩形框中的图形作为ROI,流程图如图2 所示。目标进入视野时的情况如图1 所示,时刻1 中,右侧零件满足条件一、二,矩形框为绿色表示已标记,标记为01 号零件;左侧零件不满足条件一、二,矩形框为蓝色表示未标记,不进行标记编号。时刻2 中,左侧零件越过绊线,满足条件一、二,矩形框变为绿色,标记为02 号零件。
图1 目标进入视野的情况
图2 判断是否进入视野的流程图
零件的正反判断
位姿矫正
由于零件掉落到传送带上位姿是随机的,以图3为例,往往与模板之间存在一定的角度差异,以矩形框最下方一点为原点,过原点的水平线为角的始边,过原点且位于原点右侧的矩形的一边为终边,始边与终边所夹锐角为角度差异θ。逆时针旋转θ 角度后,最小外接矩形连同零件的图像被转正。转正后的图像位姿与4 个模板(图4 中a-d)其中之一相同。
图3 待检测图像ROI
基于像素点分割的判别算法
将图4a 的模板,以中心点为原点,按图5 的方式进行四等分,分别计算各象限的黑色像素点数量。对于复杂的图形,可以进行大于4 的等分。模板从第一象限到第四象限的黑色像素点数量组成向量a,以a 中最小值为第一个元素,同样按照逆时针排序,得到向量b,b 作为模板向量。转正后的待检测图像以同样方法进行分割,从第一象限到第四象限为c,拼接两个c 得到d。计算c 中最小值的索引为cmin,可以得到新的向量e,e 作为待检测向量。向量a-e 见式1。
图4 模板
图5 分割图
随机抽取20 个零件检测,结果如图6 所示。结果表明,正面零件的欧式距离均大于500,反面零件的欧式距离均小于200。可以设定判别阈值为350,据此来判别图像的正反面。
图6 欧氏距离分布图
算法的实现与比较
根据本文提出的基于像素点分割的判别算法,利用C++编写代码,实现目标识别、ROI 提取和正反面判断功能。被判断为反面的零件,使用气缸或机械臂将其放置于另一条传送带上,完成正反零件的分拣操作。若有需要可采用翻面机构将反面零件翻正,便于后续的去毛刺、打包装箱和装配等生产流程的进行。
连续采集100 件,整体的平均运行速度可达2.68ms/件,其中正反面判别部分的速度可达1.00ms/件,能够满足在20 ~60 帧/秒的视频采集条件下运行。判别速度高于OpenCV中matchTemplate算子的5.00ms/件。本文算法与Hu 不变矩方法的判别速度相当,但其在实时检测的情况下,误判率更低,稳定性更好。
结论
本文针对精冲零件,提出了一种用于正反面识别的基于像素点分割的判别算法。由此开发了一套精冲件实时分拣的技术,搭建了零件正反面检测系统并进行了实验验证。研究结果表明:
⑴检测系统运行流畅,本文算法切实可行;
⑵检测系统对单个零件的检测时间为2.68ms;
⑶检测系统对精冲零件正反面判断的准确率达到99.99%。
研究成果对类似场景下其他产品正反面判别及实时分拣技术的研发具有借鉴意义。