针对工业流水线上机器视觉系统工件识别的问题,提出了一种有效的基于模板匹配的二次识别算法。在识别之前,根据已知工件建立模板库并对每个模板提取一组特征组合。一次识别采用基于像素点的匹配算法,计算待匹配图像与模板图像的像素点灰度值的整体相似性,作为一次识别系数;二次识别采用基于特征的匹配算法,计算待匹配图像与模板图像的特征区域的细节吻合性,作为二次识别系数。综合两次识别系数,两者之和最大者为最佳匹配结果。实验结果表明,本文的方法简单有效且识别率高。
工件识别是工业流水线上必不可少的步骤,其目的在于获得工件的分类、定位信息[1],以便用机器人进行分拣作业。近年来,为了提高生产效率,采用机器人替代人工劳动力越发受到重视,工件识别是分拣作业的重要步骤之一,如何提高工件识别的准确性显得尤为重要。
目前主流的工件识别方法主要有两类:一类是基于模板的匹配算法;另一类是基于学习的分类器设计的算法,以神经网络和支持向量机为代表[2]-[5]。前者实现简单,适用于分类对象已知的情况;后者原理复杂,训练成本高,分类结果可控度不高,适用于分类规则不明显的情况。
本文的分拣系统具有工件种类少,但是识别准确率要求高的特点。假设实验流水线仅包含图1 所示的两种工件,为了降低实现的复杂度并且提高结果的准确度,本文采用模板匹配算法[6] [7]。模板匹配算法的重点在于需要预先建立模板库,再将待识别的工件图像与模板进行匹配即可得出结果,其整体流程如图2 所示,将图像进行预处理之后根据匹配策略得出匹配结果。
Figure 1. The original work piece 图1. 工件原始图像 Figure 2. The flow chart of template matching 图2. 模板匹配流程图