【论文复现】基于Otsu方法的多阈值图像分割改进鲸鱼优化算法

server/2025/2/4 1:23:31/

目录

    • 1.摘要
    • 2.鲸鱼优化算法WOA原理
    • 3.改进策略
    • 4.结果展示
    • 5.参考文献
    • 6.代码获取


在这里插入图片描述

1.摘要

本文提出了一种基于Otsu方法的多阈值图像分割改进鲸鱼优化算法(RAV-WOA)。RAV-WOA算法能够在分割灰度图像和彩色图像时,自动选择最优阈值,并确保高效性和高质量。本文引入了反向学习策略来优化鲸鱼种群的初始化,提升了初始种群的质量。此外,针对全局搜索能力和局部开发能力的平衡问题,同时加入了自适应加权策略会根据适应度值和迭代次数进行动态调整。

2.鲸鱼优化算法WOA原理

SCI二区|鲸鱼优化算法(WOA)原理及实现

3.改进策略

自适应加权策略

本文提出了一种可变自适应权重机制,用于动态调整领头鲸的最优位置。当领头鲸远离最优位置时,自适应权重会对其产生较强的扰动;而当领头鲸接近最优位置时,扰动则会减弱。在鲸鱼搜索猎物时,首先根据适应度值对个体鲸鱼进行排序,并将当前处于最佳和最差位置的鲸鱼划分为三等份,得到适应度阈值 s 1 s_1 s1 s 2 s_2 s2,其中 s 1 < s 2 s_1<s_2 s1<s2。然后,当前鲸鱼的位置与这两个阈值 s 1 s_1 s1 s 2 s_2 s2进行比较,从而实现动态的自适应位置更新。
ω = { ω a v g + ( ω a v g − ω min ⁡ ) f i − s 1 f min ⁡ − s 1 f i < s 1 τ ( t − t max ⁡ ϵ − t max ⁡ ) + φ ( f i − s 1 s 2 − f i ) s 1 < f i < s 2 ω a v g − ( ω max ⁡ − ω a v g ) ( f i − s 2 f max ⁡ − s 2 ) f i > s 2 \omega= \begin{cases} \omega_{avg}+(\omega_{avg}-\omega_{\min})\frac{f_i-s_1}{f_{\min}-s_1} & \quad f_i<s_1 \\ \tau(\frac{t-t_{\max}}{\epsilon-t_{\max}})+\varphi(\frac{f_i-s_1}{s_2-f_i}) & \quad s_1<f_i<s_2 \\ \omega_{avg}-(\omega_{\max}-\omega_{avg})(\frac{f_i-s_2}{f_{\max}-s_2}) & \quad f_i>s_2 & \end{cases} ω= ωavg+(ωavgωmin)fmins1fis1τ(ϵtmaxttmax)+φ(s2fifis1)ωavg(ωmaxωavg)(fmaxs2fis2)fi<s1s1<fi<s2fi>s2

自适应权重策略被应用于鲸鱼的螺旋狩猎行为和周围的狩猎行为,鲸鱼位置更新:
{ X ( t + 1 ) = ω ⋅ X ( t ) − A ⋅ D i f p ≤ a t h X ( t + 1 ) = D ′ ⋅ e b l ⋅ cos ⁡ ( 2 π l ) + ω ⋅ X ∗ ( t ) i f p > a t h \begin{cases} X(t+1) & =\omega\cdot X(t)-A\cdot D\quad ifp\leq ath \\ \\ X(t+1) & =D^{\prime}\cdot e^{bl}\cdot\cos(2\pi l)+\omega\cdot X^*(t)\quad ifp>ath \end{cases} X(t+1)X(t+1)=ωX(t)ADifpath=Deblcos(2πl)+ωX(t)ifp>ath

水平交叉和垂直交叉策略

在鲸鱼优化算法(WOA)中,处于最优位置的鲸鱼对整个种群起着引导作用。如果此时最优位置的鲸鱼陷入局部最优解,其他鲸鱼个体将会向局部最优解聚集,从而导致种群多样性的降低。为了平衡算法的全局开发能力与局部搜索能力,引入了水平交叉和垂直交叉策略。水平交叉策略允许种群在搜索空间的边界时增强算法的全局搜索能力,而垂直交叉策略则允许种群在不同维度之间进行交叉操作,帮助种群在某一维度上跳出局部最优解。通过比较水平交叉和垂直交叉策略产生的最优解与其父代个体,选择较优的结果作为算法的最优解。
E i , d h c = u 1 ⋅ Q i , d + ( 1 − u 1 ) ⋅ Q j , d + v 1 ⋅ ( Q i , d − Q j , d ) E j , d h c = u 2 ⋅ Q j , d + ( 1 − u 2 ) ⋅ Q i , d + v 2 ⋅ ( Q j , d − Q i , d ) \begin{aligned} E_{i,d}^{hc} & =u_1\cdot Q_{i,d}+(1-u_1)\cdot Q_{j,d}+v_1\cdot(Q_{i,d}-Q_{j,d}) \\ E_{j,d}^{hc} & =u_2\cdot Q_{j,d}+(1-u_2)\cdot Q_{i,d}+v_2\cdot(Q_{j,d}-Q_{i,d}) \end{aligned} Ei,dhcEj,dhc=u1Qi,d+(1u1)Qj,d+v1(Qi,dQj,d)=u2Qj,d+(1u2)Qi,d+v2(Qj,dQi,d)

Q i , d 1 v c = q ⋅ Q i , d 1 + ( 1 − q ) ⋅ Q i , d 2 Q_{i,d_1}^{vc}=q\cdot Q_{i,d_1}+(1-q)\cdot Q_{i,d_2} Qi,d1vc=qQi,d1+(1q)Qi,d2

流程图

在这里插入图片描述

4.结果展示

CEC2019

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图像分割

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.参考文献

[1] Ma G, Yue X. An improved whale optimization algorithm based on multilevel threshold image segmentation using the Otsu method[J]. Engineering Applications of Artificial Intelligence, 2022, 113: 104960.

6.代码获取


http://www.ppmy.cn/server/164762.html

相关文章

嵌入式C语言:大小端详解

目录 一、大小端的概念 1.1. 大端序&#xff08;Big-endian&#xff09; 1.2. 小端序&#xff08;Little-endian&#xff09; 二、大小端与硬件体系的关系 2.1. 大小端与处理器架构 2.2. 大小端与网络协议 2.3. 大小端对硬件设计的影响 三、判断系统的大小端方式 3.1.…

基于SpringBoot电脑组装系统平台系统功能实现六

一、前言介绍&#xff1a; 1.1 项目摘要 随着科技的进步&#xff0c;计算机硬件技术日新月异&#xff0c;包括处理器&#xff08;CPU&#xff09;、主板、内存、显卡等关键部件的性能不断提升&#xff0c;为电脑组装提供了更多的选择和可能性。不同的硬件组合可以构建出不同类…

【机器学习】深入无监督学习分裂型层次聚类的原理、算法结构与数学基础全方位解读,深度揭示其如何在数据空间中构建层次化聚类结构

&#x1f31f;个人主页&#xff1a;落叶 &#x1f31f;当前专栏: 机器学习专栏 目录 引言 分裂型层次聚类&#xff08;Divisive Hierarchical Clustering&#xff09; 1. 基本原理 2. 分裂型层次聚类的算法步骤 Step 1: 初始化 Step 2: 选择分裂的簇 Step 3: 执行分裂操作…

深入 Rollup:从入门到精通(三)Rollup CLI命令行实战

准备阶段&#xff1a;初始化项目 初始化项目&#xff0c;这里使用的是pnpm&#xff0c;也可以使用yarn或者npm # npm npm init -y # yarn yarn init -y # pnpm pnpm init安装rollup # npm npm install rollup -D # yarn yarn add rollup -D # pnpm pnpm install rollup -D在…

Android --- handler详解

handler 理解 handler 是一套Android 消息传递机制&#xff0c;主要用于线程间通信。 tips&#xff1a; binder/socket 用于进程间通信。 参考&#xff1a; Android 进程间通信-CSDN博客 handler 就是主线程在起了一个子线程&#xff0c;子线程运行并生成message &#xff0c;l…

吴恩达深度学习——机器学习的策略

本文来自https://www.bilibili.com/video/BV1FT4y1E74V&#xff0c;仅为本人学习所用。 文章目录 正交化单一数字评估指标满足指标和优化指标训练、开发&#xff08;验证&#xff09;、测试集划分更改训练、开发、测试集和指标两种错误率贝叶斯错误率人类水平错误率 总结 正交…

4 [危机13小时追踪一场GitHub投毒事件]

事件概要 自北京时间 2024.12.4 晚间6点起&#xff0c; GitHub 上不断出现“幽灵仓库”&#xff0c;仓库中没有任何代码&#xff0c;只有诱导性的病毒文件。当天&#xff0c;他们成为了 GitHub 上 star 增速最快的仓库。超过 180 个虚假僵尸账户正在传播病毒&#xff0c;等待不…

全志 视频输入组件的使用

1.启动MPP和Glog库 示例代码&#xff1a; log_init(argv[0], &stGLogConfig);MPP_SYS_CONF_S stSysConf; memset(&stSysConf, 0, sizeof(MPP_SYS_CONF_S)); stSysConf.nAlignWidth 32; AW_MPI_SYS_SetConf(&stSysConf); ret AW_MPI_SYS_Init();2.获取配置文件信…