易焕银,郭新,王贵恩,郝建豹,林子其,邱桂茂
(广东交通职业技术学院,广东广州510800)
四方垫片(图1)是一种常见的机械部件,其内圆的加工质量是后续组装应用的关键,而在生产过程中容易出现内圆边沿处不完整、含有突出部分等缺陷。传统人工检测方法主观性强、效率低、工人易疲劳,导致产品质量管理成本较高,因此采用具有高准确度和高稳定性的机器视觉技术进行检测是大势所趋。关于垫片的视觉测量研究,文献[1]采用Hough变换对垫片边沿轮廓提取、拟合和内外径测量。
图1 四方垫片
算法由内圆边沿点的获取和检测这些边沿点是否为缺陷位置两部分构成,前部分包括下述步骤1~6,后一部分包括步骤7~8,见图2。
步骤1:利用工业相机捕获垫片图像(本实验捕获图像为500万像素:2448*2048),如图3,关键点为采用LED背光源,光源强度调至边界清晰可分。
图2 算法流程
步骤2:根据文献[2]中的方法定位四方垫片的中心点P0。
步骤3:根据设定阈值对原图进行反向二值化,本实验中阈值设为230,将灰度值小于230的像素位置设为1,否则设为0。
步骤4:根据文献[3]中的方法对二值图进行连通域标记。
图3 捕获的垫片原图
图4 二值化图
步骤5:将二值图中除了最大面积的连通域之外的所有像素置零,目的是消除垫片内圆中的噪点对边沿点定位造成的干扰。
步骤6:在Step5获得的二值图中,以Step2的中心点P0为圆心,将整个圆平均分为N段(本实验中N取50),从设定起始半径R1开始(本实验中R1取50)到结束半径R2为止(本实验中R2取480)的线段上搜索,找到的第一个值为1的点即为四方垫片的内圆边沿点。图5和图6中的50条线段里面的内接小圆为各线段的起始点,外接大圆为各线段搜索截止点,线段上黄色小圆点为搜索到的内圆边沿点。
步骤7:在各边沿点到搜索中心点P0的距离集合C1中获取中位数,将C1中与中位数相差的绝对值小于指定阈值(本实验中取20)的边沿点保存到集合C2,对集合C2中的点进行最小二乘法圆拟合,得到拟合圆C的圆心P和半径R。
步骤8:计算各边沿点到Step7中圆C的圆心P距离d,若d与圆C半径R之差的绝对值大于指定阈值(本实验中取10),则判定该边沿点为内圆缺陷位置。
图5 正常垫片的检测结果
图6 缺陷垫片的检测结果
实验中,若检测通过则在图片右上角显示为“OK”,并将所有搜索线段标记为绿色;若检测不通过则在图片右上角显示为“NG”,并将缺陷位置所在的搜索线段标记为红色。图5为正常的四方垫片示例的检测结果,图6为内圆有缺陷的四方垫片示例的检测结果,测试时二者位置均为任意摆放,图6显示算法可以成功检测缺陷位置,并将问题边沿点所在的搜索线段标记为红色。
本文提出了一种基于机器视觉的四方垫片内圆缺陷检测方法,能够对任意摆放的四方垫片检测其内圆是否存在边沿处不完整、含有突出部分等加工缺陷,算法的运行效率、准确性都适用于工业检测应用。