基于机器视觉的多相机视觉检测系统设计与实现_第1页
基于机器视觉的多相机视觉检测系统设计与实现_第2页
基于机器视觉的多相机视觉检测系统设计与实现_第3页
基于机器视觉的多相机视觉检测系统设计与实现_第4页
基于机器视觉的多相机视觉检测系统设计与实现_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在当今工业中,测量工件尺寸已成为一项重要的技术手段,它不仅可以帮助我们准确地评估工件的质量,还能够确保其合格。传统的人工测量尺寸方法存在诸多缺陷,如误差大、精度不高、耗时过长以及效率低下,这些都已经不能满足当今自动化技术的发展需求。随着科学技术的进步,机器视觉检测技术在提升效率、提升准确性以及增强智能化方面取得了显著成果,具备巨大的发展潜力。本文以前后端工件为研究对象,以机器视觉基本原理为基础,从工件尺寸检测的精度入手,对检测系统的通信选择及软件总体方案设计,界面设计,图像处理,相机标定和测量算法进行了详细分析,实现了工件尺寸的精确测量。主要研究内容有:首先,完成了机器视觉工件尺寸检测系统总体设计及硬件平台的构成选择,还有系统的软件设计,完成了基于MFC的人机交互界面的设计,按照图像采集系统的设计要求选择不同的通信并完成通信。然后,以图像处理为基本手段,采用Sobel算子进行图像滤波处理和选用Threshold算子进行图像阈值分割处理,并进行了开运算处理,获取到了高质量图像。完成了黑白棋盘法的相机标定,根据像素坐标转换为实际坐标和利用测量及计算公式得到工件尺寸。本文还使用了激光跟踪仪测量工件尺寸结果和机器视觉检测结果进行了对比和分析。最后,为了实现高精度的机器视觉检测的工件尺寸,提高工业生产线的自动化,拓宽机器视觉的应用,设计使用VisualStudio2017平台基于MFC框架下实现上位机(工控机)与机器人控制器的同步通信系统界面。该系统能够提高检测的精度和效率,适用于工业生产,具有一定的实用价值。关键词:机器视觉,I/O通信,网口通信,串口通信,相机标定,Sobel算子,Threshold算子,开运算,激光跟踪仪

