模糊算法

2024-09-21

模糊算法(精选12篇)

模糊算法 篇1

FCM算法是1974年由Dunn提出并由Bezdek加以推广的模糊C-均值 (fuzzy c-means 简称FCM) 算法[1]。模糊C 均值算法 (FCM) 是基于模糊集理论的一种聚类方法, 有着广泛的应用。近年来, 将遗传算法引入聚类分析是一个新的方向, 文献[2,3]对基于遗传算法的聚类分析进行了介绍。

1 遗传算法描述

遗传算法模拟自然界的演化进程, 采用优胜劣汰的原则, 利用选择、交叉、变异等遗传操作寻找最优个体, 具有很强的搜索能力, 在许多方面都获得了成功的应用。目前对将遗传算法应用到聚类中已经做过很多研究[4], 但遗传算法仍然存在一些缺陷, 如局部搜索能力差, 容易陷入早熟, 效率不高, 还面临着与计算复杂度相关的一些问题。选择和交叉操作都与个体的编码设计相关, 有的个体设计得比较容易进行交叉操作, 然而其适应度函数的计算就会比较复杂, 使选择操作进行起来不太容易;因此, 选择和交叉操作在计算复杂程度上是互补的, 现将模糊C-均值算法引入到遗传算法的进化中, 代替遗传算法的交叉操作。虽然模糊C-均值算法对初始条件敏感, 容易陷入局部最优解, 但将FCM操作代替标准遗传算法中的交叉操作, 弥补了FCM算法和遗传算法各自的缺点。

1.1 目标函数

对有n个对象的集合进行划分成为C个类, 每个对象都是d维向量, 最终使目标函数——总类内差异TWCV最小化, 给出定义如下:n个对象组成的集合{xi, i=1, 2, …, n}, xij表示对象xi的第j个属性。对于i=1, 2, …, n;c=1, 2, …, C

若第i个对象属于第c个类

