基于计算机视觉的墙地砖外形检测系统设计
2018-09-10曹利钢
曹利钢,唐 磊,冯 浩
(景德镇陶瓷大学 机械电子工程学院,江西 景德镇 333403)
0 引 言
墙地砖外形检测是墙地砖生产线上一道必不可少的检验工序,关系到墙地砖的质量等级。目前,国内墙地砖生产企业,所采用的检验手段以人工方法为主,即利用量具对墙地砖外形进行检测。这种检测方法除了需要增加人工成本外,检测的项目和检测数量也比较有限,不能反映所有墙地砖的统计外形特征。
视觉测量具有精度高、测量范围广,适应性强等特点,是目前发展较快的一种非接触检测技术,在墙地砖检测方面已有一些应用研究,如浙江大学周云锋[1]提出的基于线阵CCD的视觉测量系统可在线检测墙地砖几何尺寸;沈阳建筑大学赵新亚[2]提出的一种基于灰度共生矩阵检测墙地砖缺陷的方法等。与国内文献相比,本文所提出的墙地砖外形检测系统具有检测效率高,功能丰富,重复性好等特点,硬件以工业相机和上位机为核心,软件上利用亚像素分割技术提取边缘,采用ramper算法进一步确定墙地砖四个轮廓边,检测轮廓尺寸、边直度和直角度特征。
1 墙地砖外形检测硬件系统
墙地砖外形检测硬件系统主要由工业相机、光源、瓷砖位置检测电路和上位机组成,其结构如图1所示。为了提高系统检测精度和稳定性,系统采用的是较高精度的高速工业相机用于抓取墙地砖表面轮廓图像,图像数据通过USB接口向上位机传送;由于瓷砖表面光滑,为了获取高质量图像,系统采用漫射场光源;反射式光电开关用于触发工业相机,其状态信号送至光电开关状态检测板。当反射光电开关状态改变时,光电开关状态检测板将该状态信号通过RS232串口送入上位机处理。上位机是整个系统的核心,其上安装的软件控制自动检测的整个过程。
图1 地砖外形检测硬件系统结构Fig.1 Hardware structure of the floor tile inspection
其工作过程为:当墙地砖在背景板传送时,会遮挡反射光电开关,光电开关信号将会改变。光电开关检测板以AVR单片机为核心,其不断查询P1口状态,当检测到与P1口相连的反射开关两个以上信号改变时,通过RS232串口将光电开关状态编码传送至上位机,上位机程序检测到光电开关编码信号有效后,启动工业相机抓取多幅图像,进行图像处理、特征提取操作,从而实现墙地砖外形在线检测。
2 墙地砖外形检测软件设计
墙地砖外形检测软件是系统的控制核心,其主要作用包括墙地砖表面图像的抓取控制、墙地砖位置检测、图像处理、特征提取和数据存储等,其开发环境以Visual Stdiuo 20015为主,Halcon为图像处理软件 C#为编程语言。
2.1 软件基本结构
墙地砖外形检测软件主要包括外设接口控制、图像处理、工作模式及参数设置和数据操作四个部分,其基本结构如图2所示。
“外设接口控制”包括三个模块,其中墙地砖位置检测模块主要负责接收并解释光电开关状态检测板发送的状态编码信号,给图像抓取控制模块发送合适的事件。为了保证实时性,该模块以线程技术实现。工业相机访问接口提供与工业相机数据交换的函数接口,这个接口由工业相机厂商提供。图像抓取控制模块以工业相机访问接口为基础,提供图像抓取参数设置,图像抓取、摄像等功能。
“工作模式及参数设置”用于设置墙地砖外形检测工作模式及操作方式参数。系统工作模式主要分为两种:(1)自动模式,这是墙地砖正常运行时所采用的模式。在该模式下,抓取图像,存储数据,图像处理等操作均自动完成,无需人工干预。(2)手动模式:这种模式下,抓取图像、图像处理、数据查看、数据存储等操作均需与人交互完成,主要用于调试。
“数据操作”用于数据存储、查看和统计报表的生成。系统的数据主要包括检测数据,系统设置和报表数据。由于系统主要工作于自动模式,条件基本不变,检测的数据量较小,因此数据采用文件的存储方式。
“图像处理”包括图像预处理和图像分割及特征提取二个模块。图像预处理模块用于消除相机和环境所产生的噪声;图像分割及特征提取模块用于提取墙地砖的外部轮廓,将外部轮廓拟合成墙地砖的四个边沿,检测外形特征。为了提高检测精度,采用了基于亚像素的边缘提取技术。
图2 地砖外形检测软件基本结构Fig.2 The basic structure of the floor tile shape detection software
2.2 墙地砖外形分割及特征提取模块实现
墙地砖外形分割及特征提取模块的功能是从图像中精确提取墙地砖的外部轮廓,并将轮廓进一步形成墙地砖的四条边,计算外形指标。系统的检测精度主要取决于该模块的设计。
如图3所示,为墙地砖外形分割及特征提取模块程序流程图。在流程的第5步,实际上形成了墙地砖的外部轮廓,但是这是从阙值处理得到的区域生成的,精度不高。为了提高边界提取的精度,利用圆模板对边界进行形态学膨胀,从而生成一个ROI(Region of Interest)。ROI的形成可减少图像的处理范围,从而将图像处理集中于ROI区域。墙地砖边界形成是通过canny算法提取ROI的边缘得到,该算法具有亚像素级精度。墙地砖四边的形成主要是采用ramer算法。
2.2.1 亚像素边界提取canny算法简介[3,4]
Canny于1983年提出了一种亚像素边缘提取算法,该算法受白噪声硬性的阶跃型边缘是最优的,其最优性与其提出的三个标准有关:(1)不丢失重要边缘,无虚假边缘;(2)实际边缘与检测到的边缘欧式距离最小;(3)将多个响应降为单个边缘响应。
其算法主要步骤为:
(1)将图像与尺度为σ高斯函数卷积
(3)利用公式找到边缘的位置(公式参数含义同2)
(5)对边缘图像作滞后阙值化处理,消除虚假响应3.2.2 墙地砖四边提取算法
在利用canny算法得到墙地砖轮廓后,必须进一步将轮廓线精确分段成墙地砖的四条边,从而可得到墙地砖轮廓尺寸、边直度和直角度指标。为此,采用如下算法实现:
(1)选择较高阙值,利用ramer算法将轮廓线用polygon近似。
(2)如果多个轮廓直线段能被圆弧近似,则将圆弧代替。
(3)选择较低阙值,利用ramer算法将未被圆弧代替的轮廓线用polygon近似。
(4)重复第2步,结束。
上述算法可以将轮廓线进一步分割成直线、圆弧等基本形状,从而可以获取墙地砖尺寸、方向等基本信息。上述算法用到了ramer算法,其基本步骤[5]为:
(1)将曲线首尾两个端点连接成直线
(2)计算两个端点间所有点至该直线的最大距离,如果距离大于阙值,则标记该点为顶点,将曲线分为两个部分;若小于阙值,则舍弃。
(3)将所得曲线段重复第2步任务,直到顶点不再增加为止。
(4)连接所有顶点,所得的多变形即为曲线的近似。
3 试验结果
为了验证系统的有效性,对规格为300 mm×300 mm的墙地砖进行了外形检测。检测的主要条件为:工业相机500万像素,距离墙地砖1米,工业相机安装位置与背景板是垂直的,光源条件为漫射场光源。
图3 地砖外形分割及特征提取模块流程图Fig.3 The flow chart of the wall tile shape segmentation and the feature extraction module
试验之前,利用标定板对工业相机进行了标定,标定的参数包括相机内部参数(焦距,径向扭曲系数,列方向放大系数,行方向放大系数,主点的列方向偏移量,主点行方向偏移量)和外部参数(x轴平移量,y轴平移量,z方向平移量,绕x轴转动角度,绕y轴转动角度,绕z轴转动角度)。
如图4所示,为该型号墙地砖经过一次试验后,在软件中所呈现的结果。通过与标准量具实测对比表明:轮廓的长度和宽度方向的误差≤ 0.3 mm,墙地砖的边直度和直角度[6]重复性好,可较好反映墙地砖的外形特征。
图4 地砖外形自动检测软件结果画面Fig.4 The screen shot of floor tile shape detection results by the automatic software
4 结 论
本文采用图像处理技术对墙地砖外形检测进行了研究,利用亚像素分割canny算法提取墙地砖边缘,在ramer算法基础上提出了得到墙地砖轮廓四条边的算法;在此为核心提出了墙地砖外形检测的硬件系统和软件系统的具体实现;试验结果表明:系统具有较高的尺寸检测精度,较好反映了墙地砖的外形特征。