HTML
-
本文中选取了粒子群优化算法(particle swarm optimization, PSO)、灰狼优化算法(grey wolf optimizer, GWO)、蚁狮优化算法(ant lion optimization, ALO)以及原鲸鱼优化算法(whale optimization algorithm, WOA)与本文中算法(IWOA)在同等实验条件下进行对比。其中所有用于进行对比的算法迭代次数为500,种群大小为30。不同算法参量取值见表 1。其中,vmax表示飞行速度,w表示惯性权重, c1和c2都表示学习因子。
algorithm parameter WOA b=1 GWO amax=2, amin=0 PSO vmax=6m/s, wmax=0.9, wmin=0.2, c1=2, c2=2 IWOA b=1, x1=-π+(1-v)·2π, x2=π+v·2π Table 1. Algorithm parameter value
为验证本文中算法(IWOA)鲁棒性及改进点的优化效果优于其它算法,作者在多个不同特点的基准函数上进行寻优并进行对比,本文中的测试函数见表 2。
function expression dimension range optimal
value${f_1} = \sum\limits_{i = 1}^n {x_i^2} $ 30 [-100, 100] 0 ${{f_2} = \sum\limits_{i = 1}^n {\left| {{x_i}} \right|} + \prod\limits_{i = 1}^n {\left| {{x_i}} \right|} }$ 30 [-10, 10] 0 ${{f_3} = \sum\limits_{i = 1}^n {{{\left( {\sum\limits_{j = 1}^i {{x_j}} } \right)}^2}} }$ 30 [-100, 100] 0 ${{f_4} = \mathop {\max }\limits_{_i} \left\{ {\left| {{x_i}} \right|, 1 \le i \le n} \right\}}$ 30 [-100, 100] 0 ${{f_5} = \sum\limits_{i = 1}^n i x_i^4 + {\mathop{\rm random}\nolimits} [0, 1)}$ 30 [-1.28, 1.28] 0 ${{f_6} = \sum\limits_{i = 1}^n {\left[ {x_i^2 - 10\cos \left( {2{\rm{ \mathsf{ π} }}{x_i}} \right) + 10} \right]} }$ 30 [-5.12, 5.12] 0 ${{f_7} = \frac{1}{{4000}}\sum\limits_{i = 1}^n {x_i^2} - \prod\limits_{i = 1}^n {\cos } \left( {\frac{{{x_i}}}{{\sqrt i }}} \right) + 1}$ 30 [-32, 32] 0 30 [-50, 50] 0 ${{f_9} = \sum\limits_{i = 1}^{11} {{{\left[ {{a_i} - \frac{{{x_1}\left( {b_i^2 + {b_i}{x_2}} \right)}}{{b_i^2 + {b_i}{x_3} + {x_4}}}} \right]}^2}} }$ [-5, 5] 0.00030 ${_{10} = - \sum\limits_{i = 1}^4 {{c_i}} \exp \left[ { - \sum\limits_{j = 1}^6 {{a_{ij}}} {{\left( {{x_j} - {p_{ij}}} \right)}^2}} \right]}$ 6 [0, 1] -3.32 Table 2. Test functions
本文中算法(IWOA)与其它群智能算法试验结果对比见表 3。
functions optimal value algorithm the best value mean standard deviation ALO 2.13×10-4 0.0016 0.0010 GWO 5.1835×10-29 1.4601×10-27 2.2807×10-27 f1 0 PSO 1.1594×10-5 2.7899×10-5 4.8789×10-4 WOA 1.6499×10-83 1.2423×10-71 6.7706×10-71 IWOA 0 0 0 ALO 2.1827 48.6254 45.1262 GWO 8.0919×10-18 1.0912×10-16 9.2674×10-17 f2 0 PSO 0.0039 0.0321 0.0414 WOA 7.4336×10-57 2.0085×10-50 7.7448×10-50 IWOA 4.3121×10-229 4.3973×10-224 0 ALO 1.2708×103 4.2063×103 2.0520×103 GWO 3.1474×10-9 1.9217×10-5 7.4803×10-5 f3 0 PSO 11.7267 75.8325 32.7752 WOA 2.0566×104 4.4406×104 1.2980×104 IWOA 0 0 0 ALO 11.6625 18.3432 4.1462 GWO 1.1029×10-7 4.4651×10-7 2.9366×10-7 f4 0 PSO 0.6926 1.1517 0.2584 WOA 0.0150 50.3158 28.4985 IWOA 5.9198×10-197 4.5208×10-182 0 ALO 0.0797 0.2400 0.1094 GWO 4.9103×10-4 0.0020 8.8051×10-4 f5 0 PSO 0.0779 0.1591 0.0747 WOA 1.6126×10-4 0.0040 0.0051 IWOA 8.2063×10-9 5.0614×10-7 4.5901×10-7 ALO 36.8138 79.4320 29.9005 GWO 5.6843×10-14 1.7737 3.0772 f6 0 PSO 32.9421 56.0534 15.3421 WOA 0 0 0 IWOA 0 0 0 ALO 0.0121 0.0649 0.0331 GWO 0 0 0 f7 0 PSO 8.5881×10-7 0.0077 0.0092 WOA 0 0 0 IWOA 0 0 0 ALO 0.0260 26.3583 19.4194 GWO 0.0089 0.6362 0.2392 f8 0 PSO 3.6713×10-6 0.0063 0.0089 WOA 0.1202 0.4917 0.2878 IWOA 1.3918×10-11 6.8430×10-7 1.9625×10-6 ALO 5.7150×10-4 0.0033 0.0062 GWO 3.0751×10-4 0.0077 0.0128 f9 0.00030 PSO 3.7222×10-4 8.7485×10-4 1.5399×10-4 WOA 3.1012×10-4 9.4649×10-4 0.0013 IWOA 3.0012×10-4 3.0053×10-4 1.1477×10-6 ALO -3.3220 -3.2581 0.0608 GWO -3.3220 -3.3220 0.0733 f10 -3.32 PSO -3.3220 -3.2755 0.0641 WOA -3.3219 -3.3204 0.1046 IWOA -3.3220 -3.3213 7.9154×10-4 Table 3. Results of test functions
函数f1, f2, f3, f4和f5是单峰函数,这些函数只有一个全局最优,用来评价算法的开发能力。最优值和平均值反映了算法的寻优能力和有效性,而标准差反映算法的稳定性。从表 3中可以看出,IWOA在函数f1和f3能得到最优值0。其它3项指标也都达到了0,虽然在函数f2, f4和f5没达到理论最优,但它们最优值、平均值和标准差都远远优于其它算法。其中函数f2和f4的标准差都达到0,说明IWOA稳定性强。同时也可以看出原始WOA的各项指标与其它算法相比,寻优能力次之,而ALO表现最差。
函数f6, f7, f8, f9和f10为多峰函数,包括许多局部最优,用来评价算法的探索能力。从表 3中可以看出,函数f7和函数f6上IWOA与WOA算法都能得到最优值,但IWOA在最先跳出局部最优。在函数f8上,其各项指标都优于对比的算法。在函数f9和f10上,其理论值分别为0.00030, -3.32,IWOA最为接近理论值,且其余两项指标均优于其它算法。为进一步验证IWOA的收敛性,本文中选取实验中测试函数f1, f2, f6, f8和f9的收敛曲线图进行展示,如图 2~图 6所示。其中横坐标表示迭代代数,纵坐标表示目前最佳值。
基于本文中算法IWOA阈值优化步骤如下:(1)采用猫映射初始化IWOA参量,包括种群大小、初始位置Xi=(si, ti)和迭代次数T;(2) 利用IWOA求分割阈值,目标函数表达式由(14)式说明; (3) 基于(7)式和(10)式更新鲸鱼位置;(4)基于(15)式求鲸鱼的适应值,将最小的适应值作为最优值;(5)判断是否达到最大迭代次数,结束计算,输出最佳阈值X*=(s*, t*), 否则返到步骤(3)。
为验证本文中的算法IWOA优化最大熵获取最佳分割阈值,选择传统最大熵法、大津法和IWOA在同一编译语言进行实验对比。种群规模为20,迭代次数为30。本文中在MATLAB自带图片数据集football.jpg和coins.png两组图片进行验证。
本文中所有对比算法均采用MATLAB语言。实验环境为:Window10系统,4G内存,MATLAB R2016b平台。
从图 7b~图 7d及图 8b~图 8d中可以看出,大津法虽能从背景中分割出目标,但细节几乎没有体现。从图 7c可以看出,传统最大熵法相比大津法在细节上有所提高,但效果不佳。从图 7d的分割结果中可看出,利用IWOA结合最大熵分割图像,目标相对全面清晰,可看出硬币大致轮廓、纹理和痕迹都有体现。图 8d中足球上的英文字母及线条都能看清, 表明熵值越大,所包含的信息量越多,说明可使图像中大量信息量被提取。试验表明,IWOA结合最大熵对图像分割是可行的。从表 4可以看出,每经过一次阈值筛选,都要进行熵的计算,假设计算时间为一个固定数G,那么对于一个灰度级为256的图像,当进行1维熵分割时,需计算熵256次,总共计算时间为256G。而当进行2维熵分割时总计时间256×256G,从而可以看出,2维熵分割时间计算量大,导致分割消耗时间长,采用IWOA结合传统最大熵对图像进行分割,分割时间所消耗时间最少。
Figure 7. a—original coins.png b—segmentation image of 2-D Ostu c—segmentation image of 2-D maximum entropy d—segmentation image of IWOA
Figure 8. a—original football.jpg b—segmentation image of 2-D Ostu c—segmentation image of 2-D maximum entropy d—segmentation image of IWOA
coins football segmentation
algorithmsoptimal
threshold(s*, t*)maximum time/s optimal
threshold(s*, t*)maximum time/s 2-D Ostu (68, 91) 7.864 6.18 (53, 59) 2.789 7.41 2-D maximum entropy (200, 198) 13.344 1.73 (102, 97) 15.0639 1.62 IWOA (160, 143) 16.48 0.55 (98, 100) 18.533 0.56 Table 4. Values of different segmentation algorithms