Wic={1ic0 (1)

对于矩阵W=[wij], wij={0, 1}且j=1Cwji=1 (2)

c个类的质心Vc={Vc1, Vc2, …, Vcd}。

其中Vcj=i=1nwicxiji=1nwic (3)

c个类的类内差异定义为:

S (c) (W) =i=1nwicj=1d (xij-vcj) 2 (4)

总类内差异定义为:

S (W) =c=1CS (c) =c=1Ci=1nwicj=1d (xij-vcj) 2 (5)

1.2 遗传PCM算法流程图与算法步骤

遗传快速FCM算法的处理流程是从初始化包含M个个体的种群P0对于每一代种群Pi, 经过选择、变异和快速FCM操作后, 得到新一代的种群, 这一过程重复进行G次。在执行选择操作之前, 找出目前的最佳个体并将其存入S0中, 最后S0作为最终的迭代结果输出 (图1) 。

遗传FCM的算法步骤:

(1) 编码

设n个d维对象要分为c个类, 用S={S1, S2, …, Sn}表示解个体的结构, S为1×n维的行向量, 这里Si{1, 2, …, k}表示第i位的等位基因, 当Si=c时表示第i个样本属于第c个类;编码形成的个体长度为n, 个体上每个基因位的值是{1, 2, …, C}中的一个数值, 每个基因对应一个对象, 它的值表示该对象所属类的类编号, 因为对于所有i, 只有唯一的c, 使wic=1 (由式 (1) 可见) , 所以这个值也是唯一的。遗传快速FCM算法的种群由M (种群规模) 个编码后的个体所组成。

(2) 初始化

随机选择初始群p (0) , 将个体的每个基因随机确定一个值, 该值是从集合{1, 2, …, C}中随机选取的一个数, 即将每个对象随机赋给一个类。由此可能得到一些“非法串” (非法串表示个体中的某些类中没有包含任何对象) , 因为当类的个数越少时, TWVC的值就会越大, 所以出现空类不是所期望的, 应该避免非法串的出现。

(3) 适应度函数的确定

每个个体Sw的适应度值取决于该个体总的类内差异TWCV。因为实行聚类的目的是要使TWCV最小化, TWCV值较小的个体有较大的适应度值。关于适应度函数的定义有多种[5], 这里将适应度函数f (Sw) 定义如下

令f (SW) =TWCV (SW) (6)

g (SW) =F (SW) - (F¯-kσ) (7)

这里F¯和σ分别表示当前群所有个体的f (Sw) 的平均值和标准偏差;k表示在1到3之间的常量。于是个体串Sw的适应度值F (Sw) 为

F (Sw) ={g (SW) g (SW) 00

(8)

(4) 选择

个体是否被选择依据其适应度值的大小, 适应度小的个体被选择的概率也小, 并可能被淘汰, 而适应度大的个体被选择的概率也大。选择操作采用了 J.Holland教授提出的轮盘赌方式进行, 按照以下给定分布概率从先前的种群中随机选择个体, 重复进行了多次, 直到个体数目满足了预定的种群规模。

P (Si) =F (Si) j=1ΝF (Sj) (9)

F (Si) 表示在种群中Si的适应度值

(5) 变异

变异操作是根据每个对象与各聚类中心的距离对个体中相应基因位的值进行改变, 使种群朝着更优的方向进化。对于解空间中的个体, 每个基因位都对应于一个对象, 其值对应该对象所属类的类编号。如果一个对象离某个类中心的距离更近, 那么个体中对应此对象的基因位变异为这个类编号的概率就大。令Sw (i) 表示个体Sw对象xi所对应的基因位;dj=d (xi, vj) 为对象xi与类中心vj之间的Euclidean距离。每个基因位Sw (i) 在用户所定义的变异概率Pm的作用下 (0<Pm<1) 根据下式计算所得的概率使基因位的值发生变异

Pj=Pr{SW (i) =j}=kmdmax-dji=1Ckmdmax-di (10)

km是一个不小于1的常量;dj=max (dj) 是对象xi与各个类中心的最大距离。

(6) FCM操作

由于选择和变异操作是基于概率的, 因此选择与变异操作可能要以花费较多的时间为代价, 收敛到全局最优解。而且, 变异概率只能是一个较小的值, 因为变异概率Pm较大, 容易造成算法的振荡而退化为随机搜索。为了改善这种情况, 同时提高收敛速度, 引入了快速FCM算法中的一个操作步骤, 替换遗传算法中复杂的交叉操作, 最终得到TWVC最小的最优解。

2 实验与结论

为了测试本文算法的优越性, 实验选用Iris (尾属植物) 作为测试样本集。Iris数据集包含了150个样本, 分为三类不同的花: setosaversicolorvirginica;每类花包含50个样本。对于遗传FCM算法, 实验设初始群大小M=150, 变异概率Pm=0.01, 终止代数T=100, 聚类个数c=4, 进化代数T=100。将基于模糊C-均值与遗传FCM进行比较, 结果表1所示。

遗传算法和模糊C-均值各具特点, 本文提出的将两种算法结合在一起, 模糊C-均值操作提升了遗传FCM算法的收敛速度, 变异操作保证了算法的全局搜索特性, 使算法得到最优解。

参考文献

[1]Bezdek J C.Pattern Recognition with Fuzzy Objective Function Algo-rithms.New york:Plenum Press, 1981

[2]孙志胜, 曹爱增, 梁永涛.基于遗传算法的聚类分析及其应用.济南大学学报, 2004;18 (2) :127—129

[3]戴晓晖, 李敏强, 寇纪凇.基于遗传算法的动态聚类方法.系统工程理论与实践, 1999; (10) :108—110

[4]陈金, 书岗.遗传+模糊C-均值混合聚类算法.电子与信息学报, 24;210—215

[5]Goldberg D.Genetic Algorithm in Search, Optimization and Machine Learning Wesley, Readizlg, MA, 1989

[6]Goldberg D.Genetic Algorithm in Search.optimization and Machine Learning.Addision Wesley, Reading, MA, 1989

模糊算法 篇2

#include

#include

#define PMAX 100

#define PMIN -100

#define DMAX 100

#define DMIN -100

#define FMAX 100 /*语言值的`满幅值*/

int PFF[4]={0,12,24,48};

/*输入量D语言值特征点*/

int DFF[4]={0,16,32,64};

/*输出量U语言值特征点*/

int UFF[7]={0,15,30,45,60,75,90};

/*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/ /*a0=0.3,a1=0.55,a2=0.74,a3=0.89 */

int rule[7][7]={

//误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差

{-6,-6,-6,-5,-5,-5,-4,}, // -3

{-5,-4,-4,-3,-2,-2,-1,}, // -2

{-4,-3,-2,-1, 0, 1, 2,}, // -1

{-4,-3,-1, 0, 1, 3, 4,}, // 0

{-2,-1, 0, 1, 2, 3, 4,}, // 1

{ 1, 2, 2, 3, 4, 4, 5,}, // 2

{ 4, 5, 5, 5, 6, 6, 6}}; // 3

/**********************************************************/ int Fuzzy(int P,int D) /*模糊运算引擎*/

{

int U; /*偏差,偏差微分以及输出值的精确量*/

unsigned int PF[2],DF[2],UF[4]; /*偏差,偏差微分以及输出值的隶属度*/

int Pn,Dn,Un[4];

long temp1,temp2;

/*隶属度的确定*/

/*根据PD的指定语言值获得有效隶属度*/

if(P>-PFF[3] && P

{

if(P

{

Pn=-2;

PF[0]=FMAX*((float)(-PFF[2]-P)/(PFF[3]-PFF[2])); }

else if(P

{

Pn=-1;

PF[0]=FMAX*((float)(-PFF[1]-P)/(PFF[2]-PFF[1])); }

else if(P

{

Pn=0;

PF[0]=FMAX*((float)(-PFF[0]-P)/(PFF[1]-PFF[0])); }

else if(P

{

Pn=1; PF[0]=FMAX*((float)(PFF[1]-P)/(PFF[1]-PFF[0])); }

else if(P

{

Pn=2; PF[0]=FMAX*((float)(PFF[2]-P)/(PFF[2]-PFF[1])); }

else if(P

{

Pn=3; PF[0]=FMAX*((float)(PFF[3]-P)/(PFF[3]-PFF[2])); }

}

else if(P

{

Pn=-2; PF[0]=FMAX;

}

else if(P>=PFF[3])

{

Pn=3; PF[0]=0;

}

PF[1]=FMAX-PF[0];

if(D>-DFF[3] && D

{

if(D

{

Dn=-2;DF[0]=FMAX*((float)(-DFF[2]-D)/(DFF[3]-DFF[2])); }

else if(D

{

Dn=-1;

DF[0]=FMAX*((float)(-DFF[1]-D)/(DFF[2]-DFF[1])); }

else if(D

{

Dn=0;

DF[0]=FMAX*((float)(-DFF[0]-D)/(DFF[1]-DFF[0])); }

else if(D

{

Dn=1;

DF[0]=FMAX*((float)(DFF[1]-D)/(DFF[1]-DFF[0])); }

else if(D

{

Dn=2; DF[0]=FMAX*((float)(DFF[2]-D)/(DFF[2]-DFF[1])); }

else if(D

{

Dn=3; DF[0]=FMAX*((float)(DFF[3]-D)/(DFF[3]-DFF[2])); }

}

else if(D

{

Dn=-2;

DF[0]=FMAX;

}

else if(D>=DFF[3])

{

Dn=3;

DF[0]=0;

}

DF[1]=FMAX-DF[0];

/*使用误差范围优化后的规则表rule[7][7]*/

/*输出值使用13个隶属函数,中心值由UFF[7]指定*/ /*一般都是四个规则有效*/

Un[0]=rule[Pn-1+3][Dn-1+3];

Un[1]=rule[Pn+3][Dn-1+3];

Un[2]=rule[Pn-1+3][Dn+3];

Un[3]=rule[Pn+3][Dn+3];

if(PF[0]

UF[0]=PF[0];

else

UF[0]=DF[0];

if(PF[1]

UF[1]=PF[1];

else

UF[1]=DF[0];

if(PF[0]

UF[2]=PF[0];

else

UF[2]=DF[1];

if(PF[1]

UF[3]=PF[1];

else

UF[3]=DF[1];

/*同隶属函数输出语言值求大*/

if(Un[0]==Un[1])

{

if(UF[0]>UF[1])

UF[1]=0;

else

UF[0]=0;

}

if(Un[0]==Un[2])

{

if(UF[0]>UF[2])

UF[2]=0;

else

UF[0]=0;

}

if(Un[0]==Un[3])

{

if(UF[0]>UF[3])

UF[3]=0;

else

UF[0]=0;

}

if(Un[1]==Un[2])

{

if(UF[1]>UF[2])

UF[2]=0;

else

UF[1]=0;

}

if(Un[1]==Un[3])

{

if(UF[1]>UF[3])

UF[3]=0;

else

UF[1]=0;

}

if(Un[2]==Un[3])

{

if(UF[2]>UF[3])

UF[3]=0;

else

UF[2]=0;

}

/*重心法反模糊*/

/*Un[]原值为输出隶属函数标号,转换为隶属函数值*/ if(Un[0]>=0)

Un[0]=UFF[Un[0]];

else

Un[0]=-UFF[-Un[0]];

if(Un[1]>=0)

Un[1]=UFF[Un[1]];

else

Un[1]=-UFF[-Un[1]];

if(Un[2]>=0)

Un[2]=UFF[Un[2]];

else

Un[2]=-UFF[-Un[2]];

if(Un[3]>=0)

Un[3]=UFF[Un[3]];

else

Un[3]=-UFF[-Un[3]];

temp1=UF[0]*Un[0]+UF[1]*Un[1]+UF[2]*Un[2]+UF[3]*Un[3]; temp2=UF[0]+UF[1]+UF[2]+UF[3];

U=temp1/temp2;

return U;

}

void main

{

int a=0,e,ec;

/*int nowpoint,p1,p2=1;

FILE *in,*out;

in=fopen(

out=fopen(

while(1)

{

//fscanf(in,

//e=0-nowpoint;

//ec= p1-p2;

printf(

scanf(

printf(

scanf(

a=Fuzzy(e,ec);

//fprintf(out,

//printf(

printf(

//p2=p1;

}

//fclose(in);

//fclose(out);

图像处理中模糊算法问题的分析 篇3

关键词:图像处理;模糊算法;应用;问题分析

中图分类号:TP317.4文献标识码:A文章编号:1007-9599 (2012) 02-0000-01

The Analysis of Fuzzy Algorithm Problem in Image Processing

Shan Wei

(School of Computer,Soochow University,Suzhou215008,China)

Abstract:Image processing is a commonly used computer technology,fuzzy algorithm are used to help to improve the image processing effect.The traditional image processing has many malpractices,affect the user access to information and convenience.This paper analyzes the basic operation of image processing,and describes the fuzzy algorithm in image processing application,to further enhance the original image processing effects.

Keywords:Image processing;Fuzzy algorithm;Application;Problem analysis

随着计算机技术的推广应用,与其相关的操作技术也在变化发展。作为计算机应用技术的内容之一,图像处理能够为用户提供最直观的信息表达,形象地反应出需要呈现的信息内容。模糊算法运用于图像处理可建立数据模型,为用户的实际操作提供更多的方便。

一、图像处理中的模糊算法

近年来,计算机技术对各个行业经济发展起到了重要的推动作用,促进了计算机行业技术的改革发展。图像是一种直观性的信息表达,可以让用户捕捉到真实的数据信息,由此产生的操作处理技术称为“图像处理”。图像处理用计算机对图像进行分析,以达到所需结果的技术。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等,如图1。

图1 图像处理的内容

“模糊算法”是计算机操作运行的基本算法,其运用于图像处理可以为用户提供更多的方便,并且能把原始图像优化处理后呈现出具体的信息内容。通过对现实对象的分析,处理数据并构建模糊型数学模型。用隶属关系将数据元素集合灵活成模糊集合,确定隶属函数,进行模糊统计多依据经验和人的心理过程,它往往是通过心理测量来进行的,它研究的是事物本身的模糊性。模糊算法的推广为图像处理创造了有利的条件,满足了复杂图像处理的应用要求。

二、模糊算法应用的具体流程

盡管模糊算法具有相应的模糊特点,但其对于图像信息的处理可起到综合反应的作用,从多个角度把原始图像附带的信息资源表达出来。用户在操作时要设计一套完整的操作流程,弄清图像数字化、图像编码、图像增强、图像复原、图像分割等处理的主要任务。根据自身的工作经验,采用模糊算法的应用流程如下:

(一)图像录入。对将要处理的原始图像进行录入,把重要的信息集中存储起来,再利用计算机操作平台反映出图像的本质状态。如:接收某一图像之后,用户应从尺寸、像素、色彩等方面信息进行捕捉,找出模糊算法中需要用到的关键性数据,经过综合对比以掌握完整的图像录入流程。

(二)图像模型。数学模型是模糊算法执行操作的关键工具,操作时要结合数学模型表达的信息完成处理,这样才能确保处理结果的可靠性。模糊算法模型建立之前应对被处理对象深入分析,掌握数据元结构及函数关系,从不同的图像特征完成计算操作,以免模糊计算出现代码失误。

(三)图像处理。处理图像时应根据模糊算法提供的结果,尤其要参照具体的函数关系实施计算任务。结合图像隶属的函数关系,判断图像处理中相应算法的计算标准,筛选出重要的参数信息指导处理。如:图像编码、图像增强、图像复原等均要选用标准的代码,然后才能按照算法的要求进行处理。

三、结论

总之,图像已经成为计算机用户常用的信息表达方式,凭借图像的直观性特点及相关优势,图像处理操作将变得更加普遍。为了让图像处理操作更加便捷,把模糊算法运用于图像处理流程中是不可缺少的,用户可联用相关的操作软件共同完成处理任务。

参考文献:

[1]侯阿临,冯源,焦松林,郭云飞,王乐乐.基于游程编码的QR码图像识别[J].长春工业大学学报(自然科学版),2011,2

[2]凌建华.图像处理与主页设计软件标准化[J].中国标准化,1998,9

[3]曹其新,刘成良,殷跃红,付庄,永田雅辉.基于彩色图像处理的西红柿品质特征的提取研究[J].机器人,2001,S1

[4]胡隽,杨平,何辅云.一阶灰色系统模型在图像处理中的应用[J].上海电力学院学报,2004,1

[作者简介]单薇(1982-),女,江苏苏州,单位:苏州市轻工业学校,助讲,本科,研究方向:数字图像处理。

模糊算法 篇4

模糊K-Prototypes (FKP) 算法能够对包含数值属性和分类属性相混合的数据集进行有效聚类, 较好地处理大规模混合数据类型, 模糊技术体现聚类的边界特征, 使得更适合于含有噪声和缺失数据的数据库。

然而, FKP算法中仅仅考虑了分类属性对结果的不同影响, 隐含假定待分析样本中数值属性对分类的贡献是均匀的, 而在实际应用中, 由于构成样本特征矢量的各维特征来自不同的传感器, 存在量纲差异和精度的不同, 另外, 所选择的各维特征对分类的贡献程度也是有所不同的。

特征选择在数据挖掘、图象处理、数据压缩、模式识别等诸多方面有广泛的应用, 其基本任务是如何从许多特征中找出那些最有效的特征。ReliefF算法是公认的效果比较好的特征评估方法, 根据特征对近距离样本的区分能力来对特征进行评估, 最后给特征集中每一特征赋予一定的权重, 权重越大, 这个特征区分不同类的样本的重要性越强。

为了考虑特征矢量中各维特征对模式分类的不同贡献, 利用特征选择技术ReliefF对特征进行加权选择, 给予每个特征一个权重。在文章后面的实验部分, 通过实验结果可以看出该方法可以得到较为理想的聚类。

二、模糊K-Prototypes算法

K-Prototypes算法是由Huang提出的可以对分类属性和数值属性相混合的数据进行聚类的一种有效的算法。模糊K-Prototypes算法是对K-Prototypes算法的扩展, 对聚类中的对象分派隶属度, 通过交替更新聚类中心和划分矩阵使得目标函数值达到最小, 使得对于混合数据能够得到较好的聚类结果。

算法简单描述如下:假定数据库表是由m个属性A1, A2, ...Am描述的一组数据对象X={X1, X2, ...XN}, 其中Xi=[xi1, xi2, ..., xim]表示具有m个属性值的数据对象。设K是一个正整数, 对X聚类的目的就是要将N个对象划分到K个不同的类别中。一般使用以下代价函数最小作为聚类的准则:

其中, Z={Z1, Z2, ...ZK}, 元素Zk=[zk1, zk2, ...zkm]是能够代表聚类k的向量或称作聚类中心, ZkjDOM (Aj) , 1≤j≤m;W={wki}是K×N的划分矩阵, 每一个元素wki表示对象Xi划分到聚类k中的隶属度, 且满足

>1是模糊指数, d (Xi, Zk) 是差异测度, 假设数据对象Xi的m个属性中, [xi1, xi2, ..., xip]为数值属性, [xip, xip+1, ..., xim]为分类属性, 那么差异测度定义如下:

在第τ个属性上的取值, γτ是聚类的分类属性的权值。如果对所有聚类, γτ取同一值, 则用γ表示, 当γ=0时, 模糊K-Prototypes算法就是模糊K-means算法, 数据的分类属性不起作用, 聚类过程完全由它的数值属性决定。

划分矩阵的更新方法如下:

聚类中心的更新方法如下:对于数值型属性Aj (1≤j≤p) :

(Aj) , 且γ满足

其中nj表示分类属性Aj取值个数。

综上所述, 模糊K-Prototypes聚类算法步骤描述如下:

初始化聚类数K和聚类中心Z0, 并按公式 (7) 确定W0;

确定Zλ+1, 若│F (Wλ, Zλ+1) -F (Wλ, Zλ) │<ε, 算法停止, 返回Wλ, Zλ+1;

确定Wλ+1, 若│F (Wλ+1, Zλ+1) -F (Wλ, Zλ+1) │<ε, 算法停止, 返回Wλ+1, Zλ+1;

令λ=λ+1, 转至2。

三、Relief F算法

特征选择是从一系列相关或无关的特征中选择出相关性最强的若干特征来表征一个概念或事务的过程。选择不仅能减少特征提取阶段采集、变换等操作的计算压力, 还有利于降低噪声干扰、提高分类的准确性。

基本的Relief算法是由Kira和Rendell在1992年提出, 当时局限于解决两类的分类问题, 是一种权值搜索的特征子集选择方法, 它为每个特征赋予一个权值, 这个权值表征了特征与类别的相关性。其思想为好的特征应该使同类的样本接近, 而使不同类的样本之间远离, 通过不断调整权值逐步凸现特征的相关程度。Kononenko于1994年扩展了Relief算法, 提出了可以解决多类别情况、噪声数据和不完整数据的ReliefF算法。

设X={X1, X2, ..., Xn}是待分析的对象全体, 其中Xi={Xi1, Xi2, ..., Xim}表示第i个样本的m个属性值。ReliefF算法从所有的训练样本中随机选择S个样本, 对于其中任意一个样本Xi, 首先找出β个与Xi同类的最近邻的样本Hj (xi) , 然后在每一个与Xi不同类的子集中找出β个最近邻的样本Mj (C) , 计算样本在各个属性上的间隔, 并累加起来做为属性的权值。样本Xi更新属性p的权值可表示为:

对于离散属性, 函数定义为:

而对于连续属性:

其中, max (p) , min (p) 分别是该属性值的上下届。

当一个属性较容易区分类别时, 意味着同类样本间的距离较近, 而不同类样本间距离较远。因此, 如果属性与分类毫无关系, 那么其权值将趋于零或者很小的数。相反, 如果属性与类别存在很强的相关性, 那么其权值会较高。权值为负数表示同类近邻样本距离比非同类近邻样本距离还大。

函数diff同样用来寻找样本Xi的β个近邻样本。将所有属性的间隔累加起来, 从而得到任意两个样本的距离。

噪声会使特征数据发生微量的偏移, 干扰特征对类别的准确表示。当噪声影响多个属性时, 会严重干扰同类、非同类最近邻样本的判定, 从而对选择产生不利的后果。ReliefF算法中针对此问题, 选择使用β近邻样本而不是最近邻样本进行计算。通过β个样本的平均, 在一定程度上削弱了噪声对数据的影响。

ReliefF算法的步骤描述如下:

·初始化各个属性的权值:λτ0=0;

·随机选取样本Xi;

·找出与Xi最近邻的β个同类别的H (xi) ;

·对每个类c≠class (xi) , 找到与Xi最近邻的β个Mj (C) ;

·按 (6) 式更新每一个属性的权值;

四、改进的模糊K-Prototypes算法 (R-FKP算法)

原始的K-Prototypes算法, 利用权值来控制数值属性和分类型属性的比例, 但在数值属性中, 每一维数值特征对分类的贡献是均匀的。因此, 在K-Prototypes算法的基础上, 对每一维属性都进行加权, 这样, 聚类目标函数修正如下:

ReliefF算法是针对分类技术的, 在分类中, 每一个样本的类别标记是确定的, 而在聚类分析中, 每一个样本的类别标记是未知的, 这时, 我们可以先对待分析的样本集进行一次聚类。

在使用ReliefF算法时, 需要随机抽取一定数量的样本, 而在数据库中, 有时候不同类的样本数量相差悬殊。ReliefF的随机选择样本策略会使得小样本类别选中进行权值计算的概率较小, 甚至可能被忽略, 这样影响了对分离小样本有明显作用的属性。改进的方法是, 在抽取样本时按照第一次聚类得到的各类之间的数量比来从不同类中抽取。

利用ReliefF算法改进FKP算法的流程如下:

·执行FKP算法一次;

·按照各类的数量比, 抽取S个样本Xi (在同一类中选择隶属度较大的) , 分别找出与Xi同类以及不同类的最近邻的β个样本, 再按照前面所述ReliefF算法方法计算各个属性的权值;

·利用得到的权值对各维特征进行加权后, 再执行FKP算法, 就可以得到最后的聚类分析结果。

五、实验结果

本文将FKP算法和ReliefF改进后的算法进行了比较。实验数据Iris和Zoo都来自著名的UCI的机器学习数据库, 有关信息如表1所示。

(一) Iris样本

Iris样本是用来测试聚类或分类算法性能的一个著名基准函数数据集。在数据记录中, 每组数据包含Iris花的四种属性:萼片长度, 萼片宽度、花瓣长度和花瓣宽度。数据集包含三类:Setosa、Versicolor和Virginica, 每类各有50个样本。Hathaway在1995年给出了这组测试数据集的实际类中心位置分别为:Zl= (5.00, 3.42, 1.46, 0.24) , Z2= (5.93, 2.77, 4.

在实验中, FKP算法允许的最小误差为10-6, 模糊指数=1.1, 各算法的聚类中心数为其类别数, 训练样本数S=50, 近邻样本数β=7。将算法分别运行50次, 统计各项指标的平均值, E是分类错误的样本所占的比例, 实验结果如表2所示。

从表中数据可以看到, ReliefF改进的FKP算法, 错误率明显降低, 而且聚类中心更接近实际的类中心位置。其四个属性的平均权值为:[0.030797, 0.022 704, 0.11 518, 0.14981], 可以看出花瓣长度和花瓣宽度这两个属性的贡献比较大, 萼片宽度的贡献最小。

(二) Zoo样本

Zoo样本是动物园的实际数据集, 并且是混合数据集, 包含15个数值属性和1个分类型属性。样本最后被分成7个动物类别, 名称和包含的样本数为:哺乳类 (41) 、鸟类 (20) 、鱼类 (13) 、昆虫类 (8) 、软体类 (10) 、爬行类 (5) 和两栖类 (4) 。

在实验中, FKP算法允许的最小误差为模糊指数, 各算法的聚类中心数为其类别数。训练样本数S=50, 近邻样本数β=3。

表3为R-FKP算法得到的各个属性的权值, 权值越大, 对分类的贡献越大。可以看到, milk这个属性的权值最大, 它描述了动物是否哺乳, 而7个动物类别中哺乳类的数目最多, 正好与之对应。Venomous和domestic这两个属性的权值最小, 接近与0, 它们分别描述了动物是否有毒和是否家禽, 与分类的相关性比较小。predator这个属性的权值也较小, 它描述了是否是食肉动物。同时, 错分率E由原来的14.9%下降到5.94%。

六、结束语

本文在FKP算法的基础上, 将ReliefF算法与其相结合。实验表明, 该算法能够有效地提高聚类性能, 更便于分析各维属性对分类的贡献程度。

参考文献

[1]CHEN N, CHEN A, ZHOU L.Fuzzy K-prototypes algorithm for clustering mixed numeric and categorical valued data (in English) [J].软件学报, 2001.

[2]Kira K, Rendell L A.A practical approach to feature selection[A].In:Sleeman D, Edwards P, eds.Proceedings of the9th International Workshop on Machine Learning[C].San Francisco, CA:Morgan Kaufmann, 1992.

[3]Kononenko I.Estimating attributes:Analysis and extensions of Relief[A].In:De Raedt L, Bergadano F, eds·Proceedings of the7th European Conference on Machine Learning[C].Berlin:Springer, 1994.

模糊推理三I约束算法的一般表示 篇5

讨论模糊推理三I约束算法的表示问题.首先,改进FMP及FMT问题的三I约束原则,进而,为使更多的.蕴涵算子纳入统一的算法表示之下,基于较弱的条件建立三I约束算法的一般表示.如此,现有的三I约束算法的统一表示被推广到一种新的形式.

作 者:刘华文 王国俊 LIU Hua-wen WANG Guo-jun 作者单位:刘华文,LIU Hua-wen(山东大学,数学学院,山东,济南,250100)

王国俊,WANG Guo-jun(陕西师范大学,数学研究所,陕西,西安,710062)

模糊算法 篇6

关键词:多维数据库;模糊查询;Edit Distance算法

中图分类号:TP311.131文献标识码:A文章编号:1007-9599 (2010) 14-0000-02

The Fuzzy Query Algorithm Study on Multi-dimensional Analysis Application

Jing Rui

(Local Taxation Bureau of Jilin,Changchun130000,China)

Abstract:An improved Edit Distance algorithm has completed in C# in this paper,and embed into multidimensional reports application on SQLServer ReportingServices.Achieved the fuzzy query function for multidimensional database applications.Number of actual operation application shows that the combination of fuzzy query algorithm with multidimensional dabases is one of the effective ways to improves the practical and the user experience.

Keywords:Cube;fuzzy query;Edit Distance algorithm

在多维数据库中,维度是多维数据集的基本组件。多维数据集逻辑上就是维度成员在空间上构成的超立方体,数据的度量值就存储在这些维度成员的交叉点上。由于数据的度量值事先按着维度的交叉关系聚集,与传统的关系数据库系统相比,多维数据库在查询数度、并发响应能力方面有明显的优势,人们可以通过多维视图来观察、分析和展现数据。

在现有的多维数据库系统中,维度成员及其层次结构是建立在离散化的、完全划分的基础之上的,维度成员彼此分立,并且按着成员属性构建了结构稳定的层次结构。目前成熟的多维数据查询技术只能支持精确维度成员选择。而实际应用,经常会遇到模糊的、不完全的查询条件问题。例如,在基于多维数据库的税收分析系统中,由于业务的特殊性,“一户式分析”是系统被广泛使用功能。而纳税人的基本信息具有非常大的不规则性,并且数量巨大,通过“模糊查询”的方式筛选关注对象,成为基本的用户体验需求。针对这一实际问题,本文利用成熟的Edit Distance算法与ReportingService服务,提出一个多维数据模糊查询机制,并给出实现方法。

一、Edit Distance算法思想

字符串模糊搜索(fuzzy string searching)(通常也成为字符串近似匹配approximate string matching)是一种在一个字符串中查找近似的匹配模板的技术。

1965年俄国科学家Vladimir Levenshtein首先提出了一种算法用于计算计算从原串(s)转换到目标串(t)所需要的最少的插入,删除和替换的数目,这种数据被称为编辑距离(Edit Distance)也叫Levenshtein distance(LD)。基于Edit Distance开发的模糊搜索算法,在计算机技术领域得到广泛应用,除了直接用于数据库查询应用以外,还可应用于自然语言理解、拼写检查、欺诈检测,乃至核苷酸的序列匹配等。

算法的核心思想是利用从源字符串转换成目标字符串所必须的基本操作次数了测量使用字符串的接近程度。通常的基本操作为:

插入:tst→test

删除:test→tst

替换:tent→test

增加一个NULL(这里使用λ)字符后,这三种操作被转换成一种通用的替换模式:

插入:tsλt→test

删除:tλst→tst

替换:tent→test

从上面的介绍中我们可以看到,字符串模糊查找的问题可以转化成两个字符串编辑距离的计算。

两个字符串x和y之间的距离d(x,y)就是从x转换成y所进行的一系列操作的代价。这一系列操作的代价等于每个操作代价之和。所谓的操作是一个δ(z,w)=t变换的有限集,这里z,w是不同的字符串,t是一个正整数。一旦操作已经将一个字字符串z转换成w,就不需要在w上做其他操作。

对于上述的三种常用操作,操作集合可以限定为:

插入:δ(ε,a),即插入字符a

删除:δ(a,ε),即删除字符a

替换:δ(a,b),即对于a≠b,用b替换a。

为了简单起见,可以将每种操作所花费的操作代价定位1。那么,两个字符串之间的编辑距离就可以理解为:“使两个字符串相等所需要的插入、删除和替换操作的最小次数”。

二、算法描述

设:

n,m分别为字符串s和t的长度;

si(i )为字符串s中的第i个字符记;

ti(i )为字符串t中的第i个字符记;

d[n,m]为一个正整数二维矩阵。

则,计算s,t之间编辑距离的函数d(s,t)的算法如下:

Step 1:

如果n=0,返回m,并结束

如果m=0,返回n,并结束

构建n+1*m+1的二维矩阵d[n,m]

Step 2:

将d[n,m]的第一行分别赋值为0……n

将d[n,m]的第一列分别赋值为0……m

Step 3:

检测s中的每个字符(1≥i≤n)

Step 4:

检测t中的每个字符(1≥j≤m)

Step 5:

如果si=tj,则cost=0

如果si≠tj,则cost=1

Step 6:

将距离矩阵的d[I,j]单元格赋值为下面三个数值中的最小值:

(1)该单元格上方的单元格的数值加1:d[i-1,j]+1

(2)该单元格左边的单元格的数值加1:d[i,j-1]+1

(3)该单元格左上方的单元格的数值加cost:d[i-1,j-1]+cost

Step 7:

完成3,4,5,6步骤后,返回d[n,m],得到d(s,t)距离值。

三、算法实现及其改进

在实际应用场合,除了插入、删除和替换三种基本操作以外,相邻字符的交换也是经常遇到的一种基本操作。如下例所示:

交换:tsett→test。

下面是采用C#重写的,改进的Levenshtein distance算法:

public static int LevenshteinDistance(string src,string dest)

{

int[,]d=newint[src.Length+1,dest.Length+1];

inti,j,cost;

char[]str1=src.ToCharArray();

char[]str2=dest.ToCharArray();

for(i=0;i<=str1.Length;i++){d[i,0]=i;}

for(j=0;j<=str2.Length;j++){d[0,j]=j;}

for(i=1;i<=str1.Length;i++){

for(j=1;j<=str2.Length;j++){

if(str1[i-1]==str2[j-1])

cost=0;

else

cost=1;

d[i,j]=

Math.Min(

d[i-1,j]+1,//Deletion

Math.Min(

d[i,j-1]+1,//Insertion

d[i-1,j-1]+cost));//Substitution

if((i>1)&&(j>1)&&(str1[i-1]==str2[j-2])&&(str1[i-2]==str2[j-1]))

{d[i,j]=Math.Min(d[i,j],d[i-2,j-2]+cost);}

}

}

return d[str1.Length,str2.Length];

}

四、ReportingService报表参数的模糊查询

SQL Server 2005/2008的Reporting Services是一个基于服务器的报表平台,可以从关系数据源、多维数据源和基于XML的数据源检索数据、发布可通过多种格式查看的报表。由于报表服务没有内置的模糊条件查询控件,所以在开发报表门户应用时,实现多维数据集的模糊条件查询,成为实现的难点。

笔者在开发税收分析系统多维报表展现平台过程中,利用Reporting Services自行开发了支持模糊查询功能的报表展示门户,成功地利用Levenshtein Distance算法实现了维度成员的模糊查询功能,满足用户对模糊查询的需求,改善了系统的整体客户体检。

关键的实现环节报告如下:

(1)根据报表参数中已有的参数值,获取报表参数区中特定维度的维度成员

private ReportParameter GetParameters()

{

ReportParameter[]rpOUT;

RSPS=new List();

parameterLength=ParameterCollection.Length;

ParameterValue[]pavsIN=new ParameterValue[parameterLength];

int i=0;

foreach(RSParameter rspa in ParameterCollection)

{

pavsIN[i].Label=rspa.ParameterTitle;

pavsIN[i].Name=rspa.ParameterName;

pavsIN[i].Value=rspa.parameterValue;

}

rpOUT=rs2006.GetReportParameters(rsReporURL,null,pavsIN,null);

return(rpOUT);

}

(2)Levenshtein Distance算法对参数区中的维度成员进行模糊过滤

public ListFuzzySearch(string word,ListwordList,double fuzzyness)

{

ListfoundWords=new List();

foreach(string s in wordList)

{

int levenshteinDistance=LevenshteinDistance(word,s);

int length=Math.Max(word.Length,s.Length);

double score=1.0-(double)levenshteinDistance/length;

if(score>fuzzyness)

foundWords.Add(s);

}

return foundWords;

}

将FuzzySearch返回的成员集合转换成报表参数对应的维度成员集后,回传作为报表参数,即完成了多维数据的模糊查询。

五、结论

本文介绍的思路和具体实现方法已在多个系统中的实际运用,使用结果证明Levenshtein distance算法简洁有效,与多维数据库应用结合,极大提高了系统的是实用性,改进了用户体验。

模糊查询算法在多维数据分析中的应用场合还会有许多,如:通过多维数据前端工具,将模糊查询算法与MDX结合,动态生成支持模糊查询的MDX脚本;开发支持模糊查询的报表参数控件,以便最终用户无需变成直接实现多维报表参数的模糊查询等等。

参考文献:

[1]B.J.Oommen and R.K.S.Loke,Pattern recognition of strings with substitutions,insertions,deletions and generalized transpositions

[2]Roy Lowrance,Robert A.Wagner.An Extension of the String-to-String Correction Problem,JACM,1975

[3]Gonzalo Navarro.A guided tour to approximate string matching.ACM Computing Surveys(CSUR)archive,2001,33,1:31-88

[4]刘青宝,金燕.模糊维结构及模糊多维数据模型.FUZZY SYSTEMS AND MATHEMATICS,2008,22,1

运动模糊图像复原算法研究 篇7

关键词:运动模糊,图像滤波,图像复原

0 引言

随着多媒体技术的迅猛发展,图像与我们的生活的联系越来越紧密。在日常生活中,照相机已经成为我们生活中的一部分。但是由于图像的质量会受到大气中噪声的影响,以及在拍摄过程中,相机的抖动、焦距失焦以及拍摄对象的运动等均可能造成图像质量的下降,而在一些重要的应用中,对图像质量的要求又很高,图像复原技术便应运而生。

1 维纳滤波图像复原

1.1 维纳滤波原理

维纳滤波[1](wiener)综合了退化函数和噪声统计特征两个方面进行复原处理。方法是寻找一个滤波器,使得复原后的图像f(x,y)与原始图像f(x,y)的均方误差最小即:

其中E[·]是数学期望算子。这里假定:噪声和图像不相关,其中一个有零均值,估计的灰度级是退化图像灰度级的线性函数。在这些条件下,上式中误差函数的最小值在频域中用下式计算:

这里,应用了这样一个事实:一个复数量与它的共轭的乘积等于复数量幅度的平方。这个结果就是维纳滤波,由括号里边的项组成的滤波器通常叫做最小均方误差滤波器。上式中各项说明如下。

H(u,υ):退化函数

G(u,υ):退化函数的傅里叶变换

H*(u,υ):H(u,υ)的复共轭

Sη(u,υ)=|N(u,υ)|2:噪声的功率谱

Sf(u,υ)=|F(u,υ)|2:原始图像的功率谱

1.2 维纳滤波优缺点

维纳滤波器的优点是适应面较广,无论平稳随机过程是连续的还是离散的,是标量的还是向量的,都可应用。对某些问题,还可求出滤波器传递函数的显式解,并进而采用由简单的物理元件组成的网络构成维纳滤波器。维纳滤波器的缺点是,要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。

1.3 维纳滤波实验结果

将一幅清晰图像与点扩散函数进行卷积,可以得到人工模糊的图像。在恢复人工模糊图像的时候,可以得到相对较好的恢复结果。为了验证Wiener滤波图像复原结果,分别对其加载(40,30)的运动模糊。

虽然Wiener滤波能在一定程度上复原得到原始的清晰图像,但也存在着缺点。因为维纳滤波采用均方误差准则复原图像,而均方误差准则对所有误差,不管其在图像中的位置如何,都会赋以同样的权值。但是人眼对高梯度区域和暗处的误差比其他区域的误差具有较大的容忍性。由于使MSE最小化,Wiener滤波器以一种并非最适合人眼的方式对图像进行了平滑。

2 Lucy—Richardson滤波复原法

2.1 Lucy—Richardson滤波复原原理

Lucy-Richardson算法[2]是目前应用最广泛的图像复原技术之一,它是一种迭代的方法。利用加速收敛的Lucy-Richardson算法对图像进行恢复,算法能够按照泊松噪声统计标准求出与给定PSF卷积后最有可能成为输入模糊图像的图像。当PSF己知而图像噪声信息未知时,也可以采用此算法进行有效的恢复。本方法由于迭代产生的噪声放大,是这类最大可能性数据逼近法的常见问题。在低信噪比条件下,恢复图像可能会出现一些斑点,这些斑点不代表图像上的真实信息,而是恢复图像过于逼近噪声所产生的结果。所以适当地选择迭代次数对图像的恢复很重要。

Lucy-Richardson算法也称为L-R算法,它是从最大似然公式中引出来的,在这种方法中,图像是用泊松统计加以模型化的。Lucy-Richardson算法的原理可用下面的公式3来表示

公式(3)是一次迭代的过程,其中∩f(m,n)是迭代的上一次结果,当第一次迭代的时候,这个值可以取初始输入的模糊图像g(m,n),h(-m,-n)可以用h(HX-m,HY-n)来表示,其中HX和HY分别表示系统函数的高度和宽度,公式中的所有乘均为矩阵点乘,卷积为二维的卷积,卷积尺寸控制为图像的尺寸。如果将上面的结果迭代多次,那么我们最终可以选择较好的结果图像作为最终的输出图像。

2.2 Lucy—Richardson滤波复原实验结果

3 图像评价

通过MAE,MSE,NMSE,SNR,PSNR等参数对原始图像和复原图像进行比较,对复原图像做出客观评价。

由表1知,在无噪声条件下维纳滤波复原的效果比Lucy-Richardson复原效果更好一些。

4 结论

文章从理论对运动模糊图像的恢复工作进行了较为深入的研究和讨论。通过两种算法实现了运动模糊图像的复原算法。算法设计简单,实用性好,广泛应用于工业控制、道路监控、军事、医学以及刑侦等领域。

参考文献

[1]吴淑艳.运动模糊图像复原算法研究[D].上海:上海师范大学,2009.

车载图像去模糊算法研究 篇8

车载图像在采集、传输、格式转化以及后期处理等各个环节, 均可能造成图像模糊, 严重影响图像质量。

1.1 系统因素

系统因素主要是指造成图像模糊的各种设备元件, 如图像采集设备、传输电缆、光学镜头、数据信号转换器等, 这些设备元件是造成图像信号损失、图像模糊不清的重要因素, 具体表现为:光学镜头的分辨率不高、镜头焦距未调整适当, 影响图像或视频的采集质量;感光元件的灵敏度偏低、精确性偏差, 降低了图像采集和信号转换质量;图像信号在转换、压缩及编码过程中易出现细节信息丢失问题, 降低了图像清晰度。

1.2 环境因素

环境也是影响图像质量的重要因素, 属于不可控因素, 具体表现为:大雾、大风、下雪、高温、潮湿等不良天气条件严重干扰电磁信号, 在图像采集和处理中引入噪音信号, 导致车载图像清晰度降低;获取遥感图像时, 地球自转与公转、地球弧度、大气湍流、太阳辐射、轨道卫星运行等因素, 均有可能对镜头光线造成干扰, 致使图像失真, 造成图像视觉效果偏差。

1.3 人为因素

不适当的操作也对会图像清晰度造成影响。人为因素属于可控因素, 主要表现为:在图像采集过程中, 出现相机抖动不稳的情况;图像在变换和运算过程中, 采用精度差、不合理的算法, 致使图像处理误差较大, 造成图像数据丢失, 影响图像视觉效果。

2 车载图像去模糊技术方法分类

2.1 软、硬件去模糊技术

(1) 软件去模糊。所谓的软件去模糊实质上就是不借助相关的硬件设备, 只依靠算法去除图像中的模糊部分, 使其呈现出更加清晰的影像[1]。该技术不需要硬件设备辅助, 成本较低, 只要确保算法设计合理, 便可在较短的时间内完成去模糊工作, 成本低和速度快是这种方法最为显著的特点之一。

(2) 硬件去模糊。这种去模糊方法需建立在算法设计的基础之上, 以某一种或几种硬件设备对预先设计好的算法进行辅助, 进而完成图像去模糊[2]。在该方法中, 辅助类硬件设备的作用是估计模糊核, 由此能够大幅度减少软件计算模糊核时所需的时间。

2.2 局部与全局去模糊技术

在对图像进行去模糊时, 通常会存在去模糊区域不同的情况, 此时, 便需要针对实际区域完成模糊图像的处理, 换言之, 局部与全局去模糊技术主要针对图像区域。

(1) 局部去模糊。大量的实验结果表明, 车载图像产生局部模糊的原因为运动, 即图像当中的对象发生运动而引起局部位置的图像不清晰。需要说明的是, 这里所指的运动是相对于车载相机而言的, 并不是图像本身出现了运动。在对图像进行局部去模糊过程中, 需考虑诸多因素, 这是因为对象的运动状态未知导致局部区域与其它区域的模糊核不同, 因此, 需要对多个模糊核进行估算, 从而导致计算过程复杂, 去模糊难度加大。

(2) 全局去模糊。图像整体模糊一般是因为车辆在运行过程中引起车载相机抖动而造成的。该方法在实际应用中, 都是假设引起图像模糊的模糊核只有一个, 即唯一的模糊核, 然后通过对该模糊核进行估计来实现图像整体去模糊。

2.3 单幅与多幅去模糊

(1) 单幅去模糊。在给定一幅模糊图像之后, 不附带任何其它信息, 完全以图像为基础进行去模糊。在所有去模糊场景中, 单幅图像去模糊是最常见的一种形式。

(2) 多幅去模糊。在对图像去模糊的过程中, 另外加入一些相关信息, 如带有噪声的图像或是比较清晰的图像等等。在多幅去模糊图像满足一定的特征要求时, 其去模糊效果要优于单幅去模糊。

3 车载图像去模糊算法

本研究以无任何硬件辅助估计模糊核为前提, 将其转化为图像盲去模糊的问题进行研究[3]。要解决该问题, 必须经过估计模糊核、利用估计结果去除图像模糊两个阶段。本文选取基于标准化稀疏度量核估计的车载图像盲去模糊算法, 该方法可以解决车载图像失真、清晰度差、视觉效果不佳等问题, 同时通过改进部分晕影效应不断提高图像去模糊质量。同时, 这种车载图像盲去模糊算法还能够克服MAPK核估计盲去模糊算法存在的实用性不高、计算过程复杂等弊端, 与其它类型的盲去模糊算法相比, 能够利用更为简单的算法模型降低计算复杂程度, 提高去模糊算法的速度, 是一种实用性较强的盲去模糊算法。

3.1 算法模型

实际研究中可以假设带有噪声的模糊图像为g, 水平与垂直方向上的一阶求导滤波器为∇x=[1, -1]和∇y=[1, -1]T, 求导之后获得的集成梯度图像为y=[∇x (g) , ∇y (g) ], 它所反映的是图像的高频信息。基于这一前提, 可对核估计模型进行如下定义:

式 (1) 中, k代表模糊核, 其满足k≥0, ;x代表高频空间的隐含图像。为了进一步简化式 (1) 的求解过程, 可将其拆分, 使之转变成为对x和y的求解问题, 具体求解时, 可通过固定k对x进行求解, 然后再固定x对k进行求解, 利用这种交替方式, 获得较为满意的结果。为了获得更为精确的结果, 也可以采用金字塔迭代的方式进行求解, 即由顶层开始, 逐层求解, 并将上一层获得的结果向下层传递, 以此类推直至完成最后一层为止。这个求解过程实质上就是将结果不断精细化的过程, 也是金字塔迭代的主要特点, 以此为基础求出的估计值k能够最大限度地接近真实的模糊核。

3.2 模糊核估计

模糊核估计算法与传统的经典估计算法基本相同, 具体分为以下两个步骤:即x问题求解和k问题求解。

(1) x求解。由上文分析可知, 在对x问题进行求解时, 可以对模糊核k固定, 在这一基础上, 可利用下式对x问题进行求解:

式 (2) 中, 的存在使得求解过程较为困难, 究其原因是该目标函数属于非凸函数。鉴于此, 可将求解过程分成两个步骤: (1) 先将x2固定, 进而将目标函数简化为:mxinλxk-y22+x1; (2) 在内部迭代的基础上, 通过收缩阈值算法进行求解, 同时在外部循环中对x2进行更新。

(2) k求解。在对k问题进行求解时, 可以采取固定x的方法, 并以下式对k进行求解:

该算法采用IRIS进行求解, 由于求得的k可能会出现负值, 为了简化计算过程, 可将负值设定为零, 然后重新归一化, 以此满足k≥0, 的限制。在实际应用中发现, IRLS算法的计算速度较慢, 为了进一步提高计算速度, 可在迭代过程中使用前一次获得的权重。

3.3 算法流程

车载图像盲去模糊算法采用金字塔迭代方式, 逐步由粗略过渡到精确[4], 具体算法流程如下:

(1) 数据输入阶段。对受噪音干扰的模糊图像g进行一阶求导, 获取梯度图像y, 用h表示模糊核最大取值。

估计模糊核k:

for i=1to L (L为图像金字塔层数)

利用算法求解y=xk中x子问题;

利用IRLS算法公式求解k子问题;

将本层求得的模糊层k加入到下一层迭代过程中;

end

(2) 非盲图像去模糊。利用上述步骤获取的模糊核k, 对图像g进行去模糊, 以解决非盲车载图像去模糊问题。

(3) 数据输出阶段。输出去模糊后的清晰图像u。

3.4 算法优化

为了进一步提升盲去模糊后的图像质量, 在结合前人研究成果的基础上对算法进行了优化改进, 借助标准化稀疏度量估计算法对模糊核进行估计, 并在获得模糊核后, 以车载图像快速非盲去模糊算法完成图像去模糊[5]。下面通过实验对本文提出的去模糊算法进行验证。

(1) 实验步骤。为使实验数据简化, 在实验过程中, 仅用1个模糊核对算法进行验证, 具体步骤如下: (1) 将预先选定好的实验图像通过模糊核[1]进行卷积, 同时加入一定的随机噪声, 以此来使实验环境中的原始图像模糊化; (2) 利用模糊核估计算法估计出模糊核, 并与真实的模糊核进行比较; (3) 以估计的模糊核恢复实验图像, 并通过SNR (信噪比) 对各算法进行评价。

(2) 结果分析。通过分析实验效果可以看出:就尺度较大的车载图像而言, 能够准确地估计模糊核, 盲去模糊算法可以达到去模糊的效果, 同时不会产生晕影效应。就尺寸较小的车载图像而言, 降低了估计模糊核的准确性, 并且会产生严重的晕影效应。在出现晕影效应的车载图像中, 路标晕影最为严重, 车载图像中路标所占比例越小, 产生的晕影效应越明显。

结论:准确估计模糊核是提高图像去模糊效果的关键, 当模糊核估计准确度较高时, 图像会产生较少的晕影效应;当模糊核估计准确度较低时, 会产生严重的晕影效应, 其晕影效应程度受非盲去卷积算法的影响;当图像边缘较强的对象小于模糊核时, 其成为影响模糊核估计准确性的主要因素, 不利于提高车载图像去模糊质量[6]。本文提出的优化去盲模糊算法能够有效解决上述问题, 提高模糊核估计的准确性, 通过减少晕影效应达到提升图像质量的目的。

4 结语

本文选取基于标准化稀疏度量核估计的车载图像盲去模糊算法, 在现有算法的基础上进行了优化改进。实验证明, 本文提出的优化算法能够解决车载图像失真、清晰度差、视觉效果不佳等问题, 提高了图像去模糊质量。

参考文献

[1]刘瑞华.基于两幅模糊与噪声图像的图像交替修复算法[J].中国图像图形学报, 2009 (12) .

[2]杨雄文.基于超拉普拉斯先验的图像去模糊的研究与实现[D].广州:华南理工大学, 2012.

[3]刘君.图像去模糊中基于变分的偏微分方程模型的改进及应用[D].北京:北京师范大学, 2008.

[4]宋晓霞.基于噪声特点和凸松弛技术的图像去模糊方法[J].中国体视学与图像分析, 2011 (6) .

[5]郭玲玲.基于受限全变差正则化的遥感图像去模糊方法[J].激光与光电子学进展, 2013 (11) .

多目标模糊决策算法与应用 篇9

随着科技的发展,模糊理论己经渗入到了生产、工程和军事等各个领域中。如在军事研究中,由于作战具有多目标、多批次、多方向、空海潜立体战等攻击形式的特点,这就要求决策系统发挥更加重要的作用:参战舰艇能尽早发现敌方目标;对来自各传感器的目标信息,能快速进行识别、分类和决策,并迅速、准确地确定作战决策方案,以控制各种武器打击目标。而在实际应用中很难将多个决策者之间的偏好结构反映到多目标决策模型中,这就需要找到一种多目标模糊决策支持算法,以处理多种信息的决策情况。

2 最小(大)隶属度偏差法

最小(大)隶属度偏差法是基于正(负)理想解的方法来求解,这里考虑的是,越接近(远离)正(负)理想解越好。记正理想解为x+,负理想解为x-。下面讨论正理想解情况,负理想解类似分析。

正理想解x+就是使所有输入分量fi(x)的模糊最优点集fi的优属度μi(x)都取得最大值时的解。记正理想解x+处的优属度向量为

给出点x∈X与正理想解x+的Minkowski距离,即使得:

达到最小值。

3 多目标模糊决策

若输入空间X由无限个输入变量组成时,可利用模糊多目标决策的模糊最优解方法与最优化算法结合起来进行求解,可以有效地解决优化设计等问题。

输入类型一般有效益型和成本型两种,其中,效益型输入是指优属度越大越好,而成本型输入是指优属度越小越好。Zadeh教授给出了两种输入的优属度计算方法。对效益型输入fi(x)选取其优属度为

而成本型输入fi(x)选取其优属度为

其中,Pi是事先指定的参数。

在确定方案xi(i=1,2,…,n)关于目标fi(x)的优属度时,可用目标fi(x)在X上的相对最大值与相对最小值分别代替其上确界与下确界,从而确定xi关于fi(x)的相对优属度。因此,可以将式(3)和式(4)转换为

4 应用实例

假设在陆战中,我方部队发现了3个敌人目标(目标1、目标2和目标3)并获得敌人目标一些数据,现需要根据所获取的情报信息做出选择,以确定打击敌人目标的先后顺序。

得到目标的数据有:f1—目标距离、f2—目标速度、f3—目标类型威胁度和f4—兵力战场生存能力。各个目标的目标值由F给定,如表1所示。

为了求解出打击目标的数据,先将目标值F转化为相对优属度矩阵。对于f1,属于成本型目标,用式(6)求解;对于f3,属于效益型目标,用式(5)求解;对于f2是固定型目标,当达到f2=1.3时最佳,可采用

来求解;对于f4是模糊语言,这里取模糊判断“好”、“中等”与“差”分别为1.0、0.75和0.5。令Pi=1于是,可计算出目标相对优属度矩阵为

由式(1)可得正理想方案x+的相对优属度向量为

假设经过军事专家与指挥员的评判确定,目标fi(i=1,2,…,4)的权重向量为

利用式(2)与式(7)可计算出目标1、目标2和目标3的距离分别为0.086、0.368和0.4536。

因而,决策中最需要打击的目标是x3,即3号目标,其打击顺序为x3、x2、x1。

5 结束语

本文将最小(大)隶属度偏差法和多目标模糊决策算法相结合,对于多目标模糊问题,转换为数学规划优化问题(在一定条件下),将具体目标具体分析,使模糊问题具体化,进而多目标模糊模型的求解得到了比较彻底地解决,使选择结果更加科学合理。

参考文献

[1]徐泽水.基于期望值的模糊多属性决策法及其应用[J].系统工程理论与实践,2004(1):109-114.

[2]王坚强.多目标组合决策方法研究[J].系统工程与电子技术,2002(10):70-72.

模糊动态AHP导弹识别算法 篇10

弹道导弹为有效地突破反导防区天基、地基的各种光电设备的探测跟踪,采用了大量现代技术,使之具有多种突防与反识别措施。其飞行中段至再入段初期因飞行时间较长,便于进行跟踪和识别被认为是导弹防御的关键阶段,而中段的威胁目标群中,弹头与伴飞物的飞行速度和弹道轨迹大体相同,不利于速度和轨道参数识别,再加之各种电磁干扰与诱饵,因此单一的陆基雷达探测系统难以进行有效识别,已不能完全满足反导的需求,而天基红外预警卫星系统[1]是除雷达之外对弹道导弹进行监视与识别的另一种重要手段,其各类红外探测器能够获得识别真假弹头的多种特性,因而在弹道导弹目标识别中扮演着重要角色。

在一般情况下,弹道导弹的真弹头约占到有效载荷与容积的80%以上,弹头与诱饵及假目标在质量与形体上存在着较大差异,而不同目标的红外辐射特性又因其质量、形体的差异表现出不同变化规律。因此,导弹预警卫星系统的目标识别,主要是通过其所携带各类红外探测器从背景环境中区分出真假弹头的红外辐射特性差异。通过对各种情报及装备技术资料进行整理分析,本文认为,其中温度变化率、热容差异、辐射强度、灰度特性、运动特性是识别判断的关键因素,它们集中反映了弹头的物理和动力学特性。目前,国外研究弹道导弹在飞行中段及再入段的预警卫星目标识别的相关文章还少有报道,国内研究尚处起步阶段。文献[2]、[3]对预警卫星导弹粗识别与目标综合识别模型做了些有益的研究,但从公布的文献资料来看,预警卫星目标识别主要集中在早期预警(粗识别)和单一的红外识别技术及识别流程上,相关的信息融合算法研究还比较少。对此,本文提出一种信息融合下的多属性决策模型,对上述几种弹头的主要红外属性特征进行分析并作为目标识别特征量,完成了属性权重的动态构建,最后给出了仿真计算与结果分析。

1 弹道导弹目标红外识别原理分析

从中段到再入段初期,弹道导弹会产生如下动作:助推火箭关机,弹体分离,产生诱饵弹及气球、碎片等伴飞物质,再入大气层。这一阶段中,如何对目标群中的真假弹头识别成为预警卫星系统目标识别的重要任务。通过对这一时间段的目标群研究分析,发现以下几种目标红外特性及探测手段可利用目标的质量与形体间的关联来有效识别真假弹头。1)温度变化率。目标的温度变化与其质量存在着一定关系:由于弹头的质量最大,因此在同样外部环境下,弹头的温度变化要比诱饵慢得多[4,5,6],所辐射出的红外信号也比诱饵要强。因此,可采用双色长波红外阵列组成一个辐射比温度计,通过在两个红外谱段测量目标的辐射功率之比值,来消除因目标的表面物理特性不同而带来的发射率的影响,以确定出目标群中各个物体的相对温度高低,记录其变化过程,并进而推导出各个物体的相对质量大小。2)热容差异。当目标群进入中段飞行后暴露于温度极低的外太空环境中以及再入段初期进入大气层,这两个时间段目标温度随时间的变化规律反映了其热量吸收率av与放射率εIR的信息,其中重目标的热量吸收率av与放射率εIR的比值av/εIR,即热容量,比轻目标的变化快[6,7]。因此,通过短波和中波红外探测器测量目标的av/εIR可以有效地识别目标。3)辐射强度。目标表面被认为是具有一定发射率的灰体,其辐射强度由表面温度和发射率决定,而发射率是由目标的材质、质量、表面涂层材料、壳体厚度等因素构成。进入大气层前,目标群温度基本处于平衡状态,而一旦进入大气层后,气动加热将使表面温度迅速升高,一些轻诱饵都将被燃烧掉,剩下的主要是弹头和重型诱饵。它们的速度在100 km以上的高度上几乎无差异,但它们的辐射强度则随着高度的降低出现明显区别[4,5,8]。其中辐射强度变化率单调增加无明显波动,且辐射强度最大者即为弹头。4)灰度特性。目前,随着在低轨天基红外系统(SBIRS-Low)中大规模像元的焦平面阵凝视红外成像器[9]硬件和超高速图像信息处理软件技术等的应用,使红外成像技术对真假弹头的识别更加有效。红外成像可以对飞行中众多目标的红外图像进行分析判断[10],以达到利用目标的灰度特性来识别弹头的目的。例如同样环境下,真弹头温度变换比假目标与诱饵慢,其红外成像灰度上,弹头灰度变化就较为平缓。5)红外识别运动特性。可以通过一系列红外图像检测目标的运动特性。诱饵及假弹头、弹体碎块等在分离抛射过程中由动量守恒而产生的分离前后相对速度的变化。以及再入段初期,受空气阻力和各自质量与形体的影响,再入减速特征差异明显[4,11],而弹头则因形状规则重心稳定,其运动相对平稳且速度最快,根据目标红外运动图像序列,可以识别出真假弹头。

综上所述,以上五种红外特性均能从不同侧面反映出目标间的质量形体差异,但各有其局限性:一是判定时只考虑一个因素或部分因素,其可靠性与准确性不佳;二是各因素在不同时间段,表现效果会有较大变化。而将此五项因素构成决策的综合属性集,可以较全面、准确的反映各目标的红外威胁程度。因此,结合目前相应红外传感器的可靠性与精确性,本文主要综合利用这五个红外特性作为目标识别的依据。

2 模糊动态AHP目标识别模型的建立

目标识别是一个推断和决策的行为,从上节分析可知,如果将每个目标看作一个方案,将各种红外特性分别看作各方案的属性,决策准则是目标红外威胁程度,则多目标识别就成为一个多属性决策的排序问题,实时甄选出威胁值最大的目标,即质量形体威胁最大的目标作为主要威胁目标,即达到目标识别目的。

2.1 总体模型

在此,根据由目标的质量及形体特征引起的红外特性变化规律,将目标群中具有较大质量与形体,可构成“可视的红外目标”的物质分为五类,由此设立方案集(即目标集)A={A1,A2,A3,A4,A5}={真弹头、气球、加热角锥体、重型假目标、弹体碎块},属性集G={G1,G2,G3,G4,G5}={温度变化率、热容差异、辐射强度、灰度特性、运动特性}。基于模糊动态AHP算法的识别排序模型如下图1所示。

由于在本属性集属性中既有定量描述又有定性描述,而且相互之间关系复杂,具有一定的模糊性。而层次分析法AHP是一种新的应用较为广泛的建模方法,利用层次分析数学可把半定性、半定量的问题转化为定量计算,但传统算法中简单利用成对比较法构造判断矩阵比较粗糙,主观随意性大,所以,本文结合模糊动态评判来构造判断矩阵和决策模型可以提高评估精度,增强决策的科学性。

2.2 应用比较法和模糊动态评判法构造属性重要性矩阵

AHP的主要步骤:1)建立层次结构;2)构造判断矩阵并进行一致性检验;3)求解权重向量,综合排序。而在第2步中传统的判断矩阵构造中的两两属性比较法,由于简单采用1—9标度法,构造矩阵比较粗糙,甚至会出现逻辑上不合理的情况,一致性比较差,而且不能求解重要性随时间变化的因素的权值。因此,本文引入模糊动态评判法来构造判断矩阵,具体步骤为:

1)构建两个属性对于目标的相对重要性矩阵。采用专家打分对比法,根据各自的相对重要性给予评分,采用1—9标度法[12],如有属性G1、G2,专家P的打分分别为n1、n2,则G1关于目标的相对重要性指标为ap=n1/n2,而G2关于目标的相对重要性指标为bp=n2/n1。用此方法可以得到任意两个属性关于目标的相对重要性指标,构造出判断矩阵。通常,给出的判断矩阵很难满足完全一致性[13],文献[12]指出当n阶判断矩阵的最大本征值λmax小于相应的临界本征值λ′max时,即认为判断矩阵A具有满意一致性。

2)建立动态因素[13]。如第i个因素相对于第j个因素比较,则可表示为aij Tm=(lij Tm,xij Tm,uij Tm),其中xij Tm为相对重要度即中心值,Tm为时间,lij Tm和uij Tm分别为aij Tm的左右范围。当uij Tm—lij Tm的值越大,判断越模糊;反之,越清楚。设A(Tm)=(a ij Tm)n×n×Tm是模糊判断矩阵,满足:

3)计算判断矩阵权值向量。首先确定时间Tm,采取文献[13]中的方法对判断矩阵(仅针对中心值,而非左右范围)进行微调,使之达到一致性要求。如调整后的一致性判断矩阵为A(Tm)=(a ij Tm)n×n×Tm(Tm已确定),则经过一系列推导,可以得出如下计算公式:

首先,第i个因素满足n个目标的综合程度值(ei)[13]的计算公式为

其次,第i个因素未归一化权重(ωi)[13]如下所示:

式中:α∈[0,1]为决策者的优化度。当α=1时,表示一个决策者的乐观观点;当α=0时,表示决策者的悲观观点;当0<α<1时,表示决策者的观点介于两者之间。

将求出的权重ωi逐层聚合后,进行归一化处理,即可得到归一化权重ωi*。取不同时间段Tm,重复上述步骤,即可求出各个关键时间段上的归一化权重向量WTm=[ω1*,ω2*,ω3*,ω4*,ω5*]T,它表示n个特征属性的相对威胁程度大小。

4)时间Tm与tmn的确定。T为根据导弹各飞行阶段呈现不同的特点而划分的若干连续时间段集合T={T1,T2,...Tm},各Tm对应于相应的归一化权重向量WTm,其间包含预警卫星对目标群的探测时间点tmn,即tmn∈Tm。

结合本模型,参评专家P为天基红外预警卫星所采取的各探测技术手段,决策优化度α为某时间段Tm属性Gi的观测效果权值。所以,本文充分考虑了空间与时间上的信息融合,以降低识别结果的不确定性。

3 算法实现

3.1 属性权重的确定

利用模糊动态法来构建属性相对重要性矩阵A,可以较好地解决五个红外属性特征的相对重要性随时间变化而改变的问题。例如,在导弹飞行中段时期的灰度特性相比运动特性变化明显,易于辨别弹头,因而灰度特性相对于运动特性重要。而到了再入段初期,目标群的运动特性相对于灰度特性变化明显,易于分辨弹头,因而运动特性相对于灰度特性重要性上升。

为了说明动态判断矩阵在整个识别过程中属性相对重要性的变化,本文选取T1为再入段初期一时间段为例,结合目前各相应红外传感器的探测精度,预先制定属性相对重要性矩阵A如表1,并存入数据库。本文限于篇幅,只列出了中心值的判断矩阵,对于矩阵中除对角线以外的值大于1的元素,其左扩展为中心值减去1,右扩展为中心值加上1,对于矩阵中除对角线以外的值小于1的元素,可以按式(1)处理。

通过“本征向量法”[12]求得表1的λmax=5.279,小于五阶矩阵的临界值λ′max=5.45,可以通过一致性检验,以下各表求λkmax方法同。取α=0.5,防御系统方根据式(1)~(3)和表1可实时计算得五个因素在T1的归一化相对威胁权重系数为:TW1=[.0293,.0297,.0082,.0159,.0168]T。

3.2 确定各属性下的判断矩阵

以某型洲际弹道导弹为例进行计算。各属性下目标威胁判断矩阵计算过程不同于属性重要性矩阵A。取观测时间点t1n为再入段初期一时刻(t1n∈T1),各目标在五项属性下的变化情况,目前无法直接得到探测数据,只能依据前面的理论和文献[4]、[5]、[8]及相关情报资料建立的数据库,进行模拟计算仿真,防御系统方再将实时结果两两比较,得出各属性下目标威胁判断矩阵。

例如,对于温度变化率属性G1,经计算五类目标相互之间的威胁性比较矩阵P1,如表2所示。

其中,λ1max=5.293<λ′max=5.45,符合一致性要求。求解

得特征向量Wk=[w1k,w2k,w3k,w4k,w5k]T即为各目标在第k个特征属性下优劣比较的权值向量,

热容差异判断矩阵P2,辐射强度判断矩阵P3,灰度特性判断矩阵P4,运动特性判断矩阵P5(考虑再入减速特性差异)中,各目标相对威胁性比较,如表3、4、5、6所示。

整理后得各目标在五个红外特征属性下的决策矩阵Ct1n=[W1,W2,W3,W4,W5],如表7所示。

3.3 计算各目标的威胁值

目标的威胁值是指目标的红外特性威胁程度大小,据此判断各目标属于弹头的可信度,将其按大小排序后,最大值者即为真弹头。根据前面求得的各属性权重和综合决策矩阵,利用简单的矩阵相乘法则,就可得各目标的红外威胁值(如图1所示),按下式计算:

最终得各目标红外威胁值为

按威胁值大小排序为A1>A3>A4>A2>A5。由排序结果可以看出,A1具有最大红外威胁值,防御系统即判其为真弹头,与仿真系统中攻击方所给情况一致,达到预期效果。其余各目标的红外威胁值与各自目标的真实情况基本一致。

而在T2飞行中段一时期,用上述方法计算出各目标t2n时(t2n∈T2)红外威胁值为

按威胁值大小排序为:A1>A4>A3>A2>A5。通过比较可以看出,两次计算的排序结果基本一致,只是A3,A4的红外威胁值排序发生了变化。这是因为飞行中段时期目标灰度特性相对于运动特性重要,说明在不同时间,各属性的相对权重系数发生了一定变化,从而最终影响了各目标红外威胁值向量Mtmn的计算结果。本例证明该方法的正确性与有效性。本文相对于文献[2]做到了更进一步的弹头目标精识别。

结束语

模糊算法 篇11

关键词:PID;遗传算法

中图分类号:TP317.4文献标识码:A文章编号:1007-9599 (2010) 06-0000-00

The Use of Genetic Algorithms&Fuzzy Logic PID Gain Tuning Method

Gong Jiang

(Xinjiang Xinkun Tire Co.Ltd.,Engineering Department,Urumqi830013,China)

Abstract:This paper presents a PID gain tuning method,using genetic algorithms(GA)-based estimates to gain the use of fuzzy logic GA classification.and then using this method in different responses PID gain tuning.Experimental results show that GA-based fuzzy logic tuning method can achieve better performance.This control system also used in soft computing method to study the possibility of.

Keywords:PID;Genetic algorithm

比例-积分-微分(PID)是使用最为广泛的工业控制器。这是由于其结构简单,鲁棒性好,可以适应各种操作环境。然而,对于非线性或者高阶系统,固定增益的PID控制器通常并不适合。为了解决这个弱点,人们对PID提出了各种修改方案,例如,继电自动整定和自适应PID[1]方案。PID控制器的设计需要规定三个增益:比例KP,积分KI和微分KD。大量研究人员已经提出了一些方法用来减少优化或者整定增益的工作量。Ziegler-Nichols(Z/N)就是最为知名的一种整定方法[2],通常使用它先获取初始估计值,然后使用一种特别的方法或者经验法则来进一步整定到最优性能[3]。

软计算方法是解决计算复杂性和数学难解问题的实用方法[9-12],因为人们可以通过软计算方法容易地将自然系统跟智能机器结合起来。最为流行的软计算方法是神经网络、模糊逻辑和遗传算法。

基于模糊逻辑的方法通过语言能力来解决不确定性,而遗传算法是在遗传科学的一些灵感之上进行功能强大的随机查找。

近年来,模糊逻辑作为一种基于特殊规则的方法进行PID整定的手段得到普及。神经-模糊方法当前也正在进行研究,以进一步提高其性能。最近,提出了自适应的神经-模糊推理系统,它作为一种减少依赖模糊规则生成专家的手段,用来描述非自适应模糊集[8]的设计。

本文提出了一种使用GA调节PID控制器增益的混合方法,使用模糊逻辑分级系统对其性能进行分析。这个系统也用作GA的适应度函数。对控制器错误信号的性能指标参数进行分析计算(包含每一点处的超调量、上升时间和稳态误差)后,把它们送入基于模糊逻辑的分级系统,为当前所计算的控制器增益分配一个等级。该方法提高了控制器性能,在本文的实验结果部分比较了Z/N方法和尝试错误整定方法。为了简化仿真结果,不失一般性,只使用了机械手的一个节点(末端节点)。本研究中使用FANUC S-900机械手,仿真包的建模和重构做了适当简化。

一、机械手的动态特性

由于机械手使用耦合非线性微分方程能够较好地展示系统的高动态响应,所以适合用来评估控制器的性能。机械手动态特性的一般形式如下:

这里, 、 和 分别是关节点的位置、速度和加速度向量, 是惯性矩阵, 是Coriolis/Centripetal力矩阵, 是摩擦分量, 是重力向量, 代表扰动, 是控制输入向量,包含部件的转矩和力的向量(对于旋转关节和移动关节)。

二、PID控制器的调整

PID控制规则可以使用下面得公式表示:

这里, 是转矩控制信号, 是误差信号(用°表示), 、 、 分别是比例、积分和微分增益。为了达到满意的性能,这三个PID增益都需要进行整定。

使用最大增益Z/N方法,首先完成比例控制器,然后增加 ,直到这个过程临界稳定而呈现出持续震荡。这样便得到了临界值增益 和振荡周期 ,这样便可计算出PID增益,也给出了试探法计算出的增益,用于跟本文在后面部分中提出的方法进行比较。

(一)信号分析

这部分的任务是记录错误信号e(t),它由当前的轨迹参考点减去当前机械手的方位输出。

e(t)=ref(t)– (t)

在系统达到下一个参考点之前,分析仪通过前面记录的信号数据计算出3个主要性能指标(PI)参数:上升时间(Rt)、超调量(Os)和稳态误差(SSe)。能够由这些参数计算出总体控制器的性能。随着上升时间减小,超调量和稳态误差趋于零,系统的性能得以提升。一般情况下,上升时间小一点比较好,但是,如果速度是机械手轨迹的一个主要参数,那么上升时间就较强地依赖于速度这个因素了。本研究中,忽略了速度这个因素,因此,较小的上升时间代表了较好的性能。

三、结论

基于PID的控制器的一个重要挑战是对其进行增益整定。很多人使用诸如Z/N法和试探法等通用的整定方法,这类整定方法对于工厂内部行为未知的系统不能很好地进行调节。文中提出的混合方法由遗传算法、模糊逻辑和(基于系统超调量、上升时间和稳态误差的)控制分析仪组成。GA用于估计增益,模糊逻辑在信号分析仪的帮助下,使用GA的适应度函数对这些增益进行排序。仿真结果证明:使用该技术,从性能指标参数的角度能够降低控制器的总误差率。另外,由于系统使用GA进行估计,会带来一些速度上的问题。但是因为染色体长度很短,在实际应用平台中GA还是能够成立,这个问题也容易处理。

参考文献:

[1]张潮海,朱德明.数字随动系统PID调节器参数寻优[J].电机电器技术,1991,(04)

[2]王利,王矛棣,王克奇,邹丹丁.一类滞后系统最优PID调节器设计方法的仿真研究[J].东北林业大学学报,1992,(04)

[3]王宏,李洪,朱军.PID调节器参数优化设计的一种改进方法[J].信息技术,1997,(01)

[4]曹军,王克奇,常恕吾,杨肃.PID调节器参数优化设计的一种改进方法[J].东北林业大学学报,1990,(02)

作者简介:龚江(1965-),男,四川安岳人,大学本科,就职于新疆新昆轮胎有限责任公司,工程师,研究方向:仪表自动化。

基于蛙跳算法的模糊图像复原 篇12

关键词:蛙跳,模糊,复原

图像是人类感知世界的视觉基础,但是由于传送和转换,造成了图像模糊,而在一些视频领域又需要清晰的、高质量的图像。因此,为了提高图像质量,复原具有非常重要的意义[1]。

对于模糊图像复原的研究,过去主要是以逆滤波、维纳滤波、约束最小二乘复原为出发点,但是逆滤波只对没有被噪声污染的图像很有效;维纳滤波需要求得到半无限时间区间内的全部观察数据,不能用于噪声为非平稳的随机过程的情况,且对于向量情况应用也不方便;约束最小二乘滤波器抑制了噪声,但同时也去掉了一些有用的高频细节。20世纪90年代以来,出现了一些新的算法:量子算法、人工神经网络、粒子群算法等。但其理论依据多源于对生物群落社会性的模拟,与其相关的数学分析比较缺乏,这就导致现有研究还存在许多不足,缺乏具备普遍意义的理论性分析。算法中涉及的各种参数设置无确切的理论依据,通常是按照经验型方法确定,对具体问题和应用环境的依赖性比较大[2]。

笔者源于对青蛙觅食行为的研究,提出蛙跳智能优化算法。在一组随机青蛙个体每次进化中,根据个体的适应度来确定吸引域;以某种策略更新局部最差个体,使得搜索个体向最优解移动;通过个体间的协作与竞争来实现在多维空间中对最优解的搜索。

把最佳图像的复原过程看成求解最优化的过程,将图像的复原处理转变成蛙跳算法的寻优问题。该方法具有模糊图像复原清晰度高、抑制噪声能力强特点。

1 蛙跳算法描述

1.1 基本描述

青蛙跳跃运动具有爆发性强、距离远(能达到身体长度的15倍左右)的特点,能轻松越过沟渠和障碍,并且具有良好的环境适应性。一群青蛙生活在一片湿地中,湿地内部离散地分布着许多石头,这群青蛙找寻不同的石头进行跳跃,从而到达食物较多的地方。每个青蛙通过寻找不同的石头提高自己寻找食物的能力,每只蛙可以与其他的蛙交流思想并以通过传递信息的方式来改进其他蛙的寻食信息[3]。

通过模拟青蛙群体在寻食过程中所体现出的协同行为来完成对问题的求解。多只青蛙形成了种群,每只青蛙代表一个解,同时种群被分成了多个子群,每个子群包括一定数量的青蛙,在每个子群内分别执行局部搜索,按族群不同进行信息传递,并将全局信息的交换与局部进化搜索相结合。在局部搜索结束后,各子群重新合并成为新一代种群。各青蛙携带的信息得到了有效交流,使得算法具有较强的跳出局部极值点的能力,从而向着全局最优的方向前进。每只青蛙都受自己和其他青蛙的影响,并通过子群进化来调整位置。经过一定数量的进化后,不同子群间的青蛙通过跳跃过程来传递信息。这种进化和跳跃过程相间进行,直到满足收敛的条件为止[4,5]。

1.2 数学模型

将图像域中的每个要复原像素解视作1只青蛙,所有解集合组成青蛙群体。设解群体规模为P,设第i只青蛙表示问题的第i个解

xi=(xi1,xi2,…,xis) (1)

式中:s表示解空间维数,i=1,2,…,p;计算每个解的适应度值f(xi),并将个体按适应度值从大到小降序排列f(1)≥f(2)≥f(p);将排序后的青蛙平均分配到M个族群,每个族群有N个青蛙,P=M×N。在优化计算过程中,将第1只青蛙f(1)适应值大的解x(1)分配到第1个族群,第2只适应值大的青蛙分配到第2个族群,一直分配下去,直到第M个适应值大的青蛙分配到第m个族群。然后将第M+1个适应值大的青蛙又分配到第1个族群,如此循环分配,直到所有P只青蛙分配完毕为止。

在每一个子群中,目标函数值最好的解为

xb=(xb1,xb2,…,xbn) (2)

目标函数值最差的解为

xw=(xw1,xw2,…,xwn) (3)

群体中目标函数值最好的解为

xg=(xg1,xg2,…,xgn) (4)

在每次迭代中,对xw进行更新操作[6],其更新策略为

xw,new(k)=xw,old(k)+rand(0,1)×(xb(k)-xw,old(k)) (5)

式中:xw,new(k)xw,old(k)分别表示族群k中最差解的新、旧值;xb(k)表示族群k中的最好解;rand(0,1)为(0,1)之间的随机数;(xb(k)-xw,old(k))表示族群k中最差解移动的距离。

d(k)=rand(0,1)×(xb(k)-xw,old(k)),d(k)要求满足d(k)[-d,d],d表示允许解改变的最大值(青蛙移动步长)。再进行判断:

f(xw,new)≥f(xw,old),则新解xw,new取代旧解xw,old,并重新确定xg,xbkxwk,其中xg为全局的最优解;

f(xw,new)<f(xw,old),则用xg取代xw,old(k)

重复迭代计算更新,若仍无改进,则随机产生一个新的解取代旧解xw,old(k),子群中最差青蛙的位置就得到了更新,在指定迭代次数内继续执行以上操作[7]。

当所有子群的局部搜索完成后,将所有子群的P只青蛙重新混合,再按目标值从优到劣的顺序重新排序和划分子群,然后再进行局域深度搜索。如此反复,直到设定的混合迭代次数,或达到满足问题的精度要求为止。

d的大小决定算法的全局收敛性,当较大时,有利于全局搜索,但可能飞过最优解;当较小时,利于局部区域内精细搜索,但容易陷入局部最优。因此对d控制如下

式中,dm为第m只蛙跳步长。

1.3 模糊图像复原

1.3.1 模糊运动图像模型

设物体f(x,y)在同一平面运动,令x(t)和y(t)分别为物体在xy方向上的分量,t为运动的时间,记录介质的总曝光量是在快门打开到关闭这段时间的积分[8],则模糊的图像为

式中:n(x,y)为随机加性噪声,具有有限幅值。

对其频域分析傅里叶变换后为

利用傅里叶变换的位移性质,得到

Η(u,v)=0Τexp{-j2π[ux0(t)+vy0(t)]}dt,在没有噪声的情况下图像的退化过程在频域中表示为

G(u,v)=F(u,v)H(u,v)+N(u,v) (10)

1.3.2 复原过程

对时域模型g(x,y)=f(x,y)*h(x,y)+n(x,y)离散化。

设退化函数h(x,y)采用为M×M矩阵

[h(i,j)]=[h(0,0)h(0,1)h(0,Μ-1)h(1,0)h(1,1)h(1,Μ-1)h(Μ-1,0)h(Μ-1,1)h(Μ-1,Μ-1)](11)

噪声n(x,y)采用的矩阵为

把输出连续图像g(x,y)离散化,在x,y方向上采样间隔分别为Δxy,并均取N点,则数字图像用矩阵表示为

则原图形f(x,y)的估计矩阵为

这样从已知的降质图像g(x,y)中,根据h(x,y)和n(x,y)的某些先验信息[9],对f(x,y)作最佳的估值F^(i,j)。计算误差为

E(x,y)=F^(x,y)-F(x,y)=Ν(x,y)Η(x,y)(15)

式中:Η(x,y)取0或很小,计算误差就会很大,复原结果会变得很差;在退化系统中,噪声Ν(x,y)一般变化缓慢接近于常数,E(x,y)在这些频率位置上被过度放大,影响复原质量。因此修改为

F^(x,y)=Η*(x,y)Η(x,y)Η*(x,y)+rG(x,y)(16)

式中:Η*(x,y)Η(x,y)的复共轭;r是抑制比,为防止出现幽灵效应和振铃效应,r的值域取为(0.000 1,0.01)之间[10],把最佳图像的复原过程看成求解最优化的过程,图像的复原处理转变成为蛙跳算法的寻优问题。设计蛙跳算法的首要问题是建立青蛙个体矢量与像素矩阵之间的映射关系,对于模糊图像,把个体矢量的每1维表示为1个像素,如此一来,个体本身就表示所有图像的1个排列,蛙跳步长d决定r的取值,定义为

为了更好地对比仿真结果,对图像复原算法建立评价指标体系。图像复原算法的性能由信噪比ISNR来评估,计算公式为

ΙSΝR=10lg(g-f2f^-f2)(18)

式中:g为模糊图像;f^模糊复原估计图像;f原图形,信噪比ISNR越大则原复原效果越好。

假设f(x,y)的尺寸为P×Q,使用了均方误差MSE对复原质量进行评价

ΜSE=1Ρ×Qx=0Ρ-1y=0Q-1[(f^-f)2](19)

两幅图像的MSE越小,说明两幅图越接近。

1.3.3 算法实现流程

算法流程为:

1) 确定种群P和子群M,每个子群有N只青蛙,迭代次数T;

2) 初始化种群,计算每只蛙的适应度值,适应度值降序排列;

3) 记录每个子群中目标函数值最好的解xb和最差的解xw;群体中目标函数值最好的解xg;

4) 根据xw更新策略,得到子群中最差青蛙位置更新,在指定迭代次数内继续执行以上操作;

5) 计算蛙跳步长d获得r的取值;

6) 根据构造矩阵,输出模糊图像复原结果。

2 实验仿真

2.1 复原效果视觉对比

截取“海空雄鹰团”苏-30MK2型战机快速上升视频一帧,程序通过Matlab7.0软件处理,在上述条件下,对逆滤波、维纳滤波、约束最小二乘复原、量子算法、人工神经网络、粒子群算法以及本文算法进行处理对比,效果如图1,图2所示。

图1a是计算机模拟出的高斯模糊并有加性噪声影响的退化图像,模糊函数是均值为0,方差为4。图1b为复原效果,图1c为逆滤波复原效果,图1d为维纳滤波复原效果,图1e为约束最小二乘复原效果,图1f为量子算法复原效果,图1g是人工神经网络复原效果,图1h是粒子群算法复原效果。从视觉效果中可以看出,图1c,图1d,图1e的复原效果明显低于图1f,图1g,图1h的复原效果,经典算法抑制噪声的能力不如人工智能算法,复原结果受噪声的影响较明显,图像中噪声颗粒偏大;图1f,图1g,图1h的复原结果相差不大,但依然存在多余的噪声和边缘;图2b本文复原效果细节保持能力最强,视觉上平滑了部分多余的细节,所以用蛙跳算法复原的图像比用其他方法恢复的图像在低频谱区内更平滑,而在高频区域去掉尖锐部分,整体视觉效果更好。

在相同的硬件条件下CPU为3.6 GHz,内存2 048 Mbyte,操作系统Windows XP,硬盘为SATA2.0接口,图3给出了图像复原率对比曲线。

从图3可以看出该算法的复原率比较高,这是因为各青蛙携带的信息得到了有效交流,使得算法具有较强的跳出局部极值点能力,从而向着全局最优的方向前进。

2.2 评价指标对比

表1为该算法对复原图像的信噪比ISNR数据对比。从结果可以得到该算法ISNR最大为10.960 5,对抑制噪声能力最强。其他算法,噪声将被放大可能将信号湮没,影响了图像恢复质量,在频域进行时,无法避免振铃效应。

表2为该算法对复原图像的均方误差MSE数据对比。噪声方差以模糊函数方差4为标准,从结果可以得到该算法MSE最小为0.028 1,复原图像应最接近原图,这也在复原后的视觉效果图1b体现出来。

3 总结

针对模糊图像复原要求,本文提出了一种基于蛙跳算法的复原技术。该算法的关键在于把蛙跳步长dr的取值构造函数关系。蛙跳算法恢复模糊图像效果满足人眼的视觉要求,通过客观分析对比ISNRMSE数据,证明该算法对抑制噪声能力最强,复原图像清晰度高,具有一定的实用价值。

参考文献

[1]刘积平,余营林.一种简易的图像去噪方法[J].华南理工大学学报,2008,28(2):60-63.

[2]骆剑平,李霞,陈泯融.混合蛙跳算法的Markov模型及其收敛性分析[J].电子学报,2010,38(12):2875-2880.

[3]栾垚琛,盛建伦.基于粒子群算法的混洗蛙跳算法[J].计算机与现代化,2009,(11):39-42.

[4]王亚敏,冀俊忠,潘全科,等.基于离散蛙跳算法的零空闲流水线调度问题求解[J].计算机工程与应用,2010,46(17):52-56.

[5]任立群.基于蛙跳算法的无线Mesh网QoS路由算法[J].聊城大学学报:自然科学版,2010,23(1):82-85.

[6]赵鹏军,刘三阳.求解复杂函数优化问题的混合蛙跳算法[J].计算机应用研究,2009,26(7):2435-2437.

[7]李祚泳,张正健,汪嘉杨.基于蛙跳算法优化的地下水水质韦伯普适指数公式[J].水文,2010,30(3):1-5.

[8]尹建新,计时鸣,张利.相对运动所引起的模糊图像的模糊复原算法研究[J].浙江工业大学学报,2006,34(1):78-81.

[9]郝毫刚,李艳玲,黄春艳.基于方向信息测度的运动模糊图像恢复[J].计算机工程,2010,36(2):201-202.

上一篇:整合语文教学内容下一篇:仓库监控