在工业自动化生产中,机器视觉技术广泛的应用于汽车、制药、3C制造等行业。机器视觉检测是指利用获取的产品图像作为检测和传递信息的手段和载体,以实现替代人眼进行一些尺寸测量、工件定位、产品合格与否的检测。由于在视觉检测中不需要接触待检测的产品,所以不会损坏待检产品,并且视觉检测进度高,因此在测量领域具有非常明显的优势,并得到的广泛应用。
工业视觉检测,因为在特定环境下,一般会选择光源补充照明从而提高检测准确率和稳定性。在轮廓检测项目中,如果没有安装限制的话,直接使用背光源进行拍摄,可以使用常规的面光源。如果精度要求比较高,则建议使用平行光源。
一般轮廓检测首选背光,因为背光的照射方式是从下往上(如下图3),相机成像时被物体挡住部分成黑色,反之成白色,形成鲜明对比。
![82be07d4e700b3f11fd28f358e2ec36b.png](https://img-blog.csdnimg.cn/img_convert/82be07d4e700b3f11fd28f358e2ec36b.png)
图1 原图
![4e03ab630971c18b4ef82168539879a4.png](https://img-blog.csdnimg.cn/img_convert/4e03ab630971c18b4ef82168539879a4.png)
图2 物体背光后的图片
![c5f98e24d4c970bd80978430f0360d72.png](https://img-blog.csdnimg.cn/img_convert/c5f98e24d4c970bd80978430f0360d72.png)
图3 光源照射方式
常用的轮廓提取方法:传统方法是边缘检测算子检测目标轮廓。
基于边缘检测的轮廓检测方法是一种常用的视觉处理方法,它主要定义了亮度、颜色等特征的突变,通过标识图像中亮度变化明显的像素点来完成边缘检测,边缘检测通常将图像与微分算子卷积。常借助于Sobel算子、Roberts算子、Prewitt算子、Laplacian算子和Canny算子等,来提取工件的轮廓边缘。
几种边缘提取算子的比较:
Robert算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图像边缘可能大于2个像素。这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。LOG滤波器方法通过检测二阶导数过零点来判断边缘点。LOG滤波器中的a正比于低通滤波器的宽度,a越大,平滑作用越显著,去除噪声越好,但图像的细节也损失越大,边缘精度也就越低。所以在边缘定位精度和消除噪声级间存在着矛盾,应该根据具体问题对噪声水平和边缘点定位精度要求适当选取。
梯度算子计算简单,但精度不高,只能检测出图像大致的轮廓,而对于比较细的边缘可能会忽略。Prewitt 和Sobel 算子比Roberts 效果要好一些。LOG 滤波器和Canny 算子的检测效果优于梯度算子,能够检测出图像较细的边缘部分。不同的系统,针对不同的环境条件和要求,选择合适的算子来对图像进行边缘检测。
轮廓提取完后有时候需要进行轮廓匹配,从而识别样品中的零件是否缺失或者错误,常用的方法是模板匹配。如果高深一点也可以结合利用AI算法,如Deep Learning算法,当然要考虑到具体的实现成本及项目需求是否需要。
欢迎关注“机器视觉哥”,我们将结合机器视觉技术、RPA技术、机器人技术,和大家一起讨论工业自动化领域的技术方案及方法。