登录
首页 » Others » opencv2.4.9源码分析——SIFT

opencv2.4.9源码分析——SIFT

于 2020-06-25 发布
0 425
下载积分: 1 下载次数: 1

代码说明:

详细介绍SIFT算法,opencv的SIFT源码分析,以及应用实例SIFT算法进行了改进,通过对两个相邻高斯尺度空间的图像相减,得到个DoG(高斯差分,Difference of gaussians)的响应值图像Dx,y,σ)来近似LoGD(x,y, o)=(G(x,y, ko)-G(x,y,o)O1(x,y)=L(x,y, ko)-L(x,y,a(5)其中,k为两个相邻尺度空间倍数的常数。可以证明DoG是对LoG的近似表示,并且用DoG代替LoG并不影响对图像斑点位賀的检测。而且用DoG近似LoG可以实现下列好处:第一是LoG需要使用两个方向的高斯二阶微分卷积核,而DoG直接使用晑斯卷积核,省去了卷积核生成的运算量;第二是DoG保留了个高斯尺度空间的图像,因此在生成某一空间尺度的特征时,可以直接使用公式1(或公式3)产生的尺度空间图像,而无需重新再次生成该尺度的图像:第三是DoG具有与LoG相同的性质,即稳定性好、抗干扰能力强。为了在连续的尺度下检测图像的特征点,需要建立DoG金宇塔,而DoG金宁塔的建立又离不开髙斯金字塔的建立,如下图所小,左侧为高斯金字塔,右侧为DoG金字塔:(nextoctave)Scale(firstoctave)Difference ofaussianGaussian(DOG)图1高斯金字塔和DoG金字塔高斯金字塔共分O组( Octave),每组又分S层( Layer)。组内各层图像的分辨率是相同的,即长和宽相同,但尺度逐渐增加,即越往塔顶图像越模糊。而下·组的图像是由上组图像按照隔点降采样得到的,即图像的长和宽分别减半。高斯金字塔的组数O是由输入图像的分辨牽得到的,因为要进行隔点降采样,所以在执行降釆样生成高斯金字塔时,一直到不能降采样为止,但图像太小又亳无意义,因此具体的公式为:0=| log2 min(x,y)-2」(6)其中,X和Y分别为输入图像的长和宽,L」衣示向下取整。金字塔的层数S为:(7)LoWe建议s为3。需要注意的是,除了公式7中的第一个字母是大写的S外,后面出现的都是小写的s髙斯金字塔的创建是这样的:设输入图像的尺度为0.5,由该图像得到高斯金字塔的第0组的第0层图像,它的尺度为m,我们称m为基准层尺度,再由第0层得到第1层,它的尺度为ko,第2层的尺度为k2o,以此类推。这里的k为:(8)我们以s=3为例,第0组的6(s+3=6)幅图像的尺度分别为:0,ko0,k2∞,k3o0,k∞o,k5o(9)写成更一般的公式为:d=or∈[0,,s+2](10)第0组构建完成后,再构建第1组。第1组的第0层图像是由第0组的倒数第3层图像经过隔点采样得到的。由公式10可以得到,第0组的倒数第3层图像的尺度为k∞o,k的值代入公式8,得到了该层图像的尺度正好为2∞,因此第1组的第0层图像的尺度仍然是2∞。但由于第1组图像是由第0组图像经隔点降采样得到的,因此相对于第1组图像的分辨率来说,第θ层图像的尺度为ω,即尺度为2σ是相对于输入图像的分辨率来说的,而尺度为∞是相对丁该组图像的分辨率来说的。这也就是为什么我们称0为基准层尺度的原因(它是每组图像的基准层尺度)。第1组其他层图像的生成与第0组的相同。因此可以看出,第1组各层图像的尺度相对于该组分辨率来说仍然满足公式10。这样做的好处就是编程的效率会提高,并且也保证∫高斯金字塔尺度空间的连续性。而之所以会出现这样的结果,是因为在参数选择上同吋满足公式7、公式8以及对上·组倒数第3层图像降釆样这三个条件的原因。那么第1组各层图像相对」输入图像来说,它们的尺度为:=2k00r∈[0,,S-2该公式与公式10相比较可以看出,第1组各层图像的尺度比第0组相对应层图像的尺度人了一倍。高斯金字塔的其他组的构建以此类推,不再赘述。下面给出相对于输入图像的各层图像的尺度公式:o,)=2k∞O∈[0,O-1l,r∈[0,,+2(12)其中,O表示组的坐标,r表示层的坐标,a为基准层尺度。k用公式8代入,得:2O∈[0,…0-1],r∈[0,…,s+2](13)在高斯金字塔中,第0组第∂层的图像是输入图像经髙斯模糊后的结果,模糊后的图像的高频部分必然会减少,因比为了最大程度的保留原图的信息量,LoWe建议在创建尺度空间前首先对输入图像的长宽扩展一倍,这样就形成了高斯金字塔的第-1组。设输入图像的尺度为0.5,那么相对于输入图像,分辨率护人一倍后的尺度应为1,由该图像依次进行高斯平滑处理得到第-1组的各个层的尺度图像,方法与其他组的一样。由于增加」第-1组,因此公式13重新写为(0∈[-1,0,…,0-1],r∈[0,…,s+2](14)DoG金字塔是由高斯金字塔得到的,即高斯金宁塔组内相邻两层图像相减得到DoG金字塔。如髙斯金字塔的第0组的筼0层和第1层相减得到DoG金字塔的第0组的箅0层图像,高斯金字塔的第0组的第1层和第2层相减得到υσG金字塔的第θ组的第1层图像以此类推。需要注意的是,高斯金字塔的组内相邻两层相减,而两组间的各层是不能相减的因此高斯金字塔每组有s+3层图像,而DoG金宁塔每组则有s+2层图像。极值点的搜索是在DoG金字塔内进行的,这些极值点就是候选的特征点。在搜索之前,我们需要在DoG金字塔内剔除那些像素值过小的点,因为这些像素具有较低的对比度,它们肯定不是稳定的特征点。极值点的搜索不仅需要在它所在尺度空间图像的邻域内进行,还需要在它的相邻尺度空间图像内进行,如图2所示。每个像素在它的尺度图像中一共有8个相邻点,而在它的下一个相邻尺度图像和上个相邻尺度图像还各有9个相鸰点(图2中绿色标注的像素),也就是说,该点是在3×3×3的立方体内被包围着,因此该点在DoG金字塔内一共有26个相邻点需要比较,来判断其是否为极大值或极小值。这里所说的相邻尺度图像指的是在同个组内,因此在DoG金字塔内,每一个组的第0层和最后一层各只有一个相邻尺度图像,所以在搜索极值点时无需在这两层尺度图像内进行,从而使极值点的搜索就只在每组的中间s层尺度图像内进行。搜索的过程是这样的:从每组的第1层开始,以第1层为当前层,对第1层的DoG图像中的每个点取·个3×3×3的立方体,立方体上下层分别为第0层和第2层。这样,搜索得到的极值点既有位置坐标(该点所在图像的空间坐标),又有尺度空间坐标(该点所在层的尺度)。当第1层搜索完成后,再以第2层为当前层,其过程与第1层的搜索类似,以此类推。Scale图2DoG中极值点的搜索2、特征点的定位通过上一步,我们得到了极值点,但这些极值点还仅仅是候选的特征点,因为它们还存在一些不确定的因素。首先是极值点的搜索是在离散空间内进行的,并且这些离散空间还是经过不断的降采样得到的。如果把采样点拟合成由面后我们会发现,原先的极值点并不是真正的极值点,也就是离散空间的极值点并不是连续空间的极值点。在这里,我们是需要精确定位特征点的位置和尺度的,也就是要达到亚像素精度,因此必须进行拟合处。我们使用泰勒级数展开式作为拟合函数。如上所述,极值点是·个三维矢量,即它包括极值点所在的尺度,以及它的尺度图像坐标,即=(x,y,o),因此我们需要三维函数的泰勒级数展开式,设我们在=(x0,y,)处进行泰勒级数展开,则它的矩阵形式为:602f02f02fdxax day dao02f02f02faxdy ayay ayaallly-yol2f02f02fOrdo aydo dodo(15)公式15为舍去高阶项的形式,而它的矢量表示形式为f(X)=f(X0)+o¥(X-x0)+7(x-x0)a F(X-Xo(16)在这里表示离散空间卜的插值中心(在离散空问内也就是采样点)坐标,表示拟合后连续空间下的插值点坐标,设ⅹ=Ⅹ-Xn,则X表示相对于插值中心,插值后的偏移量。因此公式16绎过变量变换后,又可写成:f(x)=f(X0)+yX+XTⅩX20X2(17)对上式求导,得af (x a02f0ox ox+2 ax2+axa80f.02fXaxaX2(18)让公式17的导数为0,即公式18为0,就可得到极值点下的相对于插值中心的偏移量:aX2 ax(19)把公式19得到的极值点带入公式17中,就得到了该极值点下的极值Tf(X)=f(X0)+af02f10f)a2f/02f-1of2 8X2 0X/0X28X2dXf(X0)+H打×1ora2Ta2f-ra2fa2f-1 af2 dx dx2dx2dx2 dXa f02f-10f∫(X0)+dF×f7a22 ax ax2 axaflf(Xo)+xx+2 0X(-X)18Ff(X0)+2 aX(20)对于公式19所求得的偏移量如果大」0.5(只要x、y和σ任意一个量大于0.5),则表明插值点已偏移到了它的临近的插值中心,所以必须改变当前的位置,使其为它所偏移到的插值中心处,然后在新的位置上重新进行泰勒级数插值拟合,直到偏移量小于0.5为止(x、y和σ都小于0.5),这是一个迭代的工程。当然,为了避免无限次的迭代,我们还需要设置个最人迭代次数,在达到了迭代次数但仍然没有满足偏移量小于0.5的情况下,该极值点就要被剔除掉。另外,如果由公式20所得到的极值f(X过小,即f(X1,则Tr(H)2(a+β)2(+β)2(y+1)2Det(h)2(25)上式的结果只与两个特征值的比例有关,而与具体的特征值无关。我们知道,当某个像系的矩阵的两个特征值相差越大,即γ很大,则该像素越有可能是边缘。对于公式25,当两个特征值相等时,等式的值最小,随着γ的增加,等式的值也增加。所以,要想检查主曲率的比值是否小于某一阈值y,只要检査下式是否成立即可:Tr(H)(y+1)Det(h)(26)对于不满足上式的极值点就不是特征点,因此应该把它们剔除掉。Lowe给出γ为10在上面的运算中,需要用到有限差分法求偏导,在这里我们给出具体的公式。为方便起见我们以图像为例只给出二元函数的实例。与二元函数类似,三元函数的偏导可以很容易的得到设f(i,是ν轴为i、x轴为j的图像像素值,则在(j点处的一阶、二阶及二阶混合偏导af f(i, j+1)-f(i, j0ff(i+1,j)-f(-1,ax2h2h(27)ff(+1)+f(-1)-2f(,j)a2ff(+1,j+f(-1,j)-2f(i,j)hh(28)2ff(-1,j-1)+f(i+1,j+1)-f(i-1,+1)-f(i+1,-1)dx d(29)由丁在图像中,相邻像素之问的间隔都是1,所以这里的h3、方向角度的确定经过上面两个步骤,一幅图像的特征点就可以完全找到,而且这些特征点是具有尺度不变性。但为了实现旋转不变性,还需要为特征点分配一个方向角度,也就是需要根据检测到的特征点所在的高斯尺度图像的局部结构求得一个方向基准。该高斯尺度图像的尺度a是已知的,并且该尺度是相对于高斯金字塔所在组的基准层的尺度,也就是公式10所表示的尺度。而所谓局部结构指的是在高斯尺度图像中以特征点为中心,以r为半径的区域内计算所有像素梯度的幅角和幅值,半径r为(30)其中a就是上面提到的相对于所在组的基准层的高斯尺度图像的尺度。像素梯度的幅值和幅角的计算公式为:m(xy)=√(x+1,y)-L(x-1,y)2+(L(x,y+1),L(x,y-1)2(31)L(x,y+1)-L(x,y-1)o(x, y)=arctanL(x+1,y)-L(x-1,y)(32)因为在以〃为半径的区域内的像素梯度幅值对圆心处的特征点的贡献是不同的,因此还需要对幅值进行加权处理,这里采用的是高斯加权,该高斯函数的方差Cm为:Om=1.50(33)其中,公式中的σ也就是公式30中的σ在完成特征点邻域范围内的梯度计算后,还要应用梯度方向直方图来统计邻域內内像素的梯度方向所对应的幅值大小。具体的做法是,把360°分为36个柱,则每10°为一个柱,即0°~9为第1柱,10°~19为第2柱,以此类推。在以r为半径的区域内,把那些梯度方向在0~9°范围内的像索找出来,把它们的加权后的梯度嘔值相加在一起,作为第1柱的柱高;求第2柱以及其他柱的高度的方法相同,不再赘述。为了防止某个梯度方向角度因受到噪声的干扰而突变,我们还需要对梯度方向直方图进行平滑处理。 Opencv2.4.9所使用的平滑公式为:H()~h(-2)+h(+2)4×(h(-1)+h(+1)),6×h()i=0...15161616(34)其中h和H分别表示平滑前和平滑后的直方图。由于角度是循环的,即0°=360°,如果出现h(),j超出了(0,…,15)的范围,那么可以通过圆周循环的方法找到它所对应的、在0°~360°之间的值,如h(-1)-h(15)这样,直方图的主峰值,即最高的那个柱体所代表的方向就是该特征点处邻域范围内图像棁度的主方向,也就是该特征点的上方向。由于柱体所代表的角度只是一个范围,如第1柱的角度为0~9°,因此还需要对离散的梯度方向直方图进行插值拟合处理,以得到更精确的方向角度值。例如我们凵经得到了第i柱所代表的方向为特征点的主方向,则拟合公式为:H(i-1)-H(i+1)B=i+=0,…152×(H(-1)+H(i+1)-2×H()(35)O=360-10xB(36)其中,H为由公式34得到的直方图,角度6的单位是度。同样的,公式35和公式36也存在着公式34所遇到的角度问题,处理的方法同样还是利用角度的圆周循环。每个特征点除了必须分配一个主方向外,还可能有一个或更多个辅方冋同,增加辅方向的目的是为了增强图像匹配的鲁棒性。辅方向的定义是,当存在另个柱体高度大于主方向柱体高度的80%时,则该柱体所代表的方向角度就是该特征点的辅方向。在第2步中,我们实现∫用两个信息量来表小一个特征点,即位置和尺度。那么经过上面的计算,我们对特征点的表示形式又增加了个信息量一一方向,即(x,y,o,6)。如果某个特征点还有一个辅方向,则这个特征点就要用两个值来表示——(x,y,,B1)和(x,y,,02),其中O1表示主方向,O2表示辅方向,而其他的变量x,y,不变。4、特征点描述符生成

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 基于matlab的jpeg解码
    有完整的JPEG编码也解码程序,在Matlab下运行已通过,注释详细,希望会对大家有用!
    2020-12-03下载
    积分:1
  • 简单matlab车牌字符分割
    基于投影的方法实现车牌字符的分割,分割好的字符是二值图像可用来字符识别。
    2020-12-05下载
    积分:1
  • 款可以使照片.图片变清晰的小软件(很实用).
    【实例简介】一款可以使照片.图片变清晰的小软件(很实用)
    2021-11-08 00:31:19下载
    积分:1
  • 用verilog实现msk信号调制器.zip
    【实例简介】msk调制顶层模块msk_top.v module msk_top(clk_100MHz, clk_2MHz, clk_1MHz, reset,x,msk_out); input clk_100MHz; input clk_2MHz; input clk_1MHz; input reset; input x; output [32:0] msk_out; wire b_i, b_q; wire [15:0] sine, cosine; //调用亟待数据处理模块 S2p s2p( .clk(clk_2MHz), clk_div2(clk_1MHz),reset(reset), .x(x),.b_i(b_i),.b_q(b_q)); //调用I,Q路加权模块iqsin.v Iqsin iqsin( .clk(clk_100MHz),. reset(reset), .b_i(b_i),.b_q(b_q), .SINE(sine),COSINE(cosine)); //载波调制相加模块 iqmodu.v Iqmodu iqmodu( .clk(clk_100MHz), .i_i(cosine),.q_q(sine),.msk_out(msk_out)); endmodule
    2021-11-24 00:36:46下载
    积分:1
  • 乐鑫 esp8266 源码分析 MQTT 实现过,实现移植 MQTT协议在 esp8266 rtos实时系统,可断线重连。
    Esp8266 源码分析 MQTT 实现过程,实现移植 MQTT协议在 esp8266 rtos实时系统,可断线重连。https://blog.csdn.net/xh870189248/article/details/81181707
    2020-12-09下载
    积分:1
  • 模糊控制及其MATLAB仿真.pdf
    主要讲解模糊控制理论在MATLAB系统的中的应用前言自动控制理论经历了经典控制和现代控制两个重大发展阶段,已经相当完善。然而,对于许多复杂庞大的被控对象及其外界环境,有时难以建立有效的数学模型,因而无法采用常规的控制理论做定量分析计算和进行控制,这时就要借助于新兴的智能控制。智能控制是人工智能、控制论和运筹学相互交叉渗透形成的新兴学科,它具有定量和定性相结合的分析方法,融会了人类特有的推理、学习和联想等智能。模糊控制是在智能控制中适用面宽广、比较活跃且容易普及的一个分支。人类在感知世界、获取知识、思维推理、相互交流及决策和实施控制等诸多的实践环节中,对知识的表述往往带有“模糊性”的特点,这使得所包含的信息容量有时比“清晰性”的更大,内涵更丰富,也更符合客观世界。1965年美国的控制论专家L.A. Zadeh教授创立了模糊集合论,从而为描述、硏究和处理模糊性事物提供了一种新的数学工具。模糊控制就是利用模糊集合理论,把人的模糊控制策略转化为计算机所能接受的控制算法,进而实施控制的一种理论和技术。它能够模拟人的思维方式,因而对一些无法构建数学模型的系统可以进行有效的描述和控制,除了用于工业,也适用于社会学、经济学、环境学、生物学及医学等各类复杂系统。由于模糊控制应用广泛、便于普及,不仅许多高等学校开设了模糊控制课程,而且不少工程技术人员也渴望了解和学习这方面的知识。集作者多年从事“模糊信息处理”、“模糊控制”方面的科研和教学经验,编写了这本模糊控制方面的入门书。本书在选材、安排上均遵从“入门”和“实用”的原则,着重介绍模糊控制的基本概念、基本原理和基本方法。本着“重视实用性和可操作性”的工程教育思想,内容选取和叙述形式不追求“理论的高深和数学推导的严谨”,在学术性和实用性发生冲突时,学术性服从实用性。本书主要内容包括模糊控制的数学和逻辑学基础、模糊控制器的设计、模糊控制系统的仿真及神经网络在模糊控制中的应用。在介绍模糊控制的理谂时,按照模糊控制的需要介绍必要的基础理论和基本知识,而不是把模糊控制仅仅看作模糊理论的一种应用,片面追求模糊理论的系统性和完整性,致使读者在模糊数学和模糊逻辑的演算上花费很多精力。在介绍模糊规则的生成方法时,不仅介绍了根据操作经验建立规则的常用方法,而且通过实例介绍了从系统的输入、输出数据中获取模糊规则的方法在介绍模糊控制器时,集中介绍了实用范围较广的两种类型模糊控制器:Maπdani型和 Sugeno型。前一种模糊控制器的输λ量和输出量都是模糊子集,输出量需要经过清晰化才能用于执行机构;而后一种模糊控制器的输入量是模糊子集,输岀量为数字量,可以直接用于推动执行机构考虑到科技工作者学习模糊控制理论时需要实践及其实际需求,把模糊控制理论和计算机仿真进行了有机融合,较详细地介绍了 MATLAB仿真技术及其在模糊控制方面的应用通过仿真练习,弥补了学习理论过程中难以实践的缺陷,加深对模糊控制的理解,也使在解WW. 9CAX COI决实际问题时有所借鉴,为进一步深入学习和应用模糊控制理论打下良好的基础。神经网络是智能控制的一个重要分支,本书简要介绍了它在模糊控制中的应用,着重举例介绍了 MATLAB中“自适应神经模糊系统”的使用方法。本书配有教学课件,可从北京交通大学出版社网站下载,或发邮件至 cbswce( jg.bitu.edu.cn或aushi@126.com索取。吴嫦娥编辑对本书的出版起了极大的推动作用,在此深表谢意!由于模糊控制领域的理论目前尚不成熟,还存在许多未解难题,虽然作者在“模糊领域”有十余年的科研教学经验,但毕竟水平有限,恳请广大读者不吝赐教!编者(E mail: aushixm(a 126. com)2008年3月WW. 9CAX COI目录第1章引言………………………………………………………(1)1.1自动控制理论的发展历程……………………………………………………(1)1.2智能控制概况………………(2)1.2.1智能控制的发展简况………………………………………………………………(2)1.2.2智能控制的几个重要分支…1.3模糊控制,,,,,.,,,………(6)1.3.1模糊控制解决的问题…(7)1.3.2模糊控制的发展简史…………………………………………………………(7)1.3.3模糊控制的特点及展望…(9)思考与练习题………………………………………………………………………(10)第2章模糊控制的数学基础……………………………………………………(11)2.1清晰向模糊的转换·(11)2.1.1经典集合的基本概念………………………………………………………………(11)2.1.2模糊集合………………………………………………………………(14)2.2隶属函数…………………………………………………………………………………(22)2.2.1确定隶属函数的基木方法…………………………………………………(23)2.2.2常用隶属函数2.3F集合的运算………………………………………………(26)2.3.1F集合的基本运算………………………………………………(26)2.3.2模糊集合的基本运算规律………………………………………………………(29)2.3.3F集合运算的其他定义………………………………………………………(31)2.4模糊关系及其运算……………………………………………………………(32)2.4.1经典关系……(32)2.4.2模糊关系………………………………………………………………(34)2.4.3模糊关系的运算…………………………………………………………………(382.4.4F关系的合成…………………………………(40)2.5模糊向清晰的转换…………………………………………………………(45)2.5.1模糊集合的截集………………………………………………………(45)2.5.2模糊关系矩阵的截矩阵…(47)2.5.3模糊集合转化为数值的常用方法…(47)思考与练习题………………………………………………………………………(51)第3章模糊控制的逻辑学基础……………………………………………………………(53)3.1二值逻辑简介……………………………………………………………………(53)1判断WW. 9CAX COI3.1.2推理……………………………………………………………………(58)3.2自然语言的模糊集合表示……………………………………………………(59)3.2.1一些自然词语的F集合表示……………(59)3.2.2糢糊算子…………………………………………………………………(60)3.3模糊逻辑和近似推理……………(63)3.3.1模糊命题……………………………………………………(64)3.3.2常用的两种基本模糊条件语句…………………………………………………(65)3.3.3近似推理及其合成法则…(74)3.4T-S型模糊推理…………………………………………………………(81)3.4.1双输入、单输出系统的T-S型糢糊推理模型…………………………………(81)3.4.2MISO系统的TS模型………………………………………………………………(85)思考与练习题…(87)第4章模糊控制器的设计………………………………………(89)4.1模糊控制系统的基本组成………………(89)4.1.1从传统控制系统到模糊控制系统…………………………………………………(89)4.1.2模糊控制器的结构………………………………………………………………(92)4.2 Mamdani型模糊控制器的设计…(93)4.2.1 Mamdani型模糊控制器的基本组成…………(93)4.2.2量化因子和比例因子……………………………………………(94)4.2.3模糊化和清化……………………………………………………(98)4.2.4模糊控制规则……………………………………………………………………(102)4.2.5模糊自动洗衣机的设计…………………………(113)4.3T-S型模糊控制器的设计…(117)1.3.1T-S型模糊模型(118)4.3.2T-S型模糊系统设计要点………………………………………………………(121)4.4F控制器和PID控制器的结合…(121)4.4.1F-PID复合控制器……………………………(121)4.4.2F-PID复合控制器的其他形式………(122)4.4.3用模糊控制器调节PID控制器的参数………………………………(123)思考与练习题……………………………………………………………………………(125)第5章模糊控制系统的 MATLAB仿真…………………………………(127)5.1 Simulink仿真入门……………………………………………(127)5.1.1 MATLAB中的仿真模块库…………………………………………(128)5.1.2仿真模型图的构建……………………………………………………(135)5.1.3动态系统的 Simulink仿真……5.2模糊推理系统的设计与仿真………(149)5.2.1模糊推理系统的图形用户界面简介·..···,····,·············………(149)5.2.2模糊推理系统编辑器…………………………………………………………(150)2.3隶属函数编辑器…(156)WW. 9CAX COI5.2.4模糊规则编辑器…(161)5.2.5模糊规则观测窗…………(172)5.2.6FIS输出量由面观测窗………(179)5.2.7用GUI设计 Mamdani型模糊系统举例……………………………………(182)5.2.8用GUI设计 Sugeno型模糊系统举例……………………………………(189)5.3模糊控制系统的设计与仿真…………………………………………………(196)5.3.1FIS与 Simulink的连接………………………………………………………(196)5.3.2构建模糊控制系统的仿真模型图…(200)5.3.3通过仿真对系统进行分析……………………………………………(208)考与练习题……………………………………………………………………………………(218)第6章神经网络在模糊控制中的应用……………………………………………(219)6.1神经网络的基本原理…(219)6.1.1神经网络发展历史…(219)6.1.2神经元的生理结构……………………………………………(221)6.1.3神经元的数学模型…………………………………………………………(222)6.1.4人工神经网络模型…………………………………………………………(224)6.1.5神经网络模型的学习方法……(225)6.1.6BP型神经网络原理简介……………………………(227)6.2神经模糊控制……着,,,着……………(228)6.3用自适应神经模糊系统建立FIS…………………………………………(229)6.3.1 ANFIS图形用户界面简介,,,,·,.,··.,,.,·,·,着,,里,,,,,,·,,··,,,·,.·,·,,·(229)6.3.2用 Anfis建立FIS的步骤…………………………………………(233)6.3.3用 Anfis建立FIS举例……………………………………………………(245)思考与练习题(255)参考文献………………………………………………………………………………(256)ⅢlWW. 9CAX COI第1章引言本章介绍自动控制学科发展的历史概况,叙述从开环控制到智能控制的发展进程,并简单介绍智能控制的几个主要分支——专家控制、模糊控制和神经网络控制1.1自动控制理论的发展历程自动控制就是在没有人直接参与的情况下,利用外加的设备或装置(控制器),使机器、设备或生产过程(被控对象)的某个工作状态或参数(被控量),能够自动地按照设定的规律或指标运行的设备或系统。自从美国数学家维纳在20世纪40年代创立控制论以来,自动控制从最早的开环控制起步,然后是反馈控制、最优控制、随机控制,再到自适应控制、自学习控制、自组织控制,直发展到自动控制的最新阶段——智能控制。整个自动控制理论的发展进程,是由简单到复杂、由量变到质变的辩证发展过程,如图1-1所示。智能控制但会买继智能控制自学习控制自适应控制,鲁棒控制现代控随机控制最优控制确定性反馈控制开环控制控制系统的复杂性图1-1控制科学的发展过程传统控制理论经历过经典控制理论和现代控制理论两个具有里程碑意义的重要阶段,它们的共同点都是基于被控对象的清晰数学模型,即控制对象和干扰都得用严帑的数学方程和函数表示,控制任务和目标一般都比较直接明确,控制对象的不确定性和外界干扰只允许在很小的限度内发生个系统的数学模型就是对系统运动规律的数学描述,微分方程、传递函数和状态方程是描述控制系统的三种最基本的数学模型,其中微分方程是联系其他两者的纽带。经典控制理论主要研究单变量、常系数、线性系统数学模型,经常使用传递函数为基础的频域分析法;现代控制理论主要研究多输入-多输出线性系统数学模型,经常使用微分方程或状态方WW. 9CAX COI模糊控制及其 MATLAB仿真程为基础的时域分析法。传统控制方法多是解决线性、时不变性等相对简单的被控系统的控制问题,这类系统完全可以用线性、常系数、集总参量的微分方程予以描述。但是,许多实际的工业对象和控制目标常常并非都是如此理想,特别是遇到系统的规模庞大、结构复杂、变量众多,加之参数随机多变、参数间又存在强耦合或系统存在大滞后等错综复杂情况时,传统控制理论的纯粹数学解析结构则很难表达和处理。由于硏究对象和实际系统具有非线性、时变性、不确定性、不完全性或大滞后等特性,无法建立起表述它们运动规律和特性的数学模型,于是便失去了进行传统数学分析的基础,也就无法设计出合理的理想经典控制器。况且,在建立数学模型时一般都得经过理想化假设和处理,即把非线性化为线性,分布参数化为集中参数,时变的化为定常的,等等。因此,数学模型和这些实际系统的巨大差距,使之很难对其实现有效的传统自动控制,于是便出现了某些仿人智能的工程控制与信息处理系统,产生和发展了智能控制大量的生产实践表明,有许多难以建立数学模型的复杂系统和繁难工艺过程,可以由熟练技术工人、工程师或专家的手工操作,依靠人类的智慧,能够获得满意的控制效果。例如,欲将一辆汽车倒入指定的车位,确实无法建立起这一过程的数学模型。然而熟练的司机却可以非常轻松地把它倒入预定的位置。类似的问题使人们自然想到,能否在传统控制中加人人类的认知、手工控制事物的经验、能力和逻辑推理等智能成分,充分利用人的操作技巧、控制经验和直觉推理,把人的因素作为一个有机部分融入控制系统呢?能否根据系统的实际输入、输出类似于熟练技工那样进行实时控制,甚至使机器也具有人类的学习和自适应能力,进而用机器代替人类进行复杂对象和系统的实时控制呢?1.2智能控制概况20世纪60年代以来,由于空间技术、计算机技术及人工智能技术的发展,控制界学者在研究自组织、自学习控制的基础上,为了提高控制系统的自学习能力,开始注意将人工智能技术与方法应用于工程控制中,逐渐形成了智能控制。1.2.1智能控制的发展简况所谓智能控制,就是通过定性和定量相结合的方法,针对被控对象和控制任务的复杂性、不确定性和多变特性,有效自主地实现繁杂信息的处理、优化和判断,以致决策,最终达到控制被控系统的目的。智能控制的诞生1966年,J.M. Mendal首先提出将人工智能技术应用于飞船控制系统的设计;其后,1971年,美籍华人科学家傅京逊首次提岀智能控制这一概念,并归纳了三种类型的智能控制系统①)人作为控制器的控制系统:这种控制系统具有自学习、自适应和自组织的功能。②人-机结合作为控制器的控制系统:机器完成需要连续进行的、快速计算的常规控制任务,人则完成任务分配、决策、监控等任务。③无人参与旳自主控制系统:用多层智能控制系统,完成问题求解和规划、环境建模、WW. 9CAX COI第1章引言传感器信息分析和低层的反馈控制任务,如自主机器人。1985年8月,美国电机及电子工程师学会( Institute of Electrical and Electrical Enginers,IEEE)在纽约召开了第一届智能控制学术讨论会,随后成立了智能控制专业委员会;1987年1月,在美国举行第一次国际智能控制大会,标志着智能控制领域的形成。智能控制即含有人类智能的控制系统,它具有学习、抽象、推理、决策等功能,并能根据环境(包括被控对象或被控过程)信息的变化做岀适应性反应,从而使机器能够完成以前只能由人可以完成的控制任务。2.智能控制的三元论智能控制是一门交叉学科,傅京逊教授于1971年首先提出智能控制( Intelligent Control,IC)是人工智能与自动控制的交叉,即智能控制的二元论。在此基础上,美国学者G.N. Saridis于1977年引入运筹学,提出了三元论的智能控制概念,认为智能控制是人工智能( Artificial Intelligence,AⅠ)、自动控制( Automatic control,AC)和运筹学(Operational research,OR)等形成的交叉学科,即IC=AI∩AC∩OR,它们的含义如下:信号处理、形式语言AI—人工智能,是一个用来模拟人启发推理规划、调度、管理类思维的知识处理系统,具有记忆、学习、人工智能运筹学信息处理、形式语言、启发推理等功能学习、记忆可以应用于判断、推理、预测、识别、决智能控制协调、管理策、学习等各类问题;AC自动控制,描述系统的动力学自动控制特性,实现无人操作而能完成预设目标的一优化、动力学、动态反馈种理论体系,一般具有动态反馈功能;OR—运筹学,是一种定量优化方法,如线性规划、网络规划、调度、管理、优化决策和多目标优化方法等。图1-2智能控制的三元论示意图基于三元论的智能控制概念如图1-2所示。现在,为多数人所接受的三元论智能控制概念,除了“智能”与“控制”外,还强调了更高层次控制中的调度、规划和管理作用,为分层、递阶智能控制提供了理论依据。3.智能控制的特点在分析方法上具有定量与定性相结合的智能控制,应该具有以下一些功能。1)学习功能智能控制器能通过从外界环境所获得的信息进行学习,不断积累知识,使系统的控制性能得到改善。2)适应功能智能控制器具有从输入到输岀的映射关系,可实现不依赖于模型的自适应控制,当系统某一部分出现故障时,仍能进行控制。WW. 9CAX COI
    2020-06-01下载
    积分:1
  • 基于肺CT的图像处理方法
    【实例简介】图像增强在医学图像里的应用;通过对肺结节的检测,对病情进行分类,即:计算机辅助诊断技术(CAD)
    2021-11-10 00:31:17下载
    积分:1
  • STM32任意角度移相全桥PWM
    利用STM32两个定时器输出4路PWM驱动全桥电路,两路为一组互补PWM,两组之间可以实现任意角度的移相,周期和占空比可任意调节
    2020-11-27下载
    积分:1
  • 容错控制与应用
    很全面的介绍容错控制的好PPT,好好学习,为人民服务
    2020-12-09下载
    积分:1
  • mxgraph开发包
    mxgraph开发包
    2020-12-02下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载