基于Logistic 回归麻雀算法的图像分割
2023-03-31陈刚林东陈飞陈祥宇
陈刚,林东,*,陈飞,陈祥宇
(1.福州大学 物理与信息工程学院,福州 350108;2.福州大学 计算机与大数据学院/软件学院,福州 350108)
近几年,智能优化算法广泛应用于机器学习、组合优化、图像处理等领域,由于其良好的寻优能力,很多学者将其应用到图像处理领域,并取得不错的成效。Capor 等[1]以萤火虫算法为基础,对K-means聚类算法进行改进,能够在医学图像上实现更好的分割平均误差、峰值信噪比和结构相似性指标; Li等[2]提出了一种基于动态粒子群优化K-means 聚类算法, 在图像分割中比传统K-means 聚类算法具有更好的视觉效果,在提高图像分割质量和效率方面也具有明显的优势;Kapoor 等[3]提出灰狼优化(grey wolf optimizer,GWO)算法在卫星图像分割中的应用,对GWO 进行适当的修改,以用作自动聚类算法;Khrissi 等[4]利用正余弦算法(sine cosine algorithm, SCA)解决了传统聚类算法存在的聚类中心初始化和局部最优收敛等缺点。文献[1-4]证实了一些智能优化算法通过优化K-means 聚类算法的初始聚类中心,可以取得不错的图像分割效果。
麻雀搜索算法(sparrow search algorithm,SSA)是2020 年提出的一种新型智能优化算法,与GWO算法、粒子群优化(particle swarm optimization,PSO)算法、引力搜索算法(gravitational search algorithm,GSA)等传统智能优化算法相比,该算法在搜索精度、收敛速度和稳定性等方面具有优越性[5],但也像大多数智能优化算法一样存在收敛早熟的现象。因此,学者们陆续提出一系列改进的算法来避免这个现象的发生,并提升SSA 的性能。吕鑫等[6-7]结合鸟群算法中飞行行为的思想来优化SSA,此外,还通过引入高斯变异和Tent 混沌扰动形成一种混沌麻雀搜索优化算法;Liu 等[8]引入混沌策略对算法的总体进行优化,并采用自适应惯性权重来平衡算法的收敛性、算法速率和探测能力;Yuan 等[9]利用重心反向学习机制初始化种群,并在发现者位置更新部分引入学习系数,以提高算法的全局搜索能力;Zhang 和Ding[10]主要利用Logistic映射、自适应超参数、变异算子来增强SSA 的全局寻优能力;Zhu 和Yousefi[11]提出了一种新的自适应SSA,并通过采用DE/best/1 变异策略和动态缩放因子来避免算法陷入局部最优; Liu等[12]提出平衡SSA,在Lévy 飞行机制中,使用随机游走算法对局部搜索进行适当的调整;Wang 等[13]构造了一种基于伯努利混沌映射、动态自适应加权、Cauchy 变异和反向学习的混沌麻雀搜索算法,并将该算法用于优化微网簇系统的运行成本;Ouyang 等[14]在发现者阶段引入基于透镜原理的反向学习策略,提高麻雀个体的搜索范围,然后提出可变螺旋搜索策略,使跟随者的搜索更加仔细和灵活。还有一些学者将改进SSA 应用于储能系统的成本最小化[15]、故障诊断[16]、机器人路径规划[17]等问题上,并取得不错的成效。
文献[6-17]是学者们关于SSA 的一些改进麻雀搜索算法,虽然在一定程度下能减少算法收敛早熟现象的产生,但依然存在以下2 个问题:①大多数文献直接替换了原SSA 中发现者的位置更新机制,缺乏一定的学习能力与择优能力;②仅注重全局搜索能力的提升,忽略了局部开发能力与全局搜索能力之间的平衡性。为此,本文提出一种新的改进麻雀搜索算法(modified sparrow search algorithm,MSSA)。一方面,文献[14]采用基于透镜原理的反向学习策略优化发现者的位置,受此思路,选择同样由相似三角形原理得到的基于小孔成像的反向学习策略进行优化。本文与文献[14]最大的不同是,MSSA保留了SSA 中发现者原有的位置更新机制并进行比较,选择更优的位置参与种群迭代,因此,在发现者位置更新阶段利用小孔成像反向学习的策略,丰富了麻雀种群寻优位置的多样性,提高了算法全局搜索能力;另一方面,本文与文献[10]中利用Logistic映射的性质初始化种群不同的是,Logistic 回归是围绕一个Logistic 曲线展开的,Logistic 曲线是一条严格单调递增的S 型曲线,可进行伸缩平移,因此,受Logistic 回归的启发,本文提出一种新的自适应因子对安全阈值进行动态控制,进一步平衡所提算法的全局搜索能力与局部开发能力。相比于4 种经典算法和文献[6]中的改进麻雀搜索算法(improved sparrow search algorithm, ISSA),MSSA 在6 个 标 准测试函数上表现出良好的寻优性能。在实际应用中,利用MSSA 优化K-means 聚类算法的初始聚类中心进行图像分割实验,并与传统K-means 聚类算法、PSO、SSA 及ISSA 进行对比。此外,选取峰值信噪比(peak signal to noise ratio, PSNR)、结构相似性(structural similarity, SSIM)和特征相似性(feature similarity, FSIM) 这3 种图像分割的度量指标来评估算法的分割性能,实验结果表明MSSA 的分割性能更好,具有较强的鲁棒性。
本文介绍了基于小孔成像的反向学习策略来丰富发现者的寻优位置,一种基于Logistic 回归的自适应因子来平衡算法的全局搜索与局部开发能力,提出一种MSSA 优化K-means 聚类算法进行图像分割的算法,并用PSNR、SSIM 和FSIM 这3 种度量指标验证其良好的分割性能。
1 改进麻雀搜索算法
1.1 麻雀搜索算法
SSA 主要是根据麻雀的觅食行为与反捕食行为而提出的新型群智能优化算法。麻雀的觅食行为对应着SSA 中发现者与跟随者,即每次迭代中选取位置较好的几只麻雀作为发现者,负责全局搜索食物并为所有跟随者提供觅食的区域和方向,剩下的麻雀作为跟随者,跟随发现者争夺食物;而麻雀的反捕食行为对应着SSA 中侦察预警机制,即部分种群的麻雀进行侦察预警,如果发现危险则放弃食物飞向新的位置。在d 维解空间中,麻雀个体的位置代表搜索空间的一组有效解,麻雀个体的能量储备代表着适应度值。
SSA 中发现者的位置更新为
1.2 基于Logistic 回归麻雀算法
1.2.1 逐维小孔成像反向学习优化发现者位置
在式(1)发现者更新位置阶段,当 R2<ST 时麻雀个体的位置随着迭代次数的增加而整体呈递减的趋势,意味着迭代后期种群的多样性逐渐减少,增大了算法陷入局部最优解的概率。
由式(6)可以看出,当k=1 时的小孔成像反向学习就是常见的反向学习策略,而常见的反向学习策略得到的候选解一般是固定的,但小孔成像反向学习可通过改变接收屏与小孔屏之间的距离来调整比例系数k,从而得到更广的反向位置(解)。
利用逐维小孔成像反向学习策略对发现者位置进行更新,将SSA 中 R2<ST时发现者的位置通过式(5)映射到空间中得到反向位置(解),然后将发现者位置的适应度值与反向学习后的适应度值进行比较筛选,若反向学习后的适应度值优于原适应度值,则反向位置(解)取代原发现者的位置;反之,则保留原发现者位置至下一代。因此,引入小孔成像反向学习策略不仅丰富了发现者的寻优位置,使麻雀个体每一维可大可小,也在一定程度上增加种群的多样性,减少收敛早熟现象的产生。
图1 小孔成像反向学习原理Fig.1 Principle of reverse learning for small hole imaging
1.2.2 基于Logistic 模型的自适应因子
在麻雀自身的觅食过程中,一旦发现捕食者,它们通过唧唧喳喳的叫声作为警报信号。当 R2(警报信号)<ST(安全阈值),发现者在觅食区域内未发现捕食者的存在,可继续向其他区域开展大范围搜索,代表算法的全局搜索能力;当 R2( 警报信号)≥ST(安全阈值),发现者意识到危险的存在,向其他麻雀发出逃离信号,所有麻雀迅速飞往其他安全区域觅食,代表算法的局部开发能力。而安全阈值在SSA 中往往是固定参数,虽然能发挥算法的全局搜索能力,但忽略了算法的局部开发能力,可能会导致算法收敛早熟现象的发生。
为了平衡算法的全局搜索能力与局部开发能力,提出一种基于Logistic 模型的自适应因子。Sigmoid 函数是生物学中一种常见的Logistic 曲线,也常应用于神经网络中,其可将变量映射到区间[0,1]之间,表达式为
式中:Ag 为幅值增益;a 和b 分别为伸缩与平移因子;ω为一个很小的正数,可动态设定函数的上下界。图2 为不同参数下对应的函数曲线,其中ω=0.05,可根据实际应用设定。在算法迭代前期的发现者阶段,可保证安全阈值长时间处于较大值的范围内,发现者对安全区域进行大范围的搜索,指引种群往最优位置附近收敛;随着迭代次数的增加,安全阈值开始非线性减小;当到迭代后期时,安全阈值往往处于较小值的范围内,发现者在最优位置的附近进行局部开发,逼近理论最优解,提高算法的收敛精度。
图2 不同参数下对应的函数曲线Fig.2 Curves of functions corresponding to different parameters
1.2.3 算法伪代码
输入:最大迭代次数G,种群大小P,发现者的数量PD,侦察者的数量SD,安全阈值ST,警报值R2。初始化麻雀种群并定义其相关参数。
传统K-means 算法通常是随机选择K 个聚类中心,但若选取的聚类中心不恰当,可能会得到次优解或者陷入局部最优解,因此,需要选择合适的初始聚类中心。文献[19-22]通过相关算法优化K-means算法以解决初始聚类中心敏感等问题,借鉴此思路,利用MSSA 对K-means 算法的初始聚类中心进行优化,其关键在于结合K-means 算法建立MSSA的目标函数,如式(9),即可理解为单目标优化问题,利用MSSA 求得最佳初始聚类中心点使得目标函数适应度值最小。
2 基于MSSA 的K-means 图像分割算法
基于MSSA 的K-means 图像分割算法主要包含2 部分:①利用MSSA 的全局搜索能力在图像点集里找到最佳初始聚类中心;②将MSSA 输出的最佳初始聚类中心用在K-means 算法上进行图像分割,有效地避免易陷入局部最优解的问题,并且得到更好的分割效果。基于MSSA 的K-means 图像分割算法的流程如图3 所示。
图3 基于MSSA 的K-means 图像分割Fig.3 K-means image segmentation based on MSSA
3 实验结果与分析
3.1 仿真实验环境与测试函数
为了验证MSSA 在求解实际问题中的性能,选取6 个标准测试函数进行仿真实验,如表1 所示。同时,将MSSA 与PSO、SCA、人工蜂群[23](artificial bee colony,ABC)算法、SSA 及ISSA 进行性能对比。
表1 测试函数Table 1 Test functions
所有的仿真实验均在CPU 为AMD 锐龙 5 4600 H、16 GB 内存、Windows10 64 位的操作系统的计算机下实现,并采用MATLAB2018A 软件进行编译运行。算法的通用参数设置为:种群大小P =100,最大迭代次数G=200,其他参数设置如表2 所示,并记录各个算法运行30 次的平均值与标准差,算法的运行结果如表3 所示。
表2 算法参数设置Table 2 Parameter settings for algorithms
从表3 中的数据可以分析出,MSSA 与传统算法PSO、SCA、ABC 相比,MSSA 有更强的全局寻优能力和更好的稳定性。另一方面,与传统算法SSA,以及其他学者改进的算法相比,在F1~F3高维单峰问题中,MSSA 的收敛精度比SSA、ISSA 更高,算法稳定性更好;在函数F4~F6多峰问题中SSA、MSSA 均能找到理论最优值,方差也为0,而其他学者改进的算法ISSA 在F4上未能找到理论最优值。
表3 算法性能对比Table 3 Performance comparison of algorithms
为了更加直观地反映算法的收敛特性,图4 为6 种算法在F1~F6测试函数上的收敛曲线。从图4(a)~图4(c)中可以更加明显地看出MSSA 的收敛精度均优于其他算法;在图4(d)中,MSSA 在与SSA 都能找到理论最优值的同等情况下,收敛速度最快;在图4(e)和图4(f)中,除PSO和ABC 外,其他算法均接近甚至达到理论最优值,MSSA 的收敛速度均优于其他算法。从图4 的实验结果可以得出,MSSA 的寻优能力较强,性能稳定,能够有效地跳出局部最优解。
图4 算法的收敛曲线对比Fig.4 Comparison of convergence curves of algorithms
3.2 时间复杂度分析
从3.1 节的实验结果可以看出,使用不同的算法得到的结果可能一样,但未考虑算法的运行效率问题,并不能说明两者性能相同。一个算法的运行效率可以用算法的时间复杂度与空间复杂度来衡量,而在大多数情况下是用算法的时间复杂度来比较。为了充分验证MSSA 的突出性能,计算它与SSA、ISSA 的时间复杂度,如表4 所示,其中,O(·)为时间复杂度。根据1.1 节SSA 的原理介绍可知,算法可分为5 个阶段组成:初始化种群阶段、发现者位置更新阶段、跟随者位置更新阶段、侦察预警机制阶段、全局最优位置更新阶段。参数设置与3.1 节保持一致,其中d 为维度,求解适应度函数的时间为f(d)。
由表4 的对比结果可知,改进算法ISSA、MSSA与SSA 在5 个阶段的时间复杂度相同,即意味着提出的改进算法MSSA 并不是以牺牲运行效率为代价来换取性能的提升。
表4 时间复杂度对比Table 4 Comparison of time complexity
3.3 基于MSSA 的K-means 图像分割实验
为了验证基于MSSA 的K-means 图像分割算法性能的显著性,选择8 组测试图像进行实验,并选取PSO、SSA、ISSA 及MSSA 这4 种算法优化Kmeans 聚类算法和传统K-means 聚类算法进行图像分割效果的对比。由于K-means 聚类算法对K 值的依赖性比较强,K 值选择不当会对结果产生很大的影响,因此K 值设为5,避免无关因素的干扰。算法通用参数:种群大小P =30,最大迭代次数G=200,各算法的其他参数与3.1 节保持一致,其中PD=9,SD=21。
从主观视觉效果上看,K-means 的分割效果过于粗糙,PSO、SSA 与ISSA 的分割效果比K-means略好,但一些重要细节没有分割出来,而MSSA 的分割效果显然要比前4 种算法好。例如,如图5 所示:第1 行(实验1)和第 7 行(实验7)分割效果中MSSA 能够将部分细微的特征信息分割出来,虽然分割效果与ISSA 一样,但分割性能仍然是最优的;第2 行(实验2)分割效果图中MSSA 分割完整性较好,颜色显著;第3 行(实验3)分割效果图中传统K-means 聚类算法能分割出图像的大致轮廓,但无法分割出原始图像中的细节信息,而MSSA 表现出更加清晰的纹理信息和显著特征;第4~6 行(实验4~6)分割效果图中MSSA 比其他算法保留了更多的细节信息,轮廓更加清晰,表现出算法更强的鲁棒性与适应性;第8 行(实验8)分割效果图中MSSA很大程度上接近于原图。综合分析可知,MSSA 的分割效果比传统K-means 聚类算法、PSO、SSA 及ISSA 好,图像细节信息保留得更加完整,鲁棒性更强。
图5 分割结果对比Fig.5 Comparison of segmentation results
为了能够进一步定量评估各优化算法的分割性能,选取了3 种常见的图像分割的度量指标PSNR、SSIM 及FSIM 对本节5 种算法的分割结果进行分析,如表5~表12 所示。
表5 实验1 的分割结果评估Table 5 Evaluation of segmentation results for experiment 1
表6 实验 2 的分割结果评估Table 6 Evaluation of segmentation results for experiment 2
表7 实验3 的分割结果评估Table 7 Evaluation of segmentation results for experiment 3
表8 实验4 的分割结果评估Table 8 Evaluation of segmentation results for experiment 4
表9 实验5 的分割结果评估Table 9 Evaluation of segmentation results for experiment 5
表10 实验6 的分割结果评估Table 10 Evaluation of segmentation results for experiment 6
表11 实验7 的分割结果评估Table 11 Evaluation of segmentation results for experiment 7
表12 实验8 的分割结果评估Table 12 Evaluation of segmentation results for experiment 8
PSNR 用于测量分割后的图像与原始图像之间的差值[24],PSNR 定义可由式(10)和式(11)表示,PSNR 值越大,代表图像分割质量越好。
SSIM 用于测量原始图像与分割图像之间的相似度。SSIM 值越大,分割效果越好。SSIM 定义为
式中:uI和 useg分别为原始图像与分割图像的平均值;σI和 σseg分别为原始图像与分割图像的标准差;σI,seg为 原始图像与分割图像的协方差;c1和 c2为确保稳定性的常量。
FSIM 是反映原始图像和分割图像之间特征相似性的度量指标,用于评价局部结构和提供对比度信息[25]。FSIM 的取值范围为[0,1],其值越接近1,代表分割效果越好。FSIM 的定义如式(13)~式(18)所示:
式中:Ω为原始图像的所有像素区域;SL(x)为相似性得分;PCm(x)为 相位一致性度量;T1和 T2为常量;G 为梯度下降;E(x)为在位置x 上的响应矢量大小,并且尺度为s;ε 为一个极小的数值;As(x)为尺度s的局部大小。
从表5~表12 的度量指标上看,K-means 分割结果较差,PSNR 值、SSIM 值及FSIM 值均远低于PSO、SSA、ISSA 及MSSA。MSSA 在图5 的实验1和实验7 分割结果中PSNR 值、SSIM 值及FSIM值与ISSA 一致,仅在FSIM 值上略小于PSO,但是整体分割性能要优于其他算法;MSSA 在图5 的实验2、实验4 和实验 8 的分割结果中PSNR 值、SSIM值及FSIM 值均高于其他算法,并在图5 的实验8 中FSIM 值接近于1,表明分割图像与原始图像具有较高的特征相似性;MSSA 在剩余测试图像的分割结果中PSNR 值、SSIM 值均要高于其他算法,仅在FSIM 值上要低于PSO。从整体的分割结果评估中可以看出MSSA 无论是在主观视觉效果还是度量指标,其分割性能要优于其他算法,可以产生良好的分割效果,也间接证明了MSSA 良好的寻优性能,解决了SSA 易陷入局部最优解的问题和K-means聚类算法对初始聚类中心敏感的缺点,从而得到极佳的初始聚类中心,进一步提升图像的分割质量。
4 结 论
针对SSA 存在的不足,提出一种新的改进算法MSSA,并通过6 个基准函数与其他算法进行仿真对比,最后利用MSSA 优化K-means算法进行图像分割,得出以下结论:
1) MSSA 的全局搜索与局部开发能力得到提升,能够有效地跳出局部最优解,证实了提出的2种策略进行算法改进的有效性。首先,采用小孔成像反向学习策略丰富发现者的寻优位置,帮助算法跳出局部最优解;其次,对Sigmoid 函数进行伸缩平移,提出一种新的自适应因子对安全阈值进行动态控制,平衡算法的全局搜索能力与局部开发能力。
2) 通过在6 个基准函数上的仿真实验结果及改进算法的时间复杂度对比,可以看出MSSA 的寻优性能要优于PSO、SCA、ABC 和SSA,并在相同的算法时间复杂度的情况下比其他学者提出的改进算法ISSA 的收敛精度更高,收敛速度更快。
3) 3 个度量指标PSNR、SSIM 及FSIM 验证了MSSA 算法突出的分割性能,解决了SSA 易陷入局部最优解的问题和K-means 聚类算法对初始聚类中心敏感的缺点,其分割效果均优于传统K-means算法、PSO 算法、SSA 和ISSA。
由于聚类数K 值的不确定性,将成为接下来改进的工作重点。