AbstractIntoday'sindustry,themeasurementofworkpiecesizehasbecomeanimportanttechnicalmeans,itcannotonlyhelpusaccuratelyassessthequalityoftheworkpiece,butalsocanensureitsconformity.Thetraditionalmanualmeasurementmethodhasmanydefects,suchaslargeerror,lowprecision,toolongtimeandlowefficiency,whichcannotmeetthedevelopmentneedsofautomationtechnology.Withtheprogressofscienceandtechnology,machinevisiondetectiontechnologyhasmaderemarkableachievementsinimprovingefficiency,improvingaccuracyandenhancingintelligence,andhasgreatpotentialfordevelopment.Inthispaper,theformerback-endworkpieceastheresearchobject,basedonthebasicprincipleofmachinevision,startingfromtheaccuracyoftheworkpiecesizedetection,thedetectionsystemcommunicationselectionandsoftwareoverallschemedesign,interfacedesign,imageprocessing,cameracalibrationandmeasurementalgorithmwereanalyzedindetail,toachievetheaccuratemeasurementoftheworkpiecesize.Themainresearchcontentsareasfollows:Firstofall,completetheoveralldesignofmachinevisionworkpiecesizedetectionsystemandthecompositionofthehardwareplatformselection,aswellasthesoftwaredesignofthesystem,completethedesignofthehuman-computerinteractioninterfacebasedonMFC,accordingtothedesignrequirementsoftheimageacquisitionsystemselectdifferentcommunicationandcompletethecommunication.Then,withimageprocessingasthebasicmeans,SobeloperatorisusedforimagefilteringprocessingandThresholdoperatorisusedforimagethresholdsegmentationprocessing,andopenoperationprocessingiscarriedouttoobtainhighqualityimage.Thecameracalibrationwithblackandwhitecheckerboardmethodwascompleted.Thepixelcoordinateswereconvertedintoactualcoordinatesandtheworkpiecesizewasobtainedbyusingmeasurementandcalculationformulas.Inthispaper,thelasertrackerisusedtomeasuretheworkpiecesizeandthemachinevisiontestresultsarecomparedandanalyzed.Finally,inordertorealizetheworkpiecesizeofhigh-precisionmachinevisiondetection,improvetheautomationofindustrialproductionlineandbroadentheapplicationofmachinevision,theVisualStudio2017platformisdesignedtorealizethesynchronouscommunicationsysteminterfacebetweenuppercomputer(industrialcomputer)androbotcontrollerundertheMFCframework.Thesystemcanimprovetheaccuracyandefficiencyofdetection,andissuitableforindustrialproduction,andhascertainpracticalvalue.Keywords:Machinevision,I/Ocommunication,Networkportcommunication,Serialportcommunication,Cameracalibration,Sobeloperator,Thresholdoperator,Openoperation,Lasertracker目录摘要 [9]。随着我国现代化工业技术的不断发展,因内对视觉检测技术的需求将越来越大,许多专家和学者为此提出了不同的视觉检测系统。近年来,在“中国制造2025"及“互联网+”的战略背景下,机器视觉技术发展迅速,众多机器视觉企业开始向多行业、多领域、多层次进行机器视觉检测,促进了国内机器视觉行业市场的飞速发展。1.3论文的主要内容本课题主要是一个基于机器视觉相机工件尺寸检测系统的设计,该系统能实现对工件尺寸的高精度的测量以及判断是否合格。主要研究内容为:(1)基于机器视觉的多相机检测系统的界面设计界面设计是采用VisualStudio2017基于MFC对话框设计人机交互界面,该界面包含了登录界面和主界面,登录界面主要是为了防止工人随意操控导致出错;主界面主要有“启动”、“暂停”、“回看”、“设置”等按钮,可以实现各个模块的功能,还能把检测结果清晰地显示出来,方便操作者操作。(2)实现三种通信相机采用的是网口通信,网口通信是三报文握手建立TCP连接之后,进行数据传输,通过四报文握手关闭TCP连接;光源电源采用的是串接口,串接口是一种外部设备与电脑之间,利用信号线,地线,控制线等,逐个位数传送资料的通信模式,这样的模式占用较小的资料线,在长程通讯中可以节省通讯费用;接近开关是采用的是I\O口通信,接近开关碰到铁板,发出脉冲,接收高电平实现通信,拿开之后恢复低电平从而关闭。(3)相机标定相机与人的眼睛不同,可以直接看到什么就抓取什么,相机采集到的影像是以一个单一的象素作为单位的,并且由于受到周边环境的影响,会有一些变形,要想得到平坦的影像,就必须把影像中以象素表示的物体大小转化成以毫米表示的实体空间的大小,需要对相机进行标定,本文采用的是棋盘标定法。图像处理图像处理是指在进行测量及计算之前,对采集到的图像进行一系列处理步骤,以图像增强、减小噪声、边缘检测和特征点提取等,从而为后续图像处理提供更高质量的输入。本文采用了Sobel算子进行图像滤波处理和选用Threshold算子进行图像阈值分割处理,并进行了开运算处理,对图像进行腐蚀膨胀处理,并进行线段整合获取得到边缘线段,工件尺寸测量及计算在机器视觉检测中完成图像处理完成后,将像素坐标转换成实际坐标,最后得到三维坐标,然后根据相应的公式得到工件的长、宽和对角线的长度。测量结果的误差分析本文还使用了激光跟踪仪测量工件尺寸和机器视觉测量工件尺寸结果进行了对比和分析,最终概括出影响测量结果误差的因素。1.4本章小结本章主要介绍了基于机器视觉的多相机视觉检测系统的设计与实现在检测工件尺寸的研究依据、研究背景及意义,对当前国内外机器视觉的研究现状进行了分析,并对本文的主要内容进行了详细的说明。第2章基于机器视觉检测系统分析及总体设计2.1检测系统的总体设计方案基于机器视觉多相机检测系统设计的目的是:通过相机在合适的光源下获取工件图像,然后进行图像预处理和测量计算,快速得到工件的尺寸,将检测结果存储并显示出来,通过比较来判定工件的质量。本文主要是确定通过识别四端角件的安装孔,根据孔的中心位置计算前后端的宽(W)、高(H)以及两对角线的长度(S1和S2),如图2.1所示。图2.1前端需要测量的参数在现代工业化生产中,产品的检测效率和是否合格影响到企业的运营,而视觉检测技术能够使工件检测效率大幅度提高。视觉检测是一种综合运用了多种学科的非接触式测量技术[9]。本文中的机器视觉检测系统总体设计结构图如图2.2所示。图2.2机器视觉检测系统总设计结构图机器视觉检测工件的过程如下:在平台下放置待检测的工件,实现接触开关、灯光和相机的通信,完成相机标定,相机将在适合的光源下获取到的工件图像传入工控机,经过算法测量计算后得到工件尺寸并通过人机交互界面显示本论文所设计的检测系统分为两个部分:一是硬件,二是软件。硬件部分由工业摄像机,光源,接近传感器,工业显示屏,工业控制计算机组成和相关接口电气等,硬件部分的目的标定后的相机可以在合适的光源背景下获取到较高质量的工件图像。软件系统主要是设计人机交互界面,在计算机上完成,通过一系列算法对图像预处理及测量计算等,主要作用是计算测量出工件尺寸,最终判断该工件是否合格。2.2检测系统的硬件平台的构成工件尺寸检测系统的硬件部分包括6块平面漫反射光源、6台工业相机、3个接近传感器、1台工控机、1个工业显示屏及相关接口电气等。总体布局和实物如图2.3所示。其中工业相机和平面漫反射光源安装于支撑架正对于角件上方,工控机和光源控制器等固定在控制柜内部。控制柜提供一键启停系统的操作按钮,显示屏提供目前系统的运行状态、图像采集和处理结果等信息。接近传感器判断前端到位及其类型。系统的核心零部件型号如表2.1所示。图2.3工件检测系统总体布局表2.1前后端检测系统零部件型号2.2.1光源的选用及设计原理选用合适的光源对基于机器视觉检测的多相机检测系统设计与实现具有重要意义。合适的光源能够提供稳定的光照条件,保证图像采集的一致性和准确性。它能实现均匀的光照分布,确保不同相机采集的图像具有相似的光照强度和分布特性。此外,合适的光源能够提供一致的色温输出,保证多个相机采集到的图像具有统一的色彩表现。光源的可调节性和控制性使其能够根据具体需求进行亮度和颜色的调节,并实现远程控制,提高系统的灵活性和便利性。因此,光源选型在多相机检测系统中扮演着关键角色,对于提高图像采集质量和系统可靠性至关重要。本文的光源采用的是由LED灯组成有均匀光发射特性的发光面板如图2.3所示,作为核心部件平面漫反射光源。平面漫反射光源的设计基于漫反射原理,通过将光源均匀地反射到周围环境中,使得光在各个方向上具有相似的强度和分布特性。这种均匀的光照条件有助于消除阴影、减少反射和折射等影响因素,提高图像检测的准确性。平面漫反射光源可以提供均匀的光照条件,使得各个相机采集到的图像具有相似的光照强度和分布特性,这种均匀性有助于消除阴影、减少反射和折射等影响因素,提高图像检测的准确性,消除光照不均匀造成的误差。图2.3LED灯发光面板2.2.2相机的选用及原理相机的选型在基于机器视觉检测的多相机检测系统中具有重要的意义。正确选型的相机能够满足检测需求,提高检测精度,实现高速检测,并具备系统兼容性、稳定性和可靠性。选择合适的相机要考虑分辨率、帧率、动态范围、接口和光学系统等因素。高分辨率和高质量的相机可以捕捉和分析目标物体的细微特征,减少误判和漏检。快速帧率可以对快速运动物体进行准确检测。与系统平台和其他硬件设备兼容的相机接口和数据传输方式具备系统扩展性。选择具有高稳定性和可靠性的相机能够适应恶劣工业环境的长时间运行。在选型过程中,还需考虑成本效益,选择性能适中、价格合理的相机。本文中相机选用了工业相机如图2.4所示,工业相机采用了与普通相机不同的图像传感器和图像处理电路,以满足工业自动化领域对高速、高精度图像采集的需求。它通过光学系统将被检测物体的图像传输到图像传感器上,并通过图像处理电路进行数字信号转换和处理,最终输出高质量的图像数据。工业相机的高速采集能力和高性能图像处理芯片使其能够实现快速的图像采集和处理,满足高速生产线上的快速检测需求。其高精度的图像质量能够提供清晰、细节丰富的图像数据,为精确的图像分析和检测提供可靠基础。工业相机还具备强大的光线适应能力,能够适应复杂工业环境下的不同光照条件,获取可靠的图像数据。其支持外部触发功能,实现与其他设备的同步工作,确保多相机系统的同步采集和精确控制。工业相机在多相机检测系统中能够实现高质量图像采集,多相机同步工作,提供稳定性和可靠性,以及灵活性和可扩展性。图2.4工业相机图片2.3本章小结本章详细介绍了基于机器视觉检测的多相机检测系统的设计和硬件平台组成。主要详细介绍了系统整体的设计构图和检测工件流程,和硬件平台构成的光源和相机的选用及原理。通过合理的系统设计和选用适当的硬件平台,该系统能够实现高效、准确的图像采集、处理和分析,为后续的决策和控制提供可靠的数据基础。第3章多相机视觉检测软件系统设计3.1检测软件系统的设计方案基于机器视觉多相机检测系统设计的目的是:通过相机及光源获取工件图像,然后进行数据分析,图像处理以及测量计算,快速得到工件的尺寸,最后将检测结果进行保存及显示,从而判断该工件是否合格。在机器视觉检测多相机检测系统设计与实现中,系统软件设计流程图可以分为数据采集与预处理、检测与识别、输出与保存三个主要步骤,如图3.1所示。图3.1系统软件设计流程图数据采集与预处理,此步骤包含多相机的数据采集与校准,同时对数据进行预处理,以从原始数据中提取关键信息。检测与识别,此步骤主要负责对处理后的图像进行检测与识别操作。具体操作包括特征提取、目标检测、人脸识别等,根据需求进行相应的算法选择和调整。输出与保存,此步骤主要负责将检测与识别的结果进行输出与保存操作,并将结果输出到可视化界面上进行展示,还有通过日志形式保存结果供后续进一步分析和处理。视觉检测是一种综合运用了多种学科的非接触式测量技术[1],本文中的视觉检测系统主要包括七个模块,如图3.2所示。图3.2软件模块划分其中状态更新及调度模块通过状态机的方式实现对系统运行状态的控制,是该软件系统的后台内核模块;端口监听及处理模块实现定周期的检测通用I/O信号,通过状态机对信号进行分析,判断到位信息和类型信息,同时提供网络端口监听,实现与上位机(管理系统)的通信;光源及相机控制模块通过串口通信对光源亮度进行调控,触发相机完成图像采集;图像处理与计算模块通过数字图像处理技术实现图像预处理、轮廓匹配和定位、测量计算等;数据读取和保存模块实现对配置参数的读取和保存、对采集图像及测量结果的保存和读取;数据分析及可视化提供对历史数据的读入、分析和图形化显示。3.2图像采集系统设计与实现3.2.1图像采集系统的设计机器视觉检测多相机检测系统的图像采集系统设计部分可分为两部分,为硬件和软件两个方面的设计。硬件方面需要选择适合的相机型号及数量、适用于多相机系统的计算机等内容,以确保系统采集图像的稳定可靠性。相机选型需要考虑传感器分辨率、帧率、镜头和接口等因素,并进行相机的同步控制,避免多相机采集时出现的图像重叠问题,确保精度和准确度,本文选用的是工业相机。软件设计方面包括驱动程序开发、图像采集软件和图像预处理设计等方面。驱动程序开发根据工业相机和计算机环境开发相应的驱动程序,实现对相机的控制和数据传输。图像采集软件主要负责多相机采集系统的实时数据采集、显示、存储等功能。图像预处理软件主要负责对所获得的图片进行降噪处理、预处理、校准等处理操作,以提高后续算法处理效率和精度。3.2.2实现系统通信1、实现接触开关的I/O口通信I/O通信,也称为输入/输出通信,是计算机科学中的一个基本概念,它使计算机能够与硬盘驱动器、键盘、鼠标和显示器等外部设备进行交互。在典型的计算系统中,I/O通信是在计算机和外部设备之间传输数据的过程。I/O通信过程涉及两个主要组件:设备驱动程序和I/O控制器。设备驱动程序是管理计算机和外部设备之间交互的软件,而I/O控制器是促进实际数据传输的硬件组件。在机器视觉多相机检测系统中实现接触开关I/O口通信是用于进行多相机同步控制和触发,具体实现过程包括硬件连接、硬件编程、软件设计和状态处理。首先,需要将接触开关连接到微控制器的I/O口上,然后通过微控制器的软件编程,设置I/O口为输入模式,以读取接触开关的状态。为了建立通信协议,定义一个简单的协议,将I/O口的状态读入到一个变量中,然后根据变量的值来判断接触开关的状态。最后,根据接触开关的状态,可以进行相应的处理,如触发相机拍照、启动图像处理、输出检测结果等。通过该方法可以确保多相机检测系统的各相机能够同步控制且准确触发,提高了系统的稳健性和准确性,从而更好地适应实际应用场景。I/O通信对于现代计算系统至关重要,有助于执行各种任务以及开发新的算法和协议。随着计算系统变得越来越先进,我们可以期待看到I/O通信的新发展,以提高速度、可靠性、能效以及与人工智能和机器学习等其他技术的集成。本文的开关接触使用的是I/O口通信,主要是因为具有以下优点:(1)简单易用。开关使用I/O口通信的硬件连接非常简单,只需要将开关的信号线连接到I/O口,就可以实现通信。(2)节约资源。使用I/O口通信不需要额外的通信接口,如SPI、I2C等,因此可以节省芯片的资源和成本。(3)实时性好。I/O口通信可以实现实时响应,因为I/O口可以直接操作寄存器,不需要额外的中断或者DMA等机制。(4)稳定可靠。I/O口通信的信号传输稳定可靠,不容易受到外界干扰。(5)适用范围广。I/O口通信适用于各种类型的开关,如按钮、触摸开关、旋钮开关等。2、实现相机的网口通信工业以太网是一种应用于工业控制系统的网络协议。它是以太网技术在工业自动化控制领域的应用,目的是满足工业控制系统的高速、实时、可靠的数据传输要求。随着工业控制系统的智能化和网络化的发展,工业以太网已经成为现代工业自动化领域中不可或缺的技术。机器视觉检测多相机检测系统需要对多台相机进行通信,在实现相机网口通信部分时,通常采用以太网进行相机与计算机之间的通信。首先需要设计相机之间和相机与计算机之间的网络拓扑结构。多相机检测系统的网络拓扑结构通常是主从式结构,即计算机作为主节点控制多个相机作为从节点进行采集和传输数据。在确定网络结构后,设置诸如IP地址、子网掩码(subscribermask)、网关(gateway)等的网络参数。实现相机网口通信是使用相机进行图像采集、参数设置、控制等操作的基础。相机网口通信可以采用TCP/IP协议、UDP协议等许多协议,本文相机通信采用TCP/IP协议,实现相机与计算机之间的通信,TCP为可靠传输协议,保证了数据的传输安全。在实现网口通信时,需要编写相应的控制程序,采用API函数库实现。在实现相机网口通信的基础上,还需要实现数据传输功能,将相机采集到的工件图像数据传输到计算机,供计算机处理。传输方式通常有两种方式:基于TCP的图像传输和基于UDP的图像传输。采用基于UDP的图像传输速度相对较快,但是由于UDP协议本身不具备可靠性,可能会出现丢包等问题。故本文采用的是基于TCP的图像传输,可以保证图像数据的完整性,具有非常高的可靠性,只是传输速度相对较慢。工业以太网是工业自动化控制领域中的一项重要技术,具有高速、实时、可靠、易扩展和易维护等优点。工业以太网作为一种高速、可靠的工业通信网络技术,在工业自动化控制系统中具有广泛应用和重要地位。本文相机通信采用的是网口通信,主要是因为具有以下优点:(1)高速数据传输。相机通过网口通信可以实现高速的数据传输,这意味着更快的图像传输速度和更高的帧率。(2)长距离传输。相机可以通过网口连接到计算机,从而可以实现远程图像采集和数据处理,这对于需要在较长距离上进行图像采集和传输的应用非常有用。(3)稳定性和可靠性。使用网口通信可以提高相机系统的稳定性和可靠性,因为网口是一种成熟的通信协议,可以通过标准化和广泛应用来保证通信质量。(4)易于集成。由于网口是一种标准接口,因此使用网口通信的相机可以很容易地与其他设备集成,例如计算机、路由器等。(5)节省成本。相对于其他高速通信接口,网口通信相机通常具有更低的成本和更高的可用性。3、实现灯光的串口通信串口通信是计算机和外部设备之间的一种数据传输方式。在这种通信中,数据是逐个比特地传输,通过一个称为串行端口的物理连接连接计算机和外设。串口通信在很多场合都被使用,包括嵌入式系统、通信设备、自动化控制、数据采集等领域。串口通信的基本原理是将数据逐个比特地传输。这与并行通信不同,后者在同一时刻传输多个比特。串口通信在计算机和外部设备之间建立一个称为串口的物理连接,通过这个连接传输数据。串口通信的两个主要参数是波特率和数据位数。波特率是每秒传输的比特数,数据位数是每个字节中包含的比特数。常见的波特率有9600、19200、38400、57600和115200等。数据位数一般是8位,但也可以是5、6、7或9位。在本文的机器视觉检测中,灯光采用的是LED灯发光板为核心的平面漫反射灯光源,为实现该部分的串口通信,我们需要将串口通信模块连接到LED灯发光板上,通过串口连接到计算机或嵌入式系统上。在硬件编程方面,使用UART通信协议进行编程,与LED灯发光板进行通信。在软件设计方面,根据打开灯光、关闭灯光和调节亮度等需求自定义相应的控制命令,并将命令发送给灯光控制器。需要根据实际任务需求,进行相应的状态处理和业务逻辑实现。一般而言,串口通信协议分为二进制协议和ASCII码协议两种,需要按照协议格式进行数据包封装和解包。在LED灯发光板的通信协议中,一般采用ASCII码协议,需要按照相应的格式进行封装。本文的灯光通信采用的是串口通信,主要具有以下优点:(1)简单易用:串口通信是一种非常简单易用的通信方式,只需要少量的硬件和软件资源就能实现数据传输。因此,使用串口通信可以减少系统的复杂度和开发成本。(2)可靠性高:串口通信具有高可靠性,数据传输稳定,不容易出现丢包、误码等问题。此外,串口通信的速率较低,不容易产生干扰和噪声,因此可以保证数据的完整性和准确性。(3)跨平台支持:串口通信是一种标准化的通信方式,几乎所有的计算机和嵌入式设备都支持串口通信。因此,使用串口通信可以实现不同平台之间的数据交换和共享。(4)成本低廉:串口通信所需要的硬件和软件资源非常少,因此成本相对较低。此外,串口通信所使用的传输介质一般为串口线,价格也比较便宜。(5)实时性强:串口通信是一种实时性很强的通信方式,能够快速响应系统的指令和数据。因此,在需要高实时性的应用场景下,使用串口通信可以更好地满足系统的要求。3.3人机交互界面的功能介绍及设计3.3.1软件的具体功能1、界面的按钮功能在启动系统时,硬件系统都有响应时间,等待一小会,在程序段开始前取得系统运行时间,相机和光源处于打开的状态,采集完图像后立马关闭光源。该系统允许鼠标操纵图像显示,控制鼠标点击界面按钮开始采集线程。(1)启动。点击“启动按钮”,即进入采集线程,开启I/O端口定时扫描,扫描频率为20HZ,接着进行图像采集,开始识别孔位,处理和尺寸测量。(2)暂停。点击“暂停”,暂停线程,休眠一段时间,避免线程一直运行,影响界面响应。(3)回看。在视觉检测相机检测工件尺寸的过程中,每次检测结果都会保存到日志里,点击“回看”按钮可以查看前面所测量的结果。(4)退出。在工件尺寸实验测量完毕后,点击“退出”,退出程序。2、软件的核心功能(1)输入输出。以约200ms周期扫描通用I/O口信号,即时获取接近传感器信号状态,快速判断前端到位信息和判断前端类型;通过串口通信实现对光源的亮度控制;即时监听一个以太网端口,接受上位机(管理系统)命令信息,按照要求通过以太网输出必要信息到上位机(管理系统)。(2)测量结果即时显示及保存。即时显示所采集的高清图像及处理结果、当前前端类型、图形化显示四个测量数据、四个误差数据、当天的运行次数、测量的误差分布等;按照时间格式保存6个工作日的高清图像、测量数据等信息;保存30个工作日的测量数据。(3)参数设置与测量。提供包括光源亮度等级、相机曝光时间、各阶段延迟时间、前端标准数据、误差允许数据等的设置和保存。参数。在2秒内完成图像采集、图像处理、计算参数、结果显示和保存;测量精度不低于0.5毫米。(4)数据分析。提供对30个工作日的测量数据分析,绘制误差分布曲线。3.3.2基于C++的MFC界面设计1、软件系统登录软件程序启动后,第一步就是要进入到系统用户身份认证界面如图3.3所示,在此过程中,操作人员只需输入正确的用户名及密码,就可以顺利登陆,否则就无法进行后台系统的操作。在系统的登陆窗口进行身份认证,其目的是避免在后台的工作人员对其进行随意的操纵,从而确保数据的安全性,还可以方便权限更高的管理人员对系统的管理。图3.3系统用户身份认证界面2、软件系统主界面软件系统主界面设计如图3.4所示,工具栏提供暂停/启动、重启、设置、回看和推出五个按钮;暂停和启动按钮能控制系统运行的启停;重启主要为了重新读入系统的配置参数,重新初始化系统并运行;设置按钮能够对系统的配置参数进行修改,如相机的曝光时间等;回看按钮能够选择查看之前检测的历史数据;退出按钮则是完全退出该检测软件;图像显示区提供即时的四个角件采集图像的显示,其中宽度为2591mm的工件图像在第一排和第二排框中显示,宽度为2896的工件图像在第一排和第三排框中显示;计算结果在界面右边输出,输出信息包括角件类型、宽、高、对角线1、对角线2、对应的误差、是否合格、当天总检测次数、不合格数、合格率;界面最下方提供简单的软件运行状态提示信息。图3.4软件系统主界面设计3.4机器视觉检测的经济性和社会性分析机器视觉检测多相机检测系统是一种用于检测、识别和跟踪目标的高级图像处理技术。其设计和实现的经济性和社会性分析主要体现在以下几个方面:1、经济性分析机器视觉检测多相机检测系统的经济效益主要体现在以下几个方面:(1)降低人工成本:传统的人工检测需要人工干预,成本高且容易出错。而机器视觉检测多相机检测系统可以自动完成检测任务,大大降低了人工成本。(2)提高效率:多相机布置在多个角度,该方法能够实现多个方向的同步探测,具有探测距离大、探测效率高等优点。(3)减少错误率:机器视觉检测多相机检测系统可以自动处理大量的数据,检测结果准确率高,降低了误检漏检的风险。(4)降低维护成本:该系统使用的硬件设备通常比传统的检测设备更加稳定可靠,同时其检测算法也更加智能化,需要的维护成本更低。2、社会性分析在社会效益方面,机器视觉检测多相机检测系统也具有很高的价值,主要为以下几方面:(1)提高监控的效果和质量:多相机检测系统可以检测到传统监控盲区,缩小漏洞。当系统检测到某些异常情况时,可以及时上报,保障了公共安全。(2)提高交通安全:多相机检测系统可以用于交通监控,实时监测交通流量状况,及时识别超速、闯红灯等违章行为,提高交通管理的效率。(3)加强城市管理:多相机检测系统可以用于城市管理,可以帮助城市管理者实时监测城市的交通、环境和公共设施等情况,及时发现并解决问题,提升城市管理水平。总的来说,机器视觉检测多相机检测系统在经济效益和社会效益方面都具有很高的价值,是一项非常有前途的技术。3.5本章小结本章主要对软件系统的设计进行了详细的介绍介绍,包含整体设计框架以及各模块的具体功能,还有详细介绍了图像采集系统设计与实现中的三种通信,主要包含接触开关的I/O口通信、相机的网口通信和灯光的窗口通信。其中基于C++的MFC人机交互界面是选用了VS2017实现的,详细介绍了该界面的介绍和软件的具体功能,以及机器视觉的经济效益和社会效益。

