Page 132 - 《软件学报》2021年第11期
P. 132
3458 Journal of Software 软件学报 Vol.32, No.11, November 2021
并计算辅个体的初始适应度值 T′ .
0
3. 根据公式(18)对主个体 x 和辅个体 x′进行比较选择,得到新的主个体初始位置 x 和初始适应度值 T 0 ,并
取历史最优位置 xbest=x 和历史最优值 Sbest=T 0 .
4. 对主个体 x 进行 BAS 算法的位置更新操作.根据公式(2)生成 x 的左、右须位置 x l 和 x r ,计算左、右两
须适应度值 T l 和 T r ,由公式(3)更新主个体位置 x,并计算更新后主个体的适应度值 T.
5. 对辅个体 x′进行 BBAS 算法的位置更新操作.按公式(17)生成左、右须的速度项 v′ 和 v′ ,根据公式(16)
r
l
完成左、右须 x′ 和 x′ 更新,并计算左、右须适应度值 T′ 和 T′ ,通过公式(14)计算速度项 v′,对速度项 v′
r
l
l
r
利用公式(16)实现对辅个体 x′位置的更新,并计算更新后辅个体 x′的适应度值 T′.
6. 根据择优操作公式(18)对更新后的主个体 x 和辅个体 x′进行比较选择,得到新的主个体 x.
7. 根据公式(6)完成历史最优位置 xbest 和历史最优值 Sbest 的更新.
8. 更新主个体步长 step 和辅个体步长 step′.
9. 重复迭代步骤 4~步骤 8,直到达到相应的迭代次数.
10. 返回天牛历史最优位置 xbest 和历史最优值 Sbest.
3 基于 NBAS 优化的二维 K 熵阈值分割算法(NBAS-K 熵)
本文以二维 K 熵阈值分割准则函数为 NBAS 算法的目标函数,提出一种 NBAS-K 熵算法进行最佳阈值寻
优,降低二维 K 熵函数计算复杂度.天牛位置即为二维阈值点的坐标,在灰度级和邻域平均灰度级构成
的[0,255]×[0,255]区域中进行寻优.天牛的二进制位置坐标分量均用 8 位二进制表示.NBAS-K 熵算法首先根据
图像得到二维图像直方图,之后设定目标函数(二维 K 熵阈值选取公式),再随机确定主个体二维初始位置和辅
个体二进制 16 位初始位置,按照 NBAS 算法对主个体和辅个体分别执行 BAS 迭代和 BBAS 迭代.在迭代过程
中进行比较选择,以优化主个体,最终得到最佳阈值.算法流程图如图 2 所示.
Fig.2 Flow chart
图 2 流程图