Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
  广东工业大学学报  2023, Vol. 40Issue (5): 47-55.  DOI: 10.12052/gdutxb.220148.
0

引用本文 

吴圳桦, 唐文艳, 吕文阁, 陈汝杰, 侯梦华, 李德源. 基于ISSA和积分图的二维熵图像多阈值分割快速算法[J]. 广东工业大学学报, 2023, 40(5): 47-55. DOI: 10.12052/gdutxb.220148.
Wu Zhen-hua, Tang Wen-yan, Lyu Wen-ge, Chen Ru-jie, Hou Meng-hua, Li De-yuan. Fast Image Segmentation with Multilevel Threshold of Two-dimensional Entropy Based on ISSA and Integral Graph[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2023, 40(5): 47-55. DOI: 10.12052/gdutxb.220148.

基金项目:

国家自然科学基金资助项目(51776044)

作者简介:

吴圳桦(1997–),男,硕士研究生,主要研究方向为机器视觉算法与应用。

通信作者

吕文阁(1966–),男,教授,博士,主要研究方向为启发式优化算法、机器视觉应用等,E-mail:lvwenge@gdut.edu.cn

文章历史

收稿日期:2022-09-22
基于ISSA和积分图的二维熵图像多阈值分割快速算法
吴圳桦1, 唐文艳1, 吕文阁1, 陈汝杰1, 侯梦华2, 李德源1    
1. 广东工业大学 机电工程学院,广东 广州 510006;
2. 深圳市启灵图像科技有限公司,广东 深圳 518114
摘要: 为提高二维熵图像多阈值分割的性能,使其能够满足工业使用当中的实时性要求,本文提出了基于改进麻雀搜索算法(Improved Sparrow Search Algorithm, ISSA)和积分图的二维熵图像多阈值分割快速算法。首先,引入麻雀搜索算法(Sparrow Search Algorithm, SSA)并对该算法的算法性能进行分析研究,针对SSA存在的全局搜索能力差、容易陷入局部最优解的缺点,提出了基于方差线性递减的高斯扰动策略和随机步长移动策略的改进麻雀搜索算法(ISSA)。接着,进一步地引入积分图方法,降低总信息熵的运算量,并将总信息熵作为ISSA的适应度函数进行最佳阈值寻优,提出了基于ISSA并结合积分图的二维熵图像多阈值分割快速算法。最后,使用该方法与现有分割算法进行对比实验,实验结果表明,本文方法提升了图像二维熵多阈值分割的分割效率,同时在工业应用场景仍能够获得相同的效果。
关键词: 多阈值分割    麻雀搜索算法    积分图    机器视觉    
Fast Image Segmentation with Multilevel Threshold of Two-dimensional Entropy Based on ISSA and Integral Graph
Wu Zhen-hua1, Tang Wen-yan1, Lyu Wen-ge1, Chen Ru-jie1, Hou Meng-hua2, Li De-yuan1    
1. School of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006, China;
2. Shenzhen QiLing Image Technology Co., Ltd., Shenzhen 518114, China
Abstract: In order to improve the performance and efficiency of image segmentation with multilevel threshold of two-dimensional entropy for practical industrial applications, this paper proposes a fast image segmentation method with multilevel threshold of two-dimensional entropy based on ISSA and integral graph. Firstly, we introduce and analyze the sparrow search algorithm (SSA) . To address the shortcomings of SSA, such as poor global search ability and easy to fall into local optimal solution, we propose an improved sparrow search algorithm (ISSA) based on Gaussian perturbation strategy with linear decreasing variance and moving strategy with random step size. Then, we further introduce the integral graph method to reduce the calculation amount of the entropy, use the entropy as the fitness function of ISSA to search the optimal threshold, and propose a fast algorithm for image segmentation with multilevel threshold of two-dimensional entropy based on ISSA and integral graph. Finally, we compare the proposed method with the existing segmentation algorithms, and the experimental results show that the proposed method improves the segmentation efficiency of image segmentation with multilevel threshold of two-dimensional entropy in industrial application scenarios.
Key words: multilevel threshold segmentation    sparrow search algorithm    integral graph    machine vision    

智能制造在全球范围内快速发展,已成为制造业重要发展趋势[1]。机器视觉技术因其作为实现智能制造的重要技术[2],成为了工业自动化领域的关注重点。在机器视觉技术中,图像分割是关键的预处理操作,被广泛应用于工业自动化、在线产品检测、文档图像处理等方面。图像分割的作用是提取出具有独特性质的区域,供后续图像分析、特征提取与模式识别所用。图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、性能较稳定而成为图像分割中最基本和应用最广泛的分割方法[3-4],主要包括大津法、最小误差法以及最大Kapur熵法等分割方法[5]。但是当图像中存在多个目标或多个灰度不同的区域时,使用传统的单阈值分割方法并不能把图像中的目标有效地分割出来,而常见的多阈值分割方法是通过穷举所有阈值来获得图像分割的最佳阈值,随着阈值数的增多,分割算法的计算时间大大增加,不能满足工业使用当中的实时性要求[6]。因此,如何快速且准确地获得最佳阈值成为图像多阈值分割问题的研究重点。

近年来,众多学者把图像多阈值分割问题作为参数最优化问题,将群体智能优化算法或群体智能优化算法的改进算法应用于图像多阈值分割问题的最佳阈值搜索上,降低了最佳阈值的搜索时间。吴亮等[7]使用改进蝴蝶优化算法对Otsu多阈值分割方法进行快速寻优;于洋等[8]提出了一种自适应粒子群优化二维Otsu的阈值分割算法,利用图像的灰度级和邻域灰度级构成二元组,建立二维最大类间方差模型,结合自适应粒子群算法估计出图像最佳阈值;陈恺等[9]分析了二维熵分割原理,将二维熵扩展至多阈值形式,并引入萤火虫算法,提高了最佳阈值的搜索速度。但以上方法对多阈值图像的分割处理时间仍需数秒。

为进一步提升图像二维熵多阈值分割的分割效率,本文尝试引入麻雀搜索算法(Sparrow Search Algorithm, SSA)[10]并对标准麻雀搜索算法进行分析研究,针对其存在的缺陷提出了一种改进麻雀搜索算法(Improved Sparrow Search Algorithm, ISSA)。接着,通过引入积分图方法,降低二维熵多阈值图像分割中总信息熵的运算量,并将总信息熵作为ISSA的适应度函数进行最佳阈值寻优,提出了基于ISSA并结合积分图的二维熵图像多阈值分割快速算法,最后将该算法与穷举法以及基于粒子群优化算法(Particle Swarm Optimization, PSO) 的二维熵方法进行图像分割对比实验。实验结果表明相较于穷举法,本文方法在图像双阈值分割和三阈值分割的速度上分别提升了1077.76倍和1317635.53倍;相较于基于PSO的二维熵方法,本文方法仍取得了6.47倍和4.48倍的速度优势,极大地提升了图像二维熵多阈值分割的分割效率,同时在工业应用场景仍能够获得相同的效果。

1 麻雀搜索算法

麻雀搜索算法是根据麻雀觅食并逃避捕食者的行为而提出的群体智能优化算法[10]。麻雀搜索算法主要模拟了麻雀群觅食的过程。麻雀群觅食过程也是发现者−跟随者模型的一种,同时还叠加了侦查预警机制。在麻雀搜索算法中,每只麻雀的位置代表一个可行解。麻雀种群中的个体被划分为3类,分别肩负不同的觅食职责,其中包括:(1) 发现较好食物的个体作为发现者;(2) 跟随发现者进行觅食活动的跟随者;(3) 在觅食过程中遇到危险进行反捕食行为的侦查者。麻雀种群中的发现者、跟随者以及侦查者的个体数量保持恒定的比例。麻雀种群中的发现者是种群中适应度较高的个体,拥有更广的搜索范围,为跟随者提供觅食方向。跟随者能够发现适应度最高的发现者,跟随发现者的引导,不断更新自身位置以获得更高的适应度。而发现者与跟随者之间的身份是动态变化的,只要跟随者获得更高的适应度,就有机会成为发现者。在觅食过程中,麻雀种群中一定比例的个体作为侦查者,在意识到危险时,会移向安全区作出反捕食行为,以获得更高的适应度。

发现者的位置更新公式为

xt+1ij={xtijexp(iαitermax),R2<Txtij+Q,R2T (1)

式中: itermax 为算法的最大迭代次数; α (0,1] 之间的均匀随机数; Q 为一个服从标准正态分布的随机数; R2 为预警值,是 [0,1] 之间的一个均匀随机数;T为安全阈值,取值范围为 [0.5,1.0]

跟随者位置更新公式为

xt+1ij={Qexp(xtwjxtiji2),i>n2xtpj+|xtijxtpj|A+L, (2)

式中: xtpj 表示在第 t 次迭代中,发现者的最佳位置; xtwj 表示在 t 次迭代中的全局最差位置; A 是一个大小为1×d的矩阵,其中的每个元素随机赋值为−1或1, A+=AT(AAT)1 L表示一个大小为1×d的矩阵,其中元素均为1。

侦查者的位置更新公式为

xt+1ij={xtbj+β|xtijxtbj| , fifgxtij+k|xtijxtwj|(fifw)+ε , fi=fg (3)

式中: xtbj 为在t次迭代中的全局最佳位置; β 为符合标准正态分布的随机数; k [0,1] 之间的均匀随机数; fi fw fg 分别为麻雀的适应度、最差适应度和全局最优适应度。

2 改进麻雀搜索算法 2.1 方差线性递减的高斯扰动

由式(1)可知在SSA中,当 R2<T 时,在每一次迭代过程中,发现者位置的每一维均乘以一个小于1的数,发现者位置的每一维的变化趋势如图1所示,当全局最佳位置 Xb 等于0时,发现者位置的每一维将收敛于0;但当全局最佳位置 Xb 不等于0时,在迭代过程中,发现者所有维度有向原点靠拢或跳跃的趋势,不利于全局搜索。

图 1 发现者位置变化趋势 Figure 1 Change trend of discoverer's position

为解决麻雀搜索算法在迭代过程之中,因发现者所有维度有向原点靠拢或跳跃的趋势所造成的全局搜索能力不高的问题,本文采用方差线性递减的高斯扰动策略,即去除式(1)中 R2<T 时的更新策略,并将式(1)中 R2>T 时的更新策略修改为方差线性递减的高斯扰动策略,使得该算法在迭代初期发现者群体具有一定的个体多样性,并且在算法迭代的后期具备较强的局部搜索能力。改进后的发现者位置更新公式为

xt+1ij=xtij+normrnd(0,sigma) (4)

式中: normrnd(0,sigma) 为期望值为0,方差为 sigma 的高斯分布。 sigma 值在迭代过程中线性地减小,其表达式为

sigma=(sstartsend)tmax (5)

式中: {t}_{\mathrm{m}\mathrm{a}\mathrm{x}} 为最大允许迭代次数, t 为当前迭代次数; {s}_{\mathrm{s}\mathrm{t}\mathrm{a}\mathrm{r}\mathrm{t}} {s}_{\mathrm{e}\mathrm{n}\mathrm{d}} 分别为初始的方差取值和迭代到最大迭代次数的方差取值。设待优化问题目标函数的定义域为 \left[a,b\right] ,为使算法在迭代初期具有一定的个体多样性,根据正态分布的 3\sigma 原则, {s}_{\mathrm{s}\mathrm{t}\mathrm{a}\mathrm{r}\mathrm{t}} 的取值为

3{s_{{\text{start}}}} = \frac{{b - a}}{2} (6)

{s}_{\mathrm{e}\mathrm{n}\mathrm{d}} 应取一个较小的值,使得算法在迭代后期具备较强的局部搜索能力。由于该优化算法针对最佳阈值搜索任务进行改进,并且考虑到阈值的取值为整数,因此将种群个体位置进行四舍五入取整,得到当前种群个体位置所对应的阈值取值,且根据正态分布的 \sigma 原则令 {s}_{\mathrm{e}\mathrm{n}\mathrm{d}}=1 ,使得算法在迭代的后期,发现者在一定的概率下仍然具有跳出当前位置的能力。

2.2 随机步长移动策略

从式(2)中可以看出,在迭代过程中,当 i > n/2 时,跟随者各维度位置的值为一个标准正态分布随机数与一个以自然常数e为底数的指数函数的乘积。即此时跟随者总是在原点周边区域进行搜索。当 i\le n/2 时,跟随者的迭代公式可简化为

x_{ij}^{t + 1} = x_{{\rm{p}}j}^t + \frac{1}{D}\sum\limits_{d = 1}^D {\left( {2 \cdot {\text{randi}}\left( {\left[ {0,1} \right]} \right) - 1} \right) \cdot \left| {x_{ij}^t - x_{{\rm{p}}j}^t} \right|} (7)

式中: \mathrm{r}\mathrm{a}\mathrm{n}\mathrm{d}\mathrm{i}\left(\left[\mathrm{0,1}\right]\right) 表示 \left[\mathrm{0,1}\right] 中的随机整数。显然,在迭代过程中,跟随者在全维度地向最优位置移动,种群多样性较低,算法容易陷入局部最优。

为解决以上问题,本文提出随机步长移动策略,将算法中发现者的位置更新公式改进为

x_{ij}^{t + 1} = x_{ij}^t + \left( {{\text{rand}} \cdot \left( {u - l} \right) + l} \right) \cdot \left( {x_{{\rm{p}}j}^t - x_{ij}^t} \right) (8)

式中: \mathrm{r}\mathrm{a}\mathrm{n}\mathrm{d} 表示0到1之间的均匀随机数; u l 分别为最大步长因子和最小步长因子。由式(8)可知,跟随者位置的每一维度以 \left(l,u\right) 之间的随机步长向最优位置移动,可通过设置步长因子的值调节跟随者的移动速度。

改进的麻雀搜索算法流程为:

步骤1:初始化,包括初始化种群的规模 N ,发现者的个数 {P}_{\mathrm{N}\mathrm{u}\mathrm{m}} ,跟随者的个数 {F}_{\mathrm{N}\mathrm{u}\mathrm{m}} ,最大步长因子 u ,最小步长因子 l ,最大迭代次数 {t}_{\mathrm{m}\mathrm{a}\mathrm{x}} ,并按均匀分布初始化各麻雀个体的位置。

步骤2:计算每只麻雀的适应度 {f}_{i} ,得到当前最优适应度和最优位置。

步骤3:选取适应度最优的前 {P}_{\mathrm{N}\mathrm{u}\mathrm{m}} 个麻雀个体作为发现者,选取适应度最优的前 {F}_{\mathrm{N}\mathrm{u}\mathrm{m}} 个麻雀个体,并排除前 {P}_{\mathrm{N}\mathrm{u}\mathrm{m}} 个麻雀个体作为跟随者,最后剩余的作为侦察者,并分别根据式(4)、(8)以及式(3)更新发现者、跟随者以及侦察者的位置。

步骤4:根据各麻雀个体所处的位置重新计算适应度值 {f}_{i\mathrm{n}\mathrm{e}\mathrm{w}} 。当 {f}_{i\mathrm{n}\mathrm{e}\mathrm{w}} > {f}_{i} 时,表明迭代后的个体优于上一代的个体,则用迭代后的个体替代上一代的个体,否则保持原个体不变。

步骤5:若算法的迭代次数达到最大迭代次数,则算法结束,否则跳转到步骤3。

3 基于改进麻雀搜索算法的多阈值图像分割 3.1 二维熵多阈值分割方法

基于一维直方图可分离判据的阈值分割方法在图像信噪比下降时,图像的分割质量急剧下降[11]。因此出现了一些利用图像的二维直方图进行阈值分割的方法[12-13],其中就包括二维熵的阈值分割方法。可将二维熵阈值分割方法扩展为二维熵多阈值分割方法。

二维熵多阈值分割方法的原理为:假设一幅尺寸为 M\times N 的待分割图像 f\left(x,y\right) (1\le x\le M,1\le y\le N) ,利用尺寸为 n\times m 的滤波核对其进行均值滤波获得邻域平均图像 g\left(x,y\right) ,两图像的灰度级均为 \mathrm{0,1},\cdots,L L 的取值一般为255。设 r\left(i,j\right) 为图像 f\left(x,y\right) 中灰度级为 i 且图像 g\left(x,y\right) 中灰度级为 j 的像素对数。定义 r\left(i,j\right) 所对应的联合概率密度为

{p_{ij}} = \frac{{r\left( {i,j} \right) }}{{M \times N}} (9)

式中: \text{ }0\le {p}_{ij}\le 1\text{ } {\displaystyle \sum _{i=0}^{L}{\displaystyle \sum _{j=0}^{L}{p}_{ij}}}=1

如此得到了一个关于 {p}_{ij} 的二维直方图,如图2所示。设分割阈值为 \left(t,s\right) ,则二维直方图被分割为4个区域,其中区域1和区域3代表目标区域和背景区域,区域2和区域4代表边缘和噪声。

图 2 二维直方图 Figure 2 Two-dimensional histogram

区域1和区域3的概率分别为

{p_1}\left( {t,s} \right) = \sum\limits_{i = t + 1}^L {\sum\limits_{j = s + 1}^L {{p_{ij}}} } (10)
{p_3}\left( {t,s} \right) = \sum\limits_{i = 0}^t {\sum\limits_{j = 0}^s {{p_{ij}}} } (11)

区域1与区域3的总信息熵为[14]

H\left( {t,s} \right) = \ln \left( {{p_1}\left( {t,s} \right) {p_3}\left( {t,s} \right) } \right) + \frac{{{h_1}\left( {t,s} \right) }}{{{p_1}\left( {t,s} \right) }} + \frac{{{h_3}\left( {t,s} \right) }}{{{p_3}\left( {t,s} \right) }} (12)

式中:

{h_i}\left( {t,s} \right) = - \sum\limits_{i = t + 1}^L {\sum\limits_{j = s + 1}^L {{p_{ij}}} } \ln \left( {{p_{ij}}} \right) (13)
{h_3}\left( {t,s} \right) = - \sum\limits_{i = 0}^L {\sum\limits_{j = 0}^L {{p_{ij}}} } \ln \left( {{p_{ij}}} \right) (14)

最大二维熵则是要获得最佳阈值 \left({t}^{*},{s}^{*}\right) ,使得

\left( {{t^*},{s^*}} \right) = \arg \mathop {\max }\limits_{0 \leqslant t < L} \mathop {\max }\limits_{0 \leqslant t < L} \left( {H\left( {t,s} \right) } \right) (15)

将最大二维熵扩展至多阈值形式,则设有n对阈值 \left({t}_{1},{s}_{1}\right) ,\left({t}_{2},{s}_{2}\right), \cdots , \left({t}_{n},{s}_{n}\right) 。将二维直方图主对角线区域分割成n+1个部分,如图3所示,求解最佳阈值 ({t}_{1}^{*},{s}_{1}^{*}) ,({t}_{2}^{*},{s}_{2}^{*}) ,\cdots, ({t}_{n}^{*},{s}_{n}^{*}) 使得总信息熵 H 取最大值。 H 的表达式为

图 3 多阈值二维直方图 Figure 3 Two-dimensional multi-threshold histogram
H\left( {{t_1},{s_1},{t_2},{s_2} ,\cdots, {t_n},{s_n}} \right) = \ln \left( {\prod\limits_{i = 1}^{n + 1} {{p_i}} } \right) - \sum\limits_{i = 1}^{n + 1} {\frac{{{h_i}}}{{{p_i}}}} (16)

{p_k} = \sum\limits_{i = {t_{k - 1}} + 1}^{{t_k}} {\sum\limits_{j = {s_{k - 1}} + 1}^{{s_k}} {{p_{ij}}} } (17)
{h_k} = \sum\limits_{i = {t_{k - 1}} + 1}^{{t_k}} {\sum\limits_{j = {s_{k - 1}} + 1}^{{s_k}} {{p_{ij}}} } \ln \left( {{p_{ij}}} \right) (18)

式中: k=\mathrm{1,2},\cdots ,n+1 且定义 {t}_{0}+1={s}_{0}+1=0 {t}_{n+1}= {s}_{n+1}=L

3.2 积分图

通过二维直方图计算总信息熵 H 时运算量巨大,如式(17)及式(18)所示,对于每对阈值 ({t}_{k},{s}_{k}) 均要做累加计算,且随着阈值数量的增多,二维熵多阈值分割方法的计算复杂度呈指数级增长。为尽可能地提高最佳阈值的搜索速度,本文采用Viola等[15]提出的积分图方法来降低总信息熵 H 的运算量。分别对 {p}_{k} {h}_{k} 生成对应的积分图,如图4所示,其中:

图 4 {p}_{k} {h}_{k} 对应的积分图 Figure 4 Integral diagram corresponding to {p}_{k} and {h}_{k}
{g_1}\left( {i,j} \right) = \sum\limits_{x = 0}^i {\sum\limits_{y = 0}^j {{p_{ij}}} } (19)
{g_2}\left( {i,j} \right) = \sum\limits_{x = 0}^i {\sum\limits_{y = 0}^j {{p_{ij}}} } \ln \left( {{p_{ij}}} \right) (20)

运用积分图,可将式(17)和式(18)的计算简化为:

\begin{gathered} {p_k} = {g_1}\left( {{t_k},{s_k}} \right) - {g_1}\left( {{t_{k - 1}},{s_k}} \right) -\\ {g_1}\left( {{t_k},{s_{k - 1}}} \right) + {g_1}\left( {{t_{k - 1}},{s_{k - 1}}} \right) \\ \end{gathered} (21)
\begin{gathered} {h_k} = {g_2}\left( {{t_k},{s_k}} \right) - {g_2}\left( {{t_{k - 1}},{s_k}} \right) - \\ {g_2}\left( {{t_k},{s_{k - 1}}} \right) + {g_2}\left( {{t_{k - 1}},{s_{k - 1}}} \right) \\ \end{gathered} (22)
4 基于改进麻雀搜索算法的多阈值图像分割算法

设分割图像的阈值向量T [{t}_{1},{t}_{2},\cdots ,{t}_{n},{s}_{1},{s}_{2},\cdots , {s}_{n}] ,其中 0 < {t}_{1} < {t}_{2} < \cdots < {t}_{n} < L;{s}_{1} < {s}_{2} < \cdots < {s}_{n} < L 且取值为整数,以式(16)作为适应度函数,利用改进麻雀搜索算法进行寻优,获得阈值向量 {{\boldsymbol{T}}}^{*} 满足 {{\boldsymbol{T}}}^{*}= \mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{a}\mathrm{x}\left(H\right) ,则阈值向量中的 [{t}_{1}^{*},{t}_{2}^{*},\cdots ,{t}_{n}^{*}] 即为最佳分割阈值。基于改进麻雀搜索算法的多阈值图像分割步骤如下。

步骤1:读取待分割灰度图 f

步骤2:根据灰度图 f 求得二维直方图。

步骤3:根据步骤2中的二维直方图求得 {p}_{k} {h}_{k} 对应的积分图。

步骤4:初始化麻雀种群,其中每个麻雀个体的位置代表一个阈值向量,并利用积分图及根据式(16)、式(21)和式(22)计算所有麻雀个体的适应度值。

步骤5:利用改进麻雀搜索算法对阈值向量进行寻优迭代,直至达到最大迭代次数。

步骤6:通过使用寻优得到的最优阈值对待分割图像进行阈值分割,输出分割后的图像。

流程图如图5所示。

图 5 分割算法流程图 Figure 5 Flow chart of segmentation algorithm
5 实验结果与分析 5.1 基准函数对比实验

通过设计基准函数对比实验来验证改进算法的性能提升,设计二维熵图像多阈值分割对比实验来验证基于改进麻雀搜索算法的二维熵多阈值分割方法在运行速度上的优越性。本文实验均基于Windows1064位操作系统,CPU为Intel(R)Core(TM) i5-4210 M和16 GB内存的PC机,实验软件为Matlab R2018a。

为测试改进麻雀搜索算法的搜索能力,本文采用4个不同特征的基准测试函数作为实验对象,如表1所示。表1中特征“U”代表该函数是单峰函数,函数在定义域内没有局部极值,只有全局最优解;特征“M”代表函数是多峰函数,多峰函数相对于单峰函数具有多个局部极值,用于检验算法的全局搜索能力;特征“S”代表函数是可分离的,即该函数可由N个单变量函数之和表示;特征“N”代表函数是不可分离的,与可分离函数相对,不可分离函数变量之间存在复杂的关系,因此此类函数的寻优较为困难[16]。实验中算法的通用参数分别设置为:种群的规模 N=50 ,最大迭代次数 {t}_{\mathrm{m}\mathrm{a}\mathrm{x}}=100 ,发现者、跟随者及侦查者的比例为2:7:1。

表 1 基准测试函数 Table 1 Benchmark functions

标准麻雀搜索算法和改进麻雀搜索算法在4个基准测试函数上的收敛曲线如图6所示,从图中可以看出改进后的麻雀搜索算法在F1上表现出了更优的收敛精度;在F2上表现出了更优的全局搜索能力;在F3上表现出更优的收敛速度;在F4上表现出与标准麻雀搜索算法相似的寻优能力。

图 6 基准函数收敛图 Figure 6 Convergence graph of benchmark function

为避免实验结果的随机性,定量分析改进后算法的寻优性能,标准麻雀搜索算法(SSA)和改进麻雀搜索算法(ISSA) 对表1中的4个基准函数各独立运行30次,选取运行结果中的最差值、最优值、平均值和标准差作为对比指标进行比较,如表2所示。

表 2 算法性能比较 Table 2 Comparison of performance among different algorithms

从寻优结果的比较中可发现,在F1上,ISSA极大地提高了寻优精度;在F2上SSA没有能够搜寻到最优解,体现了ISSA相较于SSA在全局搜索能力上的提升;在F3和F4上,ISSA相较于SSA,其寻优结果的标准差更低,表现出了更好的寻优稳定性,具有更高的寻优能力。

5.2 基于改进麻雀搜索算法的二维熵多阈值图像分割方法实验

本文实验选取了Lenna图、Camera man图、Rice图以及工业生产当中的齿轮图和刹车盘图分别进行基于改进麻雀搜索算法的二维熵多阈值图像分割方法的单阈值分割、双阈值分割以及三阈值分割。算法的参数设置为:种群的规模 N=50 ,最大迭代次数 {t}_{\mathrm{m}\mathrm{a}\mathrm{x}}=30 ,最大步长因子 u=1.7 ,最小步长因子 l=0.3 ,发现者、跟随者及侦查者的比例为1:8:1。分割后的图像如图7所示。图7中,齿轮图包含多个待分割的齿轮目标,在单个刹车盘工件上同时存在多个灰度不同的区域,对此类图像进行单阈值分割往往不能得到理想的分割结果。利用本文方法对齿轮图像进行双阈值分割,可正确分割出所有的齿轮目标。而刹车盘图像灰度不同的区域较多,采用三阈值分割方可获得理想的分割结果。

图 7 分割结果 Figure 7 Segmentation results
5.3 对比实验

为验证本文方法的优越性,将其与基于粒子群优化算法(Particle Swarm optimization,PSO) 的二维熵分割方法进行对比实验。基于粒子群优化算法(PSO) 的二维熵分割方法是直接利用粒子群优化算法对图像的二维熵最优阈值进行寻优的方法。

以上2种算法对前述5幅原始图像进行分割实验,分割后的阈值与计算时间如表3所示。由表3可知,相较于基于PSO的二维熵方法,本文方法在双阈值分割及三阈值分割中取得了6.47倍及4.48倍的速度优势。将改进麻雀搜索算法应用在二维熵图像多阈值分割上,提高了图像分割的速度。

表 3 两种算法的结果对比 Table 3 Comparison of the results between two algorithms
6 结论

本文针对图像二维熵多阈值分割时存在的计算量过大,计算时间过长的问题,提出了基于ISSA并结合积分图的二维熵图像多阈值分割快速算法。首先,引入麻雀搜索算法(SSA)并对该算法的算法性能进行分析研究,针对SSA存在的全局搜索能力差、容易陷入局部最优解的缺点,提出了基于方差线性递减的高斯扰动策略和随机步长移动策略的ISSA。相较于SSA,ISSA在4种不同类型的基准函数上表现出更优的寻优能力。接着,通过引入积分图方法,降低总信息熵的运算量,最终提出了基于改进麻雀搜索算法并结合积分图的二维熵图像多阈值分割快速算法。最后,使用该方法与基于PSO的二维熵方法进行图像分割对比实验,实验结果表明,相较于基于PSO的二维熵方法,本文方法仍取得了6.47倍和4.48倍的速度优势,提升了图像二维熵多阈值分割的分割效率。

参考文献
[1]
陈百红, 张华, 高恩运, 等. 鞍钢热轧带钢厂智慧制造发展研究[J]. 鞍钢技术, 2020(2): 67-70.
CHEN B H, ZHANG H, GAO E Y, et al. Study on development of smart manufacturing in hot rolled strip steel mill of ansteel[J]. Angang Technology, 2020(2): 67-70. DOI: 10.3969/j.issn.1006-4613.2020.02.015.
[2]
王成军, 韦志文, 严晨. 基于机器视觉技术的分拣机器人研究综述[J]. 科学技术与工程, 2022, 22(3): 893-902.
WANG C J, WEI Z W, YAN C. Review on sorting robot based on machine vision technology[J]. Science Technology and Engineering, 2022, 22(3): 893-902. DOI: 10.3969/j.issn.1671-1815.2022.03.004.
[3]
SARKAR S, DAS S, CHAUDHURI S S. Multi-level thresholding with a decomposition-based multi-objective evolutionary algorithm for segmenting natural and medical images[J]. Applied Soft Computing, 2017, 50: 142-157. DOI: 10.1016/j.asoc.2016.10.032.
[4]
MALA C, SRIDEVI M. Multilevel threshold selection for image segmentation using soft computing techniques[J]. Soft Computing, 2016, 20(5): 1793-1810. DOI: 10.1007/s00500-015-1677-6.
[5]
宋佳声, 王永坚, 戴乐阳. 基于不同自适应阈值法的铁谱图像分割效果比较[J]. 润滑与密封, 2021, 46(4): 111-115.
SONG J S, WANG Y J, DAI L Y. Comparison of ferrographic image segmentation by difference adaptive thresholding methods[J]. Lubrication Engineering, 2021, 46(4): 111-115. DOI: 10.3969/j.issn.0254-0150.2021.04.018.
[6]
吴禄慎, 程伟, 胡赟. 应用改进布谷鸟算法优化多阈值图像分割[J]. 吉林大学学报(工学版), 2021, 51(1): 358-369.
WU L S, CHENG W, HU Y. Image segmentation of multilevel threshold based on improved cuckoo search algorithm[J]. Journal of Jilin University(Engineering and Technology Edition), 2021, 51(1): 358-369. DOI: 10.13229/j.cnki.jdxbgxb20190858.
[7]
吴亮, 杜灵彬, 汤显峰. 基于改进蝴蝶优化算法的多阈值图像分割[J]. 中国科技论文, 2021, 16(11): 1174-1180.
WU L, DU L B, TANG X F. Multi-level threshold image segmentation based on improved butterfly optimization algorithm[J]. China Sciencepaper, 2021, 16(11): 1174-1180. DOI: 10.3969/j.issn.2095-2783.2021.11.004.
[8]
于洋, 孔琳, 虞闯. 自适应粒子群集优化二维OSTU的图像阈值分割算法[J]. 电子测量与仪器学报, 2017, 31(6): 827-832.
YU Y, KONG L, YU C. Image threshold segmentation algorithm based on adaptive particle swarm optimization of two-dimensional OSTU[J]. Journal of Electronic Measurement and Instrumentation, 2017, 31(6): 827-832. DOI: 10.13382/j.jemi.2017.06.002.
[9]
陈恺, 陈芳, 戴敏, 等. 基于萤火虫算法的二维熵多阈值快速图像分割[J]. 光学精密工程, 2014, 22(2): 517-523.
CHEN K, CHEN F, DAI M, et al. Fast image segmentation with multilevel threshold of two-dimensional entropy based on firefly algorithm[J]. Optics and Precision Engineering, 2014, 22(2): 517-523. DOI: 10.3788/OPE.20142202.0517.
[10]
XUE J K, SHEN B. A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems Science & Control Engineering, 2020, 8(1): 22-34.
[11]
阳树洪. 灰度图像阈值分割的自适应和快速算法研究[D]. 重庆: 重庆大学, 2014.
[12]
AHMED S A. Automatic thresholding of gray-level pictures using two-dimensional entropy[J]. Computer Vision, Graphics, and Image Processing, 1989, 47(1): 22-32.
[13]
刘健庄, 栗文青. 灰度图象的二维Otsu自动阈值分割法[J]. 自动化学报, 1993(1): 101-105.
LIU J Z, LI W Q. The automatic thresholding of gray-level pictures via two-dimensional Otsu method[J]. Acta Automatica Sinica, 1993(1): 101-105. DOI: 10.16383/j.aas.1993.01.015.
[14]
张新明, 张爱丽, 郑延斌, 等. 改进的最大熵阈值分割及其快速实现[J]. 计算机科学, 2011, 38(8): 278-283.
ZHANG X M, ZHANG A L, ZHENG Y B, et al. Improved two-dimensional maximum entropy image thresholding and its fast recursive realization[J]. Computer Science, 2011, 38(8): 278-283. DOI: 10.3969/j.issn.1002-137X.2011.08.068.
[15]
VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]// Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. CVPR 2001. Kauai: IEEE, 2001.
[16]
吴虎胜, 张凤鸣, 吴庐山. 一种新的群体智能算法——狼群算法[J]. 系统工程与电子技术, 2013, 35(11): 2430-2438.
WU H S, ZHANG F M, WU L S, et al. New swarm intelligence algorithm—wolf pack algorithm[J]. Systems Engineering and Electronics, 2013, 35(11): 2430-2438.
图 1 发现者位置变化趋势 Figure 1 Change trend of discoverer's position
图 2 二维直方图 Figure 2 Two-dimensional histogram
图 3 多阈值二维直方图 Figure 3 Two-dimensional multi-threshold histogram
图 4 {p}_{k} {h}_{k} 对应的积分图 Figure 4 Integral diagram corresponding to {p}_{k} and {h}_{k}
图 5 分割算法流程图 Figure 5 Flow chart of segmentation algorithm
表 1 基准测试函数 Table 1 Benchmark functions
图 6 基准函数收敛图 Figure 6 Convergence graph of benchmark function
表 2 算法性能比较 Table 2 Comparison of performance among different algorithms
图 7 分割结果 Figure 7 Segmentation results
表 3 两种算法的结果对比 Table 3 Comparison of the results between two algorithms
基于ISSA和积分图的二维熵图像多阈值分割快速算法
吴圳桦, 唐文艳, 吕文阁, 陈汝杰, ...