基于改进狼群算法的最大熵图像分割法
2020-12-29王玉银罗培中
王玉银 罗培中
摘 要: 图像分割是图像处理的關键技术。为了提高图像分割的效率,文章提出基于改进狼群算法的最大熵图像分割法,修改狼群算法中固定步长为自适应步长,并将其应用于最大熵阈值计算中,通过寻找最优阈值来实现图像分割。仿真结果表明,该方法能够快速、准确地找到分割阈值,在一定程度上改善图像的分割效果。
关键词: 图像分割; 最大熵; 狼群算法; 最优阈值
中图分类号:TP391.9;TP312 文献标识码:A 文章编号:1006-8228(2020)12-50-03
Abstract: Image segmentation is the key technology of image processing. In order to improve the efficiency of image segmentation, a maximum entropy image segmentation method with improved wolf colony algorithm is proposed, the fixed step size in wolf colony algorithm is modified to adaptive step size, and it is applied to calculate the maximum entropy threshold, and the image segmentation is realized by finding the optimal threshold. The simulation results show that the method can quickly and accurately find the segmentation threshold, and improve the image segmentation effect to a certain extent.
Key words: image segmentation; maximum entropy; wolf colony algorithm; the optimal threshold
0 引言
图像分割是一种重要的图像技术,是图像处理和图像识别的基础。图像分割在实际中已得到广泛的应用[1],例如卫星图像、医学图像、面部识别以及军事、农业工程等方面。图像分割是将图像中有意义的部分提取出来。群体智能优化算法作为一种新型的优化方法,因其简单、有效,被广泛应用于各个领域。为了改善图像的分割效果[2],本文提出一种基于改进狼群算法的图像分割法。首先计算最大熵法的阈值目标函数,然后使用改进狼群算法对目标函数进行计算,得到图像的最优分割阈值,最后根据阈值进行分割。
1 相关理论
1.1 最大熵法
图像信息熵是图像所包含的平均信息量,最大熵对应的阈值即为图像分割阈值。图像的二维熵是由图像中灰度分布特征信息和邻域灰度均值构成的特征二元组。
令(i,j)表示二元组,其中i表示像素的灰度值,j表示邻域灰度均值。f(i,j)为二元组(i,j)出现的频数,则有:
1.2 狼群算法
狼群算法是模拟自然界狼群行为,算法主要有两个准则和三种智能行为,即“胜者为王”的头狼产生规则和“强者生存”的狼群更新原则以及探狼游走、头狼召唤和猛狼围攻三种行为构成。另外狼群是捕获猎物后并不是平均分配,而是按照由强到弱的方式分配,即先分配给最先捕到猎物的狼,再分配给弱小的狼。
狼群算法的几个规则:
⑴ 头狼产生规则
在初始解空间中,目标函数值最优的人工狼为头狼;在迭代过程中,每次迭代后对最优狼的目标函数与上一次迭代中头狼的位置进行比较,如果更优则更新头狼位置,如果存在多个相同解的情况下,则随机选择一个解为头狼位置。
⑵ 探狼游走行为
选取目标函数值最佳的几匹人工狼(除头狼外)为探狼,记录当前探狼的目标函数值,接着探狼向h个方向游走(令游走步长为[stepa]),则第p(p=1,2,…,h)方向上探狼所处的位置为:[xpi=xi+sin(2π×ph)×stepa],计算每个方向探狼所处的函数值,选择函数值最大且大于当前函数值的方向前进,更新探狼的转态,重复游走行为直到达到最大游走次数或者某匹狼的函数值大于头狼,则代替头狼发出召唤行为,更新头狼的位置。
⑶ 召唤行为
头狼发出召唤行为,猛狼(除了头狼、探狼之外)以较大的奔袭步长向头狼位置逼近。奔袭过程中,如果猛狼的位置优于头狼,则猛狼替换头狼,发出召唤行为[4]。否则猛狼继续奔袭,直到距离头狼位置小于围攻距离,转换为围攻行为。
⑷ 围攻行为
当猛狼距离头狼较近时,将联合探狼进入围攻行为并捕获。若围攻过程中,人工狼的目标函数值优于头狼[4],则代替头狼发出召唤行为,否则人工狼位置不变。
1.3 改进狼群算法
针对狼群算法对局部区域搜索较粗略,容易过早局部收敛[5],提出一种自适应步长的狼群算法。主要表现在个体狼召唤行为和围攻行为,具体如下:
⑴ 改进的召唤行为
在基本狼群算法中,召唤行为的奔袭步长固定不变,搜索范围有限。因此,步长计算中加入动态惯性权重系数[6],使奔袭步长和狼群算法的适应度值之间建立关联,根据狼群算法的适应度值变化而自动调整大小。从而提高算法在搜索过程中的多样性。奔袭步长计算公式:
2 基于改进狼群算法的最大熵法
⑴算法初始化。初始化狼群规模、空间维数、最大迭代次数、探狼比例因子、距离判定因子、围攻距离、探索方向等。
⑵初始化狼群位置,按适应度函数降序排列,头狼为第一位。
⑶根据探狼比例因子计算探狼数目,探狼开始游走,游走过程中,选取目标函数值最大且大于当前目标函数的方向前进一步。如果探狼的目标函数值大于头狼,更新头狼信息,发出召唤。若没有发现,探狼将继续游走直到达到最大游走次数,头狼在原本的位置发出召唤行为。
⑷ 猛狼听到头狼召唤,以奔袭步长公式(式⑹)快速靠近头狼,若奔袭中,猛狼的目标函数值大于头狼,则代替頭狼发出召唤,退出当前循环。否则,继续奔袭直至到达围攻距离。
⑸ 到达围攻距离后,猛狼和探狼对猎物(头狼视为猎物)根据围攻步长公式(式⑺)进行围捕,若在围捕过程中,人工狼的函数值大于头狼的值,则更新头狼位置,直到捕获猎物。
⑹ 对狼群中的目标函数值重新排序,更新狼群,随机生成新的人工狼代替目标函数值较小的狼。
⑺ 判断目标函数值是否满足结束条件或者算法是否达到最大次数,若满足则结束,计算出最优阈值。不满足重复执行,直到满足条件为止。
⑻ 根据阈值进行图像分割。
3 实验与分析
为了验证改进狼群算法对最大熵阈值选取方面的可行性,本文对2幅图像进行了试验,分割结果如图1所示。初始化设定狼群规模为20、空间维数为2、最大迭代次数为500、最大游走次数为20、探狼比例因子为4、更新比例因子为6、距离判定因子为600、搜索范围为[1,256],探狼的探索方向为10。用改进狼群算法和基本狼群算法对图像进行100次重复试验,统计出两种方法计算最大熵分别得到结果相同的次数情况,试验结果如表1所示。
4 结论
针对基本狼群算法在计算最大熵阈值时,易陷入局部收敛,提出一种改进狼群算法。实验结果表明,将改进狼群算法用于最大熵阈值计算,能提高图像分割的速度和执行效率。在图像处理领域有较大的应用潜力。由于图像分割主要是针对具体的图像进行分割,而改进后算法的通用性有待进一步研究。
参考文献(References):
[1] 冯博.基于多智能体的图像分割[D].西安电子科技大学,2009.
[2] 吴鹏.萤火虫算法优化最大熵的图像分割方法[J].计算机工程与应用,2014.50(12):115-119
[3] 石帅,王睿,文思思,汤盈盈.基于机器视觉的隧道衬砌裂缝图像分割处理算法研究[J].高速铁路技术,2020.11(1):17-22
[4] 黄达.基于改进快速学习网的锅炉燃烧优化研究与应用[D].燕山大学,2019.
[5] 惠晓滨,郭庆,吴娉娉,赵昱.一种改进的狼群算法[J].控制与决策,2017.32(7):1163-1172
[6] 师喜婷.狼群算法的改进及其在复杂函数优化问题中的应用[D].西安理工大学,2018.