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=0∑tw0(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+1∑L−1wb(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(0≤t≤L−1){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)
由上述最大熵阈值分割法的原理可知,要得到最终的阈值,需要去寻找阈值,熵值最大。于是可以利用智能优化算法进行阈值的寻优,使得获得最佳阈值。
于是优化的适应度函数就是:
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/122213857
[1]吴一全,孟天亮,吴诗婳.图像阈值分割方法研究进展20年(1994—2014)[J].数据采集与处理,2015,30(01):1-23.