1. 引言
图像分割是图像处理与分析中的基础性、关键性步骤,旨在将图像划分为具有相似属性(如灰度、纹理、颜色)的互不重叠的区域,为后续的目标识别、场景理解、医学诊断等高层任务提供可靠依据。阈值分割法因其实现简单、计算量相对较小而成为最常用的分割技术之一。其中,由大津展之提出的Otsu方法[1]因其基于图像灰度直方图统计特性、以最大化类间方为目标自动确定最优阈值而备受青睐,被广泛应用于二值化分割场景。
传统Otsu方法具有局限性,当应用于高分辨率或需要快速处理的场景时效率较低。对于低对比度、光照不均、存在噪声污染的图像,单一全局阈值难以准确区分目标与背景,容易导致过分割或欠分割。虽然可以扩展为多级阈值分割,但计算复杂度会急剧上升,难以实用。为了克服Otsu算法的计算效率瓶颈并提升其在复杂图像上的分割性能,研究者们将目光投向元启发式智能优化算法。[2]提出了改进的雁群算法应用于Otsu阈值图像分割,加入了混沌映射等改进点。[3]提出了基于人工鱼群算法的二维Otsu图像分割,算法能够准确地找到最佳阈值。[4]提出了一种基于Levy-人工蜂群算法的三维Otsu阈值分割算法,针对传统一维Otsu法仅依赖灰度直方图的局限性,建立由像素灰度值、邻域均值与邻域中值构成的三维特征空间,显著提升对图像纹理及空间信息的表征能力。[5]提出了改进被囊群算法,基于折射反向学习初始化种群,采用精英反向学习重新选择优势个体,结合学生分布协调全局和局部搜索能力。[6]提出了改进Otsu算法,引入二阶振荡粒子群优化算法多次调整灰度阈值,利用最优的灰度阈值进行分割。
沙猫群优化算法(SCSO) [7]是近些年提出的一种新颖的元启发式算法,灵感来源于沙猫对猎物的探测和攻击行为。它有参数少、原理简单、易于实现等优点。然而,原始SCSO在处理复杂优化问题时(如Otsu阈值优化问题),也可能表现出收敛精度不足、易陷入局部最优解、后期收敛速度放缓等共性问题,限制了其在图像分割任务中的潜力。
本文提出一种改进的沙猫群优化算法(SCSO-DOGA),并将其应用于Otsu图像分割中。针对原始SCSO的不足以及提升Otsu方法在复杂图像上分割性能的需求,提出对SCSO算法的改进策略:加入了动态反向学习策略,提升寻优精度和效率。将沙猫群优化算法与雁群算法相融合,构建基于SCSO-DOGA的Otsu图像分割框架。在基准函数上进行测试,SCSO-DOGA算法展现更好的性能。并与经典Otsu方法及其他群智能优化算法(PSO-Otsu [8],ACO-Otsu [9],GWO-Otsu [10],原始SCSO-Otsu)的分割方法进行比较。实验结果表明改进后的算法分割后的准确率、Jaccard等指标都优于其他算法。
2. 沙猫群优化算法
沙猫群优化算法是一种受自然界沙猫行为而设计的元启发式算法。模拟沙猫的行为将算法主要分为两个阶段,一个是觅食(搜索)阶段,另一个是捕食(开发)阶段。
沙猫对猎物的搜索依赖于低频噪声的释放,沙猫可以感知0到2 khz的噪声,设沙猫的听觉灵敏度范围
随着迭代的进行从2线性下降到0。
(1)
式中
为最大灵敏度,设置为2。
为当前迭代次数,
为最大迭代次数。
每一只沙猫有不同的灵敏度
,其表示为
(2)
式子中
表示0至1之间的随机数。沙猫根据参数
来控制搜索阶段和开发阶段,即
(3)
当
时,算法处于搜索阶段,每只沙猫根据最佳候选位置
和当前位置
及其灵敏度
来更新自己的位置,位置更新为
(4)
当
时,算法处于开发阶段,沙猫攻击猎物。如公式(5),利用最佳位置和当前位置生成一个随机位置
,随机位置可以确保沙猫靠近猎物。假设沙猫的灵敏度范围是一个圆,用轮盘赌的方式给沙猫选择角度
,最后通过公式(6)实现攻击猎物。
(5)
(6)
3. 改进的沙猫群优化算法
3.1. 动态反向学习策略
动态反向学习策略(Dynamic Opposition-Based Learning, DOBL)是一种增强优化算法全局搜索能力的有效方法[11]。通过在每次迭代中生成当前解的反向解,并与当前解进行竞争,可以避免算法陷入局部最优,同时提高收敛速度。
动态反向学习策略的核心是生成当前解的反向解[12]。设当前解为
,其动态反向解
的计算公式为:
(7)
其中
代表搜索空间的下界,
代表搜索空间的上界。
为了增强动态性,引入动态边界调整机制:
(8)
(9)
其中
是一个随机因子,
。最终的反向解为:
(10)
在每一次的迭代中,动态反向学习策略的具体步骤如下:
1) 对当前解
生成反向解
。
2) 计算反向解的适应度
。
3) 如果
,则反向解替代当前解。
3.2. 雁群协同机制
受雁群V字编队启发,本算法将种群划分为领导雁(当前最优解)与跟随雁[13]:领导雁沿目标函数梯度方向进行定向开发,利用局部梯度信息引导种群跟随雁通过线性组合方式同步领导雁位置与随机差分向。该机制在开发阶段引入梯度信息加速局部收敛,同时通过随机差分避免早熟收敛。
1) 领导–跟随模型
领导者更新:
(11)
跟随者更新:
(12)
其中
为梯度步长系数,
为领导跟随强度,
为随机扰动因子,
,
为随机个体索引。
2) 梯度辅助机制
(13)
式中
表示当前全局最优解位置,
表示目标函数在最优解的梯度,
表示扰动半径。
使用中心差分法估计全局最优解邻域梯度,扰动半径
与解空间规模成正比:
(14)
3.3. 改进沙猫群优化算法流程
本文改进后的沙猫群优化算法具体流程如下:
步骤1:初始化种群位置,计算初始适应度,确定全局最优解和最优适应度值。
步骤2:动态反向学习策略:生成反向种群,选择原种群和反向种群中更优的解。
步骤3:雁群飞行模式更新,根据全局最优解和相邻个体更新位置,具体是式11和式12。
步骤4:根据参数R决定算法处于开发或探索阶段,参数R由式3所得,计算新位置的适应度值,并更新全局最优解。
步骤5:结果输出。
如图1所示。
4. 实验结果与分析
基准函数测试
为全面评估所提出算法的性能,选取了10个基准函数进行实验验证,如表1所示,单峰函数(F1~F2),多峰函数(F3~F9),混合函数F10。将本文提出的改进算法与原始沙猫群优化算法,粒子群算法,
Figure 1. Improved SCSO algorithm flowchart
图1. 改进后沙猫群优化算法流程图
灰狼算法,蚁群算法进行对比分析。为确保实验的公平性与统计可靠性,所有算法均采用统一的实验设置,每个算法种群数量为30个,每个算法独立运行30次,最大迭代次数为100次。实验对比选用标准差,平均值,迭代收敛作为评估指标,平均值反映算法在多次独立运行中获得的平均寻优水平和收敛精度。标准差衡量算法多次运行结果的离散程度,用于评估算法的寻优稳定性和鲁棒性。
Table 1. Test function
表1. 测试函数
名称 |
函数 |
F1 |
Shifted and rotated bent cigar function |
F2 |
Shifted and rotated Zakharov function |
F3 |
Shifted and rotated rosenbrock’s function |
F4 |
Shifted and rotated rastrigin’s function |
F5 |
Shifted and rotated expanded scaffer’s F6 function |
F6 |
Shifted and rotated lunacek Bi_rastrigin function |
F7 |
Shifted and rotated non-continuous rastrigin’s function |
F8 |
Shifted and rotated levy function |
F9 |
Shifted and rotated schwefel’s function |
F10 |
Hybrid Function 1 (N = 3) |
由表2可知,本文提出的SCSO-DOGA算法在测试函数上的结果优于原始SCSO和其他算法。改进后算法的运行后的平均值与标准差都小于其他算法,说明改进后的算法性能更加好,不易受输入数据波动的影响,有更强的稳定性。
Table 2. Benchmarking results
表2. 基准函数测试结果
函数 |
指标 |
SCSO-DOGA |
SCSO |
GWO |
ACO |
PSO |
F1 |
标准差 |
1.0597e−29 |
1.2791e−27 |
5.8257e+02 |
4.8585e+03 |
2.4724e−03 |
平均值 |
2.7033e−30 |
2.7227e−28 |
3.5845e−03 |
6.8817e+04 |
2.9929e+03 |
F2 |
标准差 |
1.1498e−15 |
3.6393e−15 |
5.7435e−02 |
5.3692e+42 |
3.4119e+26 |
平均值 |
1.1545e−16 |
5.2307e−16 |
1.5995e−01 |
3.1736e+42 |
1.7913e+26 |
F3 |
标准差 |
1.3540e−19 |
7.5766e−18 |
8.2883e+01 |
1.4110e+04 |
4.7085e+03 |
平均值 |
1.0931e−18 |
4.7917e−17 |
1.3297e+02 |
9.0644e+04 |
1.8025e+04 |
F4 |
标准差 |
1.4823e−12 |
5.9830e−11 |
3.3361e−01 |
4.3237e+00 |
2.8934e+00 |
平均值 |
1.4450e−13 |
2.9601e−12 |
3.2449e−01 |
3.3920e+00 |
2.6063e+00 |
F5 |
标准差 |
3.3387e−01 |
5.1451e−01 |
9.0107e−01 |
4.1555e+07 |
3.8633e+05 |
平均值 |
2.6426e+08 |
2.8164e+01 |
3.1319e+01 |
2.7616e+01 |
9.2815e+05 |
F6 |
标准差 |
1.8314e−03 |
4.4306e−01 |
7.2002e−01 |
7.4531e+03 |
7.6590e+02 |
平均值 |
1.1956e+00 |
4.7923e−03 |
2.4473e+00 |
6.9541e+04 |
3.0205e+03 |
F7 |
标准差 |
1.1771e−03 |
1.5079e−03 |
8.8021e−01 |
2.2784e+01 |
8.8021e−01 |
平均值 |
1.1880e+02 |
1.4387e−03 |
5.2257e−02 |
1.4306e−03 |
9.4626e−01 |
F8 |
标准差 |
1.1585e+03 |
9.4361e+02 |
5.2950e+02 |
4.4145e+02 |
7.1323e+02 |
平均值 |
−8.6915e+03 |
−5.6599e+03 |
−3.6867e+03 |
−4.8417e+03 |
−5.6836e+03 |
F9 |
标准差 |
0 |
0 |
5.1503e+00 |
2.7431e+01 |
2.1481e+01 |
平均值 |
0 |
0 |
1.6571e+0 |
4.2483e+02 |
2.3636e+02 |
F10 |
标准差 |
1.2283e−15 |
5.7253e−13 |
4.5950e−03 |
1.5628e−0 |
7.8038e−01 |
平均值 |
1.1284e+01 |
8.3785e−15 |
1.3300e−02 |
2.0583e+01 |
1.2731e−15 |
图2展示了SCSO-DOGA算法与其他算法在基准函数上的收敛曲线,选取了F1 (单峰函数),F3和F6以及F9 (多峰函数)。在基准函数的迭代曲线中,SCSO-DOGA的收敛速度更快,而且能够更好地找到最优值。
(a) F1 (b) F3
(a) F6 (b) F9
Figure 2. Convergence curves of benchmark functions
图2. 基准函数的收敛曲线
5. Otsu多阈值图像分割
5.1. 实验设计
第一步,选用BSDS 500数据集中的图片对算法进行初步测试,再选用ISIC数据集测试改进后的算法(SCSO-DOGA)用于Otsu图像分割的效果,实验时与SCSO-Otsu,PSO-Otsu,GWO-Otsu,ACO-Otsu,传统Otsu进行对比。算法的种群规模为30,运行次数为20。
5.2. 评估指标
实验采用准确率、Jaccard、Dice、PSNR、SSIM作为评估指标。
PSNR是一种基于像素值差异的客观评价指标,通过计算原始图像与失真图像之间的均方误差(MSE)与最大像素值的对数关系来量化图像质量。值越高,表示图像质量越好,失真越小。
SSIM是一种基于人类视觉感知的图像质量评价方法,综合考虑亮度、对比度和结构三个维度。SSIM值范围在[−1, 1]之间,值越接近1,表示图像质量越好,失真越小。
Dice系数是一种广泛应用于医学图像分割任务的评价指标,用于衡量预测分割结果与真实标签之间的重叠程度。A是预测结果(二值图像),B是真实标签。计算公式如下:
(15)
Jaccard系数,也称为交并比(Intersection over Union, IoU),是另一种衡量两个集合相似度的指标,广泛应用于图像分割任务中。计算公式如下:
(16)
准确率是分类任务中最常用的指标之一,在图像分割中用于衡量模型预测的像素类别与真实标签的匹配程度。计算公式如下:
(17)
TP (True Positive):正确预测为正类的像素数量。
TN (True Negative):正确预测为负类的像素数量。
FP (False Positive):错误预测为正类的像素数量。
FN (False Negative):错误预测为负类的像素数量。
5.3. BSDS 500数据集分割结果
实验选用BSDS 500 [14]数据集中的图片进行初步测试,选用了PSNR和SSIM作为评估指标,以下是实验结果。
Table 3. Experimental evaluation metrics across algorithms
表3. 各算法的实验后指标
图片 |
指标 |
SCSO-DOGA-Otsu |
SCSO-Otsu |
PSO-Otsu |
GWO-Otsu |
ACO-Otsu |
Otsu |
1 |
PSNR |
23.85 |
18.43 |
19.10 |
10.31 |
19.90 |
7.77 |
SSIM |
0.8301 |
0.8160 |
0.7912 |
0.6817 |
0.8235 |
0.4407 |
2 |
PSNR |
24.86 |
8.30 |
13.14 |
7.54 |
11.75 |
7.53 |
SSIM |
0.8403 |
0.6653 |
0.7056 |
0.7063 |
0.7300 |
0.5974 |
3 |
PSNR |
22.39 |
20.99 |
21.47 |
19.98 |
22.20 |
9.95 |
SSIM |
0.9014 |
0.8743 |
0.8857 |
0.8097 |
0.8885 |
0.3739 |
从表3中所示,改进后的算法(SCSO-DOGA)在BSDS 500数据集中的图片分割中,与其他算法相比PSNR和SSIM指标更为优秀。从图3中所示,SCSO-DOGA算法在分割中,其分割结果在细节保留度与边界精确度上均实现了提升,雁群协同机制能够更有效地探索解空间,从而实现了对细微边缘和内部复杂结构更精细地分割。动态反向学习策略的动态适应性确保了算法在追求更高精度的同时,不会因过度扰动而破坏已找到的优质解,提升了分割边界的平滑性。所以结果表明改进后的算法在Otsu图像分割中提升了分割效果。
5.4. ISIC数据集分割结果
ISIC数据集(International Skin Imaging Collaboration)国际皮肤影像协作组织提供的皮肤病变图像数据集,主要用于皮肤癌检测和分类研究。
(a) SCSO-DOGA (b) SCSO
(c) PSO (d) GWO
(e) Otsu (f) ACO
Figure 3. Comparison of segmentation results across algorithms
图3. 各算法分割结果对比
在表4中所示,SCSO-DOGA算法的准确率等指标都优于其他算法,有更好的分割效果,但在Dice系数、Jaccard指标中仍有提升的空间。
Table 4. Quantitative evaluation metrics on the ISIC dataset
表4. ISIC数据集上的实验指标
算法 |
Dice |
Jaccard |
准确率 |
SSIM |
SCSO-DOGA |
0.7860 |
0.6808 |
0.8760 |
0.8410 |
SCSO |
0.7550 |
0.6525 |
0.8298 |
0.7953 |
GWO |
0.5717 |
0.4654 |
0.6594 |
0.6273 |
PSO |
0.7310 |
0.6141 |
0.7891 |
0.7668 |
ACO |
0.7700 |
0.6649 |
0.8480 |
0.8297 |
传统Otsu |
0.1768 |
0.1167 |
0.1491 |
0.1237 |
如图4所示,相比较之下SCSO-DOGA算法具有更好的分割效果。SCSO-DOGA算法减少了边界像素的错分,并且较为完整地提取了整个色素病变区域。虽然改进后的算法能取得较为不错的分割结果,但在复杂皮肤病影像中的分割仍然面对着挑战。
(a) SCSO-DOGA (b) SCSO
(c) GWO (d) PSO
(e) ACO (f) 传统Otsu
Figure 4. Segmentation results of various algorithms on the ISIC dataset
图4. 各算法在ISIC数据集上的分割结果
6. 结语
本文提出了基于SCSO-DOGA的Otsu阈值图像分割方法,通过在算法中加入了动态反向学习策略,提高搜索能力,又将雁群算法中的协同机制引入算法中,进一步提高算法的寻优能力。在10个基准函数的测试中,SCSO-DOGA算法展现了更快的收敛速度,相比于其他算法,在标准差和平均值的指标上更为优秀。在BSDS 500数据集和ISIC数据集上,SCSO-DOGA算法有更好的分割效果。
在未来的工作中,可以将算法应用于更广的领域,比如医学图像处理领域[15],将图像分割与群智能算法相结合,提高图像分割的效果和精度。此外在红外图像[16]、显微图像[17]等领域都能有应用。