1、虚拟仪器结课报告姓名:平兆娜专业:测试计量技术及仪器班级:2011-03-01学号:S11080402004基于虚拟仪器的计算机视觉系统的研究1 绪论1.1 机器视觉的发展趋势机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品( 即图像摄取装置,分 CMOS 和 CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。机器视觉是一门新兴的发展迅速的学科,计算机水平的飞速提高以及人工智能、并行处理和神经元网络等学科的发展,促
2、进了机器视觉系统的实用化。二十世纪八十年代以来,机器视觉的研究己经开始从实验室走向实际应用:从简单的二值图像处理发展到高分辨率多灰度的图像处理;从一般的二维信息处理发展到三维视觉处理,处理模型和算法的研究取得了很大的进展。目前,机器视觉系统正在广泛地应用于视觉检测和自动化装配等领域中。机器视觉的发展趋势表现在以下几个方面:平台发生变化传统的机器视觉系统是一种专用系统,具有为获取和处理图像专门设计的嵌入系统。这些系统有自己专用操作系统和编程语言。这种高度用户化的方法使得早期的机器视觉系统极其昂贵,并且难以使用。降低成本的方法之一就是采用开放标准。近几年己经有基 Windows 的系统出现,一些专
3、用技术己经被基于 Windows NT 的板卡级系统所替代。更加灵活的软件传统的机器视觉系统令人望而生畏的地方就是编程十分困难,而且难以改动。改变这一局面的方法就是使用更加容易掌握的编程工具,使用功能灵活的处理工具。人机界面更加友好Dos,UNIX 和专用的操作系统都有其不同的界面,但通常都需要一个熟练的程序员来操作它们。机器视觉系统向开放标准靠拢和基于 Windows 的通用界面将使得系统更加友好,更加易于使用。在未来的几年内,随着中国加工制造业的发展,对于机器视觉的需求也逐渐增多;我国机器视觉的应用状况将由初期的低端转向高端。与其他计算机科学领域一样,视觉技术进步非常快同时价格也在下降。由
4、于机器视觉的介入,自动化将朝着更智能、更快速的方向发展。2 软件开发工具 LabV l Ew 语言的简介21 虚拟仪器随着计算机技术的不断发展,基于 PC 的视觉系统更加趋于经济和实用。含 MMX 的高能 Pentium 处理器、坚固的操作系统、PCI 局部总线以及具有友好用户接口的、基于虚拟仪器的图像采集软硬件使今天的视觉应用系统的性能远非以往的系统所能比拟,而成本却在不断下降。在计算机图像处理出现之前,图像处理都是光学照像处理和视频信号处理等模拟处理,伴随计算机技术的快速发展,数字图像处理技术得到了长足进步,在灵活性、精度、调整和再现性方面都表现出了卓越的性能。在过去,PC 视觉系统的建立
5、是由系统集成人员、OEM 和企业内部的视觉系统开发组联合完成,今天,新的技术和基于虚拟仪器的图像处理软件使用户在极低成本下就可开发完成满足大多数应用要求的计算机视觉应用系统。虚拟仪器视觉应用系统能够为自动化系统提供过程监视、信息集中和反馈控制,实验室自动化与图像处理系统则能够利用滤波与分析技术进行细胞数量、生物材料合格性等的测定。事实上,当今的基于 PC 的视觉系统已能够以前所未有的效率、灵活性、一致性、可靠性和数据吞吐能力执行更加复杂的检测任务。虚拟仪器实质上是一种创新的仪器设计思想,而非一种具体的仪器。换言之,虚拟仪器的具体形式完全取决于实际的物理系统和构成仪器数据采集单元的硬件类型,但是
6、有一点是相同的,那就是虚拟仪器离不开计算机控制,软件是虚拟仪器设计中最重要的,也是最复杂的部分。作为一种新的仪器模式,虚拟仪器与传统硬件化仪器相比较,主要有以下特点:1)功能软件化2)功能软件模块化3)模块控件化软件开发工具 LabVlEW 语言的简介4)仪器控件模块化5)硬件接口标准化6)系统集成化7)程序设计图形化8)计算可视化9)硬件接口软件驱动化虚拟仪器就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟仪器面板,其测试功能由测试软件实现的一种计算机仪器系统,其实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种表达形式输出检测结果:利用计算机强大的软件功能实
7、现信号数据的运算、分析和处理;利用 IO 接口设备完成信号采集、测试及调理,从而完成各种测试功能。2.2 虚拟仪器软、硬件系统介绍数字图像处理是视觉系统的关键,在虚拟仪器系统中,这一切是通过计算机软件实现的。目前国内外使用最为广泛的虚拟仪器开发平台是 NI 公司的 LabVIEW 和 LabWindows/CVI,而基于这两种软件的 IMAQ Vision 则为这两种平台提供了完整的图像处理函数库或功能模块,如各类边缘检测算子、自动阈值处理、各种形态学算法、滤波器、FFT 等,该库包含大量当前证明成功的理论算法,使用户无需专业编程经验,即可迅速开发完成优秀的、适合本专业的图像处理与分析系统。虚
8、拟仪器硬件的主要功能是获取真实世界中被测信号。虚拟仪器的硬件系统一般分为计算机硬件平台和测试功能硬件。计算机硬件平台可以是各种类型的计算机,如 PC 机、便携式计算机、工作站、嵌入式计算机等、计算机管理着虚拟仪器的软硬件资源,是虚拟仪器的硬件支撑。测试功能硬件指的是各种 I O 接口设备。按照测试功能硬件的不同,虚拟仪器可分为 GPIB、VXI、PXI 和 DAQ四种标准体系结构。(1)GPIB(general purposeinterfacebus)通用接口总线系统这种接口总线是计算机和仪器间的标准通信协议。它是最早的仪器总线,目前多数仪器都配置了遵循 IEEE488 的 GPIB 接口。典
9、型的 GPIB 测试系统包括一台计算机、一块 GPIB 接口卡和若干台 GPIB 仪器。每台 GPIB 仪器有单独的地址,由计算机控制操作,系统中的仪器增加、减少或更换时,只需对计算机的控制软件作相应的改动。这种概念已被应用于仪器的内部设计。但是 GPIB 的数据传输速度较低,一般低于 500KBs ,不适合对系统速度要求较高的应用。(2)VXI(VMEbus extensionforinstrumentation)总线系统VXI 总线系统是 VME 总线在仪器领域的扩展,它是主要仪器制造商共同制定的开放性仪器总线标准。VXI 系统可包含 256 个装置,由主机箱、多种功能的模块仪器、驱动软件
10、和系统应用软件等组成。系统中各功能模块可随意更换,即插即用(Plug&Play)组成新系统。(3)PXI(PCI extension for instrumentation)总线系统PXI 总线系统是 PCI 在仪器领域的扩展。它是 NI 公司于 1997 年发布的一种新的开放性、模块化仪器总线规范。PXI 是在 PCI 内核技术上增加了成熟的技术规范和要求形成的。PXI 增加了用于多板同步的触发总线和参考时钟,用于精确定时的星形触发总线,以及用于相邻模块间高速通信的局部总线等,来满足实验和测量的要求。PXI 兼容 CompactPCI 机械规范,并增加了主动冷却、环境测试(温度、湿度、振动和
11、冲击实验)等要求。(4)DAQ(data acquisition)数据采集系统DAQ 数据采集系统是指基于 Pc 计算机标准总线(如 ISA、PCI、USB 等)的数据采集功能模块、它充分地利用计算机的资源,大大增加了测试系统的灵活性和扩展性。利用 DAQ 可方便快速地组建基于计算机的仪器,实现“一机多型”和“一机多用” 。在性能上,随着 AD 转换技术、信号调理技术的迅速发展,DAQ 的采样速率已达到 Gbs,精度可高达 24 位,通道数高达 64 个,并能任意结合数字 IO、计数器定时器等通道。各种性能和功能的 DAQ 功能模块可供选择使用,如示波器、数字万用表、串行数据分析仪、动态信号分
12、析仪、任意波形发生器等、在 PC 计算机上挂接 DAQ 功能模块,配合相应的软件,就可以构成一台具有若干功能的 PC 仪器。这种基于计算机的仪器,即可享用 PC 机固有的智能资源,具有高档仪器的测量品质,又能满足测量需求的多样性、对大多数用户来说,这种方案实用性强,应用广泛,且具有很高的性价比,满足一般科学研究与工程领域测试任务要求。综上所述,GPIB,VXI,PXI 总线方式,适合大型高精度集成系统。而DAQ 方式,适合普及型的廉价系统,有广阔的应用发展前景。计算机运算能力和必要的仪器硬件确定之后,构造和使用虚拟仪器的关键在于应用软件。虚拟仪器应用软件主要有三个目的:提供一个集成的开发环境;
13、一个与仪器硬件的高级接口;一个与虚拟仪器用户的接口。虚拟仪器的软件框架从底层到顶层,包括三部分:VISA 库、仪器驱动程软件开发工具 LabVIEW 语言的简介序、仪器开发软件(应用软件)。(1)VISA(virtual instrumentation software architecture)虚拟仪器软件体系结构VISA 体系结构是标准的 IO 函数库机器相关规范的总称。一般称这个IO 函数库为 VISA 库。它驻留于计算机系统之中执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,以实现对仪器的程序控制。它对于仪器驱动程序开发者来说是一个可调用的操作函数集。(2)驱动程序每个仪器模块
14、都有自己的仪器驱动程序,仪器厂商以源码的形式提供给用户。(3)应用软件应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供直观友好的测控操作界面、丰富的数据分析与处理功能,来完成自动测试任2.3 基于虚拟仪器的视觉系统对 PC 性能的要求2.3.1 PCI 局部总线PCI 总线的高速数据吞吐能力能够很好地满足图像采集的需要,使之成为实时图像采集的理想方案。因为每帧图像可能包含多达 400KB 的数据,高速传送这些数据对于实时显示与分析至关重要。PCI 不仅容易达到这个要求,而且可以进一步提供它的带宽来与其他数据采集设备相集成。PCI 图像采集板通过使用 ASIC DMA 控制器,可以充分
15、利用 PCI 总线的带宽,无需占用CPU 时间,达到实时采集、显示与分析处理的目的。PCI 理论上所能提供的最大数据传输速率是 132MB/s,64 位 PCI 更可达267MB/s,足够满足高清晰度电视 (High Definition Television,HDTV) 信号与实时三维虚拟现实(3D Virtual Reality,3DVR)的需要。而且,由于 PCI 支持“即插即用(PnP) ”自动配置功能,使得插入式图象采集板的配置变得更加方便,其一切资源需求的设置工作在系统初启时交由 BIOS 处理,无需用户进行繁琐的开关与跳线操作。目前,基于 PCI 总线的数据采集图像采集 (DAQ
16、/IMAQ)产品大大提高了计算机视觉系统的性能。PCI 总线能够达到 132MB/s 的传输速率。由于以这个速率传输数据会严重耗尽 CPU 时间,最终会影响系统性能,DAQ/IMAQ 厂商为基于 PCI 的 DAQ/IMAQ 传输器设计了 ASIC 芯片,如 NI公司的 MITE 芯片,它利用 DMA 技术不仅能完成 PCI 的最高传输速率,还能通过非连续的内存缓冲区而无需申请 CPU 时间。2.3.2 MMX 技术Intel 的 MMX 技术改进了视觉软件的性能,有效地提高了图像处理速度。对于大多数视觉软件函数,含 MMX 的 Pentium 处理器的执行速度较不含MMX 的 Pentium
17、 处理器提高 200%400%,这是由于 MMX 技术包含大量通用指令,增强了 PC 的处理能力,且与原有的 Intel 结构保持了完整的兼容性。而且 MMX 技术也完全兼容于现在的各类操作系统与应用软件。利用 MMX技术对于大多数图像采集视觉函数如滤波、阈值处理、运算、逻辑和形态学等都有显著的性能增益。3 种子等级判别视觉系统3.1 系统配置基于计算机视觉的种子等级判别视觉系统主要是用于大量籽粒的自动化计数与几何尺寸特征测定,该系统的使用提高了测量精度和效率。其基本软硬件配置为:硬件:彩色 CCD、PCI-IMAQ-1408 图象采集板(NI 公司产品) 、PC Pentium 计算机;软件
18、开发工具:LabWindows/CVI 、IMAQ Vision ;操作系统:Windows NT4.0。3.2 图像采集图像采集的过程也就是图像采集板对来自 CCD 的标准视频信号(PAL 或NTSC 制式) 进行模数转换的过程,量化后的数据通过 PCI 总线传入计算机内存。3.3 图像处理(1)中值滤波图像信息在采集过程中往往受到各种噪声源的干扰,这些噪声在图像上常常表现为一些孤立像素点这可理解为像素的灰度是空间相关的,即噪声点像素灰度与它们的近邻像素有显著不同。这种干扰如不经过滤波处理,会对以后的图像区域分割、分析、判断带来影响。与通常的线性滤波器(如低通滤波器)相比,非线性滤波器能够更
19、好地解决某些图像处理问题,其中最有用的叫作排序滤波器,可以在 IMAQ Vision 中即调即用。中值滤波是排序滤波器的一种,它既可作到噪声抑制,滤除脉冲干扰及图象扫描噪声,又可克服线性滤波器所带来的图像细节模糊,保持图象边缘信息。中值滤波的思想是取一移动矩阵模板,进行如下处理:设定滤波器模板大小,如取 55 模板;将模板在图中漫游,并将模板中心与图中某一象素位置重合;读取模板下各对应象素的灰度值;将这些灰度值从小到大排成一列;找出这些值里排在中间的一个;将这个中间值赋给对应模板中心的象素。由以上过程可以看出,中值滤波器的主要功能就是让与周围象素值的灰度差比较大的象素改取与周围象素值接近的值,
20、从而可以消除孤立的噪声点。上述中值滤波的方法仅用于灰度图像,IMAQ Vision 可以将其延伸至彩色图像的处理, 处理方法为:从原始 32 位彩色图象中分别抽取红、绿、蓝三色调色板。IMAQ Vision 中一幅彩色图象中 R、G、B 是用一 32 位的整数表示,第二个八位为R 值,第三个八位为 G 值,第四个八位为 B 值。如图 1 所示:图 1分别对红、绿、蓝色调模板(8 位)进行中值滤波处理。和低通线性滤波器相比,中值滤波器能够在衰减随机噪声的同时不使边界模糊,确保了精确的籽粒尺寸特征。处理之后的红、绿、蓝调色板根据相应的位运算取代原始图象的色调模板,生成新的、剔除了噪声的 32 位彩
21、色图象。(2)彩色图像的二值化处理采用 RGB 阈值处理算法,而非通常采用的灰度阈值算法,能够保证系统具有更高精度的阈值运算结果,在光照条件较差的情况下,仍然能够得到处理质量良好的二值图象。采用传统的灰度阈值算法,必须要求原始图像的目标对象与背景有较大的灰度差,才可能取得较好的处理结果,因此必须对光照环境有较高的要求。试验证明,这种方法简便、有效,对后续处理奠定了非常好的基础,但也需要花费时间对三色阈值进行人工调整。图 2 原始图像(3)孔洞填充处理经阈值处理之后的二值化图像目标区域内部可能会出现孔洞,其原因可以是光照条件、背景与目标在像素值上差别不明显,以及阈值选取不合理等等。其处理思想为数
22、学形态学的闭合算法。经过填充处理,目标区域(籽粒)内部的孔洞得到填补。(4)区域分割仅仅采用阈值处理难以获得精确的区域分割结果。图 3 是图 2 图像中沿直线 L 的灰度直方图,其中 A、B、C、E、F、G 六点都存在较大的灰度跳跃,而 D 点跳跃幅度小,显然,以 D 点取阈值,会导致图像失真,无法得到精确的籽粒特征;而取低于 D 的 A、B、C、E、F 、G 灰度值为检测阈值,可以得到较为准确的籽粒边缘,但不能检测到 D 点存在的边缘信息。因此,当阈值处理不能满足要求的情况下,需要利用形态学算法对图像进行分割。图象分割是将数字图象划分为互不相交(不重叠)区域的过程,是模式识别的基础。区域分割
23、是实现图象分割的一种方法,即把各像素划归到各个对象或区域中。对象一旦被分离,就可以对其测量和分类。系统通过以上处理滤波、二值化、孔洞填充等,为正确地区域分割奠定了基础。区域分割的原理是“开启”算法。首先确定连通性准则为 8 连通,(8 连通的结果与人的感觉更接近),取结构元素为 77 矩阵模板,矩阵的中间位置为结构元素的原点。经连续 4 次的腐蚀之后,将籽粒完全分离开来,见图 4(b)。此时,图象中共包含 31 个对象。图 3 原始图像的灰度直方图IMAQ Vision 在腐蚀处理之前先执行边缘检测,获得完整的目标边缘,腐蚀后再将籽粒图像膨胀至边缘,这样,既保证了完全的图像分割,又保持了原有的
24、对象边缘不受任何损失。图 4(a) 4(b)(5)过滤处理在实际情况中,现场籽粒会带有大量微小尺寸的碎屑,如图 4(a)、(b)的A、B,背景也可能存在斑点,在图像处理中如不加以剔除,会被误为籽粒而作为统计样本。过滤处理是根据目标对象尺寸进行过滤,其基本思想是数学形态学的腐蚀算法。IMAQ Vision 进行几次腐蚀后,同样将未腐蚀掉的籽粒对象恢复至腐蚀前的形状,以保证其边缘信息。滤掉微小杂质后,进行籽粒彩色标识(图 5)和特征统计,包括每一籽粒的面积、周长、长径、短径、形心坐标等数据。处理结束。图 5 最终的图像处理结果4 结束语随着计算机技术特别是 PCI 总线技术、MMX 技术及网络技术的发展,基于虚拟仪器的实时图象采集视觉系统越来越广泛地应用于测试测量与控制领域。目前 Pentium MMX/PII/PII PC 和工作站配置多个 PCI 扩 展 槽 及AGP 视 频 卡,新 的 操 作 系 统 如 Windows 95/98 支持“即插即用” ,图采板开发商也在不断开发和完善驱动软件和模块化视觉软件来为用户提供更强有力的 API 和更优秀的应用系统开发平台,使采用 PC 总线方案的虚拟仪器视觉系统灵活易用,功能强大,具有良好的可扩性、维护性和性能价格比,因而正在为越来越多的用户所接受。