在图像处理中人工智能常用的四种算法

2021/10/9 11:36:27

本文主要是介绍在图像处理中人工智能常用的四种算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 这是小编的其他文章,希望对大家有所帮助,点击即可阅读

 人工智能常用的十大算法    人工智能数学基础(二)十大经典算法(图像处理)

为了方便大家学习交流,我建了一个扣裙:966367816(学习交流、大牛答疑、大厂内推)
另外我还整理了整整200G的人工智能学习笔记、课程视频、面试宝典一并可以无套路免费
分享给大家!扫描文末二维码加V免费咨询学习问题

遗传算法(Genetic Algorithm,GA)

遗传算法是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。

进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化。传统上,解用二进制表示(即

0和1的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。

求解步骤

1)编码:定义问题的解空间到染色体编码空间的映射,一个候选解(个体)用一串符号表示。

2)初始化种群:在一定的限制条件下初始化种群,该种群是解空间的一个子空间。

3)设计适应度函数:将种群中的每个染色体解码成适于适应度函数的形式,计算其数值。

4)选择:根据适应度大小选择优秀个体繁殖下一代,适应度越高,选择概率越大。

5)交叉:随机选择两个用于繁殖下一代的个体的相同位置,在选中的位置实行交换。

6)变异:对某个串中的基因按突变概率进行翻转。

7)从步骤4开始重复进行,直到满足某一性能指标或规定的遗传代数。         

应用:

函数优化是遗传算法的经典应用领域,也是遗传算法进行性能评价的常用算例,许多人构造出了各种各样复杂形式的测试函数:连续函数和离散函数、凸函数和凹函数、低维函数和高维函数、单峰函数和多峰函数等。对于一些非线性、多模型、多目标的函数优化问题,用其它优化方法较难求解,而遗传算法可以方便的得到较好的结果。  

组合优化:随着问题规模的增大,组合优化问题的搜索空间也急剧增大,有时在目前的计算上用枚举法很难求出最优解。对这类复杂的问题,人们已经意识到应把主要精力放在寻求满意解上,而遗传算法是寻求这种满意解的最佳工具之一。实践证明,遗传算法对于组合优化中的NP问题非常有效。例如遗传算法已经在求解旅行商问题、 背包问题、装箱问题、图形划分问题等方面得到成功的应用。

此外,GA也在生产调度问题、自动控制、机器人学、图象处理、人工生命、遗传编码和机器学习等方面获得了广泛的运用。

车间调度问题是一个典型的NP-Hard问题,遗传算法作为一种经典的智能算法广泛用于车间调度中,很多学者都致力于用遗传算法解决车间调度问题,现今也取得了十分丰硕的成果。从最初的传统车间调度(JSP)问题到柔性作业车间调度问题(FJSP),遗传算法都有优异的表现,在很多算例中都得到了最优或近优解。

蚁群算法(Ant colony optimization, ACO) 

蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。

范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。

环境:蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。

觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁都会以小概率犯错误,从而并不是往信息素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。

移动规则:每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住刚才走过了哪些点,如果发现要走的下一点已经在之前走过了,它就会尽量避开。

避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。

信息素规则:每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。

根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。

模拟退火算法(Simulated Annealing ,SA) 

简介:模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。

原理:模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为exp(-ΔE/(kT)),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。 

步骤:

1)随机给定初始状态,设定合理的退火策略。(选择各参数值、初始温度T0、降温规律等)

2)令x‘=x+△x(△x为小的均匀分布的随机扰动),计算 △E=E(x\')-E(x)。

3)若△E<0,则接受x'为新的状态,否则以概率P=exp(-△E/(kT))接受x',其中k为波尔兹曼常数。具体做法是产生0到1之间的随机数a,若P>a则接受x',否则拒绝x',系统仍停留在状态x。

4)重复步骤2)、3)直到系统达到平衡状态。

5)按第1)步中给定的规律降温,在新的温度下重新执行2)~4)步,直到T=0或者达到某一预定低温。

由以上步骤可以看出,△E>0时任然有一定的概率(T越大概率越大)接受x',因而可以跳出局部极小点。理论上说,温度T的下降应该不快于:

T(t)=T0/(1+lnt),t=1,2,3,...

其中T0为起始高温,t为时间变量。常用的公式是T(t)=aT0(t-1),其中0.85≦a≦0.98。

粒子群算法(Particle Swarm Optimization,PSO)

 粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等 开发的一种新的进化算法(Evolutionary Algorithm - EA)。PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的"交叉"(Crossover) 和"变异"(Mutation) 操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。

遗传算法:属于进化算法( Evolutionary Algorithms) 的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解. 遗传算法有三个基本算子:选择、交叉和变异. 但是遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验。

PSO算法:PSO同遗传算法类似,是一种基于迭代的优化算法。系统初始化为一组随机解,通过迭代搜寻最优值。但是它没有遗传算法用的交叉(crossover)以及变异(mutation),而是粒子在解空间追随最优的粒子进行搜索。同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域。

BAS算法:全称是Beetle Antennae Search Algorithm,它与PSO算法搜索行为相似,均可用于解决全局范围内的最优化问题。但它相较于PSO算法的大量搜索粒子,通过引入了随机取向机制和步长收敛机制,使得仅通过一只天牛便可以在全局范围内进行有效寻优,在终值收敛过程中有更好的效果。相较而言,BAS算法比PSO算法具有更快的收敛速度。


以上四种算法在图像边缘检测、图像分割、图像识别、图像匹配、图像分类等领域有广泛应用。目前大多数人工智能算法还不是特别成熟,随着科学的发展还会有更多的智能算法被发现,在图像处理方面的应用也在不断深化,将多种智能算法进行融合将是未来一个重要的发展方向 。

小编整理了有关人工智能的资料,有python基础,图像处理opencv\自然语言处理、机器学习
数学基础等资源库,想学习人工智能或者转行到高薪资行业的,大学生也非常实用,无任
何套路免费提供,,加我裙【966367816】下载,或者扫码+vx(更方便) 也可以领取的内部资源,人工智能题库,大厂面试题 学习大纲 自学课程大纲还有200G人工智能资料大礼包免费送哦~ 

欢迎大家扫码找我免费咨询呀~



这篇关于在图像处理中人工智能常用的四种算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程