第一篇:机器视觉课程之数字图像及其性质
深圳稻草人机器视觉 C++运动控制卡编程培训
机器视觉课程之数字图像及其性质
2.1基本概念
这一章我们要介绍一些木书中用到的基本概念和数学工具。缺少完整数学背景的读者可能会遇到一些 困难,在这种情况下,你可以忽略数学细节而关注于基本概念的直观意义,这是文中所强调的而且在本章结束时也概括出来的。这种方式不会影响你对本书的理解。
图像和信号常用数学模型来描述,信号是一个依赖于具有某种物理意义的变量的函数,它可以是一维的(例如,依赖于时间)、二维的(例如,依赖于平面上的两个坐标量)、三维的(例如,描述空间中的一个物体)或高维的。对于单色的图像,一个标量函数可能就足够了,但是对于诸如由三个分量组成的彩色图像,就需 要使用矢量函数。
我们要处埋的函数可以分为连续的、离散的或数字的。连续函数具有连续的定义域和值域;如果定义域是离散的,我们得到的是离散函数;而如果值域也是离散的,我们就得到数字函数.2.1.1图像函数
图像(image)这一词我们通常在直观上去理解其意义,例如,人类眼睛视网膜上的图像,或者TV摄像机拍摄到的图像。图像可以表示为两个或三个变量的连续函数,在简单的情况下变量是平曲的坐标(x,y),不过当图像随时间变化时可以加上第三个变量。
图像函数的值对应于图像点的亮度。函数值也可以表示其他物理量如温度、压力分布、离观察者的距离等。亮度(brightness)集成了不同的光学量,将亮度作为一个基本量使我们得以避免对图像的成像过程进行描述,这个过程是非常复杂的。
人类眼睛视网膜或者TV摄像传感器上的图像本身是二维的(2D)。我们将这种记录了明亮度信息的 2D图像称为亮度图像(intensity image)。
我们周围的真实世界本身是三维的(3D)。2D亮度图像是3D场景的透视投影(perspective projection),这一过程由针孔摄像机拍摄的图像来表达,参见图2.1。在图中,图像平面被相对于xy平面反折过来了,以避免使用具有负坐标的镜像图像;x,y,z的值是世界坐标系中3D场景点P的坐标,f是镜头的焦距。投影后的点具有2D图像坐标平面中的坐标(x,y),其中:
非线性的透视投影常被近似为线性的平行(parallel)投影或正交(orthographic)投影(projection),其中f→∞。隐含地,还有的z→∞——正交投影是远处物体透视投影的极限情况。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
当3D物体经透视投影映射到摄像机平面后,由于这样的变换不是一对一的,因而大量的信息消失通过一幅图像来识别和重构3D场景中的物体是个病态问题。
在第9章中,我们将考虑更精细的表达,以便重新获得有关图像所描写的原来3D场景的倍息。可以预料。这不是一件简单的事情,涉及到试图建立图像中点的深度(depth)这个中间表达层次。目标是恢复完整的31〕表达,比如计算机图形学中的表达,即独立于视点的表达,表示在物体坐标系中而不是在观察者坐标系中,如果这样的表达可以恢复,则物体的任何视角的亮度图像可以用标准的计算机图形学技术合成出来。
恢复被透视投影损失的信息只是计算机视觉中的一个问题,这主要是个几何问题,第二个问题是理解图像亮度。一幅亮度图像的唯一可用信息是像索的亮度本身,它取决于一组互相独立的因素,包括物体表面的反射特性(由表面材料、微结构和斑纹决定)、照明特性、以及相对于观察者和光源的物体表面方向。当试图 从亮度图像恢复物体的3D几何形状时,如何分离这些因素并不容易而且又是一个病态问题。
一些科学和技术学科直接在2D)阁像上进行,例如,在透明的照明条件下显微镜观察到的扁平样品的图像,书写在纸上的字符,指纹的图像,等等。因此,数字图像分析中的许多基本的有用的方法并不依赖于物体原本是2D)的或是3D的,本书的很大部分篇幅限定于这些方法的研究一,在第9章和第10章中会专门讨论3D理解问题。
图像的形成过程在[born 86]中有阐述,相关的学科包括光度测定学(photometry)(参见9.3节)和比色学(colorimetry)。前者是关于亮度测量的,而后者是研究依赖于波长的光线的反射和散射的。比色学在 [Pratt 78.Pratt 91]中是作为图像处理中的领域来考虑的。
图像处理通常处理的是静态(statie)图像,时间t作为常量。单色的静态图像是用连续的图像函数f(x,y)来表示的,其中的变量是平面的两个坐标。本书所考虑的图像除非特別声明大多数是指单色的静态图像。把这取所讲的技术推广到多光谱的情况下经常是显而易见的。
计算机化的图像处理使用的数字图像函数通常表示成矩阵的形式,因此其坐标是整数。图像函数的定义域是平面的一个区域R:
其中x,y表示最大的图像坐标。图像函数具有有限的域,由于假定图像函数在域R外的值为零,可以使用无限求和或积分的形式。尽管矩阵中使用的(row, column)定位方式在数宇图像处理中也常用到,但是习惯上采用的图像坐标方向仍然是普通的笛卡儿坐标形式(横轴x 纵轴y)。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
图像函数的值域也是有限的,按照惯例,在单色图像中最低值对应于黑,而最高值对应于白。在它们之间的亮度值是灰阶(gray — level)。
数字图像的品质随着空间、频谱、辐射计量、时间分辨率的增长而提高。空间分辨率(spatial resolution)是由图像平面上图像采样点间的接近程度确定的?频谱分辨率(spectral resolution)是由传感器获得的光线频率带宽决定的;辖射计量分辨率(radiometric resolution}对应于可区分的灰阶数量;时间分辨率(time resolution)取决于图像获取的时问釆样间隔。时问分辨率问题在动态图像分析中是重要的,其处埋的是图像的时间序列。
图像f(x,y)可作为确定的函数或者是随机过程的实现来看待。图像描述中的数学工具根植于线系统理论,积分变换,离散数学以及随机过程理论中。本节只概要地介绍一些后面闸述中要涉及到的数学工具,背景数学的详细描述可以参考相应问题中所附的文献。如果读者想要学习图像处理中的数学知识,可以从如下的推荐书开始[Pavlidis82.Rosenfeld and Kak 82]。
数学变换假定图像函数f(x.r,)是“好形态的”,意思是指:该函数是可积的,具有可逆的傅立叶变换,等等。特殊信号(常量、冲激、非周期信号)的傅立叶变换的存在问题[Papoulis62]不在讨论之列,离散图像的傅立叶变换总是存在的。
2.1.2狄拉克(Dirac)分布和卷积
理想的冲激是一个重要的输人信号,它的引人使得在连续图像函数域中吋以使用线性数学现论,图像平面上的理想冲激是用狄拉克分布(Dirac distribution)即(x,y)定义的。
且对于所有的x,y≠0,有
如下的公式(2.4)被称为狄拉克分布的“筛特性(sift property)”.它提供函数f(x,y)d在点 λ,μ的值:
筛公式可以用来描述连续图像函数f(x,y)的采样过程。我们可以将图像函数表示成覆盖整个图像平面的位于点a、b的狄拉克脉冲的线性组合,釆样由图像函数f(x,y)W加权。
卷积(convolution)在图像分析的线性方法中是一种重要的运算.二维函数f和h的卷积g记为f x h,通过积分走义为:
卷积是一种非常有用的线性、平移不变的运算。数字图像在图像平面上具有有限的域.因此平移不变性只有平移量小时才有效一因而卷积常在局部使用。卷积表示的是用滤波器h做的线性滤波,线性滤波通常用于局部图像预处理和图像复原。
2.1.3傅立叶变换
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
图像是平面上两个参数的函数。研究其性质的一个可能途径是将图像分解为一组正交函数的线性组合。傅立叶变换(Fouriertansrorml使用谐波函数来分解「Fapoulis62,RosenfeldandKak82]。二维的傅立叶变换定义为如下的积分:
傅立叶变换的存在条件在[Pupoulis 62]中有论述,何是对于图像处理日的而言,假定周期函数的傅立叶变换总是存在的且是合理的,傅立叶变换的逆变換定义为:
参数(x,y)表示图像坐标,(u,v)称为空间频率(spatial frequencies)。公式(2.8)左端的函数f(x,y)可以解释成-组简单周期模式的线性组合。该糢式的实部和虚部是正弦和余弦函数,函数P(u,v)代表单位模式影响度的加权函数。用F表示傅立叶变换算子.公式(2.7)可以缩写为:
则从图像处理的角度看,傅立叶变换的以下性质是比较重要的: *线性
其中表示复数共轭,一个图像凼数总是实值的,因此我们可以使用傅立叶变换在第一象限的结果。此外,如果图像还是对称的,f(x,y)=f(-r,-y),那么傅立叶变换F(u,v)的结果是一 个实值函数。
*卷积对偶性:卷积[公式(2.6)]和其傅立叶变换有如下的关系:
这是卷积定理([Convolution thcorem)。
这些对于连续函数域的傅立叶变换的性质问样适用于离散函数(图像),只是将各个公式中的积分变为求和。
在图像分析中使用傅立叶变换是很普遍的。在第1章我们将看到通过确定图像函数中的髙频(急剧的变化)部分是如何可以有助于边缘检测的。在以下方面也存应用:将图像从退化中复原过来(参见4.4.2 节),利用卷积定理进行快速匹配(参见 5.4.1节),边界特性描述(参见6.2.3节),图像压缩(参见第12章),以及若干其他领域。
2.1.4作为随机过程的图像
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
由于随机变化和噪声的原因,图像在本质上是统计性的[Papoulis 62, Rowufdd and Kak 82].有时将图像函数作为随机过程的实现来看待有其优越性,这时有关图像的信息量和冗余性的问题可以用概率分布和相关函数来回答◦如果知道槪率分布.我们可以用熵(entroy)H来度量图像的信息量。设熵按下式计算
是符号集合 的概率,所有这样的概率之和是1,K阶概率分布函数或概率密度函数在实际中通常是不知道的——它表达的是很多亊件间的复杂关系。2阶概率分布函数成槪率密度函数用于表达事件对间的关系,更简单的是一阶概率密度函数 在知道图像是如何获取的条件下常常可以给该函数建一个模型。
描述随机过程的更为简单的特征包括随机过程的均值,它是用阶概率密度函数定义的:
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
其中H(u,v)是函数h(x,y)的傅立叶变换。公式(2.25)用来描述一个线性图像滤波器h的谱特性。
随机过程的一个特殊的类别是各态历经过程(ergodie process)[Rosenfeld and kak 82]。对于这种平稳过程,从其实现计算的均值等丁根据空间变量计算的均值。当在真实的图像域中常常没有足够的数据来计算时,从其实现计算均值是根据公式〔2.17)进行计算的。这个计算通常被在图像空间坐标(x,y)域屮计算的均值所取代。请注意,从理论的角度来看,这样的替代仅对各态历经过程而言才是有效的。
2.1.5作为线性系统的图像
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
公式(2,28)常用于图像预处理中表示平滑和锐化的处理,将在第4章进一步讨论。事实上实际的图像并不是线性的.图像坐标和图像函数的数值(亮度)都是有限的,认识这一点是很通要的。实际的图像的大小都是有限的,亮度的级别数也是有限的。尽管如此,在很多情况下图像可以用线性系统来近似。
2.2图像数字化
2.2.1 采样
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
在实际的图像数字转换器中,釆样间隔比Shannon采样定理〔公式(2.37)〕所确定的值的1/10还要小。原因在于将数字化图像函数在显示器上重构为连续图像的算法仅使用的是阶跃函数[Pavlidis 82],即线条是由表达为方块的像素组成的。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
现在我们用一个256灰阶的图像来说明稀疏采样的影响。图2.3a是一幅256X256大小的单色图像,图2.3b是同一场景数字化为128X128的降低了分辨率的图像,类似地图2.3c是64X64的图像,而图2.3d 是32X32的图像。从图2.3a到图2.3d图像的质量是明显地降低了。如果我们从某个距离凝神地看的话,重构质量会得到改善,这说明欠采样的重构仍然含有实质性的信息。在显示时,大部分的视觉退化是在重构连续函数过程中产生的混迭引起的。在重构算法中对邻近的像素进行亮度插值可以改善显示的效果,称这项技术为反混迭(amti—aliasing),常用于计算机图形学中〔Rogers 85]如果使用反混迭技术,采样的间隔可以取到接近Shannon采样定理〔公式(2.37)〕所确定的值,由于反混迭技术在计算方面的要求,在实际的图像处理设备中几乎没有应用。
如果需要得到与普通的电视画而类似的图像质量,应该使用512X512的采样率,这就是为什么多数图像捕捉卡使用这个分辨率或更髙分辨率的原因。
—个连续图像在采样点(sampling point)处被数字化。这些釆样点是在平面上排列的,称它们之间的几何关系为栅格(grid)。因此数字图像是一个数据结构,通常是矩阵。在实践中,栅格一般是方的(参见图4a)或者是正六边形的(参见图2.4b)。
把栅格与光栅区别开是十分重要的,光栅(raster)是指在点之间定义了相邻关系的栅格。栅格中一个无限小的采样点对成于数字化图像中的一个像元[像索(pixel)]。全体像素覆盖了整个图像,实际的数字转换器捕捉的像素具只有有限的尺寸,这是因为采样函数不是一组理想的狄拉克冲激,而是一组有限冲激[公式(2.38)],从图像分析的角度看,像素是不能再分割的一个单位。我们也常用一个“点”来一个像素。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
2.2.2量化
在图像处理中,釆样的图像数值
用一个数字来表示,将图像函数的连续数值(亮度)转变为其数字等价量的过程是置化(quantization)。为了使人能够觉察出图像的细微变化,童化的级别要足够的高。
大部分数字图像处理仪器都采用是个等间隔的量化方式。如果用b位来表示像素亮度的数值,那么亮度阶就是
通常采用每个像素8位的表示方式,也有一些系统使用6位或4位。二值图像,即或黑或白,可以用1位来表示像素。另外,有些特殊的测童仪器使用12位或更多位来表示一个像素,这种情况越来越普遍了。
在置化级别不够时,图像的主要问题是出现伪轮廓(false contour)。当亮度级别数小于人能够轻易地分辨出的量级时,就会出现这种情况。这个数与许多因素有关,例如平均的局部亮度值,通常在显示时需要最少100级才能避免产生这种现象[Gonalcz and Wimz 87]。这个问题也可以通过非等间隔的量化策略来减轻,具体的方法是对图像中较少出现的亮度用比较大的量化间隔。我们将在4.1.2节中介绍这些灰度级的变换技术。
为了有效地表示数字图像的亮度,每个像素一般需要8位、4位或1位,也就是说计算机存储的每个字节分别相应地可以存下1个、2个或8个像索的亮度。
图2.3a和图2.5a到图2.5d给出了图像中亮度级别数降低时产生的影响。图2.3a给出的是一个256 亮度级别的原图像。如果亮度级别降到61(图2.5a),则觉察不到退化,图2.5b是16个亮度级别的图像.伪轮廓开始出现了,在具有4个亮度级别的阁2.5c和仅有2个亮度级别的图2.5d中伪轮廓变得更加明显。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
2.2.3彩色图像
色彩在人类视觉感知中是极为重要的,但是在数宇图像处理的历史上并没有得到特殊的使用。这是因为所需硬件成本的原因造成的,但是从20世纪80年代以来,成本已经大幅度地降低了。彩色图像可以很方便地通过TV摄像机或扫描仪获得。随着存储成本的降低,与多光谱数据关联的大矩阵的内部存储问题也减轻了。当然,彩色显示已经是计算机系统的默认配置了。对于许多应用来说.单色阁像可能没有包含足够 的信息,而色彩或多光谱图像(mialiti — spectral image)常常可以弥补这些信息。因此,对我们的目的而言,色彩是有用的信息。
色彩是与物体反射不同波长的电磁波的能力相关的,色谱在电磁光谱中大致对应于波长为400mm〜 700nm的一段。人类感知色彩是基于红、绿、蓝二原色(primary color)的组合,为了标准化它们,分别被定义为波位为700nm、546.lnm和438.5nm[Pratt 78]的波的颜色,然而这并不意味着所有的色彩都可以通过这三原色组合出来。
通常硬件都通过RGB横型(model)(红、绿、蓝)产生或显示色彩。因此,一个像素与一个三维的向量(r、R、b)相关联,分量分别对应于相应色彩的亮度,其中(0,0,0)是黑,是 “纯”红,等等,其中k是每个原色的量化粒度(grarmUrity)(通常是256)。这就代表了一个k种不同颜色的色彩空间(当k= 256时,就是2),并不是所有的显示器尤其是老式的显示器都支持这么多种颜色。由于这个原因,为了显示的目的,通常需要指定该空间的一个子集合作为真正使用的色彩空间,我们称之为调色板(palette)。
RGB模塑可看成是3D坐标的色彩空间(参见图2.6),请注意次生颜色(seeondaty color)是两个纯原色的组合。2
4深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
大多数图像传感器根据这一模型提供数据,图像可以通过几个传感器抓取到,每个传感器只对一个相当狭窄的波段敏感,传感器输出端的图像函数就如同在最简单的情况下那样(参见第2.2.1节):如同是单色图像那样,每个频谱段独立地数字化并表示为单个数字图像函数。有时图像以类似的方式产生出来,但是对应子不同光谱波段,例如,LANDSAT 4卫星发回从近紫外线到红外线之间的5个波段的数字图像。
其他色彩模型,如果不是直觉性差点的话,同样是重要的。最典型的是CMY,青、品红、黄(Cyan,Ma genta,Yellow)色彩模型,它是基于次生颜色的减色基体系的。例如,白色减去黄色得到蓝色,而白色减去黄色和品红的组合得到蓝色和绿色(以提供红色),这种颜料(Pigment)力法在彩色印刷设备中用于墨水组合(combinging ink), YIQ模型(有时称为IYQ)用于彩色电视广播中,它是KGB表示的一个简单的线作变换:
(其逆矩阵显然也可计算出来)。这种模型是有用的.由于Y分量提供了单色显示所需要的所有信息.进而.使人类视觉系统的特性得以利用,特别是在我们对亮度(luminance)的敏感性方面,亮度代表了觉察到的光源能量。该模型的细节和使用方法在相关的文献中可以找到[Pritchard77,Smith78]。
另一种与图像处理相关的模型是HIS(有时称为IHS)——色调(Hue)、饱和度(Saturation)和亮度(ln-tensity)。色调是指感知到的色彩(技术上,就是主要的波长),例如,“紫色"或“橙黄' 饱和度度量色彩是指被白光冲淡(dilution)的程度,产生淡紫色”,深紫色”等描述。HSI将亮度信息从位彩中分解出来,而色调和饱和度与人类感知相对应,因而使得该模型在开发图像处理算法中非常有用。在讲到图像增强算法(例如,均衡化算法4.1)时,它的用途就会变得明显了,如果我们将增强算法用在RGB的每个分量上,那么人对该图像的色彩感知就变坏了,而如果仅对HSI的亮度分量做增强(让色彩信息不受影响),那么效果就会或多或少地与期望相近。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
为了将RGB表示(r, g,b)转化为HSI,假设已经对基色测量做了标准化,即
这些推导是根据个著名的、特殊的色彩三角形得到的,完整的推导过程请参见and Woods 在计算机视觉领域,有关色彩及其应用的个更为全面的介绍可参见[I.uong犯久
2.3数字图像性质
数字图像具有一些度量和拓扑性质,与我们在基础微积分中所熟悉的连续两维函数的性质有所不同。另一个不同点在于人对图像的感知,因为对图像质童的判断也是重要的。
2.3.1数字图像的度量和拓扑性质
一幅数字图像由有限大小的像素组成,像素反映图像特定位置处的亮度信息。通常(从此以后我们都这样假设)像素按照矩形采样栅格布置,我们用两维矩阵来表示这样的数字图像,矩阵的元素是整数,对应于亮度范围的量化级別。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
连续图像所具有的一些明显的直觉特性在数字图像领域中没有直接的类似推广[Pavlids 77, Ballard and Brown 82]。距离(distance)是一个重要的例子。坐标为(i,j)和(h,k)的两点间的距离可以定义为几种形式,经典几何学和日常经验中的欧氏距离(Euclidean distance)D8定义为:
欧氏距离的优点是它在事实上是直观且显然的。缺点是平方根的计算费时且其数值不是整数。
两点间的距离也可以表示为在数字栅格上从起点移动到终点所需的最少的基本步数,如果只允许横向和纵向的移动,就是距离D1、D4也称为“城市街区(city block)”距离,这是因为:它类似于在具有栅格状街道和封闭房子块的城市里的两个位置的距离。
在数字栅格中如果允许沿对角线方向的移动,我们就得到了距离D8,常称之为“棋盘(chessbosrd)”距离。距离D8等于国王在棋盘上从一处移动到另一处所需的步数。
任何距离都可以作为斜切(chamfering)的基础,在斜切中产生像素与某个图像子集(多半表示某种特征)的距离,所产生的图像在该子集元素位置处的像素值为0,邻近的像素具有较小的值.而远处的数值就 大,该技术的命名源于这个阵列的外观。斜切在斜面匹配{chamfer matching)中有价值,将在第5.4节介绍。如下的两遍算法是基于简化了的欧氏度量导出的[Banrow et al.77],原出处是[Rosenfeld and Pfalz 68]。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
解决连通性悖论的一种方法是,对物体用4-邻接处理,而对背景用8-邻接处理(或反过来)。有关二值和更多亮度级别的数字图像悖论,在[Pavlidis 77, Hom 86」中有更为严格的处理及解决方法。
这些问题对于方形栅格是很典型的,但是对于六边形栅格(参见图2.4)很多问题就不存在了。六边形光栅中的任何点与其6个邻接点的距离都相同。六边形光栅也有一些自身的待殊问题,比如,它很难用傅立叶变换来表示。
解决连接(conncctivity)问题的另一种方法是使用基于单元复合(cell complex)的离散拓扑[Kova-lcvaky89]。这种方法得出了一整套有关图像编码与分割的理论,其中涉及的许多问题我们在后面会遇到,比如边界和区域的表示问题。这种思想最早是Riemann在19世纪提出来的,它考虑的是不同维数的集合的族,0维的点可以陚给含有更高维结构(比如像素数组)的集合,这样可以排除我们所见到的悖论。
考虑到简单性和易于处理,尽管存在上述缺欠,多数数字化转换器仍然使用方形栅格。区域的边界(border)是图像分析中的另一个重要概念,区域R的边界是它自身的一个像索集合,其中的每个点具有一个或更多个尺外的邻接点。该定义与我们对边界的直觉理解相对应,即边界是区域的界限上的点的集合。有时我们称这样定义的边界为内部边界(intter border),以便与外部边界(out border)相区 别。外部边界是指区域的背景(即区域的补案)的边界。
边缘(edge)是更深一步的槪念。它是一个像素和其直接邻域的局部性质,它是一个有大小和方向的矢量。边缘计算的对象是具有很多亮度级别的图像,计算边缘的方式是计算图像函数的梯度。边缘的方向与梯度的方向垂直,梯度方向指向函数增长的方向。我们在第4.3.2节将详细讨论边缘内容。
请注意“边界”与“边缘”是不同的。边界是与区域有关的全局概念,而边缘表示图像函数的局部性质; 边界与边缘也是关联的,一种寻找边界的方法是连接显著的边缘(在图像函数上具有大梯度的点)。这种方法将在第5.2节介绍。
边缘性质隶属于一个像素及其邻域,有时评定两个像素对之间的性质也是有益的,裂缝边缘(crack edge)就是这样的一个概念。每个像索有四个裂缝边缘,由其4-邻接关系定义而得。裂缝边缘的方向沿着亮度增大的方向,是90°的倍数,其幅值是相关像素对亮度差的绝对值。裂缝边缘参见图2.11,这部分内容将在第5章的图像分割中用到。
图像的拓扑性质{topological property)对于橡皮面变换(rubber sheet transformation)具有不变性。想像一下在一个小的橡皮球表面上绘制物体的情况,物体的拓扑性质是在橡皮表面任意伸展时都具有不变性的部分。伸展不会改变物体部分的连通性,也不会改变区域中孔的数目。Euler-Poincare特征(characfcHstic)是图像的一个拓扑性质,定义为区域数与其中的孔数的差值。其他不具有橡皮面不变性的性质将在第 6.3.1节介绍。
凸包(convex bull)是用来表述物体拓扑性质的一个概念,凸包是包含物体的一个最小区域,该区域中任意两点之间的连线都属于本区域,例如,考虑一个形状类似于宇母R的物体(参见图2.12)。想像一个细橡皮带紧绕着物体.橡皮带的形状就反映了物体的凸包,凸包的计算在第6.深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
3.3节中描述。
非规则形状的物体可以用一组它的拓扑分量来表示。凸包中非物体的部分称为凸提(deficit of convexi-ty)。它可以分解为两个子集,其一是湖(lake)(图 2.12中有阴影线的部分),完全被物体所包围;其二是海湾(bay),与物体凸包的边界连通。
凸包、湖和海湾有时用来描述物体,这些特征在第6章(物体描述)和第11章(数学形态学)中将会用到。
2.3.2直方图
图像的亮度直方图(brishtness histogratn)h,(x)给出图像中亮度值z出现的频率,一幅有L个灰阶的图像的直方图由具有l个元素的一维数组表示。算法2.2 计算亮度直方图 ^
^ 1.数组h的所有元素陚值为0, 2-对于图像f的所有像素,做
处理.前面我们曾讲过,图像可以作为随机过程的实现来分析,故可以考虑一阶密度函数 它表示像素(x,y)的亮度值是z,如果不考虑像素的位置,我们得到一个密度函数P1(z),亮度直方图就是它的估计。
直方图通常用条状图来显示。图2.13给出了图2.3中图像的直方图。
直方图通常是有关图像的唯一可得到的全局信息。在寻找最佳的照明条件以便抓取图像、进行灰阶变换以及将图像分割为物体和背景这些场合,都要用到直方图。请注意,同一直方图可能对应几幅图像,例如,当背景是常数时物体位置的改变不会影响直方图。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
数字图像的直方图一般都有很多局部极小值和极大值,这会使进一步的处理变得复杂,这个问题可以通过对直方图进行局部平滑来解决,比如,可以用相邻直方图元素的局部平均来做,因此新的直方图可按下式来计算:
其中K记一个常量,代表平滑所使用的邻域的大小。这个算法需要某种边界调整,也不能保证去除所冇的局部极小。还有一些其他平滑技术,重要的有高斯模糊(GaussUn blurring),在直方图的情况下,它是 2D;高斯模糊[公式(4.52)〕]的简化,将在第4.3.3节中介绍。
2.3.3图像的视觉感知
我们在设计或使用数字图像处理算法或设备时,应该考虑人的图像感知原理。如果一幅图像要由人来分析的话,信息应该用人容易感知的变量来表达,这些是心理物理参数,包括对比度、边界、形状、纹理、色彩,等等。只有当物体能够毫不费力地从背景中区分出来时,人才能从图像中发现它们。有关人的感知原理的详细论述可以参见[Cornsweet 70,Winston 75,Marr 82,Levine 85]。人的图像感知产生很多错觉,了解这些现象对于理解视觉机理有帮助。其中比较为人熟知的一些错觉我们在这里将提到,从计算机视觉的角度 [Frkby 79]详尽地论述这一主题。
如果人的视觉系统对复合输入刺激的响应是线性的,即是各自刺激的简单的和,问题就会相对容易些。一些刺激的衰减,即图像中物体的部分区域,可以通过亮度、对比度、持续时间来补偿。事实上,人的感知敏感度大致上是与输人信号的强度成对数关系的。在这种情況下,经过一个初始的对数变换,复合刺激的响应可以作为线性的看待。对比度(contrast)
对比度足亮度的局部变化,定义为物体亮度的平均值与背景亮度的比值。人的眼睛对亮度的敏感性成对数关系,意味着对于同样的感知,髙亮度需要髙的对比度。
表观上的亮度很大程度上取决于局部背景的亮度,这种现象被称为条件对比度(conditional contrast)。图2.14给出了分別处于暗和亮背景中的两个同样亮度的小方块,人对其中的小方块感知到的亮度是不同的。
敏锐度(acuity)敏锐度是觉察图像细节的能力。人的眼睛对于图像平面中的亮度的缓慢和快速变化敏感度差一些,而对于其间的中等变化较为敏感。敏锐度也随着离光轴距离的增加而降低。
图像的分辨率受制于人眼的分辨能力,用比观察者所具有的更高的分辨率充表达视觉信息是没有意义的,光学中的分辨率定义为如下的最大视角的倒数:观察者与两个最近的他所能够区分的点之间的视角。这两个点再近的话,就会被当作一个点。
人对物休的视觉分辨率在物体位于眼睛前250mm处,照明度在500 lux的情况下最好.这样的照明是由 400mm远的60W灯泡提供的。在这种情况下,可以区分的两个点之间的距离大约是0.15mm。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
物体边界(Object border)
物体边界具有大量的信息[Marr 82],物体和简单模式的边界,比如斑点或线,能引起适应性影响
色彩(color)由于在正常的照明条件下,人眼对色彩比亮度更敏感,因此色彩对于感知十分重要。色彩的量化和表示在第2.2.3节已经介绍过了,色彩可以表示为红、绿、蓝(RGB)二原色的组合,但是色彩感知用HSI坐标系统来表示更好。
色彩感知与其他心理物理量一样也受类似的适应性错觉(dadpration illusion)的影响。
2.3.4图像品质
在图像的捕获、传输或处理过程中可能使图像退化,图像品质的度量可以用来估计退化的程度。我们对图像品质的要求取决于具体的应用目标。
估计图像品质的方法可分为两类:主观的和客观的。主观的方法常见于电视技术中,其中最终评判标准是一组挑选出来的内行和外行观众的感觉。他们根据一张标准清单通过给出估计评分来评价图像,有关 主观方法的详细内容可参见[Pratt 78]。
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
深圳稻草人机器视觉课程 C++运动控制卡编程培训
深圳稻草人机器视觉 C++运动控制卡编程培训
深圳稻草人机器视觉课程 C++运动控制卡编程培训
第二篇:机器视觉教学大纲
《机器视觉》教学大纲 课程编码:08241059 课程名称:机器视觉 英文名称:MACHINE VISION 开课学期:7 学时/学分:36/2(其中实验学时:4)课程类型:专业方向选修课 开课专业:机械工程及自动化 选用教材:贾云得编著 《机器视觉》 科学出版社 2002年 主要参考书:
1.ROBOTICS: Control, Sensing, Vision, and Intelligence, K.S.Fu,McGraw-Hill Publishing Company, 1987 2.张广军编著,机器视觉,科学出版社,2005年 执笔人:
本课程主要内容包括:二值图像分析、图像预处理、边缘检测、图像分割、纹理分析、明暗分析、彩色感知、深度图与立体视觉。通过本课程的学习,学生应掌握机器视觉的基础理论、基本方法和实用算法。
一、课程性质、目的与任务 机器视觉课程是机械工程及自动化专业在智能机器方向的一门专业方向选修课。机器智能化是机械学科的重要发展方向,也是国际上跨学科的热门研究领域。而机器视觉是智能机器的重要组成部分,它与图象处理、模式识别、人工智能、人工神经网络以及神经物理学及认知科学等都有紧密的关系。本课程对于开阔学生视野、使学生了解本专业的发展前沿,把学生培养成面向二十一世纪的复合型人才具有重要的地位和作用。通过本课程的学习,学生也能掌握一定的科学研究方法与技能,为有潜力成为研究型人才的学生打下一定基础。
二、教学基本要求 本课程主要内容包括:二值图像分析、图像预处理、边缘检测、图像分割、纹理分析、明暗分析、深度图与立体视觉。通过本课程的学习,学生应掌握机器视觉的基础理论、基本方法和实用算法。
本大纲仅列出达到教学基本要求的课程内容,不限制讲述的体系、方式和方法,列出的内容并非要求都讲,有些内容,可以通过自学达到教学基本要求。
使用CAI课件作为辅助教学手段可以节省大量时间,传递更多的信息量,所以本课程建议使用CAI课件。
作业是检验学生学习情况的重要教学环节,为了帮助学生掌握课程的基本内容,培养分析、运算的能力,建议布置作业5-8次,并在期末前安排一次综合作业作为主要考查环节。
实验是教学的一个主要环节,实验时间共4学时,每次实验每小组4-6人,使每个学生均有亲自操作的机会。
三、各章节内容及学时分配 1. 人类视觉与机器视觉(4学时): 人类视觉原理与视觉信息的处理过程;
机器视觉理论框架与应用;
成像几何学基础。
2. 值图像分析与区域分析(4学时):阈值、几何特性、投影、游程长度编码、二值图像算法;
区域和边缘、分割、区域表示、分裂和合并。
3. 图像预处理(4学时):直方图修正、图像线性运算、线性滤波器、非线性滤波器。
4. 边缘检测和轮廓表示(4学时):梯度、边缘检测算法、二阶微分算子、LoG算法、图像逼近、Canny边缘检测器;
数字曲线及其表示、曲线拟合、Hough变换。
5.纹理(4学时):纹理分析统计方法、有序纹理的结构分析、基于模型的纹理分析、用分形理论分析纹理、从纹理恢复形状。
6. 明暗分析(4学时):图像辐射度、表面方向、反射图、从图像明暗恢复形状、光度立体。
7. 双目立体视觉(4学时):双目立体视觉原理、精度分析、系统结构、立体成像、立体匹配、系统标定。
8. 三维视觉技术(4学时):结构光三维视觉原理、光模式投射系统、标定方法;
光度立体视觉、由纹理恢复形状、激光测距法。
四、实验:
1. 实验目的与任务 本课程实验综合运用机器视觉基本理论、机器视觉实验装置和计算机图像处理软件,加深理解机器视觉的基本概念,掌握机器视觉图像基本处理方法,培养学生的动手能力和分析问题解决问题的能力。
2. 实验教学基本要求(1)掌握机器视觉图像基本处理方法:除噪、边缘增强、边缘检测。
(2)掌握三维物体的机器视觉识别方法:结构光法实验装置、三维物体数据的获取和三维物体的重建方法。
3. 实验教材或指导书 自编。
4. 实验项目一览表 序号 实验项目 内容提要 实验 类型 学时 分配 主要仪器 设 备 实验 地点 备注 1 视觉图像基本处理方法 滤波、图像增强与边缘检测 综合 2学时 配备图像处理软件的微机 机械设计及自动化实验室 2 三维物体的机器视觉识别方法 结构光法的图像数据获取、处理与三维模型重建 综合 2学时 结构光实验系统 机械设计及自动化实验室 五、考核方式:
(1)考核形式为考查,采用五级分制,考核环节为平时出勤、作业、实验和期末综合作业;
(2)平时成绩占35%,实验占30%,期末综合作业占35%。
第三篇:机器视觉课后心得体会
基本概念“机器视觉”,即采用机器代替人眼来做测量和判断。
机器视觉系统是指通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)把图像抓取到,然后将该图像传送至处理单元,通过数字化处理,根据像素分布和亮度、颜色等信息,来进行尺寸、形状、颜色等的判别。进而根据判别的结果来控制现场的设备动作。
机器视觉主要用计算机来模拟人的视觉功能,但并不仅仅是人眼的简单延伸,更重要的是具有人脑的一部分功能一一从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。
机器视觉与计算机视觉的不同机器视觉不同于计算机视觉,它涉及图像处理、人工智能和模式识别
机器视觉是专注于集合机械,光学,电子,软件系统,检查自然物体和材料,人工缺陷和生产制造过程的工程,它是为了检测缺陷和提高质量,操作效率,并保障产品和过程安全。它也用于控制机器。机器视觉是将计算机视觉应用于工业自动化。
机器视觉的技术进展在机器视觉系统中;关键技术有光源照明技术、光学镜头、摄像机、图像采集卡、图像处理卡和快速准确的执行机构等方面。在机器视觉应用系统中;好的光源与照明方案往往是整个系统成败的关键;起着非常重要的作用;它并不是简单的照亮物体而已。光源与照明方案的配合应尽可能地突出物体特征量;在物体需要检测的部分与那些不重要部份之间应尽可能地产生明显的区别;增加对比度;同时还应保证足够的整体亮度;物体位置的变化不应该影响成像的质量。在机器视觉应用系统中一般使用透射光和反射光。对于反射光情况应充分考虑光源和光学镜头的相对位置、物体表面的纹理;物体的几何形状、背景等要素。光源的选择必须符合所需的几何形状、照明亮度、均匀度、发光的光谱特性等;同时还要考虑光源的发光效率和使用寿命。光学镜头相当于人眼的晶状体;在机器视觉系统中非常重要。一个镜头的成像质量优劣;即其对像差校正的优良与否;可通过像差大小来衡量;常见的像差有球差、彗差、像散、场曲、畸变、色差等六种。
摄像机和图像采集卡共同完成对物料图像的采集与数字化。高质量的图像信息是系统正确判断和决策的原始依据;是整个系统成功与否的又一关键所在。目前在机器视觉系统中;CCD 摄像机以其体积小巧、性能可靠、清晰度高等优点得到了广泛使用。CCD 摄像机按照其使用的CCD 器件可以分为线阵式和面阵式两大类。线阵CCD 摄像机一次只能获得图像的一行信息;被拍摄的物体必须以直线形式从摄像机前移过;才能获得完整的图像;因此非常适合对以一定速度匀速运动的物料流的图像检测;而面阵CCD 摄像机则可以一次获得整幅图像的信息。图像信号的处理是机器视觉系统的核心;它相当于人的大脑。如何对图像进行处理和运算;即算法都体现在这里;是机器视觉系统开发中的重点和难点所在。随着计算机技术、微电子技术和大规模集成电路技术的快速发展;为了提高系统的实时性;对图像处理的很多工作都可以借助硬件完成;如DSP、专用图像信号处理卡等;软件则主要完成算法中非常复杂、不太成熟、尚需不断探索和改变的部分。
从产品本身看,机器视觉会越来越趋于依靠PC技术,并且与数据采集等其他控制和测量的集成会更紧密。且基于嵌入式的产品将逐渐取代板卡式产品,这是一个不断增长的趋势。主要原因是随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛,尤其是其具备低功耗技术的特点得到人们的重视。另外,嵌入式操作系统绝大部分是以C语言为基础的,因此使用C高级语言进行嵌入式系统开发是一项带有基础性的工作,使用高级语言的优点是可以提高工作效率,缩短开发周期,更主要的是开发出的产品可靠性高、可维护性好、便于不断完善和升级换代等。因此,嵌入式产品将会取代板卡式产品。应用:机器视觉伴随计算机技术、现场总线技术的发展,技术日臻成熟,已是现代加工制造业不可或缺的产品,广泛应用于食品和饮料、化妆品、制药、建材和化工、金属加工、电子制造、包装、汽车制造等行业。代替传统的人工检测方法,极大地提高了投放市场的产品质量,提高了生产效率。
由于机器视觉是自动化的一部分,没有自动化就不会有机器视觉,机器视觉软硬件产品正逐渐成为协作生产制造过程中不同阶段的核心系统,无论是用户还是硬件供应商都将机器视觉产品作为生产线上信息收集的工具,这就要求机器视觉产品大量采用“标准化技术”,直观的说就是要随着自动化的开放而逐渐开放,可以根据用户的需求进行二次开发。当今,自动化企业正在倡导软硬一体化解决方案,机器视觉的厂商在未来5-6年内也应该不单纯是只提供产品的供应商,而是逐渐向一体化解决方案的系统集成商迈进。在未来的几年内,随着中国加工制造业的发展,对于机器视觉的需求也逐渐增多;随着机器视觉产品的增多,技术的提高,国内机器视觉的应用状况将由初期的低端转向高端。由于机器视觉的介入,自动化将朝着更智能、更快速的方向发展。
第四篇:机器视觉课后心得体会
经过机器视觉技术及应用这门课程的学习,我觉得受益匪浅。可以说这门课程更偏重于实践,也很好的锻炼了我们,老师讲课很认真,ppT准备的很详细,对于一些关键问题的讲解更是深入浅出。机器视觉技术,即采用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品即图像摄取装置,分CMOS和CCD两种把图像抓取到,然后将该图像传送至处理单元,通过数字化处理,根据像素分布和亮度、颜色等信息,来进行尺寸、形状、颜色等的判别,进而根据判别的结果来控制现场的设备动作。机器视觉主要用计算机来模拟人的视觉功能,但并不仅仅是人眼的简单延伸,更重要的是具有人脑的一部分功能一一从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。
机器视觉不同于计算机视觉,它涉及图像处理、人工智能和模式识别,机器视觉是将计算机视觉应用于工业自动化。
目前在机器视觉系统中;CCD 摄像机以其体积小巧、性能可靠、清晰度高等优点得到了广泛使用。机器视觉伴随计算机技术、现场总线技术的发展,技术日臻成熟,已是现代加工制造业不可或缺的产品,广泛应用于食品和饮料、化妆品、制药、建材和化工、金属加工、电子制造、包装、汽车制造等行业。在未来的几年内,随着中国加工制造业的发展,对于机器视觉的需求也逐渐增多;随着机器视觉产品的增多,技术的提高,国内机器视觉的应用状况将由初期的低端转向高端。加之机器视觉的介入,自动化将朝着更智能、更快速的方向发展。
通过本课程的学习,我们掌握了一些机器视觉方面的基本知识。这门课对于我们生活方面有很大的实用性,可以让我们了解到机器视觉的基本构造,对成为技术应用型人才,适应社会和培养实践能力与技能都起到了很大的作用。这样的学习让我们将知识更灵活的运用,更好的将知识和实践结合在一起并转化为技能。
通过这门课程的学习,我们懂得更多,收获更多,提升了自身操作能力的同时又学到了很多东西,我相信在以后的课堂学习和实践学习中可以掌握更多更深入的知识,不断的提高自身的学习与应用能力。
第五篇:基于机器视觉智能交通灯控制系统
机器视觉的论述作业
题
目 :
基于机器视觉智能交通灯控制系统
学院名称 :
电气工程学院
专业班级 :
姓
名 : 学
号 :
时 间 : 绪论.........................................................3 2 基于机器视觉的智能交通灯系统设计.............................3 3 智能交通灯控制策略...........................................5 3.1 模糊控制...............................................5 3.2 智能交通灯模糊控制策略.................................5 3.3 解模糊化算法...........................................6 4 系统硬件设计.................................................6 4.1 摄像头的安装和特性.....................................6 4.2 视频采集模块设计.......................................8 4.3 DSP控制处理模块设计...................................9 4.4 信号灯驱动模块设计.....................................9 4.5 电源模块设计..........................................10 5 系统软件设计及调试..........................................11 5.1 软件总体设计方案......................................11 5.2 视频采集模块的软件设计................................12 5.3 系统调试..............................................13 6 总结........................................................13 7 参考文献........................................................................................................13 绪论
随着社会经济的发展,城市车辆数量迅速增长,交通拥挤日益严重,造成的交通事故和环境污染等负面效应也日益突出。城市交通问题直接制约着城市的建设和经济的增长,与人们的日常生活密切相关。通常交通阻塞大都是由于城市路口实际通行能力不足所造成的,路口交通问题逐步成为经济和社会发展中的重大问题,为此世界大多数国家都在进行智能交通灯控制系统的研究。
本文的目的是对基于机器视觉的智能交通灯控制系统进行了研究。基于机器视觉的智能交通灯控制系统对路口交通灯进行智能控制,根据各相位车流量大小,智能分配红绿灯时间,彻底改变了传统交通灯控制方式的不足。目前由于城市路口交通信号灯的控制策略不理想,导致了路口实际通行能力下降,停车次数比较多,车辆通过路口的延误时间较长,容易造成不必要的拥堵。改善交通灯控制策略,来提高路口的实际通行能力,这是城市交通控制中需要解决的主要问题。自从计算机控制系统应用于交通灯控制以来,硬件设备的不断更新和改进,智能化和集成化成为城市道路交通信号控制系统的研究趋势,而路口交通灯控制系统是智能交通系统中的关键点和突破口。基于机器视觉的智能交通灯系统设计
基于机器视觉的智能交通灯控制系统是由摄像机、视频采集模块、DSP控制处理模块、信号灯驱动模块、电源模块、时钟模块、复位模块和信号灯组等组成,其组成框图如2.1图所示
图2.1系统组成框图
系统中摄像机是用来拍摄路口车辆视频,是路口车流量获取的基础设备,其
拍摄的视频图像质量高低直接影响到系统对交通灯控制的精度。摄像机的选择决定着视频的质量,所以一般要选择稳定性高,分辨率符合系统要求的摄像机。目前摄像机主要分为两种,一种是电荷耦合器件_℃CD图像传感器;一种是互补性氧化金属半导体—CMoS图像传感器。CCD图像传感器是由很多感光单位组成的,其表面受到光线照射时,产生的电荷将由感光单位反映在组件上,所有感光单位产生的电信号组合在一起,就能够形成一幅完整的图画。而CMOS图像传感器的制造技术与工艺和制造普通计算机芯片的技术非常类似,CMOS中同时存在着N级和P级半导体,这两个半导体之间互补效应能够产生的电流信号,能够被处理芯片记录,同时将其解读成影像,形成一幅图画。画。比较CCD和CMOS的结构,ADC(放大兼类比数字信号转换器)的位置和数量是最大的不同。通常CCD摄像头每曝光一次,当快门关闭之后立即进行像素的转移处理,将其每一行中的每一个像素的电信号依次送到“缓冲器"中,再输入到放大器中进行放大,然后串联ADC输出;而CMOS的设计中每个像素旁直接连着ADC,对电信号进行放大同时转换成数字信号。CCD与CMOS的特性比较如下表2-1 表2-1 CCD和CMOS的比较
通过对CCD和CMOS的特性进行比较,以及视频处理系统对视频图像的要求,本文采用CCD摄像机JAB.55 15EB作为视频输入部分的图像传感器。智能交通灯控制策略
3.1 模糊控制
模糊控制是将模糊理论引入控制领域,将人的经验形式化模型化,采用模糊逻辑的近似推理方法,通过计算机系统代替人对被控对象进行有效的实时控制。模糊控制系统是由模糊规则基、模糊推理、模糊化算子和解模糊化算子组成,其组成框图如图3.1所示。
图3.1 模糊控制的组成框图
模糊化是对系统的输入量进行论域变换,将精确量转化成模糊输入信息的过程。由于实际过程中的输入值通常为连续变化的,必须将其范围分成有限个模糊集,并与输入量相对应,然后通过隶属函数求出输入量对各模糊集合的隶属度,将普通变量转化为模糊变量,完成了模糊化工作。
3.2 智能交通灯模糊控制策略
模糊控制过程是将实际检测的当前方向车辆排队长度进行模糊量化处理,映射到输入论域的模糊集合,根据实践经验确定模糊控制规则,进行模糊推理,再经清晰化处理转为绿灯延长时间的精确量,实现交通灯智能控制。通常情况下,在某一方向红灯时间内该车道的车流量在停车线后的排队长度越长而绿灯方向车流量不多,为了保证下一周期车辆通行最大化,就得适当延长下一周期的绿灯时间。反之,当前绿灯方向的车流量较多而当前红灯方向车道的车流量在停车线
后的排队长度较短,就得适当减少下一周期的绿灯时间,以确保路口车辆通行量的最大化。考虑到司机和行人心理承受能力,不至于在其等待过程中产生焦急烦躁的情绪,路口的红绿灯周期不能过长,通常可以设置一个最大绿灯时间,比如120S。如果系统已经执行了最大绿灯过,立即进行相位切换,当前方向绿灯进入黄闪状态,一般设定为3秒,然后执行红灯状态。当路口的车流量较小时,信号周期则比较短,但一般也要设定一个最小绿灯时间,女1:120S,否则车辆和行人由于来不及通过路VI而影响交通安全n时间,不考虑当前方向还有多少辆车等待通过。
3.3 解模糊化算法
通过对被控制量的模糊化,根据模糊控制规则进行推理,做出模糊决策,得到模糊控制的输出量,这个输出量为模糊量,而被控对象最终只能接受精确的控制量,所以必须将输出的模糊量转化为精确的控制量,将其转化为精确量的过程通常称之为解模糊化。也就是从模糊量变为清晰量的过程,即把通过模糊推理得到的输出量的模糊集合,一一映射到输出量的普通集合。解模糊的方法有通常有最大隶属度法、平均最大隶属度法、取中位数法以及加权平均法。系统硬件设计
4.1 摄像头的安装和特性
(1)所采集车辆视频图像质量的高低将直接影响到系统对交通灯控制的精度,而决定视频质量的关键因素在于CCD摄像头的选择和安装。本文采用CCD摄像机JAB-5515EB,可以在室外恶劣环境下全天候工作,其性能如表4-表4-1 JAB-5515EB摄像头的特性
(2)摄像头的安装直接影响到视频采集的过程,而且安装摄像头的位置既要不能对交通产生任何影响,又要满足视频采集模块的需求。图4.1为两相位路口示意图,摄像头的安装位置应在图中A、B、C、D点的上方高于7米为宜。视频图像处理只针对车道,所以可视角度只需满足横向覆盖整个车道,纵向能够覆盖车辆排队信息的长度即可。
图4.1 城市路口示意图
4.2 视频采集模块设计
本设计中的视频采集模块主要分为视频输入和视频处理两个部分,其功能是利用图像传感器将物体的光信号转换成模拟的视频电信号,然后利用视频解码芯片将视频模拟信号转化成数字视频信号输入到DSP的视频处理前端。模拟视频信号主要分为PAL和NTSC两种制式,在将模拟视频信号直接转换成数字信号的时
候,通常需要用到视频解码芯片,本设计中选择TI公司的TVP5150视频解码芯片来主要用来完成模拟视频信号到数字视频信号的转换以及对图像亮度、色度的预处理等。
4.3 DSP控制处理模块设计
DSP控制处理模块作为系统的主控模块,以TMS320DM6437为核心,由视频处理前端、DDR2存储器、EMIF接121电路、以太网接口电路、12C总线和JTAG接口电路组成,其设计框图如图4.2所示
图4.2 DSP控制处理模块设计框图
视频处理前端用来接收TVP5150发送的数字视频信号,DDR2存储器用来存储程序和数据,EMIF接口电路可以外接NAND Flash用于固化程序和数据,以太网接口电路用于DM6437与外接设备之间的通信,I2C总线对TVP5150内部存器进行初始化设置,JTAG接121电路主要用来连接DSP仿真器,进行程序的载和系统的调试与仿真。芯片DM6437用于控制各个外围功能芯片及完成算法处理。
4.4 信号灯驱动模块设计
LED交通信号灯驱动模块设计以LM3407芯片核心,其输入电压范围4.5V-30V,并且能够提供精准的恒定电流输出,本文所需电压为24V,电流为350mA,以驱动高功率发光二极管(LED)。常用LED交通灯的灯盘内LED数量约在100-200个
之间,本文采用119个LED灯通过串并联结合的方式进行连接。每个LED工作电压为3.3V,工作电流为20mA,结合驱动芯片参数和灯盘的规格,采用并联17组,每组串联7个LED灯的方式,对交通信号灯进行驱动。交通灯连接方式如图4.4所示。
图4.4 LED交通灯连接图
4.5 电源模块设计
整个系统的硬件平台采用+5V外接电压进行供电,但是根据各个模块对电源电压需求各有不同,因此对整个硬件平台的供电设计很重要。DM6437内核使用1.05V1.20V两种工作电压,当其工作频率为600MHz/500MHz/400MH时要求供电电压为1.20V,当工作频率为400MHz时要求供电电压为1.05V。设计中的内核工作频率为600MHz,故而采用1.2V的内核供电电压。而系统中TVP5150视频解码芯片的内核和外接的以太网物理层芯片等均是采用1.5V电源进行供电,其他则供电电压为3.3V。在给系统上电的过程中,首先应当确内核电源先上电。关闭电源的时候,同样先进行内核电源的关闭,然后再关闭I/O电源等。若只对CPU内核进行供电,而对周围I/O没有进行供电,则不会对芯片产生任何损害。假如周围的I/O均获得供电而对CPU内核没有进行供电,导致芯片缓冲/驱动部分的晶体管在未知状态下进行工作,对系统会产生一定的损害。电源模块设计功能框
图如图4.5所示。
图4.5 电源模块功能框图 系统软件设计及调试
5.1 软件总体设计方案
基于机器视觉的智能交通灯控制系统的功能主要通过C语言进行软件编程来实现的,其软件设计部分主要包括视频采集模块软件、DSP控制处理模块软件以及交通灯智能控制软件。其软件总体设计框图如图5.1所示。视频采集模块以TVP5150芯片为核心,接收来自摄像头的视频,进行和亮度等预处理,然后将模拟视频信号转换为数字视频信号,其软件设计主要包括TVP5150芯片的配置、芯片的工作过程;DSP控制处理模块要对车辆视频进行图像处理,计算出精确的车流量,根据模糊控制算法智能控制红绿灯时间。DSP控制处理模块软件设计主要包括模块主要寄存器配置、CACHE大小配置及存储器映射、EMIF接口初始化设计
和DSP代码优化原则;交通灯智能控制软件主要通过交通灯智能控制策略,根据车流量大小,对绿灯时间进行自动控制。
图5.1 软件总体设计框图
5.2 视频采集模块的软件设计
视频采集模块开始工作时,首先读取跳线设置,进行视频捕捉参数的更新,然后建立视频输入通道,同时为将要获取的视频信息分配内存缓冲区,再将获取的每一个视频帧发送给视频解码芯片TVP5150。当TVP5150发送结束信号,表示视频采集过程结束。在本文中,CCD摄像头为PAL制式,输入的宽度是704,输入高度是576,帧速是25帧/秒。所以将JPI设置成PAL制式,输入的视频数据像素为704x 576。设计中将帧间间隔设置为25,故最大的帧速是每秒25帧。其每个像素点的大小是2Bit,因此一帧数据大小为792KB。再进行视频输入通道的创建,创建过程是通过DSP/BIOS系统创建视频前端微型驱动的管道对象,采用
扩展的GIO函数FVID-create()来进行创建。
5.3 系统调试
电源、时钟和复位模块属于整个系统的最小系统部分,是硬件电路的基础,所以首先对其进行调试,以保证其正常工作。电源模块的调试主要通过万用表进行测量,当电源电路上电后,测试其输出端口电压是否符合系统的要求,分别为3.3V、1.8V和1.2V。时钟模块在调试过程中采用逻辑分析仪进行观测输时钟频率,确定其是否满足系统所需时钟频率的要求,视频解码芯片TVP5150所需的时钟输入频率为14.31818MHz,CPU核所需的时钟输入为27MHz。复位模块也采用万用表进行测量,当按下复位键输出为低电平有效,否则输出为高电平。总结
本文根据国内外交通灯控制系统的研究现状,分析研究了目前常用的交通灯控制策略,提出了一种基于机器视觉的智能交通灯控制系统的设计方案,将模糊控制理论引入交通灯控制系统中,提出了智能交通灯控制策略。采用了TI公司推出的TMS320C6000系列中性能较高的TMS320DM6437芯片,结合其它外围电路,设计了智能交通灯控制系统的硬件,并进行了相应的软件设计。最后进行了实验和调试。
基于机器视觉的智能交通灯控制系统涉及的领域很多,技术手段较为复杂。由于作者知识有限以及相关条件的限制,有些方面研究不够深入,还有待于进一步改进与完善。参考文献
【1】刘智勇.智能交通控制理论及其应用【M】.北京:科学出版社,2003.
【2】高海军.城市交通信号控制研究[D】.北京:中国科学院自动化研究所,2005.
【3】陈俊.基于DSP的汽车视觉系统研究【D】.武汉:武汉理工大学,2009.
【4】王史春.基于模糊控制算法实现信号灯智能化研究【J】.电子科技.2009 【5】李玉.交通信号灯的模糊控制[D】.辽宁:辽宁科技大学,2008.