智能优化算法应用:基于GWO优化的二维最大熵图像阈值分割 - 附代码
摘要:本文介绍基于最大熵的图像分割,并且应用灰狼算法进行阈值寻优。
1.前言
阅读此文章前,请阅读《图像分割:直方图区域划分及信息统计介绍》https://blog.csdn.net/u011835903/article/details/108024753 了解基础知识,相关公式含义。
2.二维最大熵阈值分割原理
Kapur等人于1985年提出的最大熵法是另一种广受关注的阈值选取方法 ,其是在Pun等人所做工作的启发下,经过一些修正而得出。该方法以形式简单、意义明确的特点成为关注度最高、使用最多的基于熵的阈值选取方法。最大熵法的阈值选取准则是分割后的目标类和背景类的总熵值最大,即信息量最大。在一维直方图的条件下,对应于阈值 t的目标类和背景类的熵值分别为:
H0(t)=−i=0∑tw0(t)pilnw0(t)pi(1)
Hb(t)=−i=t+1∑L−1wb(t)pilnwb(t)pi(2)
最佳阈值选取准则为:
t∗=argmax(0≤t≤L−1){H0(t)+Hb(t)}(3)
二维直方图情况下的最大熵计算公式:
H(t,s)=H0(t,s)+Hb(t,s)=−i=0∑tj=0∑sw0(t,s)pijlnw0(t,s)pij−i=t+1∑L−1j=s+1∑L−1wb(t,s)pijlnwb(t,s)pij(4)
相应的最佳阈值为:
(t∗,s∗)=argmax(0≤t≤L−1,0≤s≤L−1){H(t,s)}(5)
3.基于灰狼优化(GWO)的多阈值分割
由上述二维最大熵阈值分割法的原理可知,要得到最终的阈值,需要去寻找阈值(t,s),使得熵值最大。于是可以利用智能优化算法进行阈值的寻优,使得获得最佳阈值。
于是优化的适应度函数就是:
fun{t,s}=argmax(0≤t≤L−1,0≤s≤L−1){H(t,s)}(6)
设置阈值分割的个数,寻优边界为0到255(因为图像的像素值范围为0-255),设置相应的灰狼算法参数(灰狼算法具体原理及代码参照我之前写灰狼算法原理:https://blog.csdn.net/u011835903/article/details/107716390)。
4.算法结果:
以lena图像为例:
![智能优化算法应用:基于GWO优化的二维最大熵图像阈值分割 - 附代码 智能优化算法应用:基于GWO优化的二维最大熵图像阈值分割 - 附代码](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzg2NS81ODBmNDczMWU5MGY3YTM1MDU0NDlkYWEyNjU2MmY3MS5KUEVH)
结果:
![智能优化算法应用:基于GWO优化的二维最大熵图像阈值分割 - 附代码 智能优化算法应用:基于GWO优化的二维最大熵图像阈值分割 - 附代码](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkyMC8wZDU1OTlmNWNkZTI4MmEzMmU2NWMwNTlkOWEzZmJkOC5KUEVH)
5.参考文献:
[1]吴一全,孟天亮,吴诗婳.图像阈值分割方法研究进展20年(1994—2014)[J].数据采集与处理,2015,30(01):1-23.
6.Matlab 代码
https://mianbaoduo.com/o/bread/Z56Ump0=
如果想利用其他的优化算法进行对比,可以参照我之前发布的智能优化算法代码(https://blog.csdn.net/u011835903/category_10226833.html)修改适应度函数,自己进行实验。