- 06/10
- 2015
-
QQ扫一扫
-
Vision小助手
(CMVU)
人们自从一开始,就试图让事情自动的完成,从而使之变得更舒适,更精确,速度更快,科技进步从人工到机器,从机器到自动化不断发展,未来的产品将是基于视觉的应用,机器视觉集成电路系统与计算机软件系统来仿真人类功能,本文将介绍目前关于基于机器视觉检测系统的研究,用一台电脑和一个照相机来代替人工检测系统。这个照相机安装在传送带上,主要目的是用来检测缺陷而且不用复杂的过滤器如边缘增强处理、纠错处理等,是一个非常简单的技术的扩充了。由于目标在传送带上的因素也要考虑,用边缘处理与纠错处理等过滤器可以得到更好的结果,但消耗了大量时间,本文所讨论的检测在像素级,它检测大小形状颜色和像素,我们已经将它扩展到了五种应用,并且结果已经达到了理想的精度。
1.简介
基于机器视觉的系统几乎已经延伸到全世界工业的所有部门。以前,检测模块是消耗时间的过程。而且目前有成百上千的应用,并且有许多应用已经被一天天改进了。有两种典型的机器识别应用,一种是基于个人计算机,另一种是基于智能相机,在表格中对两种做出了对比,我们已经完善了基于计算机的机器识别系统已实现更好的适应性,具有更多的功能选择和更强的性能表现。虽然这个系统不精细并且需要计算机技术,但软件和GUI已经非常简单的人性化。
传送带是用来传送物体,使目标从相机下面经过的。相机与一台电脑相连,系统提取轮廓并处理数据。机械部分是用铝做的传送带,非常轻并可以装在口袋中。两个电机,一个直流电机用来带动传动带,和另一个步进电机用来驱动操作装置。电子部分由电源电路和并行端口与电脑相连。 软件是基于图像处理技术的,不是像复杂的计算过程,花更少的时间并得到更精确的。系统根据不同的大小、形状、颜色和维数将它们分开。
物体的颜色大小形状,这三种特征是人们区分物体的标准,区域又是另一个因素,计算机在未告知的情况下就不知道怎么去做,轮廓将被计算机以数据矩阵的形式拾取,一系列特殊的数据组可以描述一件物体区域。物体的长度和宽度国样可以用一个固定的距离和像素比率解出来。
一但计算机接收到特定的命令之后就通过并行端口驱动步进电机。操作杆指挥各种相应的文件以及文件路径。这个简单的操作可以用自动化机器手和操作盘来代替完成。
这种技术已经扩展到一系列的应用,比如子弹、电阻器、容器、芯片、香烟等。
例如子弹可以用它们的大小加以区分,电阻器和容器可以用它们丢失部分来区分,芯片用它们的形状来区分,香烟等用它们的大小和颜色来区分。
2.主体
铝板可以被折叠来传送带挡板和主体机座。两个滚动体以及轴承座来承受传动带的旋转。一边与驱动传动带的DC电机连接,传动带固定在滚动体上,需施加足够的足够的预紧力。在传动带下的的一个隔间用来固定电路系统,这个系统可以帮助安全传输。
2.1相机固定
L字形的固定架安装在传动带的中间,在上30厘米处固定照相机。通过调整传动带区域来调整照相机的相对位置。
2.2喂料盘
喂料盘安装在传送带的尾端,两个操作杆可以根据检测物体的大小来做出相应的调整,喂料盘与水平线成30度夹角方便物体滑入传送带。
2.3出料盘
有两个出料盘安装在传送带的另一侧,出料盘都由折叠的铝板制成,折叠部分用作挡板。出料盘体积很小与水平线成50度夹角,方便物体从传送带落入出料盘。
2.4操纵杆
一个步进电机安装在靠近出料口,操纵杆安装在步进电机的顶部,根据情况控制步进电机正转或者反转,当操纵杆向右时,物体落入右边的出料盘,当向左时,物体落入左边的副出料盘。
3.电子控制
这个系统包括两个电动机,一个是12V,1.2AMP的直流电动机驱动传送带,另一个是6V,1.2AMP的步进电动机,用于驱动操纵杆。电路系统和电源安装在传送带里面,并与传送带绝缘。蜗轮与12V直流电动机绝缘,这个电动机可以提供5KG的提升力,电动机由L-298 IC驱动。L-298 IC有三个引角,一个用于控制电动机的启动,另两个控制电动机的方向和理想电压。
控制电动机启动的引角由软件控制。
为了驱动步进电动机,四个晶体管用作开关而不是用集成电路,通过周期性的打开或者关闭这些开关来控制步进电机的运转,由计算机软件发出控制脉冲。
4.计算机接口
数码相机和步进电机与计算机连接
图1.系统图解
4.1计算机接口
一个模拟相机组建801C通过电视调节卡与计算机相连,软件实现计算机与相机的信息传递。用Visual Basic编制相应的程序。这个程序将用到X控件文件“VIDEO.OCX”,这个控件自动的添加显卡驱动。
步进电机接口
步进电机与计算机通过并行端口连接,74LS240是用来保护并行端口不受回流的干扰。脉冲是通过软件发出的,为了在windows XP中控制并行端口要用到一个动态连接库文件“inpout32.dll”。
这个文件放在系统文件夹system32。用“inp”来读取端口数据用“out”向端口发送数据。
程序运行环境是Visual Basic,这个程序编制起来比较简单,容易理解,而且是可视化的图形界面接口,其他语言像Turbo C, Visual C和Matlab。Turbo C没有友好的GUI,visual C不仅可以编制复杂的程序,界面也十分友好。Matlab非常简单,界面非常友好,但速度非常慢。VB的唯一缺点就是比VC慢,程序部分分为以下几个步骤。
5.1视频获取
编制程序的第一步就是获取视频信息,控件文件“video.ocx”放在系统文件夹system32中,这给Visual Basic环境提供相应部件,这个文件自动的与视频设备和显卡相连,“videocapture1.capture = true”启动视频,另外video.ocx也提供向资源解决方案格式高度,宽度的选择。
5.2视频文件转换成数组
一旦视频被获取了下一步就是将视频文件转换成数组,以便用于计算和应用过滤器。引入组件的是用于以下目的。用“kernel32”中的“RtlMoveMemory”命令得到数据。数据包括红绿蓝(RGB)三种像素数据,RGB值以一组一维数列存放,而这个矩阵用三维数组存放红绿蓝完整的像素数据。用这三种颜色形成灰色区域:灰色= (0.3 *蓝色) + (0.59 *绿色) + (0.11 * 红色)
视频用160*120的矩阵解出来,所有的计算和过滤器都必须在矩阵中完成。
5.3图像质量提高
灰度矩阵其实是量化形式的图像,如果计算精确,则处理的图像越清楚。主在这个项目要用到两个技术,一个是条形图分析,另一个是阈值分析。
5.3.1条形图分析
一组条形图用来分析图像的灰度值和像素值。条形图可以了解图形是否太黑或者太亮或者对比度太强,用图形图分析方法可以把像的达赖到很高的质量。
5.3.2阈值设置
阈值是用来区分图像背景和物体的一系列灰度值,用这种技术图像就转换成了01图。
5.4缺陷检测
一个特定的物体可以用它的形状大小颜色维数加以区分。
5.4.1粒子测量
为了根据物体的大小颜色灰度值加区分,要用到粒子测量,开始传送带上没有任何东西。这时给图像的值为0。表示没有任何东西在传送带上,如果白色的物体放在传送带上,这时给图像的值接近255。这就意味着可以用一系列的像素值来描述白色的物体和黑色的背景。如果我们在编制程序时要用到区分子0和1的阈值,一旦得到一系列的1矩阵,这个区域叫着一个“团”,这些团的个数就是我们所要数的物体的个数。因为如果一个物体的大小比较小但具有相同的颜色,那么像素的数量将少于原始总和,如果一个物体的大小大于它的像素总和,这结果将大于理想结果。通过这种方法,我们可以区分物体的大小。
左:大小 = 6 像素,长度 = 2 像素,宽度 = 3 像素
右:大小 = 12 像素,长度 = 3像素,宽度 = 4 像素
5.4.2维数比较
一个物体不同的形状但还是有可能有相同的像素值,假设存在一个白色立方体或者有一百个像素值,那么先前的程序将无法区分这样两个物体,为了解决这个问题,我们要引入物体的维数,首先把物体的维数输入到软件中,比如一个立方体有十个像素
长十个像素宽,所以软件将不仅检查像素总量,它同样要检查图像的维数,显然,矩形不能满足长宽高的标准,通过这种方法,物体的不同形状就可以加以区分。
左:大小 = 6 像素,长度 = 2 像素,宽度 = 3 像素
右:大小 = 6 像素,长度 = 1像素,宽度 = 6像素
5.4.3颜色比较
有相同的大小相同的形状但颜色不同的可能同样是有的,前两个程序满足它的大小要求,但物体总是有缺陷的,这就是为什么要考虑颜色的原因,像红色物体,它的红色像素值就比通常要高一些,所以如果某一个物体的红色像素值高于我们给定的阈值,那么就可以认为这个物体是红色的,对于其它颜色也是一样的,通过这些颜色就可以将不同的物体区分开来,
5.4.4维数计算
系统将同样物体的长度和宽度,假设一张图有10000个像素点,也就是说有100个长,100个宽。图像的长度为10cm ,宽度为10cm。所以我们就可以找到像素与真实长度之间的关系。即10个像素就代表1cm。图4为一个30X100像素大小的黄色物体
下面是程序流程图
程序首先用粒子测量,之后的程序提供了两个选择,如果要检查物体的颜色程序就完成循环2。完成维数检查后再用循环1完成颜色检查。循环路线选择由用户做出选择。
5.5可视化用户界面
程序的CUI界面非常友好,图6为算法在子弹上的一种应用,“Color”给出子弹经过相机下时的颜色,“Object”给出所以检测物体的类型。输出为所接收物体的总数。如果一个带有缺陷的物体经过照相机,这时要引入4个按钮,在运行时由用户做出选择。
6.结果
我们已经检测过像子弹、芯片、香烟等物体,通过颜色大小检测的检测取代传统的过滤器、边缘检查等算法,这种方法不仅具有速度快的特点,而且还消耗更少的内存。最重要的一点是具有更高的精度。
7.结论
程序精简,计算量小GUI简单,整个过程效率高、速度快。这个程序可以非常容易的移植到其它物体。包括新的物休,所用到的数据库也非常简单,也不很消耗时间。这个实体做出来了之后很小巧、容易调节。这个过程比现存的技术更简单。整个过程是自动的,不需要人工操作。准确度达95%。
8.参考文献
[1]Rafael C. Gonzalez, “Digital Image Processing.
[2]John C. Russ, “The Image Processing Handbook”.
[3]Kenneth R. Castleman, “Digital Image Processing”.
[4]Al Bovik, “Handbook of Image and Video Processing”.
[5] K. Mikolajczk, A. Zisserman and C. Schmid“Shaperecognition with edge-based 别features”. In British MachineVision Conference, September 2003
[6]R. Krishnan, “Electric Motor Drives: Modeling, Analysis,and Control”.
- 上一条:机器视觉:电信业实现无纸化办公指日可待
- 下一条:机器视觉系统设计的难点解析