Bootstrap

基于变色龙算法优化的指数熵图像多阈值分割

智能优化算法应用:基于变色龙优化的指数熵图像多阈值分割


摘要:本文介绍基于指数熵的图像分割,并且应用变色龙算法进行阈值寻优。

1.前言

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

2.指数熵阈值分割原理

Pal 等人于 1989 年前后提出了指数熵的概念 ,并给出了最大指数熵阈值选取方法。概率为 p i p_i pi的事件所含的信息量为:
E e x p = e 1 − p i (1) E_{exp}=e^{1-p_i}\tag{1} Eexp=e1pi(1)
类比基于 shannon熵的准则函数,能够得到指数熵准则函数,一维直方图情况下指数熵的计算公式为,对应于阈值t的目标类和背景类的熵值分别为:
H 0 ( t ) = ∑ i = 0 t h i p i w 0 ( t ) e 1 − p i / w 0 ( t ) (2) H_0(t) = \sum_{i=0}^th_i\frac{p_i}{w_0(t)}e^{1 - p_i/w_0(t)} \tag{2} H0(t)=i=0thiw0(t)pie1pi/w0(t)(2)

H b ( t ) = ∑ i = t + 1 L − 1 h i p i w b ( t ) e 1 − p i / w b ( t ) (3) H_b(t) = \sum_{i=t+1}^{L-1}h_i\frac{p_i}{w_b(t)}e^{1 - p_i/w_b(t)} \tag{3} Hb(t)=i=t+1L1hiwb(t)pie1pi/wb(t)(3)

E ( t ) = H 0 ( t ) + H b ( t ) (4) E(t)=H_0(t) + H_b(t) \tag{4} E(t)=H0(t)+Hb(t)(4)

最佳阈值:
t ∗ = a r g m a x ( 0 ≤ t ≤ L − 1 ) { E ( t ) } (5) t^* = argmax_(0\leq t \leq L-1)\{E(t)\} \tag{5} t=argmax(0tL1){E(t)}(5)
推广到多阈值则为,寻找一组阈值 ( 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 } (6) t(1,..,n)^*=argmax\{H_0+H_1+,...+H_n\}\tag{6} t(1,..,n)=argmax{H0+H1+,...+Hn}(6)

3.基于变色龙优化的多阈值分割

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

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

4.算法结果:

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

5.参考文献:

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

6.Matlab 代码

;