论文在线分享-基于MATLAB的机械零件尺寸检测系统设计-CNKI知网查重网站

论文在线分享-基于MATLAB的机械零件尺寸检测系统设计

2021-05-26 15:25:12
作者:杭州千明

  机械零件的高精度测量与完全高速智能化的检测一直以来是重工业高科技领域的重中之重,尤其对于航天船舶工业来说,某部分机械零件的尺寸合格与否直接影响着该工程或项目的成败。随着第四次科技革命的到来,尤其是工业4.0的提出,使得对于机械零件的更高的精度与更加快速的智能化测量提出了更高的要求,而传统的测量手段越来越不能满足现代工业对机械零件测量提出的要求。为此,一种全新的基于MATLAB的机械零件尺寸检测方法应运而生,其对于零件的尺寸检测完全满足了现代化工业的要求,不仅能使检测的精度与速度更上一层楼,同时相比于传统测量手段,其在应用于航天科工中使用的复杂多维度,大型零件,以及微米级精密极小零件等方面仍有划时代意义的进步。本文主要介绍基于MATLAB的机械零件尺寸检测系统实现的功能,怎样实现,实现过程所运用的处理手段。研究的主要内容如下所示:

  (l)对传统工业生产中采用的测量手段进行了总结和归纳,通过对比得出本文采用的测量手段相比于传统测量手段的极大优势。基于MATLAB的机械零件尺寸检测系统功能实现前需要进行对采集到的图像进行测量前的提前处理,该提前处理的内容主要包括对摄像头的焦距进行校正,镜头的固定,被测对象与镜头的距离保持不变,光照不变,采集后的图像进行深度处理,这部分内容包括图像灰度化,去除各种噪声的干扰,各部进行分割定点处理。

  (2)通过对于各种常见边缘高精度检测算法的比较,确定出本文所需要的边缘高精度检测算法,即为Canny算法,同时由于边缘存在像素误差大于1个像素的风险,本文采用了更为精确的像素细化分析方法来细化被测对象的边缘,以此来降低边缘的高精度测量过程中有可能存在的误差风险,进一步提高本系统测量过程中的精度,保证零件质量的合格。

  (3)由测量出的边缘点的信息,采用数学中以点描线的方法,得到近似边缘信息点的直线,使得边缘信息更加精确,同时也剔除了一些信息存在误差的点。并得出由该函数直线与等待测量零件各类尺寸数据的关系,从而得出本次实验的结果。

  在现代社会生产中,机械零件尺寸的测量无论在工业领域或者是其他领域,其生产过程中的两项重要指标——精度与速度,在任何时候都不能忽视,尤其是精度,其对于生产中质量的合格与否至关重要。目前对于机械零件的测量不仅仅局限于零件的尺寸测量,还包含结构,轮廓,多维度的曲面,乃至更为复杂的内容。于是传统测量中采用的譬如千分尺,螺旋测微器,游标卡尺,轮廓仪等[1],则越来越难以满足现代工业生产中对零件质量的高标准严要求。尤其伴随工业4.0时代的到来,工业生产对零件质量的要求将愈发严格,而在一些诸如航空航天,火箭大飞机的制造中,零件尺寸的合格与否直接决定着成败。自上世纪70年代以来,图像测量技术开始步入了零件尺寸测量的领域,为零件尺寸的测量翻开了全新的一页。该类型测量完全抛弃了传统测量的中需要进行的接触,首次实现了非接触性测量,同时能够进行各类复杂多维曲面的测量,更能实现在线实时监控控制。各类显著的优势使得该技术成为一门集各门类学科优点于一体的集大成者。同时由于该技术的出现与实际的投入使用,使得科研领域例如人工智能,重型火箭,深海探测器等的发展更上一层楼。尤其对于工业生产中对于高标准的重型机械制造,精度达到微米级的微小型精密零件制造具有传统测量无法比拟的显著优势[2]。具体情况如下:

  (1)随着工业4.0时代的到来,对于精度达到微米级的微小精密机械零件的测量要求也较以往更多,而图像测量技术的应运而生恰好能够很好的解决这一问题,其远超以往的精度与不用通过接触即可达到测量的目的,能够完全满足当前社会生产的要求,通过放大被测零件的图像倍数,从而能够轻松的测量譬如轴承,模具等精度在微米级甚至更高的零件。唯一需要注意的问题是需要保证采集到的零件图象清晰度,是的在图像处理过程中能够轻易的分辨出来。

  (2)在船舶工业航天工业等所需机械零件非常巨大时,同时其要求的精度较以往也更加的高。而图像处理技术同样能够很好的解决这一问题,它通过对这些巨型的机械零件进行多方位的拍摄,将拍摄到的图像进行合理的拼接,通过重叠部分的相似性来获得完整的零件图像,进而通过图像处理技术获得精确的尺寸参数,该法简单快捷,相比于传统测量法也更加经济。

  (3)现代化工业生产对于一些复杂外形的零件需求也越来越多,对于该类零件只需通过图像测量技术采集多幅图像,获得零件的边缘轮廓,再采用适合的图像处理方法,即可达到测量的要求。

  (4)随着检测技术的发展,对特殊形状的曲面如家用电器、航天火箭、飞机、装甲车、的检测要求也更高。不规则表面的高精度检测技术已逐渐成为检测技术领域的热点和创新点[3]。使用图像处理技术来检测异常曲面,通常是某种类型的结构光(光斑,光支柱或表面)投射到异常曲面测量,并分析了结构光图像的位置通过结构光图像获取的轮廓信息异常曲面[4],从而获得被测参数的异常的曲面。伴随此类技术的推广,用图像处理技术检测工件尺寸将成为机械行业现代生产检验发展的必然趋势之一。

  1.2国内外发展现状

  在日本、德国、美国、加拿大和其他国家等国,图像测量技术的开发已经开始,许多研究机构和企业都进行了深入的研究和实验。这些国家的企业提出了许多衡量原则。随着该技术在近些年来的迅猛发展,以其为基础的检测系统已广泛应用于许多领域,如生物、人工智能、大飞机等许多领域已经达到了可以投入大规模生产的水平[6]。

  譬如当今世界上已有部分国家达到CCD测量头串联的非接触测量的生产技术水平,如法国、日本、加拿大等国。这些CCD测量头多数情况下采用光学成像技术,并与计算机图像处理技术相结合,以此能够获取更多参数。使其能够处理好传统工业生产中常规接触测量无法解决的许多机械零件几何问题的高精度测量结果。我们国家图像测量技术研究始于1980年代后期,距离国外至少20年。长度测量(轮轴间距)通常使用CCD矩阵进行,但是因为成像系统在当时那个年代,其检测的精度达不到要求,故而很少将该技术应用于实际测量[7]。

  20世纪80年代以后,国内的许多科研机构在使用图像测量技术测量工件尺寸这一重要领域进行了积极的反思和大胆的尝试,在药学领域取得了相当显著的成果和应用[8]。印刷和检测轮辋更是取得了极大的成就,正是在这个基础上,在现代精密仪器生产和人工智能领域得以取得长足进步,但从大的方向来看,仍有许多工作要做,与世界水平相比仍然被落下很多。尤其在一些精度达到纳米级的精密仪器生产和做到随时随地无线监视技术方面,仍然受制于人。尽管在这一领域进行了大量的研究,但实际销售的产品和实际应用相对较少,需要进一步研究才能实现工业生产的真正自动化。

  1.3实现图像测量技术的方法

  实现图像处理标识技术的方法包括实现诸如目标图片的获取、图像存储、数据计算和结果输出等功能。从而形成一个完整的图像处理系统。

  1.3.1实现过程

  在使用上述图像处理系统完成实施过程之后,可以通过以下方式进行该图片的各种算法处理和目标识别。该尺寸检测系统的建立,将包含采集待测机械零件图像,工件提取算法预处理,像素标定和尺寸测量。工件提取算法预处理能够将图像在采集和存储过程中受到的噪声干扰去除,得到更加准确的边缘信息。目标分类是在提取特征的基础上实现识别和分类。这样,图像就可以被处理和识别。图像分割和目标提取的目的是找寻需要的区域。特征提取能够获得被测对象的有效特征表达。

  在工件提取算法中,主要包括像素标定,即固定CCD摄像机的焦距,参照物和工件距离镜头的距离必须相同。图像的灰度化即为去除系统内外干扰噪声,使用的滤波方法为中值滤波法,能够很好的滤除噪声,保存完整的图像边缘。图像分割可以分为两类:基于边界的和基于区域的。目的是为了提取图像中我们需要的部分并加以增强。边缘检测是为检测出图像的边缘并得出图像边缘的灰度像素与尺寸参数之间的关系,同时经过边缘的细化分析能够拟合出一条边缘直线,进一步提高测量精度。

  然而,在不变性识别方面,计算机相比于人类的视觉系统,无论在处理时间还是精度测量结果都难以相提并论。在不变识别中,有几种特征提取方法:基于人眼系统特征;人体神经网络;协作认知等[9]。经由不变识别,我们能够将待测对象中所需的各种参数提取出来,并加以分析计算,来实现我们想要彻底分解该图像信息的目的。

  1.4图像测量技术在尺寸检测中的应用

  随着工业4.0的不断推进,对图像处理技术的应用在未来也将越来越广泛,同时当前的技术水平已经能够达到一定的水准,可以投入工业生产中。但是由于该技术是多门学科的综合体现,其开发困难很大。虽说在上世纪70年代国外一些企业为此研发了一些软件开发平台,并提供了一些常用的算法,但一般来说,某个测量系统只能完成该系统指定的任务,无法做到共用。基于此,本文研究了零件尺寸的通用方法。一般来说,应用于工件检测的图像测量可分为三种情况:尺寸测量、表面质量检测和目标分类识别[8],如下所示:

  一般应用于机械检测的图像测量分成三大类:尺寸测量、表面质量控制、分类和目标识别,具体如下:

  机械零件尺寸测量是图像测量最早的研究方向。国内外许多公司对基于图像处理的工件尺寸测量已经有了成熟的研究成果,并在生产生活中得到推广应用。国外某些公司也有一些推广到市场的图像检测仪器[10]。例如,日本三丰公司的三坐标数控图像测量机Quiek Visual[11]以及瑞典约翰逊公司的三坐标测量机[12]。我们国家的一些大学和科研企业也进行了很多基于图像检测技术的尺寸测量方面的研究和开发,如上交研究部门开发的基于双坐标结构和机器视觉的高精度几何测量系统[14]在检测尺寸测量中的应用实例。

  通过检测表面质量来检测工件表面的主要元件,包括工件的材料和外形,平整度,纹路结构等,但是由于工件的外表面一般不那么平整光滑,会在光照下发生反射,在CCD摄像机拍摄过程中会出现阴影现象,对图像质量会有较为明显的影响[15]。

  未来,目标的分类与识别也将慢慢成为图像检测技术关注的重中之重。一般来说,物体识别有二维和三维两种说法。二维识别多数情况下应用在现代机械制造领域,通过建立工件图像的的各个轮廓模型,再从真实图像中找到最贴近物体实际情况的状态。二维识别一般用于识别场景中稳定位置的物体,在当前工业生产中应用广泛[16]。三维识别主要是通过三维图像获取物体的实际情况信息,进而获得物体的三维结构特征。主要研究应用于纸张扫描,3D打印等新兴领域。

  由于人工智能与工业4.0的提出,对未来工件制造水平的要求也将越来越高,未来机械零件尺寸检测系统发展趋势大致如下:

  (1)测量精度将由微米向纳米转变。

  (2)测量范围从点测量过渡到面测量。

  (3)检测速度的加快,以保证工业生产的高效率,同时能够进行实时在线监测。即为,既要保证检测精度与速度,又要达到检测过程的实时性。

  1.5图像测量技术的前景

  人类所捕获的信息中,来源于视觉系统的占了大多数,这些信息在上传到大脑皮层后,经过分析筛选处理,使得我们能够快速的理解这些信息,进而做出判断。但从该技术的未来生产方向来看,通过与计算机的匹配,图像处理技术终将成为一种高效实用的处理手段。由此能够预见,对于人工智能、精密加工、航空航天,军事工业等各门类行业来说,全力调用图像处理技术在各行业的大范围使用是一个非常有潜力的研究发展方向[17]。

  第2章系统总体设计

  2.1系统要求

  在当前社会生产中,半成品或成品机械零件尺寸的测量已经成为常态化,且在未来也将越来越多。系统在测量精度和速度上要更加优于以往所采用的各种方法。同时,随着工业4.0与人工智能提上规划,对现代制造技术和产品加工技术的各类要求也在不断提高,对检测系统的要求也将越来越高。基于MATLAB的机械零件尺寸检测系统是图像处理与测量技术共同努力的结果,该系统具有测速快、精度高、无接触测量等优点[18]。

  本系统主要敏感元件为图像传感器和CCD摄像机,系统以图像处理技术为基本原理,通过软件编程平台编写各测量中需要实现的功能算法和系统软件程序。该测量系统极大程度上解决了测量速度和测量精度之间的矛盾[6],完美绕开了传统工业生产中系统构造繁琐、结果处理流程过慢,耗时过长不利于高效生产等缺陷,使得系统能够轻松的完成各类检测繁杂,耗时长精度差的工作。就常见的情况来说,基于MATLAB机械零件尺寸检测系统的典型图像处理模型如图2-1所示。

  图2-1检测系统的典型模型

  本课题的目标是实现零件的非触碰式高精度远程视觉测量。该系统将要完成下列任务:

  1.获取待测物体的二维图像并进行必要的校正;

  2.对采集的图像进行预处理;

  3.改进图像检测的各个关键算法,同时保证测量精度和速度;

  4.提取工件图像的边缘信息并细化分析,得到边缘像素点与尺寸参数之间的准确关系;

  5.根据测量结果数据,进行误差分析,讨论有可能产生误差的原因。

  本文设计的基于MATLAB的机械零件尺寸检测系统是来源于图2-2所示检测系统模型,可以满足以上要求。系统的结构图如下。

  图2-2尺寸检测结构图

  被测对象由摄像机进行需要部分的图像提取,然后将之发送到数据采集卡进行灰度化处理与信息校正,然后进行数据的提取,将之转发至中央计算机进行信息数据的处理与分析,得到我们需要的边缘与轮廓及尺寸等信息,同时将二维图像通过显示屏显示,得到高精度的图像尺寸数据信息,该检测过程具有高精度、非接触的特性。

  2.2系统构成

  2.2.1硬件部分

  基于MATLAB的机械零件尺寸检测系统可分为硬件部分和软件部分。硬件由光源、CCD摄像机、图像采集卡、中央计算机、载物台和控制机构组成。

  因为本文的硬件是基于A300CN型图像测量仪。如图2-3所示,因此,机械零件尺寸检测系统的硬件设备基于MATLAB设计,本文收集高精度零件的照片是检测采用高精度光学成像仪器的采集系统,然后不断地检测被测对象图片的各种形状参数。

  图2-3 A300CN型影像测量仪

  (1)仪器特点:

  1)重复测量精度可以达到0.002mm;

  2)多点测量点、线、弧、矩形等,提高测量精度;

  3)组合测量、中心点结构、交点结构、线结构、圆结构、角结构;

  4)收集指令,同一机械零件批量测量更快捷,提高测量效率;

  5)测量数据可输入Office进行统计分析;

  6)多语言界面切换;

  7)自动聚焦指示功能,使用户手动对焦更准确;

  8)可视化编程;

  9)带有图文并茂的报表输出功能,用户可以轻松输出您的测试结果。

  (2)技术参数

  A300CN型影像测量仪的各部分具体参数如表2-1所示:

  表2-1 A300CN型影像测量仪技术参数

  类型技术参数

  外形尺寸(mm)1450×1050×1650

  测量范围(mm)300×200×180

  机台承重/整机重量20kg/450kg

  光栅尺分辨率1.0分辨率开放式玻璃光栅尺

  X、Y轴测量精度()3+L/200

  Z轴测量精度()5+L/200

  重复精度(mm)0.002

  图像传感器CCD SBK-HC536 700线工业彩色相机

  放大倍率24-158X

  视频采集卡“大恒”高解晰度双路彩色视频卡

  运动速度(mm/s)XY轴=0-400 Z轴=0-100

  从上面可以看出,本系统采用的仪器本身具有像素标定和校正的功能,同时在采集图像的过程中能够做到快速采集,其图像的分辨率也高于市场上常见的其他仪器,能够做到工件尺寸的长时间高效测量,同时保证测量精度[20]。

  2.2.1.1图像采集卡与图像处理器

  由于模拟信号计算机无法识别,因此要通过图像采集卡将模拟信号转换成数字信号,如此计算机方能识别。而在获取工件图像时,面阵CCD输出的为模拟视频信号。因此需要图像采集卡将信号经过A/D转换后,通过数据线传至中央计算机的存储器与图形卡,而在中央计算机上进行一系列的处理过程之前,则需要将其转换成离散的数字信号[19]。

  图像处理器是处理工件图像数据的计算机或专用图像处理器。其为整个系统的控制核心,使系统的各部分工作顺利有序。

  2.2.1.2载物台和控制机构

  载物台:顾名思义,就是放置物体的,其状态可为静止,也可以是可运动的。采集被测机械零件时,零件状态应良好,同时保证工件外表面与相机光轴绝对垂直。如若不然,将造成测量数据结果发生大的偏差。

  控制机构:即是控制系统的运动部分,保证工件在测量时处于稳定的状态。

  2.2.1.3摄像机

  为了获得1/500的分辨率和1/200的精度,所选相机的分辨率优于875X646。选择BQ-SW-6作为摄像机所采用的型号,摄像机参数选择如下:

  1.感光面积:1/4英寸;

  2.镜头规格:16mm;

  3.超低的照度:0.001LUX;

  4.水平分辨率:550线。

  2.2.2软件部分

  本系统软件设计主要由两部分组成:一部分是图像处理软件,对采集到的图像进行显示、预处理、检测、识别等;另一部分是尺寸检测,包括图片切换、摄像头控制、操作界面设计、检测结果指示等。

  基于MATLAB的机械零件尺寸检测系统的核心部分是软件系统部分。其测量的实质是对由CCD摄像机采集的待测机械零件的二维图像进行一系列图像处理和数据分析,然后存储在硬盘中[21]。之后通过建立起物体点位置与物体面位置的相互关系,就可以得到工件测量参数结果。

  机械零件图像的获取、预处理、尺寸测量、结果显示等一系列复杂功能,是基于机器视觉的通用图像检测软件系统必须要完成的。

  如图2-4图像处理与数据分析计算流程图如下所示。

  图2-4图像处理与数据分析流程图

  本文研究的机械零件尺寸测量软件主要通过以下各部分实现:

  (1)图像的预处理:包括像素标定;灰度算法;中值滤波消除噪声与图像分割处理。

  (2)边缘检测使用的算法:根据算法的特点检测要求,介绍了四种传统的边缘检测算子,罗伯茨、索贝尔、Log和Canny[22]。通过对几种算子的了解,得知罗伯茨边缘检测算子计算过程较为简单,边缘测定精度也相比于其他几种更高,但其对于各种噪声过于敏感,且测量过程噪声干扰较大,难以克服。索贝尔边缘检测算子对噪声具有平滑作用,能够提供更为精确的边缘信息。但是其测出的边缘通常会出现虚假情况,使得测量毫无意义。如果对零件尺寸测量的精度的要求不高,该方法倒也可以使用。Log边缘检测算子在检测零件尺寸时,检测出的边缘细节信息量较为丰富,其边缘定位精度也较高,但其却包含了上述两种算子都有的缺点。因此结合本实验的要求,最终选择了Canny算法作为本实验的边缘检测算法[23]。

  (3)在边缘细分方面,采用像素细分边缘技术来细化工件边缘信息。对边缘像素信息提出了边缘点信息化为线信息的方法,并建立了部分边缘与测量参数的对应关系进行检测。通过研究改进了零件二维轮廓中直线和多项式曲线的数学模型。由获得的线信息待测零件的边缘[24],重构待测工件的边缘轮廓信息,从而能够建立拟合曲线边缘与待测参数的对应关系。

  (4)以工业生产中常见的机械零件作为测量对象(如长方体),通过实验来确定本实验所采用的算法是否可行,再对实验获得的各类结果进行分析,得出误差大小及有可能产生的原因。

  图2-5示出了检测系统的总体框图。由于检测点不同,系统的组件可能会有所不同。然而,基于MATLAB的零件尺寸检测系统的主要目标是快速实现零件尺寸测量更高精度。因此,在选择任一组件时,需要考虑该组件能否满足本系统要求。检测系统的每个部分都非常重要[25]。任一环节所出差错都会严重影响最终测量结果,导致零件质量不合格。故,应合理选择检测系统的组件。

  图2-5零件尺寸检测系统的总体框架图

  第3章工件提取算法设计

  在我们获取待测工件的二维图像时,可能会遇到这样那样的干扰,导致图像不能真实的反应出实际零件的信息,这些干扰主要是:由于CCD摄像机的分辨率较低不能清晰的获得物体轮廓信息,系统外部环境的振动与内部各硬件参数的自然变化,造成图像边缘信息出现虚假或不完整等,以及去除图像亮度信息将之转换成灰度图像等等。以上各类图像处理流程通常被叫做尺寸检测前的预处理,预处理可以提高测量精度,降低系统误差。

  3.1灰度化算法

  图像类型可分为彩色CCD相机和黑白CCD相机,彩色或黑白是由采集图像的CCD相机决定的。当基于MATLAB的机械零件尺寸检测系统使用彩色CCD相机时,由于获取的待测工件图像存在诸如色彩等图像特征,不利于图像处理,因此我们需要将其转换为我们检测需要的灰度图像,该过程即为图像灰度化[26]。灰度化处理就是将图像的颜色信息滤除,使之只含有亮度信息。处理之后可使图像轮廓和边缘信息更为突出,便于我们进行图像处理和尺寸检测,同时将不需要的色彩等信息滤除。在进行图像的灰度化处理时,要保持图像边缘信息的初始值不变,在此基础上,还应保证由彩色图像转换而来的亮度信息与黑白CCD相机采集到的亮度信息一致。以便随后图像信息的准确提取和零件边缘的尺寸参数的精确测量。如图3-1所示,原始机械零件图像和灰度化后的图像。

  a)采集到的工件图片b)灰度化处理图片

  图3-1工件图像的灰度化

  3.2图像平滑

  无论是在实际机械零件生产现场还是在模拟实验室环境中,在机械零件检测过程中,没有任何干扰的理想检测环境,都不可能存在。所以采集的图像无论如何都会带有噪声,在图像上传和存储过程中同样也会受到各种噪声的影响和干扰。噪声和干扰会使得原始均匀连续变化机械零件图像的灰度分布,突然发生突变,进而造成不完整的边缘出现在图像中,拉低图像的质量,影响了工件边缘参数的获取[27]。

  因此,首先要采取合适的方法来降低采集到的图像的噪声,之后再对由待测工件采集的图像进行各种不同的图像处理算法,通常情况下的解决办法是使用数字滤波器,其滤波效果会直接左右测量结果的精度。这种降低噪声和提高采集图像质量的过程被称为图像平滑[31]。这也是图像预处理的关键步骤之一。

  3.2.1噪声的主要来源

  噪声一般可分为外部和内部噪声。外部噪声是外部环境引起的干扰振动;内部噪音产生的因素比较复杂,其产生的原因一般可分为以下几类:

  (1)系统内部光、电反应产生的噪声;

  (2)检测系统内部电路及设备产生的噪声。一般来说,用数理统计学的方法可以将噪声分为多种类型:平稳噪声和非平稳噪声。根据噪声的谱型可分为三角噪声、白噪声等[30]。数字图像处理中最常见的噪声有椒盐噪声、高斯噪声等;

  (3)系统内各元件的自带噪声。

  如图3-2所示,在零件图像中加入各种常见噪声后的效果图,其中图(a)为采集到的工件原始图像;图(b)为中值滤波后的图像;图(c)为加有椒盐噪声()的图像;图(d)为加有高斯噪声()的图像。

  (a)工件原图(b)中值滤波后

  (c)椒盐噪声()(d)高斯噪声()

  图3-2工件图片添加噪声效果

  如图3-2所示,椒盐噪声是指图像中随机出现的粒状黑白亮度值。高斯噪声是指亮度服从高斯分布或正态分布的噪声[33]。对于一个检测系统来说,完美的滤波方案应是能在完好的保存图像的边缘信息的同时,并滤除图像中的噪声信号,使图像处理过程中边缘信息的损失尽可能达到最小[28]。

  3.2.2中值滤波法

  中值滤波是非线性滤波最典型的应用。中值滤波的原理是使用像素附近的灰度值代替该像素灰度值[36]。一般的方法是使用包含奇数点的滑动窗口,对该点附近的所有像素按照灰度排序,取中值作为输出像素,如表3-1所示。

  表3-1中值滤波示意图

  对于一维中值滤波,采用移动窗口将图像从左向右和从上到下逐行移动。其算法是以当前像素为中心划分出一个M*N像素的像素块,如表3-1所示,假设当前的像素为,其灰度值为时,则取M*N个像素灰度值排序中间值。中值滤波模板一般采用点个数为奇数的模块来作为滑动窗口,计算窗口中每个点的灰度值的中值来代替该点的灰度值[35]。

  对于二维图像,窗口的形状如图3-3所示。(a)、(b)、(c)、(d):可以是方形、三角形、矩形等。在实际的滤波情况中,窗口大小和形状对滤波效果的影响很大。方形窗或圆形窗的外廓较长,被测零件的过滤效果较好。十字形的窗户对更大角度的测试部件有更好的过滤效果,它们的中心位于使用时要处理的点上[29]。窗口大小一般选择(2n+1)*(2n+1)。对待测零件图像来说,滤波的效果取决于邻域空间范围和数值计算所涉及的数量,滤波窗口越大滤波效果越好,但随着窗口的增大而增加有用信息也会丢失,所以选择窗口时应保证在边缘处能抑制随机噪声而不使模糊。中值滤波方法对异常值不太敏感,因此可以在不降低图像对比度的情况下消除异常值。其多用于过滤随机点噪声,如脉冲噪声和粒子噪声。

  (a)(b)(c)(d)

  图3-3中值滤波常用模板

  如图3-4所示,相同的过滤窗口用于过滤图像处理中常见噪声的机械零件的图像。如图3-4所示:图(a)是添加椒盐噪声()的中值滤波;图(b)是添加高斯噪声()图的中值滤波,从中可以看出,中值滤波对椒盐颗粒噪声有很好的滤波效果,对于消除图像中孤立点的脉冲噪声和干扰也很有效。此外,它还可以获得更好的边缘图像,同时消除噪声。

  (a)椒盐噪声(b)高斯噪声

  图3-4中值滤波效果图

  从以上实验可以看出,因为在采集图像之前,我们进行了系统校正,同时所选用的摄像头为超清摄像头,分辨率极高,故而,得到的图像的灰度对比度和轮廓线较寻常检测系统的更为清晰。由于中值滤波能够克服图像细节的模糊,可以获得去十分完整的边缘信息,且与此同时其对椒盐噪声和高斯噪声有很好的抑制作用[31]。因此,非常适合在本系统尺寸检测过程时作为滤波采用的方法,满足测量要求,同时提高测量精度。

  3.3图像分割

  图像分割是本系统进行尺寸检测过程的关键技术之一。其目的是通过分割技术提取待检测工件中我们所需要的部分并加以利用。

  其本质是在一定条件下,根据图像特征的差异性对图像的像素点进行分类,并将图像分割成几个不同表征意思的区域,提取出目标区域。

  如果有背景和n个部分在图像中具有不同的含义,即图像具有(n+1)个区域组成,如图3-5所示。

  X0

  图3-5图像中的区域

  在这些区域中,每个区域的灰度值是相似的,但是区域之间的灰度差异很大。假设背景的灰度值至少为,根据每个区域的灰度差异可以设置N个阈值,记录如下:T0,T1,T2,……,Tn-1(T0<T1<T2<……<Tn-1),然后对图像进行以下的分割处理。

  其中为图像的初始像素灰度值;为经过算法分割处理后像素的输出结果[32];即分别被记录为处理后的背景和区域。当对图像中的每个点进行如等式3-1所示的灰度阈值处理时,可以实现从图像背景中分割每个有意义的区域。

  (3-1)

  3.4图像的边缘检测

  图像边缘是像素灰度值发生阶跃变化的位置,同时也是图像局部强度变化最明显的区域。图像边缘主要存在于目标与目标、区域与区域之间,是图像分割和处理的重要依据。一般来说,图像边缘主要有以下三个重要特征:

  1.两侧边缘位置具有不同的纹理特征;

  2.边缘像素灰度值的变化一般具有不连续性;

  3.边缘像素的灰度值具有指向性。

  如图3-6所示,图像的边缘一般分为三种类型:阶梯状边缘、脉冲状边缘和屋顶状边缘。

  (a)阶梯型边缘(b)脉冲型边缘(c)屋顶型边缘

  图3-6常见的边缘类型

  一些边缘检测的概念,早在1960年就在某些文献中被提到。长期以来,各种实用的边缘检测方法都在不断的改进创新。边缘检测系统研究的先驱之一——罗伯茨,他提出了最经典的罗伯茨边缘检测算子[40,41]。普雷维特和索贝尔在1970年前后,分别提出了他们自己的边缘检测算子——普雷维特和索贝尔[42]。这些边缘检测算子计算起来相对简单快速。

  约翰·弗·坎尼于1987年首次提出了边缘检测的三个准则,它将在给定条件下寻找最优算子的工作转化为函数优化问题,为指定的某一特定的条件下的最优滤波器开辟了一条新的更为简单快捷使用的道路。

  3.4.1检测算法

  本实验中使用的边缘检测算法是Canny算法。Canny边缘检测算子是约翰·弗·坎尼于1987年提出的一种多级边缘检测算法。在一维情况下的机械零件图像检测,机械零件图像的边缘是图像的强度函数的一阶导数局部极值,式3-2所示为在点的梯度表示:

  (3-2)

  这个矢量的幅度和方向角分别为:

  ;(3-3)

  Canny边缘检测算子是一种寻找图像梯度局部最大值的方法[35]。具体实现步骤如下:首先,采用二维高斯滤波模板滤波来消除噪声;然后用一个简单的导数算子,求图像灰度沿两个方向的偏导数(Gx,Gy),得到梯度大小和方向如式3-3所示。

  然后将边缘梯度方向分为00、450、900和1350四个方向,通过比较每个方向上不同相邻像素来确定局部最大值。最后,采用累积直方图法计算双阈值Th,Tl,当灰度值满足Th的时则该点必为边缘[34];低于Tl时则该点必不是边缘;当满足Tl<<Th时,则需对该像素相邻的像素进行检测,若相邻像素有超过Th则判定其为边缘,否则舍弃该像素点。

  1987年,约翰·弗·坎尼首先定义了信噪比、固定精度和单边缘响应三个指标来评价边缘检测的性能。具体定义如下:

  (1)最佳的检测:

  该算法能够识别图像中尽可能多的真实边缘。最优检测也称为信噪比指标。

  SNR(信噪比)的数学表达式为:

  SNR=(3-4)

  其中:是窗口为2W的滤波器的脉冲响应函数;为检测图像的边缘函数;是高斯噪声的均方差,当SNR越大时,则代表所得到的边缘质量越好。

  (2)最优定位准则:

  检测到的边缘点位置与实际边缘点位置最接近,或者由于噪声影响,检测到的边缘与物体的实际边缘偏差最小。

  定位精度的数学表达式为:

  Localization=(3-5)

  其中:和分别是和的导数;Localization越大则定位精度越高。

  (3)单边缘响应准则:

  必须确保单独的边缘仅有一个像素点响应,则要求在对噪声的响应中,两个相邻最大值间的距离为,检测算子的脉冲响应导数的零交叉点平均距离应满足公式:=2=其中<1。

  (3-6)

  3.4.2仿真结果

  待测零件选取工业生产中常见的机械零件,在Matlab实验平台上对上述算法进行了测试。如图3-7所示,图(a)为原始零件图片,图(b)为机械零件图像边缘检测后采用Canny算法得到的边缘图像。从实验结果可以看出,Canny边缘检测算子属于一阶微分算子,同时具有十分不错的平滑功能,不仅能够抵抗噪声干扰还可以提高机械零件的尺寸测量精度,从而降低误差,目前,Canny检测算子已经在工业生产中得到极大应用。

  因为本文设计的检测系统是对工件尺寸进行高精度高效率测量,对得到的结果精度要求极高,要实现远超以往检测系统的测量精度,误差也要极小,所以根据这些条件,我们选择了Canny边缘检测算子进行边缘检测。

  (a)零件图像(b)canny算法检测边缘

  图3-7零件边缘检测图

  3.4.3边缘像素细化分析

  在上面我们提到工件图像边缘定位与尺寸检测技术。以整像素为定位精度都是这些常用的边缘定位算法所使用的。但,在工业生产实际中,边缘的位置以整像素的位置显示似乎不可能实现。这种边缘定位产生定位误差将会严重影响实验结果。因为整像素级边缘定位有可能产生的最大误差为0.5像素,因此两点之间的最大像素差就极可能达到1像素。因此,像素的整数误差零件尺寸检测过程中对图像的边缘定位的影响极大。虽然我们可以通过改进检测系统的硬件分辨率来降低这种误差,使得图像像素值降低,从而提高待测零件图像边缘定位精度,但是改进成本过于高昂[37],同时要求系统中其他的相关部件也要进行修改。因此通过软件减少像素整数引起的误差行之有效。该技术即为像素边缘细分。

  像素边缘细分能使图像处理技术的分辨率小于1像素,提高测量精度。像素边缘细分就是找到图像的边缘,再对边缘像素灰度值进行细分处理,如此就可得到零件更为准确的边缘信息。

  3.4.3.1常见像素定位技术

  自20世纪70年代以来,许多专家提出了一些有效的像素边缘定位方法,如基于惠特克定理的Englander重采样图像。刘向东通过利用震动技术实现更小化的像素精度边缘定位。一般来说,像素细化分析主要包括插值法、多项式拟合法、最小二乘估计法。

  这些方法中,插值方法计算量小,边缘定位精度低。多项式拟合方法检测到的边缘点定位准确,但有的曲线不能很好拟合。是故该法的测量精度不足。最小二乘估计法则图像处理时间长,抗噪声干扰能力差。

  3.4.3.2二次插值法

  二次插值法是用于一元函数在确定区间内搜索极小点的一种方法。在求解一元函数的极小点时,大多时候使用一个低次插值多项式来逐渐使其更加接近原目标函数,下一步即求的极小点(的极小点相比于更加方便计算),并以此作为目标函数的近似极小点。如果逼近程度没有达到要求的精度,可以重复使用该方法,并依次拟合,直到满足给定的精度。二次插值法其使用后的精度可以近至0.1~0.3像素[38]。

  由于本文是对基于MATLAB的机械零件尺寸检测系统的研究,该检测算法需要应用于实际测量中,在保证测量精度基础上,同时减小误差提高工业生产效率。所使用的算法应保证精度与生产高效率。综合上述原因和要求,应采用梯度方向的二次插值方法,实现图像边缘到亚像素级的定位精度,提高了系统检测精度。

  第4章像素标定与工件测量

  4.1像素标定

  尺寸测量结果准确的必要前提是系统精度必须达到要求。系统校准的精度将决定尺寸测量的精度。在实际测量时,必须保证测量标定参照物时的焦距与测量工件时的焦距相同,二者离镜头的距离也要相同。故而,实现基于MATLAB机械零件尺寸检测系统的精确标定是零件尺寸精确测量的前提。首先,由于光学测量系统的测量精度更高,所以我们应选取一个由光学测量系统测量出的标准参照工件,其尺寸为25cm,然后将该标准参照工件图像有摄像机拍摄后上传至本文研究的测量系统(此时摄像机焦距应与拍摄待测工件时相同),标定参照工件像素当量,以k表示该像素当量,即可得到k与标准参照工件的实际关系,即建立像素与尺寸之间的关系,再在同一外部条件下获取待测工件的图像,上传至尺寸测量系统,标定出待测工件长宽之间经过多少个像素,将此时工件的实际间隔像素设为y,则可得到工件实际尺寸x的表达式:

  (4-1)

  如图4-1所示,标定参照物尺寸为25cm,标定参数K即为上文中提到的像素当量k,所测出的像素当量为0.018262。

  图4-1标准件的标定参数

  4.2工件测量

  因为存在外部环境的干扰,实际镜头所拍摄的物像关系与理想情况下的透镜所拍摄的物像关系存在出入,不像课本上透镜成像公式表述的那么简洁简单,是故机械零件尺寸检测系统的成像中会存在畸变,因此就需要在测量前对摄像机镜头进行校正。当标准参照工件与实际待测工件尺寸相近时,可直接使用标准参照工件进行校正。设任一点像素的空间坐标为:,其中是由实验标定的x,y方向当量,则当两个像素点对于工件的实际距离分量为分别,则AB的实际距离如式4-2所示:

  (4-2)

  对于得到的标好尺寸的零件标准件的二维图像,在经过一系列图像处理之后,获得其x,y数轴方向的图像像素点数分别为,标定物的实际宽度为,则检测处理的图像与实物在x,y方向的比例系数分别为:

  (4-3)

  单位为mm/pixel。也就是说,在检测系统的标准部件的校准完成之后,外部参数在测量期间保持不变,将待测的工件放在预先校准的坐标上,收集待测工件图像,将图像与校正系数叠加,并通过图像处理计算待测工件的实际尺寸[39]。

  如图4-2所示,工件竖直放置时,系统测量结果如下,而当工件倾斜放置时,则需运用勾股定理对零件尺寸进行计算,设水平方向上工件像素个数为M,标定参数为k1;竖直方向上像素个数为N,标定参数为k2,则对角线长度为:

  (4-4)

  图4-2测量结果

  第5章GUI设计、检测结果及误差分析

  5.1 GUI设计

  简洁美观、易操作的界面是系统软件成功极为重要的因素,能够给人一种整体感和清晰感,便于用户对界面运作树立起准确的心理模型。系统用户界面的组成如图5-1所示。

  图5-1软件系统用户界面

  5.2实验检测结果

  5.2.1目标实验

  本文所研究设计的检测系统相比传统尺寸测量技术,在测量精度和速度上优势更加明显,系统组成也更为简单,使用起来也更加方便快捷。本文采用工业生产中常用的工件作为待测零件,来验证本系统,具体实现过程如下:

  (1)首先将工件图像采集到计算机中。之后为进一步提高检测结果的准确性,需要使摄像头与工件的距离与摄像头与参照物的距离相同,同时固定相机焦距,为最后的工件参数检测结果的精度提供保障。

  (2)对采集到的工件的彩色图像进行灰度化,和边缘信息提取与细化分析。然后通过中值滤波法去除噪声和无用干扰信号,增强有用信号,使用区域分割技术提取图像中我们需要的部分,为之后的边缘提取做好准备。

  (3)根据本实验检测要求,合理选择检测算法,最终选用采用Canny算法提取图像边缘,由此来获得工件边缘像素信息[13]。

  (4)由上一步所得到的边缘信息,我们可以建立起其与尺寸参数之间的关系。而由于所有的信息都以一系列离散点的形式存在,故而应尽可能多的从一系列的离散点中得到更精确的拟合直线,从而从得到的图像边缘中进一步得到更精确的待测参数。

  (5)获取实验数据,对得到的数据进行误差分析,确定检测精度。

  实验的具体实现流程如图5-2所示。

  是否

  图5-2实验具体实现流程图

  5.2.2实验结果

  选择标准尺寸的零件,我们知道标定参数为长度d1=144.4mm,宽度d2=32.5mm。利用千分尺对被测零件进行测量,每转600就得到一组被测零件参数的数据。将待测零件置于测试所需的实验阶段,在保持光源、CCD相机、焦距、待测工件相对位置等外部环境不变的情况下,对零件参数进行多次测量。结果如表5-1所示。

  表5-1零件参数测量值

  序号传统机械测法基于MATLAB的机械零件尺寸检测系统

  长度d1/mm宽度d2/mm长度d1/mm宽度d2/mm

  1 144.582 32.685 144.433 32.524

  2 144.355 32.343 144.328 32.641

  3 144.127 32.368 144.452 32.506

  4 144.093 32.177 144.292 32.435

  5 144.105 32.421 144.572 32.392

  6 144.478 32.132 144.423 32.692

  144.290 32.354 144.417 32.532

  对上表测量出来的各类数据进行分析,得出误差,其中各数据平均值如下。

  由下式算出:(5-1)

  其算数平均值的标准差为:(5-2)

  误差:(5-3)

  其中为被测参数的标准值时。对于被测零件其实际尺寸则取零件的标准值:长度d1=144.4mm,宽度d2=32.5mm。

  相对误差:(5-4)

  利用上述公式可以计算出工件的实测值和检测结果的误差。具体各个误差测算结果如表5-2所示。

  表5-2检测精度分析

  参数类型传统机械测量法基于MATLAB的机械零件尺寸检测系统

  /mm/mm/mm/mm

  长度d1 144.290 0.045 0.11 0.07%144.417 0.009 0.017 0.01%

  宽度d2 32.354 0.064 0.146 0.45%32.532 0.013 0.032 0.09%

  由零件尺寸计算结果得出,基于MATLAB的机械零件尺寸检测系统的测量精度优于传统检测系统。同时,系统本身结构简单,运算快捷方便,精度也会随着未来算法的改进而更加精确。

  5.3误差分析

  随着科学技术革命的不断向前推进,我们在图像处理技术方面的研究也将越来越深入,测量的精度也将比以往更高。然而,社会生产实际来说,误差的存在具有普遍性与必然性。误差不可能完全没有,只可能尽最大限度的去缩小这个误差。因此我们查找误差的重点应该放在误差的来源,清楚的了解有可能产生任何有可能产生误差的因素,如此才能实现产生最小误差的目的。

  5.3.1误差来源

  在测量的任何环节,都很难避免各种因素的干扰。任何因素都有可能影响工件参数测量的准确性。而最有可能产生误差的步骤,分别是图像采集过程、图像的分割以及特征识别,此三者中均存在误差产生的条件:

  (1)系统硬件本身参数的自然变化;

  (2)工件图像处理的各种算法;

  (3)检测过程中噪声的影响、特征识别过程中使用的特征提取算法、不同计算公式等。

  5.3.2误差剖析

  由于测量系统主要工作流程为:首先使用A300CN型测量仪的图像采集系统采集工件图像,然后对图像进行灰度化,滤波去噪,边缘检测等预处理,然后对标准参照进行像素标定,得出像素与实际距离之间的关系,进而标定出待测零件的像素距离值,。可以通过软件在上述流程中减少图像处理过程中的误差。而对于硬件,主要有三种极难避免的错误:

  (1)图像采集错误

  相机作为检测系统的图像采集设备,其分辨率将直接影响图像质量。因此,在实际检测系统的建立中,尽可能采用分辨率较高的CCD相机,提高检测系统的测量精度,同时将成本控制在可承受范围内。

  (2)图像存储错误

  采集到的机械零件图像要将模拟图像数字化。在转换过程中会产生图像的量化误差,无论量化精度多高,在量化过程中都不可避免地会出现图像失真。但提高量化精度会增加图像的存储空间,因此应适当的选择量化精度。

  (3)振动干扰误差

  由于外界振动会引起CCD摄像机与待测工件之间的位置偏差,而任何环境下都不能做到零振动干扰,故而振动一定会对系统产生干扰,只能尽可能使外部振动达到最小。因此,所设计的检测系统必须具有一定的抗干扰能力。