图像增强是为了突出某部分有用信息而抑制另一些信息, 使处理后的图像更加适合人类和机器进行分析和处理[1]. 图像对比度增强(image contrast enhancement, ICE)是图像增强的方法之一, 图像对比度增强是在空间域中使用变换函数进行的, 它为原始图像的每个像素产生一个新的强度以生成增强图像. 传统的对比度增强方法是使用分段线性变换函数来处理低质量的图像[2]. 但是, 应用变换函数后, 分段点处的像素可能变为负数或大于255. 为了克服这个问题, Tubbs[3]提出了一种用连续曲线代替分段曲线的非完全Beta函数参数化方法, 提高了空域方法实用性.
确定非完全Beta函数的最佳参数
飞鼠搜索算法(squirrel search algorithm, SSA)[7]是Jain等人受飞鼠的动态觅食策略和滑翔的有效运动方式的启发, 于2019年提出的一种新的群体智能算法. 自SSA被提出以来, 已成功地应用于解决复杂的实际优化问题, 如多区域热电联合经济调度[8]、车间调度[9]和图像压缩[10], 与经典的算法相比, 该方法获得了更高质量的解. 因此, SSA是一个简单而强大的算法.
目前, 我们视野中鲜少见到SSA用于解决图像增强问题. 基于此, 本文提出一种双向搜索和螺旋觅食的飞鼠搜索算法(SSA with bilateral search and cyclone foraging, BCSSA)用于灰度图像的自适应增强. 所做的工作如下: (1) 对基本的SSA进行两方面的改进. 在普通树上的飞鼠的位置更新中加入双向搜索策略, 避免最好解的丢失; 对位于橡子树上的飞鼠, 执行螺旋觅食策略, 增强算法的开发能力. (2) 文献[4,5]中图像的适应度函数包括边缘强度、边缘像素数和熵值3部分, 在此基础上加入紧致度指标, 使增强图像的质量得到更加全面的评价. (3) 成功地将改进的SSA与图像增强相结合. 将BCSSA应用于图像增强的非完全Beta函数的参数选择上, 从而获得Beta函数的参数, 改善图像对比度, 得到视觉效果更佳的增强图像.
1 飞鼠搜索算法考虑4个假设.
(1) 落叶林中有
(2) 每只飞鼠单独觅食, 凭借动态觅食行为最优地利用可用的食物资源.
(3) 森林中仅有3种树可用: 山核桃树(优质食物源)、橡子树(普通食物源)和普通树(没有食物源).
(4) 考虑的森林区域中, 假定包含1棵山核桃树和3棵橡子树.
1.1 随机初始化设森林中有n只飞鼠(FS), 每只飞鼠的位置用d维向量表示, 第
$ F{S_i} = F{S_{\rm{L}}} + U\left( {0, 1} \right) \times \left( {F{S_{\rm{U}}} - F{S_{\rm{L}}}} \right) $ | (1) |
其中,
第
$ {f_i} = f\left( {F{S_i}} \right) = f\left( {F{S_{i1}}, F{S_{i2}}, \cdots , F{S_{id}}} \right) $ | (2) |
将飞鼠个体的适应度值按升序排列. SSA将飞鼠分为3类: 位于普通树上(
飞鼠的动态觅食过程如下.
Case 1. 橡子树上的飞鼠可能向山核桃树移动.
$ FS_{{\rm{at}}}^{t + 1} = \left\{ \begin{gathered} FS_{{\rm{at}}}^t + {d_g} \times {G_c} \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{at}}}^t} \right) , \\ {{{\rm{Random \; location}}}} , \\ \end{gathered} \right. \begin{gathered} {R_1} \geqslant {P_{{\rm{dp}}}} \\ {\text{otherwise}} \\ \end{gathered} $ | (3) |
Case 2. 普通树上的飞鼠可能向橡子树移动, 以满足日常的能量需求.
$ FS_{{\rm{nt}}}^{t + 1} = \left\{ \begin{gathered} FS_{{\rm{nt}}}^t + {d_g} \times {G_c} \times \left( {FS_{{\rm{at}}}^t - FS_{{\rm{nt}}}^t} \right) , \\ {{{\rm{Random \; location}}}} , \\ \end{gathered} \right. \begin{gathered} {R_2} \geqslant {P_{{\rm{dp}}}} \\ {\text{otherwise}} \\ \end{gathered} $ | (4) |
Case 3. 一些普通树上已经进食过橡子的飞鼠可能会向山核桃树移动, 来储存山核桃, 以便在食物短缺时食用.
$ FS_{{\rm{nt}}}^{t + 1} = \left\{ \begin{gathered} FS_{{\rm{nt}}}^t + {d_g} \times {G_c} \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{nt}}}^t} \right) , \\ {{{\rm{Random \; location}}}} , \\ \end{gathered} \right. \begin{gathered} {R_3} \geqslant {P_{{\rm{dp}}}} \\ {\text{otherwise}} \\ \end{gathered} $ | (5) |
其中,
季节变化对飞鼠的觅食活动有显著影响, 在SSA中引入季节监测条件, 防止算法陷入局部最优解. 季节常数
$ S_c^t = \sqrt {\sum\limits_{k = 1}^d {{{\left( {FS_{{\rm{at}}, k}^t - FS_{{\rm{ht}}, k}^{}} \right)}^2}} } , \; ( t = 1, 2, 3 ) $ | (6) |
其中,
季节常数最小值
$ {S_{\min }} = \frac{{10{{\rm{e}}^{ - 6}}}}{{{{\left( {365} \right)}^{\frac{{2.5t}}{T}}}}} $ | (7) |
其中,
如果季节监测条件
$ FS_{{\rm{nt}}}^{{\rm{new}}} = F{S_{\rm{L}}} + {\text{L\'evy}}\left( d \right) \times \left( {F{S_{\rm{U}}} - F{S_{\rm{L}}}} \right) $ | (8) |
其中, Lévy分布能够更好地促进搜索空间的探索.
1.5 停步规则当达到最大迭代次数时, 输出山核桃树的飞鼠位置
在基本的SSA中, 飞鼠种群随着不断的迭代更新, 种群的个体分布逐渐集中, 在算法迭代后期, 种群多样性降低, 容易陷入局部最优. 为了解决这些问题, 本文做出了相应的改进措施.
2.1 双向搜索策略为进一步提升算法的寻优能力, 在式(4)和式(5)中, 引入双向搜索策略[11], 使个体充分利用当前最优解(
$ FS_{{\rm{nt}}}^{t + 1} = FS_{{\rm{nt}}}^t + {d_g} \times {G_c} \times \left( {FS_{{\rm{at}}}^t - FS_{{\rm{nt}}}^t} \right) + {r_U} \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{nt}}}^t} \right) $ | (9) |
$ FS_{{\rm{nt}}}^{t + 1} = FS_{{\rm{nt}}}^t + {d_g} \times {G_c} \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{nt}}}^t} \right) + {r_U} \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{nt}}}^t} \right) $ | (10) |
飞鼠在橡子树上向山核桃树移动, 当
$ FS_{{\rm{at}}, {\rm{new}}}^{t + 1} = FS_{{\rm{at}}}^t{\text{ + }}r \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{at}}}^t} \right) + \xi \times \left( {FS_{{\rm{ht}}}^t - FS_{{\rm{at}}}^t} \right) $ | (11) |
其中,
$ \xi = 2{e^{{r_1} \cdot \left( {T - t + 1} \right)/T}} \cdot \sin \left( {2\pi {r_1}} \right) $ | (12) |
其中,
当
$ FS_{{\rm{at}}}^{t + 1} = \left\{ \begin{gathered} FS_{{\rm{at}}, {\rm{new}}}^t , \\ FS_{{\rm{at}}}^t , \\ \end{gathered} \right. \begin{gathered} f\left( {FS_{{\rm{at}}, {\rm{new}}}^t} \right) \lt f\left( {FS_{{\rm{at}}}^t} \right) \\ {\text{otherwise}} \\ \end{gathered} $ | (13) |
本节给出双向搜索(bilateral search)和螺旋觅食(cyclone foraging)的飞鼠搜索算法(BCSSA)的步骤.
算法1. BCSSA算法
初始化阶段
Step 1. 初始化参数, 种群规模
Step 2. 随机初始化
Step 3. 计算每个位置飞鼠的适应度值, 如式(2), 并升序排列, 确定位于山核桃树(最好食物源)、橡子树和普通树的飞鼠位置, 保存位于山核桃树的飞鼠的位置及其适应度值;
主循环阶段
Step 4. While
for
if
利用式(13)进行贪婪选择
Else
End if
End for
for
if
Else
End if
End for
for
if
Else
End if
End for
Step 5. 计算季节常数
if
End if
Step 6. 更新季节常数的最小值
End while
输出阶段
Step 7. 输出位于山核桃树的飞鼠的位置及其适应度值
本节对BCSSA的时间复杂度进行分析. 计算复杂度是基于初始化、搜索代理的更新和最大迭代次数, 假设飞鼠种群的大小为
(1) 初始化种群阶段的时间复杂度为:
(2)适应度计算需要的时间复杂度为:
(3) 采用双向搜索策略更新普通树上向橡子树和山核桃树移动的飞鼠个体需要的时间复杂度为:
(4) 采用螺旋觅食策略更新橡子树上向山核桃树移动的飞鼠个体需要的时间复杂度为:
(5) 重复步骤(2)–(4), 直到达到最大迭代次数
通过在CEC 2017基准测试函数上进行的一系列实验测试和分析, 验证了BCSSA在解决数值优化问题方面的有效性.
3.1 基准测试函数的选择和参数设置CEC 2017有30个基准测试函数, 实验设置的问题为极小化问题, 我们选择单峰(F1)、多峰(F6、F9)、混合(F12、F15、F18)和复合(F21、F22、F25、F30)共10个函数进行实验, 所得的实验结果越小越好. 所有选定的函数在[–100, 100]d的范围内搜索, 其中
将BCSSA与BA[13]、WOA[14]、SSA[7]、利用粒子群算法策略改进的SSA (PSOSSA)[15]和具有自适应捕食者存在概率的SSA (ISSA)[16]进行对比, 这些算法的参数设置如表1所示. 为了避免随机性, 验证算法的性能, 在Matlab上共进行30次独立实验, 记录了均值(Mean)和标准差(Std).
表2的实验结果表明了采用本文所提方法获得的最佳结果. 其中, 最好的结果用粗体标出. 在10个测试函数的准确性方面BCSSA优于对比的5种算法. 此外, 根据表2中的标准差值, BCSSA在优化过程中显示出最高的稳定性, 尤其是与标准SSA相比. 结果的准确性表明在SSA上的改进策略是有效的.
4 BCSSA在图像增强算法中的应用图像对比度增强的主要目的是提高处理后图像中包含的视觉信息的质量, 使图像更好地可视化. 噪声和少量像素强度的存在不允许在整个范围内调整原始图像分布, 对图像增强过程产生负面影响.
4.1 变换函数Tubbs提出的归一化非完全Beta函数能够自动拟合图像增强的4类非线性变换曲线, 对应不同的
$ F\left( u \right) = \frac{1}{{\int_0^1 {{t^{\alpha - 1}}{{\left( {1 - t} \right)}^{\beta - 1}}dt} }} \times \left[ {\int_0^u {{t^{\alpha - 1}}{{\left( {1 - t} \right)}^{\beta - 1}}dt} } \right] $ | (14) |
其中,
4.2 图像增强适应度函数
BCSSA算法通过适应度函数衡量飞鼠搜索的优劣, 同时, 适应度函数也是测量生成图像质量的客观评价标准, 对确定增强图像的质量至关重要. 为此, 文献[18]提出了一个新的包含边缘强度、边缘像素数、熵值和紧致度的适应度函数. 边缘强度之和表明图像的局部变化; 边缘像素数表明图像包含的细节信息; 熵值表明图像的分布情况; 紧致度表明图像的对比度值, 值越大对比度越高; 适应度函数的定义为:
$ Fit\left( {{I_e}} \right) = {\log _{10}}\left( {{{\log }_{10}}\left( {S\left( {{I_e}} \right)} \right)} \right) \times E\left( {{I_e}} \right) \times H\left( {{I_e}} \right) \times C\left( {{I_e}} \right) $ | (15) |
其中,
采用BCSSA的自适应图像增强的过程如下.
Step 1. 输入大小为
Step 2. 将原始图像的灰度值压缩到[0, 1], 即:
$ u\left( {i, j} \right) = \frac{{f\left( {i, j} \right) - {L_{\min }}}}{{{L_{\max }} - {L_{\min }}}} $ | (16) |
其中,
Step 3. 用BCSSA求解归一化后图像的最佳参数
Step 4. 利用式(14)对归一化的图像进行变换:
$ u'\left( {i, j} \right) = F\left( {u\left( {i, j} \right)} \right) $ | (17) |
其中,
Step 5. 重建增强后的图像. 变换公式为:
$ f'\left( {i, j} \right) = 255 \times u'\left( {i, j} \right) $ | (18) |
为了评价所提出的BCSSA的性能, 在增强图像的客观评价中选择了4个指标评估增强图像的质量, 包括均方误差(mean squared error, MSE)、峰值信噪比(peak signal-to-noise ratio, PSNR)、边缘保留指数(edge preserve index, EPI)和相对增强对比度(relative enhancement contrast, REC).
PSNR反映了
均方误差(MSE)通过用增强后图像
$ {{\textit{MSE}}} = \frac{1}{{MN}}\sum\limits_{i = 0}^M {\sum\limits_{j = 0}^N {{{\left( {{I_e}\left( {i, j} \right) - I\left( {i, j} \right)} \right)}^2}} } $ | (19) |
峰值信噪比(PSNR)[19]是使用最为广泛的一种图像评价指标, 它是基于对应像素点间的误差, 即基于误差敏感的图像质量评价. PSNR的计算公式为:
$ {{{\textit{PSNR}}}} = 10 \times {\log _{10}}\left( {\frac{{{{\left( {{2^8} - 1} \right)}^2}}}{{{\textit{MSE}}}}} \right) $ | (20) |
边缘保留指数(EPI)是原始图像
$ {{{\textit{EPI}}}} = \frac{{\displaystyle\sum\limits_{i = 0}^M {\displaystyle\sum\limits_{j = 0}^N {\left[ {\left| {{I_e}\left( {i, j} \right) - {I_e}\left( {i, j + 1} \right)} \right| + \left| {{I_e}\left( {i, j} \right) - {I_e}\left( {i + 1, j} \right)} \right|} \right]} } }}{{\displaystyle\sum\limits_{i = 0}^M {\displaystyle\sum\limits_{j = 0}^N {\left[ {\left| {I\left( {i, j} \right) - I\left( {i, j + 1} \right)} \right| + \left| {I\left( {i, j} \right) - I\left( {i + 1, j} \right)} \right|} \right]} } }} $ | (21) |
相对增强对比度(REC)可以量化增强图像
$ \begin{split} &{{REC}} = \\ &20 \times {\log _2}\left[ {\frac{1}{{MN}}\sum\limits_{i = 0}^M {\sum\limits_{j = 0}^N {{{\left( {{I_e}\left( {i, j} \right)} \right)}^2}} } - {{\left( {\frac{1}{{MN}}\sum\limits_{i = 0}^M {\sum\limits_{j = 0}^N {I\left( {i, j} \right)} } } \right)}^2}} \right] \end{split}$ | (22) |
用BCSSA对数字图像处理中常用的Lena, Jetplane, Couple和Pepper这4幅图像(256像素×256像素)进行对比度增强. 将所提方法与基本的SSA进行了比较, 同时, 为了验证BCSSA的性能, 将其与传统的直方图均衡化方法(histogram equalization, HE)进行比较. 使用4个图像质量评价标准对3种算法的性能进行评估. 优化参数
表3给出BCSSA和SSA在4幅图像上独立运行30次, 得到的最优、平均、最差的适应度函数值及HE方法的适应度值.
图1显示了4幅图的原始灰度图像以及由HE、SSA和提出的BCSSA获得的对比度增强结果. 从图1(b1)–图1(b4)可以看出, HE增强的图像的对比度高于原图像, 但存在某些细节丢失的情况; 从图1(c1)–图1(c4)可以看出, SSA所得到的增强图像的细节比较清晰, 图像整体质量较好, 显示SSA优于HE. 从图1(d1)–图1(d4)可以看出, 相比于HE和SSA, BCSSA所获得的增强图像整体亮度更均匀以及细节信息较突出. 从上述分析得出BCSSA获得增强图像的视觉效果更佳这一结论, 与表3 中BCSSA获得最好的适应度值一致.
图2给出Lena图被不同算法处理后的直方图, 可以看出, Lena图的原始直方图灰度值主要集中于40–160之间; 经过HE方法处理的直方图灰度值几乎是均匀分布的; SSA增强的直方图的灰度值相较于原始图像有一定的拉伸; 由于BCSSA显著提高了SSA全局搜索能力, 避免算法陷入局部最小值, 故呈现出更好的像素分布, 这证明了BCSSA方法的有效性.
5 总结为了提高飞鼠搜索算法的寻优精度, 加快算法的收敛速度, 避免陷入局部最优, 本文提出了基于双向搜索和螺旋觅食策略的飞鼠搜索算法(BCSSA), 双向搜索策略提升算法的收敛速度, 螺旋觅食策略提高算法的搜索效率. CEC 2017基准测试函数的仿真实验表明BCSSA的性能优于BA, WOA, SSA, PSOSSA, ISSA. 同时, 将改进SSA用于灰度图像的对比度增强中, 这比需要搜索最佳图像像素对比度的传统方法更快、更有效. 在一组灰度图像上对HE, SSA和BCSSA的性能进行了测试. 实验结果表明, 在评估增强质量的不同性能指标方面, 改进方法具有更好的性能. 并行策略是一种显著有效的改进群智能算法的方式, 不同的并行策略对算法的性能有不同的影响, 下一步研究工作考虑并行策略改进的SSA; 对于任何有效的元启发式算法, 在探索和开发之间必须有一个适当的平衡.
[1] |
毕晓君, 潘铁文. 基于改进的教与学优化算法的图像增强方法. 哈尔滨工程大学学报, 2016, 37(12): 1716-1721. |
[2] |
Ling ZG, Liang Y, Wang YN, et al. Adaptive extended piecewise histogram equalisation for dark image enhancement. IET Image Processing, 2015, 9(11): 1012-1019. DOI:10.1049/iet-ipr.2014.0580 |
[3] |
Tubbs JD. A note on parametric image enhancement. Pattern Recognition, 1987, 20(6): 617-621. DOI:10.1016/0031-3203(87)90031-8 |
[4] |
Luque-Chang A, Cuevas E, Pérez-Cisneros M, et al. Moth swarm algorithm for image contrast enhancement. Knowledge-based Systems, 2021, 212: 106607. DOI:10.1016/j.knosys.2020.106607 |
[5] |
Kamoona AM, Patra JC. A novel enhanced cuckoo search algorithm for contrast enhancement of gray scale images. Applied Soft Computing, 2019, 85: 105749. DOI:10.1016/j.asoc.2019.105749 |
[6] |
Draa A, Bouaziz A. An artificial bee colony algorithm for image contrast enhancement. Swarm and Evolutionary Computation, 2014, 16: 69-84. DOI:10.1016/j.swevo.2014.01.003 |
[7] |
Jain M, Singh V, Rani A. A novel nature-inspired algorithm for optimization: Squirrel search algorithm. Swarm and Evolutionary Computation, 2019, 44: 148-175. DOI:10.1016/j.swevo.2018.02.013 |
[8] |
Basu M. Squirrel search algorithm for multi-region combined heat and power economic dispatch incorporating renewable energy sources. Energy, 2019, 182: 296-305. DOI:10.1016/j.energy.2019.06.087 |
[9] |
Wang YJ, Han JR. A FJSSP method based on dynamic multi-objective squirrel search algorithm. International Journal of Antennas and Propagation, 2021, 2021: 6062689. |
[10] |
Minu MS, Canessane RA. An efficient squirrel search algorithm based vector quantization for image compression in unmanned aerial vehicles. Proceedings of the 2021 International Conference on Artificial Intelligence and Smart Systems (ICAIS). Coimbatore: IEEE, 2021. 789–793.
|
[11] |
何庆, 黄闽茗, 王旭. 基于精英反向学习的逐维改进蜻蜓算法. 南京师大学报(自然科学版), 2019, 42(3): 65-72. |
[12] |
Zhao WG, Zhang ZX, Wang LY. Manta ray foraging optimization: An effective bio-inspired optimizer for engineering applications. Engineering Applications of Artificial Intelligence, 2020, 87: 103300. DOI:10.1016/j.engappai.2019.103300 |
[13] |
Chen MR, Huang YY, Zeng GQ, et al. An improved bat algorithm hybridized with extremal optimization and Boltzmann selection. Expert Systems with Applications, 2021, 175: 114812. DOI:10.1016/j.eswa.2021.114812 |
[14] |
Chakraborty S, Saha AK, Chakraborty R, et al. An enhanced whale optimization algorithm for large scale optimization problems. Knowledge-based Systems, 2021, 233: 107543. DOI:10.1016/j.knosys.2021.107543 |
[15] |
朱群锋, 王璐, 汪超. 基于粒子群算法策略改进的飞鼠优化算法. 洛阳理工学院学报(自然科学版), 2020, 30(4): 52-58. |
[16] |
Fares D, Fathi M, Shams I, et al. A novel global MPPT technique based on squirrel search algorithm for PV module under partial shading conditions. Energy Conversion and Management, 2021, 230: 113773. DOI:10.1016/j.enconman.2020.113773 |
[17] |
姜建国, 周佳薇, 周润生, 等. 一种采用改进细菌觅食优化算法的图像增强方法. 控制与决策, 2015, 30(3): 461-466. DOI:10.13195/j.kzyjc.2013.1794 |
[18] |
Chen J, Yu WY, Tian J, et al. Image contrast enhancement using an artificial bee colony algorithm. Swarm and Evolutionary Computation, 2018, 38: 287-294. DOI:10.1016/j.swevo.2017.09.002 |
[19] |
邵保泰, 汤心溢, 金璐, 等. 基于生成对抗网络的单帧红外图像超分辨算法. 红外与毫米波学报, 2018, 37(4): 427-432. DOI:10.11972/j.issn.1001-9014.2018.04.009 |