智能优化算法应用:基于GWO优化的对称交叉熵图像多阈值分割 - 附代码

智能优化算法应用:基于GWO优化的对称交叉熵图像多阈值分割


摘要:本文介绍基于对称交叉熵的图像分割,并且应用灰狼算法进行阈值寻优。

1.前言

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

2.对称交叉熵阈值分割原理

考虑到Li等人提出的交叉熵不具备距离对称性, Brink等给出了对称交叉熵的概念,其实质上是将前向 KullBack 散度与后向 KullBack 散度相加,从而使得交叉熵具有了对称性,成为真正意义上的距离度量。对称交叉熵的表达式为:
H(t)=i=0thi(ilniu0(t)+u0(t)lnu0(t)i)+i=t+1L1hi(ilniub(t)+ub(t)lnub(t)i)(1) H(t) = \sum_{i=0}^t h_i(iln\frac{i}{u_0(t)} + u_0(t)ln\frac{u_0(t)}{i}) + \sum_{i=t+1}^{L-1} h_i(iln\frac{i}{u_b(t)} + u_b(t)ln\frac{u_b(t)}{i})\tag{1}
使式(1)取最小值的t值即为最佳阈值:
t=argmin(0tL1){H(t)}(2) t^*=argmin_(0\leq t\leq L-1)\{H(t)\} \tag{2}
推广到多阈值则为,寻找一组阈值t0,...,tn(t_0,...,t_n)使得熵值最小:
t(1,..,n)=argmin{H0+H1+,...+Hn}(3) t(1,..,n)^*=argmin\{H_0+H_1+,...+H_n\}\tag{3}

3.基于灰狼优化(GWO)的多阈值分割

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

于是优化的适应度函数就是:
fun{t(1,..,n)}=argmin{H0+H1+,...+Hn}(4) fun\{t(1,..,n)^*\}=argmin\{H_0+H_1+,...+H_n\}\tag{4}
设置阈值分割的个数,寻优边界为0到255(因为图像的像素值范围为0-255),设置相应的灰狼算法参数(灰狼算法具体原理及代码参照我之前写灰狼算法原理:https://blog.csdn.net/u011835903/article/details/107716390)。

4.算法结果:

以lena图像为例:
智能优化算法应用:基于GWO优化的对称交叉熵图像多阈值分割 - 附代码

单阈值结果:
智能优化算法应用:基于GWO优化的对称交叉熵图像多阈值分割 - 附代码
3阈值结果:
智能优化算法应用:基于GWO优化的对称交叉熵图像多阈值分割 - 附代码
4阈值结果:
智能优化算法应用:基于GWO优化的对称交叉熵图像多阈值分割 - 附代码

5.参考文献:

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

6.Matlab 代码

https://mianbaoduo.com/o/bread/Z56YmJg=

如果想利用其他的优化算法进行对比,可以参照我之前发布的智能优化算法代码(https://blog.csdn.net/u011835903/category_10226833.html)修改适应度函数,自己进行实验。