第4章基于机器视觉的特征识别及测量算法4.1相机标定在机器视觉检测多相机检测系统中,相机标定是一个重要而复杂的过程,是计算机视觉和机器视觉领域中一个重要的研究方向。相机标定是一种通过测量和计算相机光学参数的方法,可以使研究人员利用机器视觉来进行三维重建、立体视觉或者物体检测等应用。旨在获取相机的内参矩阵和外参矩阵,以实现图像的立体匹配。本文采用的是棋盘法相机标定方法,棋盘法相机标定方法是利用黑白相间的棋盘格标定板如图4.1所示,通过多个角点的位置来确定内参矩阵和外参矩阵,基于机器视觉检测工件尺寸棋盘法的相机标定主要包括对相机的内部参数和外部参数的标定。对于相机的内部参数标定,相机的内部参数包括焦距、畸变和主点位置等,这些参数会影响图像的尺度、形状、畸变等特性。在棋盘法相机标定中,将标定板放置在不同的位置和方向,并且在保持标定板相对位置不变的前提下,采集多张图像并提取图像中的棋盘角点。对于一张图像,可以通过提取棋盘角点和已知的标定板尺寸,计算出棋盘角点在物理空间中的坐标,再通过对多张图像提取得到的棋盘角点坐标,可以利用最小二乘法计算相机内部参数。具体而言,可以使用相机的针孔模型来建立相机约束条件,然后通过最小化重投影误差来求解相机内部参数,也就是焦距、畸变和主点位置等。最终,可以将求得的相机内部参数写入相机模型,并应用于后续的相机视觉测量中。而对于相机的外部参数标定,主要是指相机在三维空间中的位置和方向。在棋盘法相机标定中,外部参数的标定需要借助于多张棋盘标定板在相机坐标系中的三维坐标,以及每张棋盘标定板对应的二维图像坐标。通过相机成像,可以将每张棋盘标定板对应的二维图像坐标转换为三维空间坐标,并得到多个棋盘标定板在相机坐标系中的位置和方向。最终,可以使用已知的三维空间点和相机标定板的位置,以及其在图像上的坐标,计算出相机的外部参数,即相机的位姿和方向。本文采用HALCON软件进行相机标定,HALCON是一种常用的机器视觉软件库,其中包含了完整的相机标定工具箱,可以更方便地进行相机标定。下面将详细说明标定的基本操作。(1)准备棋盘格图案:首先需要准备一张具有已知尺寸的棋盘格图案,并将其打印出来,确保棋盘格的每个方块都有足够的视觉信息,以便于后续的角点提取,直接在HALCON中使用create_calib_chessboard这个操作来生成一个棋盘格。(2)拍摄棋盘格图像:使用相机拍摄多张包含棋盘格的图像,并将图像保存到一个文件夹中,而且需要确保不同图像中的棋盘格位置和方向都有所变化,以便于后续的相机标定。(3)加载图像:在HALCON中使用read_image操作读取图像,并对其进行图像预处理,如灰度化、去除畸变等。(4)提取角点:使用角点提取算法提取图像中的棋盘格角点,并保存在一个数组中以备后续使用。(5)计算相机内参数:在HALCON中使用calibrate_cameras操作进行相机内参数标定,需要将拍摄到的多幅棋盘格图像及其对应的角点坐标作为输入数据,相机内参数将作为输出结果。(6)计算相机外参数:在获得相机内参数之后,在HALCON中使用find_calib_object_pose操作计算相机的外部参数,主要是相机的旋转矩阵和位移矩阵。(7)保存标定结果:在成功完成相机内外参数的计算后,将标定结果保存到文件中即可。图4.1棋盘格标定板4.2图像处理在机器视觉检测中,首先是要找到工件四个标志点,标志点通过寻找找到两条工件的边缘线段,再调用HALCON中的函数获取两个线段相交的标志点。找标志点需要先进行图像处理,主要是进行图像滤波、阈值分割和图像开运算处理,得到两条边缘线段,再进行线段整合,最后获取工件标志点,图像处理后有利于后面的工件尺寸的测量及计算。图像滤波处理主要作用是对工件图像进行预处理,去除噪声和干扰,提高后续图像处理和分析的稳定性和准确性;阈值分割主要作用是将图像分类成目标区域和背景区域,方便进行后续的图像找交点。开运算主要作用是通过将原始图像进行腐蚀和膨胀操作,可以去除图像中的噪声、小斑点和不规则的边缘,同时保留目标物体的形态特征和边缘信息。整合线段的主要作用是将图像中相邻的一组短线段拼接在一起,以形成一个较长的连续线段。首先是在HALCON中读取相机获取工件的原图,因为在调试模式下,相机无法实时获取工件图片,所以以通过读取本地图片,调用read_image函数来进行图像处理。又由于每个相机所对应的标志点位不同,需要具体进行图像处理的ROI区域也不同,因此对6台工业相机进行标号,6台工业相机相应命名为相机1、相机2、相机3、相机4、相机5和相机6,读取对应相机的图片,便于后续的图像处理。下面以相机1拍摄到的图像为例如图4.2所示。图4.2相机1获取照片然后接着读取ROI区域参数,在ROI区域选择边缘线段空余较宽的距离和选择长度尽量长一点,便于后续因为检测到ROI区域不同时获取不到边缘线段,获取的图片如图4.3所示。 图4.3RIO区域选择与获取图片4.2.1Sobel算子图像滤波处理采用Sobel算子进行图像滤波处理,Sobel算子是常用的一种边缘检测滤波器,其作用是提取图像中的边缘信息,Sobel算子分别在水平和垂直方向上计算图像中像素值的一阶导数,得到两幅梯度图像,进而计算图像的梯度幅值,可以通过下列公式计算: (4.1)其中$G_x$和$G_y$分别是图像在水平和垂直方向上的梯度值,通过Sobel算子计算而得,$G$表示图像的梯度幅值,即Sobel算子计算得到的边缘梯度强度。Sobel算子可以通过卷积运算或使用图像处理库来实现,在进行边缘检测时,可以将Sobel滤波器应用于灰度图像进行通道分离,得到两幅梯度图像,然后,我们可以利用上述公式计算梯度幅值并对其进行阈值过滤。4.2.2Threshold算子阈值分割处理获取边缘检测图片后,接着进行阈值分割处理,阈值分割是一种常用的图像处理技术,它可以将图像中像素的亮度或灰度值划分为不同的区域,从而实现对目标对象的识别和分割。在阈值分割中,threshold算子用于将像素的亮度或灰度值与一个预先设定的阈值进行比较,从而将图像分成两类,分别为灰度值高于阈值的像素和灰度值低于阈值的像素。接下来,将阈值和像素的灰度值进行比较,将高于阈值的像素标记为前景,低于阈值的像素标记为背景,从而实现图像的二值化。4.2.3图像的开运算处理闭运算和开运算是图像处理中常用的两种形态学运算,闭运算通过膨胀和腐蚀操作可以填充小孔洞、连接相邻区域,并平滑和细化边缘,有助于去除目标对象周围的噪声和杂质等;而开运算通过腐蚀和膨胀操作可以去除目标对象的边缘细节和小物体等,有助于分离联通的分量和去除极细的线条。在具体应用中,开运算常用于去除图像中的噪声,例如毛刺、细节等,以便更好地显示目标对象或提取目标特征,同时保留较大特征点的结构,并尽量保留其原始形状,因此根据实际需求,本文选择了对图像进行开运算处理。开运算是图像处理中的一种形态学滤波器处理方法,常用于去噪、提取图像中的小物体等。它由先进行一个腐蚀操作,然后再进行一个膨胀操作,这两个操作常常被称为“开操作”。在进行开运算时,通常需要选择适当的腐蚀和膨胀算子进行操作,本文采用了两种常用的形态学算子分别是Erosion和Dilation算子。Erosion是形态学图像处理中的基本操作之一,指的是将图像中的物体边缘向内部或外部腐蚀(侵蚀)一定数量的像素,从而使物体缩小并且分割开来。通俗来说,就是将物体的边缘部分逐渐消失掉,腐蚀操作可以使目标物体更加突出,去除一些噪声和不规则的边缘。在进行腐蚀操作时,选择了阈值分割后的部分,从而确定腐蚀的范围和方向。按照给定的结构元素,将其应用于原始图像的每一个像素,如果周围像素中存在背景像素,则将该像素设置为背景像素,否则保留原始像素。因此,腐蚀操作会使图像中较小的连通区域缩小,而较大的连通区域也会变得更加紧凑。Dilation是形态学图像处理中的基本操作之一,指的是将图像中的物体边缘向内部或外部膨胀一定数量的像素,从而使物体放大并且连通。通俗来说,就是将物体的边缘部分逐渐扩张,膨胀操作可以填充图像中的空洞、连接断裂的边缘,使得目标物体更加完整。在进行膨胀操作时,同样是选择阈值分割后的部分,确定膨胀操作的范围和方向。按照给定的structuringelement,将其应用于原始图像的每一个像素,如果周围像素中存在前景像素,则保留该像素,否则将该像素设置为前景像素。因此,膨胀操作会使图像中较小的连通区域扩大,补齐物体内部的缺陷,同时可以使物体之间分离开来。膨胀操作通常与腐蚀操作相结合使用。膨胀操作可以填充腐蚀后物体的空缺部分,腐蚀操作则可以去除膨胀后生成的图像中多余的部分,同时可以用于消除小的斑点和分离不同物体之间的干扰。本文使用的是矩形的开运算,是因为需要获取边缘线段的内容,而矩形与边缘线段的方向和角度更为接近。矩形结构元素的优点在于它可以更好地保留水平和垂直线条,不仅可以去除图像的噪声和细节,还能够保持图像的主要方向和形状,更准确地体现对象的特征。而如果使用圆形或其他形状的结构元素进行开运算,则会在一定程度上去除水平和垂直线条,导致对边缘线段部分的信息丢失和错误。4.2.4工件边缘线段的获取将二值图像中目标物体边缘像素腐蚀后得到的线条为获取骨架,这个线条称为目标物体的骨架线、中轴线或骨架。骨架是将目标物体的边缘部分逐渐消失掉,形成的一组连通的线条,可以用于提取物体的形态特征、分析物体内部结构以及进行分类和识别等任务。取获骨架的作用是提取物体的形态特征,骨架线提取可以将物体形态简化为一组连续不断的线条,分析物体几何形状和内部结构,通过骨架线的拓扑结构可以快速计算物体的长度、面积、体积等特征,同时也可以减少数据存储和计算量,提高计算效率接着合并直线,直线合并算法主要是通过合并小线条,形成较长的直线,进一步分析物体的特征。利用union_collinear_contours_xld该函数设置合并的距离误差的参数,将具有共线性的轮廓线段进行合并,并返回合并后的连续轮廓线,应用该函数可以减少轮廓线段的数量,方便后续形态学分析、测量等处理。利用select_contours_xld该函数选择轮廓线段的形状类型,设置轮廓线段的长度参数,应用该函数是提取指定形状的轮廓线段,并将其作为下一步的处理对象。4.2.5找到交点并得到坐标最后获取第一条直线XLD的参数,指从HALCON图像处理软件中的直线线段对象(XLD)中读取直线参数的过程。直线XLD是HALCON软件中表示直线线段的数据结构,其包含了直线两端点的坐标以及其他属性信息。在获取直线XLD参数时,可以通过调用HALCON提供的XLD测量函数来获取直线的起点、终点、角度、长度等参数。其中,Line是要获取参数的直线对象,输出的参数Row1、Column1,分别表示直线起点和终点的行列坐标。通过使用同样的图像处理方法,根据实际情况调整算子中的参数获取第二条线段XLD的参数,输出的参数Row2、Column2,再通过调用intersection_lines函数计算出由两条直线的交点的坐标为(Row,Column)。为了方便观察到交点信息,调用函数gen_cross_contour_xld输出大小为500,角度为45度的矩形结构,获取交点图如图4.4所示。图4.4交点图4.3测量及计算方法在机器视觉检测图像处理完成后,获取到工件的四个标志点,分别为p1、p2、p3、p4如图4.5所示。对于计算工件的长、宽、对角线长度等,需要先将像素尺寸转换为实际尺寸,然后采用相应的公式进行计算。下面将详细介绍这部分的内容。图4.5四个标志点通过前面的图像处理找到图像交点并得到交点得像素坐标(u,v),接下来需要将像素坐标转换成实际坐标。在工业相机下将像素尺寸坐标转换成实际坐标需要进行像素与实际长度的映射,也就是计算出像素长度与实际长度之间的比例关系。这个比例关系通过在工业相机下拍摄一个已知长度的物体,本文采用了已知长度为10mm的游标卡尺,然后测量该物体在像素中的长度,再和实际长度之间的比例关系就可以得到转换比例关系。假设游标卡尺在像素坐标系下的长度为Lp像素,实际长度为Lu毫米,则像素与实际长度之间的比例公式(scale)为: (4.2)测得游标卡尺在像素坐标系下的长度为1000像素(pixel),而其实际长度为10毫米,则比例关系为: (4.3)接着用卷尺直接测量相机物镜到工件表面的距离得到z坐标,就可以根据像素与实际长度转换的比例得到交点的实际坐标(x,y),公式如下: (4.4) (4.5)最后通过依次把四个角点的像素坐标和相应的高度,转换成实际坐标P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3),P4(x4,y4,z4),再根据测量得到物镜表面到工件表面的距离距离z,再将实际坐标转换为三维空间中的坐标值,然后根据公式计算工件的长度L、宽度W和对角线长度D,具体计算公式如下: (4.6) (4.7) (4.8)4.4本章小结本章内容主要详细介绍了相机标定的方法、图像处理和工件尺寸测量及计算部分的内容。相机标定采用了棋盘法标定的方法,实现了多相机系统的标定,通过棋盘格标定板得到计算工件尺寸所需要的标定系数,并得到了内参矩阵和外参矩阵。图像处理部分包括图像滤波处理和图像阈值分割处理,并对图像开运算处理以及线段的整合,根据实际应用需求选择适当了相应的处理方法,提高了图像分析的精确性和效率。最后经过图像处理,像素坐标和实际坐标的转换,得到三维坐标,根据相关公式快速得到工件的尺寸,分别是工件的长度、宽度和对角线的长度。

