基于鱼鹰算法优化的最大熵图像多阈值分割

智能优化算法应用:基于鱼鹰算法优化的最大熵图像多阈值分割 - 附代码


摘要:本文介绍基于最大熵的图像分割,并且应用鱼鹰算法进行阈值寻优。

1.前言

阅读此文章前,请阅读《图像分割:直方图区域划分及信息统计介绍》https://blog.csdn.net/u011835903/article/details/108024753 了解基础知识,相关公式含义。

2.最大熵阈值分割原理

Kapur等人于1985年提出的最大熵法是另一种广受关注的阈值选取方法 ,其是在Pun等人所做工作的启发下,经过一些修正而得出。该方法以形式简单、意义明确的特点成为关注度最高、使用最多的基于熵的阈值选取方法。最大熵法的阈值选取准则是分割后的目标类和背景类的总熵值最大,即信息量最大。在一维直方图的条件下,对应于阈值 t的目标类和背景类的熵值分别为:
H 0 ( t ) = − ∑ i = 0 t p i w 0 ( t ) l n p i w 0 ( t ) (1) H_{0}(t)=-\sum_{i=0}^t \frac{p_i}{w_0(t)}ln\frac{p_i}{w_0(t)}\tag{1} H0(t)=i=0tw0(t)pilnw0(t)pi(1)

H b ( t ) = − ∑ i = t + 1 L − 1 p i w b ( t ) l n p i w b ( t ) (2) H_b(t)=-\sum_{i=t+1}^{L-1}\frac{p_i}{w_b(t)}ln\frac{p_i}{w_b(t)}\tag{2} Hb(t)=i=t+1L1wb(t)pilnwb(t)pi(2)

最佳阈值选取准则为:
t ∗ = a r g m a x ( 0 ≤ t ≤ L − 1 ) { H 0 ( t ) + H b ( t ) } (3) t^*=argmax_{(0\leq t\leq L-1)}\{H_0(t)+H_b(t)\}\tag{3} t=argmax(0tL1){H0(t)+Hb(t)}(3)
推广到多阈值则为,寻找一组阈值 ( t 0 , . . . , t n ) (t_0,...,t_n) t0,...,tn使得熵值最大
t ( 1 , . . , n ) ∗ = a r g m a x { H 0 + H 1 + , . . . + H n } (4) t(1,..,n)^*=argmax\{H_0+H_1+,...+H_n\}\tag{4} t(1,..,n)=argmax{H0+H1+,...+Hn}(4)

3.基于鱼鹰优化的多阈值分割

由上述最大熵阈值分割法的原理可知,要得到最终的阈值,需要去寻找阈值,熵值最大。于是可以利用智能优化算法进行阈值的寻优,使得获得最佳阈值。

于是优化的适应度函数就是:
f u n { t ( 1 , . . , n ) ∗ } = a r g m a x { H 0 + H 1 + , . . . + H n } (5) fun\{t(1,..,n)^*\}=argmax\{H_0+H_1+,...+H_n\}\tag{5} fun{t(1,..,n)}=argmax{H0+H1+,...+Hn}(5)
设置阈值分割的个数,寻优边界为0到255(因为图像的像素值范围为0-255),设置相应的鱼鹰算法参数
鱼鹰算法原理请参考:https://blog.csdn.net/u011835903/article/details/130542706

4.算法结果:

在这里插入图片描述
在这里插入图片描述

5.参考文献:

[1]吴一全,孟天亮,吴诗婳.图像阈值分割方法研究进展20年(1994—2014)[J].数据采集与处理,2015,30(01):1-23.

6.Matlab 代码

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
鱼鹰算法优化支持向量机(OOA-SVR)是一种基于鱼鹰算法的支持向量机优化方法。支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归问题。 鱼鹰算法是一种基于自然界中鱼鹰捕食行为的优化算法。它模拟了鱼鹰在捕食过程中的搜索和追踪策略,通过不断调整搜索空间中的候选解来寻找最优解。 OOA-SVR方法将鱼鹰算法应用于支持向量机的优化过程中,以提高支持向量机的性能和精度。其原理如下: 1. 初始化种群:根据问题的特点和要求,初始化一定数量的鱼鹰个体作为初始种群。 2. 评估适应度:根据支持向量机的目标函数,计算每个个体的适应度值,评估其性能。 3. 更新位置:根据鱼鹰算法的搜索策略,通过调整个体的位置来更新种群。这里的位置表示支持向量机模型中的参数,如权重和偏置。 4. 更新速度:根据个体之间的位置差异和适应度值,更新个体的速度。速度的更新可以帮助个体更好地搜索最优解。 5. 选择操作:根据适应度值,选择一部分个体作为下一代的父代,用于产生新的个体。 6. 交叉和变异:通过交叉和变异操作,生成新的个体,并加入到下一代种群中。 7. 终止条件:根据预设的终止条件,判断是否满足停止迭代的条件。如果满足,则输出最优解;否则,返回第3步继续迭代。 通过以上步骤,OOA-SVR方法能够通过鱼鹰算法优化策略,不断调整支持向量机模型的参数,以找到更优的分类或回归模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值