史春天,曾艳阳,侯守明
河南理工大学 计算机科学与技术学院,河南 焦作454000
图像分割一直是图像处理领域中经典的难题,图像分割为了提取图像中有意义模块,将一幅图像划分为几个模块,不同的模块相交为零,每个被分割的模块内部都有相似的性质和统一的标准[1]。图像分割结果的质量好坏决定下一步图像理解的优劣,图像理解包括场景中目标的检测和识别和场景中目标之间的关系等。从19世纪70年代开始图像分割就吸引大量研究人员前赴后继地进行研究,被提出的图像分割算法针对不同的方向有着不同的进展和进步,但是依然没有一个通用于所有图像的分割技术和评判分割是否成功的标准[2]。
针对这个瓶颈各方研究人员提出各自的方案,早期解决优化的问题是使用数学或者数值方法利用求导数的方法得到终解,但随着维数增加,搜索空间也随之加大,陷入局部最优的情况经常发生,数值法不能求得最终的全局解。其后智能算法受到一些研究人员的关注,其中的群体智能算法利用群体优势,在没有集中控制,不需要额外复杂的数学计算的情况下,通过较为简单的信息交互和迭代更新就可以得到优质的全局解并且还具有更好的鲁棒性、灵活性[3]。
随着时代发展,人工智能的进步促使群体智能成为一个重点的研究方向。通过对国内外论文的研究,阐述群体智能算法的起源和研究现状,进一步列举蚁群算法、粒子群算法等经典算法和较新的麻雀算法、蜉蝣算法。通过依据这些算法详细叙述原理、改进方法以及结合图像分割后综合的改进方法和实际应用。
研究者对群体智能的关注由来已久,但是由于外部硬件的限制,群体智能只能作为一种思想来进行实践和研究,没有明确的概念和实现方法。1989年,在文献[4]中“群体智能”的概念由Beni 和Wang 第一次正式提出。自此群体智能进入近现代研究人员的视野。此之后的数十年中,每过一段时间都有新的群体智能算法涌现出来,现如今已存在数十种群体智能算法。
早在20 世纪90 年代,通过对蚁群和鸟群的觅食行为的研究,Dorigo 等人提出了蚁群算法[5](Ant Colony Optimization,ACO),Kennedy 等人提出了粒子群算法[6](Particle Swarm Optimization Algorithm,PSO)。随后的群体智能算法依据灵感来源可以大致分为三类:
(1)来源于动物单纯的觅食行为。如2003年Eusuff等人提出的蛙跳算法[7](Shuffled Frog Leaping Algorithm,SFLA),2016 年Mirjalili 等人提出的鲸鱼优化算法[8](Whale Optimization Algorithm,WOA)。
(2)来源于生物种群单纯的社会行为,如2005 年Karaboga 提出的人工蜂群算法[9](Artifical Bee Colony Algorithm,ABC),2008 年Yang 提出的萤火虫算法[10](Firefly Algorithm,FA)以及2009 年提出的布谷鸟搜索法[11](Cuckoo Search,CS),2020 年Konstantinos 等人提出的蜉蝣算法[12](Mayfly Algorithm,MA)。
(3)来源于生物种群的社会行为和觅食行为,如2002年Passino提出的细菌觅食算法[13](Bacterial Foraging Optimization,BFO),2010 年Yang 提出的蝙蝠算法(Bat Algorithm,BA)[14],2020 年Xue 等人提出的麻雀搜索法(Sparrow Search Algorithm,SSA)[15]。
依据上述数据可见,群体智能的起源于对蚁群、候鸟群等有着社会性群体协作行为的研究,通过研究大量个体组成的群体行为,对群体行为进行建立模型,创建规则,进而提出算法,最后用于解决实际问题。群体智能算法可以分为两种:一是由一组简单智能体(agent)涌现出来的集体的智能(collective intelligence),以蚁群优化算法等为代表;二是把群体中的成员看作粒子,而不是智能体,以粒子群优化算法等为代表[4]。依据这个结论本文选取蚁群算法和粒子群算法进行介绍。
在群体智能算法和传统图像分割技术相结合上,早如蚁群算法,国内在1999 年,文献[16]已经较为全面地对其进行综述。之后在2004 年文献[17]正式将蚁群算法结合到图像分割中,再如粒子群算法,在2002 年时,文献[18]已经将其优化解决医学图像问题。2005 年文献[19]通过粒子群优化算法设计了一种多阈值图像分割的方法,在保证图像分割结果准确的前提下使分割速度进一步提高。
1.2.1 蚁群算法原理
自然界的蚂蚁群体活动是蚁群算法[5]灵感起源,蚂蚁在寻找食物的过程中能发现从食物返回蚁巢的最短的线路,通过对蚂蚁活动的分析意大利学者Dorigo、Maniezzo等人首先提出蚁群算法[5]。蚁群算法模拟蚂蚁觅食过程,蚂蚁自蚁巢出发进行寻找食物,通过正反馈的机制,以及对附近空间的熟悉,搜索愈发规律,最后得到从蚁巢到食物的最短路径。
简要描述蚁群算法的过程:首先对蚁群进行初始化,其次选择蚂蚁下一个节点,然后将信息素矩阵进行更新,随后检查是否满足终止条件,若不满足继续选择节点进行循环,若满足条件则输出结果结束算法。
将要分割的图像称为X,把图像中每一个像素Xi(i=1,2,…,N)当成是一只蚂蚁,每只蚂蚁是一种拥有三种性质的三维向量,蚂蚁觅食的过程就是图像分割。
利用欧氏距离计算公式计算像素Xi到Xj的距离有:
设R为聚类半径,Pdij为信息量,有:
设Xi下一次访问Xj路径的概率为Pij,定义α反应了信息素对蚂蚁选择的影响,β表示路径距离对其的影响力:
信息素更新公式如下:
ρ是信息素的挥发系数,区间为0到1,公式(4)的后半部分为经过这次寻址后,路径上增加的信息量。
1.2.2 算法改进和研究现状
自20世纪90年代Dorigo等人提出第一个蚁群优化算法以来,不断有学者对其进行改进和优化,在其中大部分的改进方法都是加强蚁群在搜索中的搜索能力,不同点则在于搜索控制策略改进的方向,有将其他算法中局部搜索法加入原有的蚁群算法,使得蚁群算法能得出更优质的解[20]。
为提高搜索速率,避免算法过早收敛,一种是对蚁群算法自身改进。例如:带精英策略的蚁群算法[21]、具有侦察特性的蚁群算法[22]、最大-最小蚂蚁系统[23]等算法。带精英策略的蚁群算法主要在算法运行途中,将经过最短路径上的蚂蚁标记为“精英”,并将通过的路径上的信息素进行增强。具有侦察特性的蚁群算法主要把蚂蚁分为侦查蚁和普通蚂蚁,普通蚂蚁进行基本的蚁群搜索工作,而侦查蚁使用路径评估模型计算当前最优解的每条线路的突变概率,并依据突变概率继续搜索最优解。最大-最小蚂蚁系统有三方面的改进[24]。此外文献[25]中通过加入动态搜索诱导算子和使用衰减模型,调节各个阶段的搜索方向,以此加快收敛速度和提高解的质量。
蚁群算法同其他算法结合也是一种重要的优化手段。文献[26]将蚁群算法同人工势场算法结合,在蚁群算法初始信息素分配上利用人工势场法,减少陷入局部最优的问题。此外,为了改进蚁群算法的状态转移函数引入势场引导函数,使得搜索过程中陷入盲目选择的可能降低,减少了整体搜索时间。文献[27]为解决无人机冲突的问题,对原有的蚁群算法加入了速度调整策略,并结合航向调整策略设计了一种解决方案,取得了较好的结果。为提高电力物联网信息感知层的覆盖范围和可靠性,文献[28]通过将布朗运动与局部收敛次数控制与蚁群算法结合,完成了CPW的组网过程,并结合原有技术完成了低压电力线和微功率无线通信网络的跨层融合。
1.2.3 ACO在图像分割中改进及应用
蚁群算法在图像分割领域的应用上,改进可以分为三大类别。
第一,在图像分割领域中,一些文献对传统图像分割算法如分割时间长、分割精度较低的问题通过引入蚁群算法来进行改进。传统分水岭分割法因对噪声敏感导致分割过剩的情况,文献[29]将蚁群算法和聚类算法引入,首先通过分水岭分割法进行分割得到结果,然后使用分水岭算法运行后的灰度信息和空间变化将蚁群算法中的引导函数改进,促使蚁群在各区域中更快地聚类合并,局限性在于依旧不能去除分水岭点,另外相对于其他群体智能算法加入蚁群算法后的算法运行时间较长。传统的最大熵分割法因对噪声敏感问题,故将其一维扩展成二维以提高算法的鲁棒性,但是二维的计算量十分大,并且依然在进行红外图像分割上实时性差,文献[30]针对上述问题,将原二维最大熵分割法的搜索法替换为蚁群算法搜索,减少分割时间从而保证实时性。文献[31]针对密度峰值聚类算法中截断距离和聚类中心点通常都是由人工主观给出,这种随意性会导致分割结果的不确定性,影响实际使用的问题。提出将蚁群算法引入密度峰值聚类算法中,求出最优的聚类中心和截断距离并应用于医学图像分割,其思路主要是用图像熵计算信息素,以此来控制搜索的线路,其次定义变量表示聚类的中心,随后使用蚁群算法迭代求出最优聚类中心和截断距离,这种改进虽然进一步提高了分割精度,但是因为所需参数的复杂化,增加了算法的时间复杂度。类似的还有模糊C均值聚类算法,传统的模糊C均值聚类算法也存在着选取聚类个数随意,选取聚类中心不确定性的问题。针对这些问题文献[32]提出将蚁群算法引入,首先利用蚁群算法寻优确定聚类中心以及个数,再进行图像分割。
第二,引入蚁群算法后,优化蚁群算法的缺点也是提高图像分割速度和质量的重要途径。文献[33]在对分割低对比度和低信噪比下的红外图像时引入了蚁群算法,并在信息素调整策略上进行优化,除了使用原有的信息素引导行动外,还利用模糊非线性增强算子作为启发算子一同引导蚁群行动,这样的改进提高了求解质量。文献[34]将原有的阈值分割法和蚁群算法结合,并通过更新蚂蚁信息素浓度,改进初始聚类中心,设定算法参数来提高分割精度,从而减少分割时间。文献[35]对蚁群算法运行计算量大和易早熟的缺陷,使用量子进化算法改进其缺陷,将当前蚂蚁位置表示为量子比特的两个概率幅度,在此基础上利用量子非门操作实现种群变异,增加种群多样性。
第三,蚁群算法结合其他算法共同优化图像分割也是行之有效的方案。文献[36]介绍了一种复合型ACOk-means 分割算法,利用了k-means 算法和蚁群算法的优点,提出了一种新的分割算法,首先设置集群的数量并初始化它们的中心,然后,根据k-means聚类算法,确定每个图像像素属于一个特定的聚类。在这阶段中,蚁群算法定义了图像的每个像素的关系与集群,通过由m个蚂蚁进行聚类,每一个蚂蚁最终都会找到自己的解。寻找最优解的准则和更新后的信息素水平分别优先于下一组m蚂蚁。当达到停止准则时,完成聚类并找到最优解。文献[37]结合GEOBIA、F1-score、田口统计技术和ACO,对原有的枣椰树的检测与制图进行改进,首先,通过F1-score的精密测量和田口方法的鲁棒性协同作用,优化了多分辨率细分。其次,采用蚁群算法来选择最重要的特征。最后,根据所选择的特征,采用基于规则的分类方法,借助决策树算法对枣树进行提取。文献[38]将蚁群聚类算法和改进的马尔科夫随机场融合使用,目的提高图像分割速度和质量,首先用蚁群算法确定聚类中心和FCM(FuzzyC-means)算法的数量,以提高其运行速度。然后使用改进的马尔科夫随机场模型对该算法进行改进,以提高其抗噪能力。吴骏等人[39]在对脑部MRI图像分割时,利用蚁群算法强化脉冲耦合神经网络(Pulse Coupled Neural Network,PCNN)。为确定脉冲耦合神经网络参数,将目标函数设定为图像信息熵与灰度期望值的和,依据最大熵值准则用脉冲耦合神经网络的简化模型进行图像分割,最后通过面积滤波再加工。
1.3.1 粒子群算法原理
粒子群算法灵感来自对生物界鸟类进行觅食行为的研究。通过研究鸟群集体寻找食物行为,Kennedy等人提出粒子群算法。
在粒子群算法中,定义最大食物源为最终的解,将单个鸟类当成无生命特征的粒子。搜索过程如下:
初始,随机粒子在最终解的空间中,单个粒子每时每刻都在搜索空间中的最终解,并记忆搜索过程中离最终解最近的距离作为当前个体极值,然后与粒子群中其他粒子分享距离信息。全体粒子群中个体极值最优的即为粒子群全局极值。其次,通过自身的个体极值与全局极值调整粒子的方向和速度,最终在几次迭代后,大部分粒子都会聚集到最终解附近。
定义惯性因子为ω,C1与C2为学习因子也称为加速度常数,Xid为第i个粒子在d维解空间的位置,Pgd称为全局极值,Pid称为个体极值,粒子的位置更新公式见公式(7),速度更新公式见公式(8):
1.3.2 算法改进和研究现状
相较于同一时期的遗传算法来说,粒子群算法优势在于不需要很多的参数进行调节搜索过程,实现方法简单,所以一直是群体智能算法中的中流砥柱,在各行业各个领域都发挥出重要作用。自正式提出粒子群算法以来,各方学者设计了层出不穷的优化改进策略。一方面是为了解决粒子群算法固有的缺点,另一方面为更好更快地得出结果。这些改进主要分为两大类:对算法本身进行改进以及融合其他算法。
对算法本身的改进如:对算法中的参数进行改进,对粒子群中的粒子进行多样性控制,在初始化和搜索过程中对粒子的拓扑结构进行设计等。这其中的经典改进算法有许多,文献[40]对粒子群算法中参数的设定提出了自己的建议,首先系统地分析了算法中种群大小、迭代程度和粒子速度的选择方法,然后为了验证这三个参数对算法性能的实际影响,对约束优化问题使用统计实验的方法验证。为使得算法中收敛速度更加有效率,Shi 等人[41]提出惯性权重的概念,惯性权重是和前一单位时间内运动距离有关的比例系数,控制前一单位时间内前进距离对当前的速度的影响,一般写为ω,通过惯性权重的思想将算法中粒子速度更新公式进行了改进,得到更佳的结果。文献[42]将混沌寻优的思想引入粒子群算法中,对现在粒子群中的全局极值进行进一步的混沌寻优,通过替换粒子使种群的多样性增加,加速了收敛过程。
通过结合其他算法来优化粒子群算法也是常用的改进方法之一。早在1998年时,文献[43]通过引入自然选择机制提出了基于自然选择的粒子群算法,计算粒子的适应度值,使用选择机制更新粒子群,从而达到提高粒子全局寻优能力的目的。文献[44]为提高神经网络对图像分类的学习效率,将布谷鸟搜索法引入。在解决复杂函数寻优上,顾清华等人[45]把鸽群算法的思想引入粒子群算法,首先为提高粒子群算法的搜索能力使用惯性因子和跳跃算子,其次加入干扰算子来提高鸽群算法种群多样性,最后结合两者算法进行求解。此外文献[46]引入灰狼算法来提高粒子群算法收敛精度。文献[47]为解决算法可能早熟问题,借鉴复杂适应系统理论,提出双重自适应的算法。
近些年来,文献[48]为了提高算法的运行效率,避免粒子群算法陷入局部最优,提出了一种称为半自动粒子群优化程序,主要通过梯度信息和差异控制来改进多峰函数,通过改进很好地得到了预期结果。文献[49]在解决供货商管理库存模式下的二级库存路径问题引入了粒子群算法,为避免陷入早熟,使用线性递减的惯性权重。文献[50]提出了基于粒子群算法的马尔科夫毯特征选择方法来解决高维数据分类问题。文献[51]在三维空间路径规划上提出了自适应混沌粒子群优化算法。文献[52]为解决数字阿尔法光谱中出现的高计数率引起的二阶堆积(SOP)问题,使用蚁群和粒子群优化技术来检索数字α光谱的堆积峰。
1.3.3 PSO在图像分割中的应用
粒子群算法在图像分割中应用大致分为三种:一是引入粒子群算法结合原有图像分割技术;二是在引入粒子群算法的基础上改进粒子群算法中缺陷;三是粒子群算法结合其他算法融合再结合图像分割技术。
第一,在引入粒子群算法结合原有图像分割技术的方向上,文献[53]在最佳熵阈值分割技术的基础上引入了粒子群算法,通过粒子群算法进行阈值的计算和选择,在对合成孔径雷达(Synthetic Aperture Radar,SAR)图像分割的实验表明这种方法可以在保证分割精度的前提下减少分割的时间。文献[54]针对传统主动轮廓模型用于高精度的图像分割精度不足问题,将粒子群算法引进,主要改进是将粒子群优化算法用于泛化函数的最优值的计算。文献[55]针对阈值分割选取最优阈值计算时间长的问题,使用粒子群算法利用香农熵或模糊熵作为目标函数然后进行多级图像阈值分割。孙惠杰等人[56]是国内较早通过粒子群算法对分水岭图像分割法缺陷进行改进的研究人员,他们将粒子群算法和区域生长法与之融合,首先为设定区域生长参数使用香农熵确立目标函数,其次依据灰度级将区域合并,最终利用粒子群算法进行寻优并分割。这些改进虽然有效地避免了一定的分割过剩现象,但是有两方面的局限性:其一,算法对初始参数依赖很大,参数要经过人工经验的设定不能自动给出,其二,粒子群算法易陷入局部最优的问题没有解决,实际分割图像中因陷入局部最优而导致的部分区域分割过剩还是存在。文献[57]中,使用粒子群算法解决模糊C均值算法对含噪声图像分割易陷入局部最优的问题,主要将图像转换为中智学图像,然后把结合粒子群算法和模糊C均值算法的新算法用于中智学图像进行分割。
第二,针对粒子群算法中易陷入局部最优、后期速度慢等问题,提出自己的改进方法。文献[58]为改进粒子群在搜索后期因种群多样性减少而使搜索能力下降的问题,将信息熵和粒子群算法结合,通过将信息熵的最大值化为适应度函数。文献[59]引入小生境的概念来改进粒子群算法,通过划分小生境来保证物种的多样性,以此克服后期收敛速度慢等问题。这样的改进没有改变粒子群算法在局部搜索能力弱的问题,此外也没能进一步提高原有算法分割的精度。文献[60]采取将彩色图像转化到HVS 空间,随后通过改进粒子群算法中惯性权重等防止陷入局部最优。
第三,通过结合粒子群算法和其他算法进行优化图像分割是当前行之有效的手段之一。文献[61]在使用粒子群算法的基础上,吸收遗传算法变异操作的思想,使用小波变异的操作提高粒子群的种群多样性,一方面提高算法的收敛精度,另一方面降低算法运行时间。文献[62]通过将模拟退火机制思想加入到粒子群算法中,降低二维熵图像分割法的时间。在近期的文献中,Zhang等人[63]在为视网膜图像进行视盘(OD)分割时,将集成深度神经网络通过粒子群算法进行强化,以使搜索过程多样化。Liang等人[64]针对石油开采过程中的分割岩石图像情况复杂的状况,将粒子群算法引入到模糊C均值算法中,首先在粒子群优化算法中引混沌映射图嵌入,然后使用改进后的算法找到支持向量机模型的最优参数配置,实现图像的二元初始分割,实现了基于目标函数改进的监督模糊C均值算法。Farshi等人[65]对彩色图像分割技术进行改进,使用多峰粒子群优化图像分割算法,首先通过高斯滤波器进行平滑处理,其次使用多峰粒子群法寻找直方图中聚类的峰,最后依据欧几里德距离将各个像素分配给响应的集群。此外在深空探索领域中,轨快速检测的图像分割是重中之重,文献[66]将粒子群算法同灰狼算法融合,进行多级阈值图像分割。以上的融合算法虽然进一步解决了如陷入局部最优、收敛精度低的问题,但是因为其他算法的加入不可避免地使得改进后的算法参数增多,从而导致算法的复杂度变高,运行时间变长。
1.4.1 麻雀搜索法原理
麻雀搜索法来源于对自然界麻雀种群觅食行为和反捕食行为的研究。麻雀搜索法主要将麻雀种群分为两类,发现者和加入者。发现者主要负责寻找食物和领导整个种群前往觅食区域,加入者跟随发现者寻找食物。发现者和加入者的角色可以互相转换。在搜索食物过程中,麻雀会时刻观察四周同伴和捕食者,一方面如果发现高摄取量的同伴时为提高自己的捕食效率从而攻击,另一方面当麻雀发现捕食者时会迅速发出特定声响,从而使整个种群躲避危险离开整个区域。此外处于外围的麻雀为防止捕食者的攻击会不断调整自己的位置,而内部的麻雀则会接近旁边的伙伴。
算法设计在一个D维的空间中,存在着N只麻雀,第a只麻雀在D维空间的位置为Xa=[xa1,xa2,…,xad,…,xaF],其中a取值1 到N,算法主要分为三部分公式的更新,其一为发现者,它占种群的百分之十到百分之二十,定义t为当前迭代的次数,atermax为迭代次数的界限,α为0到1中随机数,则有发现者的位置更新公式如下:
除去发现者的麻雀皆为加入者,其位置更新公式如下:
种群周围预警的麻雀占种群数的百分之十到百分之二十,定义β为步长的控制参数,K是-1 到1区间的随机数,fa为当前适应度值,fg为全局最佳适度值,fw是全局最低适度值,e作为步长控制参数,是服从均值为0,方差为1 的正态分布的随机数,其位置更新公式如下:
1.4.2 算法改进和在图像分割中的应用
麻雀搜索法因为提出时间较短,所以当前对其改进的方法有限。文献[67]将麻雀搜索法和传统的大津法结合进行图像分割,主要思想是将类间方差作为麻雀搜索法的适应度函数,以此求出最佳阈值进行分割。针对麻雀搜索法在算法后期易陷入局部最优的问题进行改进,首先使用改进Tent 混沌序列进行种群初始化,加强算法的全局搜索能力;其次使用高斯变异的方法用于加强局部搜索能力和精度,并且对陷入局部最优的解生成Tent 混沌序列,以此对其他个体进行混沌扰动,强化算法跳出现有局限的能力。文献[68]为解决麻雀搜索法运行时间长的缺点,将鸟群算法[69](Bird Swarm Algorithm,BSA)中鸟可以选择自由活动的思想同麻雀搜索法结合,改进麻雀搜索法中发现者和加入者位置更新的公式,在减少时间的同时,提高搜索能力,之后将求出的阈值进行基于Kapur熵和类间方差的多阈值图像分割。
类比于蚁群算法和粒子群算法,介绍蝙蝠算法、鲸鱼优化算法、人工蜂群算法、萤火虫算法、布谷鸟搜索法、细菌觅食算法和蜉蝣算法的原理和在图像分割的应用。
1.5.1 蝙蝠算法原理及图像分割应用
蝙蝠算法于2010 年被Yang 提出,通过模拟蝙蝠在黑暗中利用回声定位来发现食物和躲避障碍的行为,是一种随机搜索法。蝙蝠算法因为自身所需的参数少、鲁棒性强的特性,常通过进一步优化和传统的图像分割技术结合可以得到效果更好的分割结果。
文献[70]提出了一种具有遗传交叉操作和智能惯性权重的混合蝙蝠算法来选择最佳阈值。将类间方差(大津法)和Kapur熵用于目标函数。在新的算法中,智能惯性权重基于迭代次数和适应性值来平衡算法的勘探和开发。利用遗传算法的交叉运算强化算法的局部搜索能力。同时,随机向量被beta 分布取代,从而以一种聪明的方式更新了蝙蝠的频率。文献[71]为改进最小交叉熵阈值分割法存在的计算时间长分割效率低的问题,引入蝙蝠算法进行阈值的求解,以此降低求解时间,此外对蝙蝠算法中权重参数进行自适应调整,将时变惯性权重策略用于算法更新公式上,用于解决在迭代后期收敛速度下降问题。文献[72]为更快求出多级阈值进行图像分割,采用了将蝙蝠算法与侵入性杂草优化相结合的混合蝙蝠算法来选择最佳阈值。在新的算法中,通过与侵入性杂草优化算法集成来增强局部搜索能力。此外,提出了一种基于拉格朗日插值的惯性权重,以平衡勘探与开发。在新的算法中,根据适应度的值调整正态分布的比例参数。
1.5.2 鲸鱼优化算法原理及图像分割应用
自然界中座头鲸可以识别猎物位置并可以使用独特的气泡网觅食法进行狩猎。鲸鱼优化算法就以此为灵感被Mirjalili 提出的,主要通过模拟座头鲸的螺旋气泡网的狩猎法达到优化结果。诸多研究者将鲸鱼优化算法同图像分割技术结合起来,并对图像分割技术原有不足或鲸鱼优化算法不足进行相应的优化。
文献[73]将鲸鱼优化算法同二维最大熵阈值分割结合,对鲸鱼优化法中过早收敛现象进行改进。首先将反向解方法结合猫映射产生混沌序列以此产生初始种群,其次引入黄金正弦算法和疯狂算子对算法中位置更新公式进行改进。文献[74]为应对COVID-19的新型病毒的检测提出一种新型粘(液)菌算法并和鲸鱼优化算法结合进行图像阈值分割。通过使用改进的阈值分割将X 射线图像中包含COVID-19 特征的感兴趣区域提取出来以提高机器学习的精度,从而判断感染者是严重、轻度还是未感染。文献[75]提出了一种新的混合鲸鱼优化算法(WOA-DE),用以更好地平衡优化的开发和探索阶段。为了提高开发能力,采用了差分进化(DE)作为局部搜索策略。然后,使用WOA-DE 算法来解决多级彩色图像分割问题,Kapur 熵用于获得有效的图像分割方法。
1.5.3 人工蜂群算法原理及图像分割应用
人工蜂群算法由Karaboga提出,算法灵感来源于蜂群集体采蜜行为。其优势在于所需参数少,易于操作,有着较好的搜索精度,缺点在于局部搜索能力弱,收敛速度一般等。研究人员针对不足常用三种方法进行改进,一是调整算法参数,二是优化蜂群速度更新规则,三是结合其他算法。
人工蜂群算法常用于图像分割技术的优化。文献[76]提出一种均值人工蜂群算法,用于解决脑磁共振图像分割的多特征、多领域的问题。主要思想是通过迭代前最优解均值信息改进搜索方程从而使得搜索行为平衡,最后将算法与模糊C均值聚类算法结合进行分割。文献[77]为解决多级阈值问题,在引入人工蜂群算法基础上,将正弦余弦算法融合使用,解决了局部最优导致的停滞迭代问题。文献[78]针对多目标问题和模糊C均值算法最佳聚类中心人为设定导致的随意性,通过模糊隶属函数使得人工蜂群算法更快地确定聚类中心,然后进一步改善算法中局部搜索能力,再使用多准则作为优化问题,最后进行分割。
1.5.4 萤火虫算法原理及图像分割应用
2008年Yang通过对自然界中萤火虫利用自身发光特性吸引其他同类行为的研究提出了萤火虫算法。
在应用到图像分割领域上,文献[79]提出了一种针对光谱聚类算法受参数影响大和计算复杂度高的问题,首先利用差异阈值测量获取图像中典型的彩色像素,其次构建其中的相似度量标准,通过得出的标准将代表性彩色像素分组,再将萤火虫算法引入从而克服阈值参数的影响,最后进行分割得到结果。文献[80]将核粗糙集的聚类算法同萤火虫算法结合以提高结果的输出稳定性和收敛速度。针对相似度度量问题,使用核函数代替欧几里德距离,最后通过三种图像进行测试。文献[81]为解决Otsu多阈值分割时间复杂度高的问题,将混合细胞膜算法同萤火虫算法结合,一方面减少分割时间,另一方面通过算法融合解决萤火虫算法“早熟”现象。
1.5.5 布谷鸟搜索算法原理及图像分割应用
通过对鸟类中布谷鸟特殊的育雏行为的研究,Yang在2009年提出布谷鸟搜索法。布谷鸟搜索法主要思想来源于布谷鸟两种独特的行为,布谷鸟的莱维飞行机制和寄生性育雏行为。因算法所需参数少,随机搜索路径优秀的特点一些学者将其用于图像分割中。
文献[82]在医学图像分割领域中,针对乳腺癌检测,乳房X 射线照片图像分割结果和速度至关重要,通过Otsu 算法进行分割,研究者发现麦卡洛克-皮特斯模型同布谷鸟搜索法结合后的算法的结果在提高速度和精度的前提下相比谐波搜索算法更具有鲁棒性。文献[83]为进一步提高图像分割速度,将改进后的布谷鸟算法同Tsallis 熵阈值图像分割法结合。主要思想是将布谷鸟搜索法中适度函数值改为Tsallis熵,实现无参数搜索,通过自身迭代将最大化的Tsallis熵作为最佳阈值进行分割。文献[84]将布谷鸟搜索法应用到道路裂缝的检测上,通过去噪和确定聚类中心,使用K均值聚类算法进行分割,提取到优于Otsu算法的结果。
1.5.6 细菌觅食算法原理及图像分割应用
细菌觅食算法提出时间较早,其思想来源于人体大肠杆菌进食行为。该算法通过迁移、繁殖、趋向三种行为进行寻优,相对于其他算法优势在于易跳出局部最优。
将细菌觅食法同图像分割结合是该算法应用场景中的一个方向。文献[85]在对牙齿图像进行分割时,将模糊聚类算法同细菌觅食算法结合,并与传统细菌觅食算法进行对比实验,通过实验对比算法的分离、分配指数和分配系数,前者的分割中的应用更加优秀。文献[86]提出新的想法,最佳边界点检测方法利用像素强度值对磁共振脑部图像进行分割。算法的重点在于如何将脑部图像分为三个区域,并确定聚类中心。首先利用改进的细菌觅食算法确定模糊C均值(FuzzyC-means)算法的聚类中心,得到边界点,其次使用FCM算法得到隶属度矩阵,最后将其用于分割。文献[87]针对癌症中肿瘤区域进行图像分割研究,提出了一种粒子群算法和细菌觅食算法组合的全新算法,主要改进在于通过粒子群算法找到全局最优的细菌位置。其次再通过结合模糊C均值算法进行图像分割,该算法可以确定肿瘤部分从而减少医生的诊断时间。
1.5.7 蜉蝣算法原理及应用
蜉蝣算法是2020年7月由Konstantinos Zervoudakis等人提出的新的群体智能算法。其主要灵感来自于自然界蜉蝣的飞行行为和交配行为,通过对其行为建模提出了蜉蝣算法,该算法还结合了其他智能算法,主要过程包括交叉、变异、聚集、求偶舞蹈和随机游走。并对离散流车间调度问题进行求解,对比其他群体智能算法,该算法的收敛速率和收敛速度方面具有优越性,并且在求解过程中对蜉蝣的求偶舞蹈和随机飞行进行抽象建模,加强了算法中探索和开发特性之间的平衡,可以让算法避免陷入局部最优。因其提出时间较短,暂无对其改进和结合图像分割技术的应用。但其综合了智能算法两大类别的优势,在阈值寻找或熵值求取上有着自己的优势。
表1通过结合上文所引用的参考文献,将部分蚁群算法结合图像分割技术的实例整理出来,进行列表分析和总结。
通过表1可见蚁群算法经常与聚类算法结合使用,其目的在于自动确定聚类算法中的聚类中心;其次和阈值分割法结合,目的在于减少选取阈值的搜索时间;另外也可以对神经网络进行优化从而达到提高精度的目的。在蚁群算法结合后的适用场景上,大部分的研究人员将其应用在医学图像分割上,另外文献[33]应用于红外图像的分割上,文献[37]应用于枣椰树的检测。
表2通过结合上文所引用的参考文献,将部分粒子群算法结合图像分割技术的实例整理出来,进行列表分析和总结。
表1 蚁群算法综合分析表
表2 粒子群算法综合分析表
从表2可知粒子群算法常与阈值分割法进行结合,目的在于进一步提高分割的速度,这为处理大规模图像分割提供了很好的方法。该算法也同分水岭分割法结合,一定程度上解决了过度分割的问题;使用粒子群算法优化神经网络然后进行图像分割也是其中一个研究方向。
在大部分情况下引入粒子群算法可以优化算法的运行速度,但是由于其他算法的加入导致不可避免地增加参数,这会使得整体的算法复杂度提高。
表3通过结合上文所引用的参考文献,选取所列算法中部分其他群体智能算法结合图像分割技术的实例,进行列表分析和总结。
表3 其他群体智能算法综合分析表
参照表3 可见各个群体智能算法常与阈值分割和聚类算法进行结合,解决了图像分割技术自身的缺陷,提高了图像分割的精度和速度,在适用场景上,大部分的群体智能都常应用于医学图像分割中。
通过综合表中信息进行分析总结可得,群体智能算法常结合三种图像分割技术:第一,结合阈值分割法使用,通过算法求出最佳阈值;第二,结合聚类算法使用,通过算法自动得出聚类中心等之前需要人为设定的参数;第三,同神经网络或机器学习结合使用,通过算法自身优势对其进行优化,或在进行识别分割前进行预处理。
在群体智能算法结合图像分割技术的使用场景上,大部分研究者将其应用在医学图像分割领域,如应用在CT图像、MRI图像等,也有一些研究人员将其应用于红外图像、合成孔径雷达图像等方面。这些应用图像的选取都较依赖于结合算法之前原图像分割法的适用规则。
可见群体智能算法是一种优秀的优化方法和工具,它能有效地解决原有算法的部分缺陷从而得到更好的结果。但是,引入群体智能算法不能彻底改变算法固有的弊端,如在阈值分割上,当目标和背景灰度相差极低时,得出的结果效果依旧差。此外在引入新算法改进的过程中不可避免地也会引入新算法本身的弊端。这些问题还有待解决。
本文系统论述了群体智能算法的发展历程,并通过大量文献证明算法的改进和在图像分割领域应用的几种典型的结合方法及改进方法。通过数十年的发展,以蚁群算法和粒子群算法为代表的群体智能算法理论和基础已经逐步完善,算法中大体框架如下:开始进行种群的初始化,随机生成指定大小种群的位置和初始的参数,其后使用响应的适度函数求取各自的适度值,通过比较各适度值得到全局和个体最优值,然后通过各个不同的位置速度更新规则进行种群位置和速度的更新,以此得到更优的一组解,然后通过多次迭代和判断是否满足终止条件,不满足条件进行位置更新继续寻优,满足条件就跳出循环得到最终的解。
在这框架中,另外相同之处为防止陷入局部最优会加入一定量的随机数,不同之处在于位置更新的规则都借鉴于各自种群的独特习性和捕食技巧。
群体智能算法的发展日新月异,在诸如网络安全协调防御技术、人工神经网络结构优化、电力调度、金融预测、混沌系统等领域广泛应用。
虽然群体智能算法发展迅速并且在解决工程中越发复杂的信息问题有很好的效益,但是一直存在以下几种问题,其一,因为其原理和依据来自于对自然界生物群体的模拟与仿真,其本身的数学分析相对于薄弱,没有足够的数学理论。其二,因群体智能算法是在解空间中通过重复迭代进行寻优,故在寻优过程中可能会陷入局部最优的问题,在算法前期和后期收敛速度控制不精确。其三,初始化参数过于人为设置,使得产生参数设计统一标准问题。此外在应用于图像分割上除了存在上述问题外,还存在着如结合图像处理技术后因参数过多运行时间加长,或因算法结果的随机性使得在需要高精度图像分割得出的结果效果差等。
群体智能算法依然是人工智能算法研究领域中一个重要的方向,未来依然会不断涌现出新的群体智能算法,随着越来越多的新算法的迭代,群体智能算法将会更加成熟。新的算法应需加强其中数学公式的推导和证明,在严密的数学理论推导出统一的初始参数,避免初始参数依靠经验进行确定,强化算法在位置更新规则上的分析,还应继续将群体智能算法和其他最新先进技术结合,不断完善自身缺点突破自身限制,以及提高其他先进技术性能。