第5章系统运行流程及误差分析5.1系统运行流程5.1.1测量流程1、操作流程(1)打开系统程序,录入正确的用户名和密码,成功登录。(2)在登陆完毕之后,就可以进入到操作主屏幕,在查看了系统的灯光、相机等的状况之后,就可以确定系统的状况是好的,然后就可以继续设定系统的参数了。(3)完成参数设置后,点击“启动”,相机和光源处于打开状态,进入采集工件照片模式。(4)获取工件高清照片后,传送到工控机,经过图像处理及测量计算,界面显示工件的长、宽、高和对角线长度。(5)通过参数比对,界面即时显示工件照片以及检测结果,从而得到所检测工件是否合格的结果。(6)在检测过程中,如果需要停止检测,则可以按下“退出”按钮,该软件系统还可以得到对应的误差、当天总检测次数、不合格数、合格率的对应数据。2、控制流程软件的状态控制流程如图5.1所示。开机后软件自动运行,读入配置文件进行初始化,开始端口监听;初始状态为空闲状态,如果前端到位,系统进入测量状态,此时则开启光源,适当延时后进行图像采集、图像处理、测量计算,然后更新显示、保存图像及结果,必要时输出结果给管理系统,完成返回到空闲状态;在空闲状态时,如果没有检测到前端到位信息,此时可以进行历史数据查看和分析,系统进入分析状态。分析状态与测量状态是互斥的,当实际工作时请不要进行数据分析处理,否则在没退出分析处理时,系统是不会开展测量工作。 图5.1状态控制流程5.1.2检验结果系统开始启动运行后,点击启动,相机和光源处于打开状态,此时光源亮度较小,开始进入线程,触发三个接近开关,判定为长款,长款工件到位;触发两个接近开关,判定为短款,短款工件到位,开始采集图片,此时的光源亮度增强,完成图片采集后立即关闭光源,开始识别孔位,识别出孔位,则显示孔位识别结果图像,如无法识别,则显示原始图。经过一系列算法计算,得到短款工件的宽、高和对角线长度,并同时判断该工件是否合格、测量的总次数以及合格率的显示图如图5.2所示。测量完后,点击“暂停”,暂停线程,休眠一段时间,避免线程一直运行,影响界面响应。进行下一次工件尺寸测量时,点击“启动”,接近开光,恢复线程即可。最终的检验结果受现场的环境复杂和光线的不同程度的影响会产生不同程度的误差。图5.2短款工件测量尺寸显示图5.2检验误差分析机器视觉相机检测工件尺寸的系统在检测时有很多因素会影响测量精度,现场环境复杂,光线的影响,就算在实验室的环境下进行测量也不能完全避免由环境影响所产生的误差。本文还使用了激光跟踪仪进行工件尺寸的测量,与本文机器视觉检测得到的结果进行分析和比较,最后概括出在机器视觉测量系统中影响测量精度的因素。激光跟踪仪测量工件尺寸的过程为先搭建激光跟踪仪系统,激光跟踪仪系统由激光发射器、接收器、机械移动平台和控制系统等组成。激光发射器将激光束发射到工件表面,接收器接收反射回来的激光信号,机械移动平台可以控制激光跟踪仪在三维空间中移动,从而进行测量。接着采集激光点云数据:通过控制激光跟踪仪在不同位置、不同角度对工件表面进行扫描,收集工件表面上的三维坐标点云数据,将数据存储在计算机中。然后进行点云数据处理,对于原始点云数据,需要进行处理和滤波,以去除杂点和异常值,并对点云数据进行平滑和分割,进而提取出所需的特征信息和区域。最后实现目标检测,使用目标检测算法对提取出的点云特征进行分析和处理,实现工件的检测和定位,从而计算出工件的尺寸,将测量结果显示到人机交互界面上。激光跟踪仪的机器视觉检测方法具有许多优势,该方法可以实现高精度测量,可以检测到不同形状和大小的工件和同时测量多个部位,大大提高了测量效率和节省时间。此外,激光跟踪仪可以适应不同环境和光照条件,对于光线复杂的场景也能够实现高精度测量。最终通过对比和分析发现使用激光跟踪仪检测工件尺寸的误差为0.0001mm,而机器视觉检测的结果误差为0.5mm,最终分析出在机器视觉测量系统中影响测量精度的因素有很多,概括为以下几方面。(1)现场环境对高清图像的采集影响比较大,空气中的灰尘颗粒,还有现场的光线强弱都对图像采集有影响。(2)相机自身的性能也对所采集的图像精度的高低起到一定的影响,相机是获取图像的设备,该设备的主要的因素是分辨率,在获取图像时使用高分辨率的相机能够提高所获取的图像的工件尺寸的测量精度。而且相机在采集图像时会产生不同程度的畸变,这种畸变是无法彻底消除的。(3)被测工件本身也会影响测量精度,如果工件表面不光滑会影响到所采集到的图像的高清程度,从而影响到工件尺寸测量的精度。5.3本章小结本章主要详细介绍了机器视觉相机检测系统对工件尺寸测量流程,还有测量结果和检验误差分析。首先对检测工件尺寸的实验流程进行了详细的阐述,然后得到测量的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论