一章 绪论
1.1 机器视觉检测技术概述
机器视觉是研究用相机和计算机来模仿人的眼睛和大脑完成对目标的识别、跟踪和测量等任务的科学[1]。通俗地说,就是用机器代替人眼来做测量和判断[2]。它的工作过程大致为:首先,使用相机将被摄取目标转换成图像信号,传送给专用的图像处理系统,图像系统对这图像中包含的信息进行处理和计算;然后计算机根据处理的结果做出判断或决策;将控制信号传送给执行机构。机器视觉的特点是自动化、客观、非接触和高精度,与一般意义上的图像处理系统相比,机器视觉强调的是精度和速度,以及工业现场环境下的可靠性。
机器视觉实际上是数字视觉技术与工业制造技术的结合的综合性技术,主要包括数字图像处理技术、机械工程技术、控制技术、电光源照明技术,光学成像技术、传感器技术、模拟与数字视频技术,计算机软硬技术,人机接口技术等。这些技术在机器视觉中是并列关系,这些技术相互协调应用才能构成一个成功的工业机器视觉应用系统。
将机器视觉应用到制造业的检测领域中,用机器视觉系统确定产品相对于一组标准要求的偏差的过程通常称为机器视觉检测[3]。它特指机器视觉在工业检测方面的应用,是机器视觉应用和研究领域中的一个重要分支。
机器视觉检测是一种适合现代制造技术发展的检测方式。它与传统的检测方法相比,有着如下的优势:首先,机器视觉可以实现非接触在线检测,完成对生产线上的零件进行100%的检测,满足自动化制造系统中的工序间检测和过程检测的要求;其次,机器视觉检测是通过计算机或者数字信号处理器中的程序对图像信息进行处理而得到的测量结果,因此机器视觉检测具有一定的智能和柔性,适于现代企业的柔性生产方式;再次,只要选用足够高精度的镜头和图像传感器,机器视觉检测技术可以达到较高的检测精度;机器视觉易于实现信息的集成和管理,为实现计一算机集成制造技术提供必要的支持。并且机器视觉检测与传统的人工检测相比效率更高,检测结果更加准确可靠。由于机器视觉检测不会受到操作者的疲劳度、责任心和经验等因素的影响,在一些不适合人工作业的危险场合,人工视觉难以满足要求的场合和带有高度重复性、智能性并且靠人的眼睛无法连续稳定地进行产品检测的场合,机器视觉可以发挥它自身的优势来、高质量的完成检测任务。
机器视觉检测是与先进制造工艺与现代制造生产模式相适应的智能化、自动化、柔性的检测手段。在国外己经将机器视觉系统广泛地用于工况监视、成品检验和质量控制等领域。在中国,这种应用也在逐渐被认知,对于机器视觉的需求将越来越广泛。
1.2 机器视觉检测的研究概况
机器视觉技术是在20世纪50年代从统计模式识别兴起的,但由于机器视觉系统的复杂性,当时的研究工作主要集中在对二维图像的分析、识别和理解上,如光学字符识别、工件表面、显微图片和航空照片的分析解释等。
60年代中期,R. Robert开创性的三维景物分析研究成为机器视觉的起源,他运用数字图像研究实体模型,对物体形状和结构进行了描述。
70年代,MIT的学者提出了机器视觉的理论。
80年代,Marr从信息处理的角度综合了图像处理、心理物理学、神经心理学及精神病学的研究成果,提出了第一个较为完备的视觉处理框架,他将视觉分为自上而下的三个阶段,创建了Marr的理论框架。
近年来,随着机器视觉理论及应用技术的不断发展,人们逐渐认识到Marr的理论框架存在以下不足,即被动接受信号,无主动性和目的性,处理过程没有反馈环节,用一些假设和基本的约束保证通用性。因此,许多学者在机器视觉的现状与目标、理论与方法以及实验与应用等方面发表了许多不同的见解,探索了新的理论,在很大程度上促进了机器视觉技术的发展[4,5]。
当前,随着机器视觉检测系统应用的增加,对机器视觉的研究也越来越多。一些研究机构或企业开发了机器视觉系统软件的开发平台或者函数库,提供一些常用的算法和工具。但是,机器视觉是一门交叉性强的学科,因此在研究和应用中一套视觉系统一般只针对某一种检测任务来进行研究和开发,没有一套机器视觉系统是对任何检测工程来说是通用的。
根据机器视觉的应用领域不同,对机器视觉检测的研究可以分为不同的种类,不同的学者对分类也有不同的见解[6,7]。在现阶段的研究中通常分为以下三种类型:
(1)尺寸测量
尺寸测量是机器视觉研究和应用的重要应用领域,也是一个比较早开始的研究的方向。机器视觉应用于尺寸测量工程中时,从视觉系统的硬件(光源、图像传感器等)的选用到软件算法的设计中的每一个环节都对性能产生影响。需要根据工程的自身特点选择合适的硬件。
(2)表面质量检测
机器视觉检测技术已经广泛应用到工业产品的表面检测中,主要检测的内容包括毛刺、划痕、磨损等。但对复杂曲面的视觉检测仍有一定的困难,一方面,工件表面的反射方向复杂、存在阴影等因素影响着图像的质量,另一方面相机的镜头方向和距离工件的位置的控制也是影响检测精度的因素。
(3)目标分类与识别
目标分类与识别一直是研究的热点,物体识别的基本方法是建立物体模型,使用各种匹配算法从真实的图像中识别出物体最相似的目标。根据物体识别任务所在的空间,物体识别可以分为二维特征识别和三维特征的识别。二维识别用在识别远距离的物体或者在场景中稳定的位置的物体。三维识别通过物体的灰度图或2.5维图获取实际场景中的信息来识别物体的三维结构特征。信件分拣、指纹识别、人脸识别、车牌识别等都是此方面典型的应用。
1.3 机器视觉检测技术的应用
自上世纪八十年代初开始,国外有关视觉检测技术的研究逐渐兴起。美国人首先将视觉检测系统应用于制造业[8],其中,有100多家公司跻身于视觉检测系统的经营市场。而国内的视觉检测研究从上世纪九十年代才开始得到重视。相关资料表明,目前视觉检测技术已经在印刷电路板的检测、汽车车身检测、钢板表面的自动探伤、机械零件的自动识别分类和几何尺寸测量、大型工件平行度和垂直度测量、容器容积或杂质检测及农产品的检测等领域得到了广泛应用。
在电子工业中,由于超大规模集成电路的出现,使得集成芯片(IC)的密度和复杂度大大提高,PCB的布线变得更加复杂。传统的检测方法越来越不适应,检测成本越来越高。而视觉检测以其快速、精确的优点,为印刷电路板(PCB)和集成芯片(IC)的自动检测提供了高性价比的新方案。PCB和IC的检测代表了一类重要的视觉应用领域,目前在PCB和IC的生产线上,大约60%的检测任务是由机器视觉检测来完成的。Perkins等人描述了用于检测平板上元器件(如装配的PCB)的机器视觉系统,系统应用边缘检测,细化和连接边缘成分段直线来处理PCB图像,并对准模型和场景在分割描述的基础上决定匹配点[9]。Franci
Lahajnar等人描述对电路板自动检测的机器视觉系统[10],他们应用亚像素边缘检测技术和半自动校正系统来分辨电路板的物理特性,通过检测电路板的尺寸反映刀具的磨损情况。
在汽车制造业中,视觉检测主要用在轿车车身生产线,对车身侧围、底盘、以及整个下身总成关键尺寸进行检测,还用于生产线中机器手的定位、瞄准,从而实现机器手的自适应自动化安装,大大提高了汽车产品质量和生产效率,降低了生产成本。Schmidberger等人用一个装配在机器人上的照相机来检测大尺寸平面上的信息,移动机器人拍摄不同部位图像,通过图像处理的方法比较被测零件与标准零件图像,从而检测裂缝、折叠、孔洞丢失等缺陷[11]。Dimitrios
Kosmopoulos等人开发了汽车用自动检测间隙系统[12],任务是测量车身与装在其上的各种面板(包括门,发动机罩等)之间的间隙尺寸。该系统在多于30处位置进行检测,测量的有效(RMS)。
< 0.1mm。
< 0.1mm。
在机械零件检测中,主要包括零件的自动识别与分类、零件几何尺寸与形位误差的测量以及工件表面或内部的缺陷检测。机械零件的视觉检测是将三维物体拍摄成二维的数字图像,根据图像来分析和理解空间物体。大部分机械零件的构成要素是直线和圆弧,对它们的检测,常采用测量点序列进行拟合以求得参数值。在Mills研究的尺寸测量系统中[13],使用高分辨率线扫描相机来获取圆柱形零件的检测图像,通过对图像的处理及分析,计算其尺寸误差。Bremner描述了一个使用x-y驱动条钢形状的尺寸检测系统[14],在3×2mm2的视场内达到0.01mm的精度。
视觉检测在农业中的应用主要体现在农产品的检测方面,农产品的图像检测技术按其目的不同可分成:分级、检验和分类。1999年,J.
Paliwal等人研究了不同品种小麦的识别技术[15],基于彩色参数和傅立叶描述算子,利用小距离分类器,对五种加拿大小麦的识别,其准确率分别为100%、94%、93%、99%和95%。X
Lou等人对完整小麦和破损小麦的检测进行了研究,分别采用基于统计分类器的K-近邻法和基于BP网络分类器的检测方法。试验结果表明,基于BP网络分类器的识别准确率高于基于统计分类器的方法[16]。
在医药业中,胶囊类的药品包装一般使用铝塑板包装,其优点是方便、卫生及密封性好。但存在漏装、残缺、漏粉等现象。针对这一问题,左奇等人提出一种基于局部二值化的视觉检测方法[17]。相关实验表明,检测为合格品的正确识别率为99.95%,识别速率达200粒/s。
机器视觉检测已经渗入到工业生产的各个领域。成为保证产品质量的一个重要环节。
1.4 课题背景及本文主要工作
注塑制品的应用以轻工业和建筑业为主,目前在发达国家,其消费比例可达40%以上。随着功能性塑料的开发,更多的注塑制品进入卫生领域。现在塑料作为一种新型材料,正在迅速进入办公室自动化、海洋开发、信息产业等技术领域,并逐渐向其他领域拓宽[18]。
但是注塑产品的质量检测却是令每个注塑企业头痛的问题。如果不掌握正确的注塑质量检测方法,就很难控制注塑件的质量,甚至会出现一些意想不到的品质问题,给企业造成很大的经济损失。一些注塑企业由于对注塑生产过程中的产品质量检测方法不当,经常出现各种产品质量问题(如:外观、颜色、结构、尺寸、强度、装配不良等),造成注塑产品不良率高、批量退货、客户抱怨、延误交期,导致注塑过程中废品率高、料耗大、成本高,企业的竞争力下降。
而现在国内检测工具多为投影仪、精密高度尺、针规、量块、半径样板、卡尺等。而这些离线检测方法不利生产过程的自动化,不符合现代制造业检测实时,在线,非接触的要求。于是现在少数大型注塑产品生产商,就开始采用机器视觉的办法进行在线实时检测。正是这种基于机器视觉的检测方法使得注塑产品检测过程的自动化、智能化成为可能。
基于此,本文将研究重点放在实现注塑制品的机器视觉检测,提高注塑制品检测的效率以及产品的生产质量。
本文在东北大学流程工业与综合自动化重点实验室的注塑生产过程基础上设计并实现了基于机器视觉技术的检测系统,实现注塑制品的自动质量检测,分拣,以及为注塑机控制提供定性控制反馈消息的功能。主要工作包括以下几个方面:
(1)
在调研注塑生产过程、查阅大量文献的基础上,本文完成了基于机器视觉的注塑制品质量检测系统的软硬件设计。根据系统要求,对硬件设备进行选型,搭建机器视觉检测系统的硬件平台。在硬件平台的基础上,利用VC++编写摄像头的控制代码。改进人机界面,增强软件功能。用软件实现理论研究的算法,对图像进行处理。并与注塑机控制系统进行通讯,实现交互控制。
(2)
针对所获取的图像存在背景、噪声等干扰信息,不适于直接进行缺陷检测的问题,本文研究了相关的预处理算法。针对单一采用阈值或差影法进行背景分割都存在缺陷的情况,本文采用先阈值后差影的方法,得到了优于上述两种算法的分割背景制品图像。为了解决分割背景处理后,有可能出现的噪声问题,本文改变了常规的滤波步骤,在得到背景图像前先进行滤波,然后再判别背景与目标。克服了邻域平均法对零散噪声克服不足以及中值滤波方法在大面积噪声处理时失效的问题。增强了背景分割算法对于外界环境变化的适应能力,提高了算法的实用性。
(3)在取得满意图像的基础,进行制品缺陷的特征提取研究。首先,分析了注塑制品质量缺陷的特点,提出将注塑制品缺陷分为形状缺陷以及纹理缺陷分别进行特征提取的思路。在形状特征提取方面,本文提出一种兼顾实时性与准确性的方法,利用几何特征检测的迅速性对制品进行初步的定性判断,如有缺陷的制品产生,再通过不变矩得到缺陷的细节特征。在纹理特征提取上,结合灰度共生矩阵,Gabor小波滤波器各自的优点,对特征向量进行优化组合,减少了传统方法的特征向量维数,在保证准确率的情况下,提高了分类效率。
(4)对注塑制品的缺陷检测方法进行了研究。选择多分类支持向量机并根据系统的特点与要求对分类器进行了设计。综合应用上述方法,实现了基于机器视觉的注塑制品缺陷检测,获得了较高的检测正确率,较好的满足了注塑制品检测的要求。
第二章 系统的设计与实现
上一章介绍了机器视觉检测系统的研究现状,分析了当前机器视觉检测系统存在的问题及发展方向,为本文对机器视觉检测系统的研究奠定了基础。本章首先对机器视觉检测系统的组成、原理及相关设备选型进行研究,结合实际注塑生产过程设计并实现了注塑制品视觉检测系统硬件平台的搭建;在Visual
C++6.0编程环境下建立注塑制品视觉检测系统人机界面,为后续工作提供基础软件平台。
2.1 系统总体结构
基于机器视觉的检测技术是一种有效的非接触检测技术,广泛应用于各种加工件的在线检测以及高精度、高速度的测量。典型视觉检测系统由CCD传感器、光学系统、计算机数据采集和处理系统、机械运动工作平台等部分组成[19]。本文所设计的机器视觉系统结构组成框图。
视觉检测系统的硬件由光源、CCD摄像机、图像采集卡、工业计算机,机械臂组成;软件为在VC++平台下编写的图像获取程序及其他相关功能组件。整个视觉系统的工作过程如下:首先由机械臂将注塑制品夹至两台摄像机的位置,拍取制品的正反两面的图像;然后通过1394采集卡将图像传送到工业PC机,通过图像处理软件的运算,得到制品的缺陷信息,并将这些信息发送到注塑生产控制上位机中;控制系统根据所得到信息对控制参数进行调整,并控制分拣系统将缺陷制品与合格制品分拣到不同位置。
2.2 硬件系统的设计与实现
视觉系统的硬件设计优劣直接关系到图像获取的效果,并且对图像处理方法的选择以及检测效果产生直接的影响。因此,系统的硬件设计与实现是视觉检测系统搭建的重要环节。
2.2.1 硬件系统设计
获得注塑制品的过程,称之为注塑成型或者注射成型,或者简单的称之为注塑[20]。一个完整的注塑工艺流程主要由闭模、注射座前进、注射、保压、预塑计量、冷却、开模、取出制品等程序组成,如图2.2所示。
为了在获得制品待检测信息的同时保证生产过程的连续、稳定,本设计使用视觉传感器与取出机构配合共同完成采集制品图像信息。本文根据机器视觉工作原理的基本结构设计(如图2.3所示),以及注塑制品的特点对设备进行选型并将硬件系统组装实现。
2.2.2 系统关键设备选型
机器视觉检测系统关键设备的选型与检测的要求息息相关,本文依据GB-T
14486-93塑料件尺寸公差标准,在考虑小可测的形状以及纹理特征基础上,查阅大量文献,进行了相关实验,确定了光源、数字摄相机、光学镜头、采集卡以及工业计算机等关键设备。
(1)光源与照明方式
在机器视觉应用系统中,合适的光源与照明方式往往是整个系统成败的关键[21]。光源与照明方式的配合应尽可能地突出物体的特征,在物体需要检测的部分与那些不重要部分之间产生明显区别,增加对比度;同时还应保证足够的整体亮度,使得物体位置的变化不影响成像的质量。
LED光源具有形状自由、使用寿命长、响应时间短、颜色自由、综合成本低等优点,且在外部条件 (外部光噪声,目标的倾斜,材质和系统类型)
不断变化的情况下均能持续的获得对比鲜明的图像。因此,选用LED光源作为视觉检测系统的光源。在此基础上,结合实验室注塑制品特点,选用线条照明方式(单向照明),如图2.4所示,实现对制品照明,该照明方式可以通过对照射角度的调节,实现对制品边缘以及纹理特征的突出显式,为实现对制品缺陷的检测提供可靠的保证。
(2)数字摄相机
由于CCD相机具有体积小巧、性能可靠、清晰度高等优点,本设计选用了Basler公司的CCD数字摄像机。相对于其他视觉系统而言,注塑制品体积较大、精度较高,因此,本设计选用了200万像素CCD黑白摄像机;其型号为Basler
A641f,分辨率为 ,传感器类型为逐行扫描CCD,机械光学接口为C型,外部接口为IEEE 1394;
(3)光学镜头
考虑到本实验系统测量距离固定、视场较大,且镜头必须与摄像机配合使用等因素,本设计选用了Computar
M1214-MP百万像素固定焦距镜头,其焦距为12mm,分辨率在中心和边缘处超过100线对/mm,视场角H:40.4o、V:30.8o。
另外,实验过程中发现,光的反射作用对图像的影响同样不可忽视,而偏振片能够使光的透振方向与景物周围反射光的偏振方向垂直,可以消除光反射产生的影响,使得影像清晰,突出被检测特征部分的信息。因此,本设计选用与镜头配套的偏振片,来减弱光反射对于图像所造成的影响。
(4)图像采集卡
本设计针对Baslar公司的A641f面扫描摄相机,选取了双路IEEE
1394接口的图像采集卡,其具有高速、稳定、大缓存等特点,保持视觉传感器与PC机之间的通讯与数据传输;
(5)工业计算机
本设计选用惠普公司生产的Pavilion(畅游人)V1369cn计算机。该计算机采用强大的支持超线程技术的Intel
64位PⅣ2.93G处理器,全面支持64位应用程序;512M DDR2内存,进一步提升系统性能;全新nVidia Geforce
7300LE显卡,增强的视觉体验;80G 7200r/m的高速大容量硬盘提供快捷方便的信息存储。
2.2.3 硬件系统的实现
硬件系统实现重要的部分就是摄像头与光源位置的选择。摄像头的安装位置主要根据机械臂的工作流程来选取。本系统选用了机械臂上行与释放两个阶段的位置,对注塑制品进行图像采集。在上述两处位置进行图像采集不仅大限度的获取了制品正面与背面的信息,而且易于摄像机的安装,便于系统设计。摄像机1与摄像机2及其光源的布置。
摄像头所在位置能够得到图像正反两面的信息,而且没有改变原本的注塑机生产过程,同时保证了图像质量。
接下来将双回路IEEE1394图像采集卡插入计算机内,通过两条1394传输线,与相机连接,并安装相机驱动。然后进行光学调焦,得到清晰,且能突出图像主要特征的图像。
通过上述各个环节的选型与设计,完成了注塑制品机器视觉检测系统硬件平台的搭建工作。系统如图2.8所示。
本系统主要有以下优点:
(1)该设计没有破坏生产的连续性,保证在正常的连续生产过程中也能得稳定的图像;
(2)能够得到注塑制品正反面的图像信息;
(3)通过高分辨率的数字摄像机,能够得到更精确的注塑制品的特征;
(4)系统各个组成部分采用模块化设计,易于改造与维护。
2.3 软件系统的设计与实现
本系统软件采用采用C++语言,在VisualC++6.0下开发调试。与Java和C#等现代编程语言相比,C++在程序运行的效率、内存使用的可控性和编程的灵活性上具有优势。并且VisualC++平台能够提供良好的人机界面,便于用户的操作和使用。软件设计采用模块式设计思路,各功能模块都以主程序界面为初始启动界面,并通过主程序界面相联系。本系统软件具有良好的可靠性、易维护性、易扩充性及易装卸性。
2.3.1 软件系统基本框架
本系统采用模块化的设计思想,化整为零,将各个功能用相应的模块来设计。在设计过程中,遵循由上至下的设计方法,首先根据系统的总体需求,将系统划分为各个功能模块:图像采集与显示模块、系统通信模块以及辅助功能模块三部分。这样不但增加了程序的可读性,也增加了程序的可维护性,使流程图更加清晰明了,同时避免了大量的重复编程工作。
如图2.9与图2.10分别为软件的总体结构流程图和系统的程序界面。
2.3.2 图像的采集与显示模块
图像的采集与显示是视觉软件系统基本的功能,通过查阅和分析大量相关资料,本文编写了实用高效的程序,实现了图像的采集与显示功能。
2.3.2.1 图像采集模块
图像采集模块编程是与硬件设备直接相关一个环节,也是计算机直接控制数字摄像机的过程。在这个过程中,计算机将不仅控制摄像机的起动和停止,还可以将摄像机实时传来的图像信息,以二维数组的形式存入计算机内存中,以备使用。考虑到实际操作的方便,本文建立了两个消息响应函数,一个是开始采集响应函数启动摄像机,进行图像数据的实时采集函数;一个是停止采集响应函数,主要来释放采集进程调用的一些内存资源,关闭摄像机。由于两部摄像使用大致相同,以下以摄像机1为例设计其响应函数。
(1)采集开始消息响应函数程序
在用户给出图像采集命令后,系统对摄像机进行一系列初始化工作,并把在图像缓冲区中的数据保存在系统内存中。其程序流程图如图2.11所示。
(2)采集停止响应函数程序流程图
在用户发出结束采集的命令后,程序并不会立即结束,而是需要进行相关的内存释放工作,保证内存的正确调用,使系统能够稳定运行。其工作流程图如图2.12所示。
2.3.2.2 图像的显示模块
经过上面的图像采集工作,仅是把摄像实时采集到的图像信息作为一个二维数组放到指定内存中。即使运行程序,在程序的窗口中也无法显示图像。因此需要设计图像的显示模块,将内存中二维数组转化为图像格式,在计算机的屏幕上显示出来。
(1)数位转换
首先需要进行数位转换运算。因为本系统使用Basler数字摄像机得到是16位的二维灰度图像。普通计算机只能显示8位图像数据,如果仍然采用16位灰度图像数据,不仅给编程造成不必要的麻烦,而且极大影响程了程序运行速度。所以这里要将16位数据转换成8位。这时要建立一段新的内存区域,用来存放转换后的图像信息。16位数据中有12位颜色信息,4位其它信息,其方法是对其右移位4位,然后仅保留低8位,去掉高4位,就能得到8位图像信息。
(2)图像的显示
用来作为图像处理的位图,都是DIB位图。实际上它就是存入内在中的去掉了14个字节位图文件头的BMP文件。它由两部分组成,即位图信息和像素数据。这两部分可以存放在一起,也可以分开存放。这种位图有着以下优点:
1)采用单一位平面,结构比较简单;
2)坐标原点在左下角,图像从低一层开始存放;
3)位图信息头中包括了图像的分辨率与颜色的倍数;
4)像素数据可以采用行程编码。
像素数据已经由摄像机输入机算机内存。位图信息则可根据实际情况编写。而位图信息又由信息头和调色板数据组成。位图信息头如表2.4所示。调色板可以用256色调色板,只在设置RGB时,令三个颜色分量相同,这样就实现了灰色图像的显示。利用StretchDIBits在指定的位置以指定的大小来显示1394采集传来的图像信息,其流程图如2.13。使用开始采集的子程序来启动摄像机,将图像数据放放指定内存,用以位图形式显示出来。
2.3.3 系统通讯模块
前一小节完成了图像的实时采集与显示功能,但是仅仅这样,成像系统相对注塑机来说还是独立的。对摄像机来说,虽然它能够通过一些信息的检测完成拍照时间的判定,但是,由于机器视觉系统一直处于检测状态,这样就大大占用了系统资源,影响的整个系统的工作效率。这就需要注塑机控制系统给出确定的信号,来控制摄像机进行拍摄。而且通过视觉系统的检测,确定制品的质量状况,反馈给控制系统相关信息,实现产品的分拣以及控制系统的参数改善都需要我们建立二者之间通讯,保证成像系统注塑机协同工作。
通讯功能的实现主要是通过Windows Socket(简称WinSock)来实现的。它是Windows
环境下TCP/IP协议的网络编程接口。Socket 也叫套接字,套接字是一个通信终结点,它是Windows Sockets
应用程序用来在网络上发送或接收数据包的对象。套接字具有类型,与正在运行的进程相关联,并且可以有名称。MFC为使用Windows Sockets
编写网络通信程序提供了两种模型,内嵌在两个MFC类中即:CAsyncSocket和CSocket。一个标准的有连接的通信程序中函数调用关系,
本系统以成像系统的计算机作为服务器,控制注塑机工业的PC机作为客户端。在注塑机的机械手在经过注塑制品出口时,即摄像机镜头中心近似水平的位置延迟2秒,客户端立即向服务器发信号,告诉服务器摄像机1所采集到的图像就是注塑制品正面的图像。服务器保存该图像信息后就向客户端发信号,告诉它延迟2秒可以提前结束,继续运行。当机械手将注塑制品放到传送带上之后,客户端要发信号告诉服务器,摄像机2现在所采集到图像信息是注塑制品反面的图像信息,服务器对相关的相关图像信息保存,处理后,将检测结果发送给注塑机控制系统并对传送带进行相关控制操作。如果制品合格,传送带正转。如果出现质量缺陷,传送带反转,从而实现制品的分拣。其流程图如2.14所示。
2.3.4 辅助功能模块
在实现了图像显示和系统通讯等基本功能之后,本文又编写了辅助功能模块。添加的辅助功能使软件系统能够更加方便快捷的得到用户满意的图像。
2.3.4.1 图像效果调节
可以由用户输入亮度,增益,快门等设定值来调节得到的图像效果。
亮度是指画面的明亮程度,单位是堪德拉每平米(cd/m2)或称nits。人眼之所以能看到物体的明暗,是因为物体所反射色光的光量(热量)有差异之缘故。光量越多,明度越高,反之明度越低。
快门的设定将会影响摄像头的曝光量。得到图像的效果如何与曝光量有很大关系,也就是说应该通不同的光线量使ccd能够得到的图像清晰度是有很大不同的。而且曝光控制还可以用来调节景物整体亮度,如果摄像对象过于黯淡,可以调节快门标尺来增加亮度。
以上的调节功能使用户能够根据实际工作的环境来调节得到图像的显示效果,方便快捷的得到用户需要的图像。
2.3.4.2 图像保存功能
除了可以通过系统间的通讯来保存图像,该系统还提供了两种其他保存图像的方式。
(1)系统自动判定保存
该方法是在视觉系统与控制系统无法联网的情况下设计的备用方案。
该方法的原理是每相隔一段时间获取摄像机得到的图像情况。如果某幅图像的白色像素值较比前一幅图像产生较大幅度的增加,表明有注塑制品传到了摄像头的范围之内,就保留该幅图片。如果白色像素又回到原来的水平值,表明制品已经移出该区域,进行下一轮的判断。
(2)图像定时连续自动保存
用户可以设定图像保存的开始时间,保存图像的时间间隔以及保存图像的数量等参数,让视觉系统自动按照用户的要求保存相关的图像。该功能可以帮助用户分析特定时间内的图像变化情况。
2.4 本章小结
本章首先介绍了机器视觉检测系统的组成、原理及相关设备知识,然后通过对这些知识的理解,将机器视觉检测系统与注塑生产过程相结合,完成了基于机器视觉的注塑制品检测系统硬件部分的设计。接着设计了视觉系统的软件部分,实现了图像的采集、显示,系统间通讯以及图像处理辅助功能。该设计大程度上避免了对原有生产过程的影响,全面捕捉到注塑制品的待检测信息,为研究基于机器视觉的注塑制品缺陷检测提供可靠的保证。
第三章 注塑制品图像处理
上一章搭建的系统平台旨在实现对注塑制品图像的采集。在图像采集过程中,由于存在背景以及噪声等因素的干扰,影响了对图像的快速处理以及对缺陷的快速判断,因此,本章针对图像背景分割以及图像滤波等图像处理问题展开研究。
3.1 注塑制品图像处理总述
低质量的图像必然影响到识别处理全过程及结果输出,甚至可能因此做出错误的识别。注塑机机器视觉所得到的图像由于包含有复杂的背景信息,所以在对注塑制品图像进行模式识别之前,必须要对图像的背景进行分离,提取其制品图像,并通过滤波算法改善图像的视觉效果,将图像转换成一种更适合于机器进行分析处理的形式。
图像背景分割过程有选择地突出制品信息,无用的背景信息,以提高图像的使用价值和后续图像分析的速度。图像背景分割是图像处理与计算机视觉领域低层次视觉中为基础和重要的领域之一,它是对图像进行视觉分析和模式识别的基本前提,随后的图像理解,诸如特征提取和对象识别,都依赖于图像背景分割的质量。
图像滤波能够大大降低图像采集过程引起的外界噪声干扰,增强图像的边缘,改善原始图像质量。而且由于外界环境的变化,分割算法也可能会引入噪声。因此有必要运用滤波算法来消除噪声,提高图像的质量。
3.2 注塑制品图像背景分割
在注塑制品图像中,我们感兴趣的是制品所在的区域,称为目标;而非制品区域,是不希望被处理的区域,将其统称为背景。图像背景分割的目的就是去掉图像中的背景区域。背景分割是对图像进行视觉分析和模式识别的基本前提。图像特征提取和分类的正确率以及运算速度都依赖于图像背景分割的质量。研究者们提出了很多种背景分割算法,依照分割时所依据的图像特性不同,大致可以分为三大类[22]:闭值方法、区域提取法以及边界分割法。
3.2.1 传统背景分割方法
由于边界分割法实时性差,而且对具有复杂背景的图像失效,因此,本文选择对闭值方法中的阈值分割法以及区域提取方法中的差影法进行研究。
3.2.1.1 阈值分割方法
阈值分割[23]是一种广泛使用的图像分割技术,它利用了图像中欲提取的目标与背景在灰度特性上的差异,通过选取阈值的方法,把图像划分为具有不同灰度级的两类区域(目标和背景)的组合。其中,阈值选取的准确与否直接关系到分割的优劣。
如何确定阈值是图像分割的一个关键问题。如果阈值选取太小,则会把一些不是背景的像素也当作背景,造成误识;如果阈值选取得太大,则会把一些背景漏掉,造成漏识。下面分析几种阈值的选取方法:
(1)基于图像灰度直方图的阈值选取法
基于图像灰度直方图分析的方法是指直接从图像的原始灰度级直方图上确定阈值,是直观、应用普遍的图像分割方法。该方法简单易行,并且取得很好的分割效果,但是对于灰度直方图中波峰不明显或波谷宽阔平坦的图像,很难根据直方图的峰谷来选择阈值,此时该方法的使用受到了限制。而且在不同试验条件下外界的亮度也是波动的,这样对图像灰度直方图的阈值选取法会产生较大影响。
(2)基于图像差距量的阈值选取方法
这类方法的典型方法是大类间方差法[24]。这种方法能使分割出来的目标与背景之间的差距很大,即目标与背景之间有很高的对比度,该方法计算简单,在一定条件下不受图像对比度与亮度的变化的影响。大类间方差法是该类方法中较为成功的一种,该方法是在判别式分析与小二乘法原理的基础上推导出来的,阈值在该判别式取得大时得到。
(3)基于熵的阈值选取方法
20世纪80年代初,人们开始考虑用信息论中熵的概念进行阈值选取,1980年Pun首先提出了大后验熵上限法,1985年Kapur等人提出了一维大熵阈值法。根据大熵原理,选取一个阈值t,使图像用这个阈值分割出的两部分的一阶灰度统计的信息量大。即一维熵大。熵该方法存在的一些不足之处是:对噪声敏感,与大类间方差法方法相比一维大熵法由于涉及对数运算。速度较慢,实时性较差。
(4)逼近迭代法
这种方法的原理是将直方图用两个或多个正态分布的概率密度函数来近似的方法,阈值取为对应两个或多个正态分布大值之间的小概率处近的灰度值,其结果具有小误差的分割,这里误差包括将目标误认为背景被剔除而将背景、噪声归并为目标,使两者之和为小。迭代所得的阈值分割目标图像的效果很好,能较好区分图像的前景和背景的主要区域所在。但迭代算法运算量较大,而且往往没有比Otsu算法更加明显的优势,
(5)其他阈值选取方法
近年来,随着遗传算法、小波变换、数学形态学及模糊集合论等理论的发展,这些理论也被引入到图像阈值分割的领域,产生了许多新的阈值化方法。这些算法虽然有着比较好的运算效果,但是计算复杂度高,很难满足实时检测的要求。
3.2.1.2 差影法
差影法它适用于静止摄像机的情况,是图像处理领域简单常用的方法之一。可用于去除一幅图像中不需要的加性图案,加性图案可能是缓慢变化的背景阴影、周期性的噪声或者是在图像上每一像素处均已知的附加污染。差影法在动态检测与识别技术、血管造影技术及印刷线路板掩模缺陷的诊断等技术中都有应用[25,26],利用它可以检测同一场景中两幅图像间的变化。
所谓的差影法[27]就是图像的相减运算(又称为减影技术),该运算是把同一景物在不同时间拍摄的图像或同一景物在不同波段的图像相减,通过将当前帧与背景帧的灰度差与设定阈值比较来判定是否有运动发生,消除背景干扰,并将前景从背景中分离出来,增强两幅图像之间的差异,得到运动目标的位置和形状等较完整的信息。差影图像提供了图像间的差异信息,对图像背景的消除有显著的效果。利用差影图像提供的图像间的差异信息以达到动态监测、运动目标检测和识别以及目标识别等目的.
3.2.2 传统方法在注塑制品背景分割中的应用分析
3.2.2.1 阈值分割方法在注塑制品背景分割中的应用分析
由于大类间方差法识别效果好,方法计算简单,受图像对比度与亮度的变化的影响小。因此本文采用该方法来获取阈值。制品图像灰度直方图的形状是多变的,有双峰但无明显低谷或者是双峰与低谷都不明显,采用大类间方差法能够快速稳定的选取出理想的背景分割阈值,得到较为满意的结果。而且即使图像对比度与亮度的发生微弱的变化,其对分割效果的影响也很小。
因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差大的分割意味着错分概率小。
由运行结果可知,由于制品区域的灰度值和背景区域的灰度值有很小一部分是数值相近的,制品图像部分信息丢失,而且制品边缘部分的一些背景没有得到彻底的消除。因此,单纯的使用阈值分割方法很难得到令人非常满意的结果。
3.2.2.2 差影法在注塑制品背景分割中的应用分析
在注塑制品的检测中,我们得到的图像都是在同一外界环境下,同一位置上得到的,可以通过先获取背景图像,然后再将制品图像与背景图像做差得到差影图像来消除背景,但是这种方法适用于背景和前景灰度有明显对比度的情况,否则会出现漏检或者噪声。虽然我们的背景要暗于制品,但是机器手臂夹子的灰度值与制品的灰度值接近,在夹子附近的位置往往会出现噪声点。
虽然减小阈值能够减少噪声,但是由于外界的光线条件总是变化着的,太小的阈值又会导致误判断,不能很好的消除背景。因此单纯的差影法无法满足我们的要求。