当前位置: 首页 > news >正文

【论文阅读】基于人工智能目标检测与跟踪技术的过冷流沸腾气泡特征提取

Bubble feature extraction in subcooled flow boiling using AI-based object detection and tracking techniques
基于人工智能目标检测与跟踪技术的过冷流沸腾气泡特征提取
期刊信息:International Journal of Heat and Mass Transfer 2024
级别:EI检索 SCI升级版工程技术2区 SCI基础版工程技术2区 IF5.2
原文链接:https://doi.org/10.1016/j.ijheatmasstransfer.2024.125188
演示视频:https://github.com/zhouzhouwen/Bubble_detection_and_tracking

气泡检测方法

本研究采用了2023年6月开发的最先进的基于CNN的YOLOv8。它表现出速度和精度的卓越平衡,从而将其建立为广泛任务的最佳选择,包括目标检测,目标跟踪,实例分割,图像分类和姿态估计。

基于YOLOv8的气泡检测算法由主干和头部两部分组成,如下图所示,主干组件作为特征提取器,用于从输入图像中提取高级特征。它从根本上使用了CSPDar - knet53特征提取器,并通过脚手架金字塔池特征(SPPF)层和额外的卷积层处理多个尺度的气泡特征图。C2f模块将这些高级特征与上下文信息相结合,从而提高了模型的气泡检测精度。header组件首先通过Concat层处理骨干生成的气泡特征映射,然后进行卷积和上行采样等操作。这些最后的结果然后被输入到Detection模块,最终输出气泡边界框、气泡类和分布焦点。头部结构针对速度和精度进行了优化。除了这些主要组件之外,YOLOv8还加入了Upsample和Concat层等辅助层,它们分别提高了特征图的分辨率,并促进了不同层特征图的组合。这些附加层共同提高了气泡检测算法的效率和有效性。
在这里插入图片描述

在YOLOv8的损失最小化过程中,Detection模块的输出与三种不同的损失相关:气泡边界框损失、气泡类损失和气泡分布焦点损失。气泡边界框损失是指真实的气泡边界框与YOLOv8预测的边界框之间的差异。模型对每个边界框进行4次预测,即中心坐标(x, y)和尺寸(宽度w,高度h)。边界框损失(boxloss)定义为:
在这里插入图片描述
预测的气泡边界框是b = (bx, by, bw, bh),实际的气泡边界框是b ’ = (b ’ x, b ’ y, b ’ w, b ’ h)。

为了解决每个边界框的类预测问题,YOLOv8利用了交叉熵损失函数。假设模型对每个类别的预测概率为p = (p1, p2,…pc),实际类别为c,则类别损失(clsloss)表示为:
在这里插入图片描述
pc是模型预测的正确类别的概率。在本研究中,类别分为两组,即气泡类别和背景类别。

为了解决类别不平衡的问题,YOLOv8 采用了焦点损失函数(dflloss),其定义为:
在这里插入图片描述
γ是一个通常设为2的超参数。焦点损失函数通过强化复杂样本的损失来缓解分类任务中的类不平衡,从而促使模型在训练时更多地关注这些样本。此外,YOLOv8提出了五个预定义模型,以满足不同范围的用例,考虑到计算效率和检测精度之间的平衡。这种灵活性使用户能够选择最适合其特定场景的方案,如表1所示。
在这里插入图片描述

以下指标通常用于衡量目标检测方法的性能。精度是衡量模型正面预测的准确度。数学上,精度计算为:
在这里插入图片描述
TP =真正例(正确识别的检测),FP =假正例(错误识别的检测)。召回:召回度量检测到的对象的数量。它量化了实际正确识别阳性的比例,定义为:
在这里插入图片描述
假反例(False Negatives, FN)表示漏检数。
Mean Average Precision (mAP@50): mAP@50以IoU (Intersection over Union)为阈值0.5(50%)计算召回值在0 ~ 1范围内的平均精度值的平均值。它提供了一个单一的度量,封装了精确度和召回率之间的权衡。IoU是用于对象检测的度量,用于量化对象检测器在特定数据集上的准确性。它测量两个边界框之间的重叠,如下图所示。
在这里插入图片描述
IoU的计算公式如下:
在这里插入图片描述
Mean Average Precision (mAP@50:95): mAP@50:95计算不同IoU阈值的平均精度,从0.5(50%)到0.95(95%),步长为0.05。它提供了一个模型在不同级别IoU上更全面的表现。mAP是一个介于0到1之间的值,mAP值越高,表示精度越高(假正例率低),召回率越高(假反例率低),这意味着模型正确识别对象,假正例或漏检较少。

气泡跟踪方法

多目标跟踪(MOT)算法是一种复杂的方法,可以在一个场景中同时跟踪多个目标。该技术包括检测每一帧内的对象,为每个对象分配唯一的ID,并在连续的帧中维持该ID,以构建随时间变化的对象轨迹。本研究将MOT算法与YOLOv8相结合,实现了在每个视频帧中检测到单个气泡后的跟踪。图6给出了气泡跟踪方法的一般流程。目前的气泡跟踪方法分为以下四个过程(图6):
图6
步骤1:气泡特征提取及位置预测。基于YOLOv8检测到冷凝气泡后,在后续帧中对每个气泡的轨迹进行投影。这就是调用卡尔曼滤波器的地方。卡尔曼滤波器根据当前状态估计冷凝气泡的未来状态。凝结泡的状态包括位置、速度和加速度。卡尔曼滤波器内的预测步长可以用数学形式表示为:
在这里插入图片描述
式中,
^xt为时刻t的预测状态,
Ft+1为时刻t到t+1的状态转移模型,
xt为时刻t的前一状态,
Bt+1为时刻t到t+1的控制输入模型,
ut+1为时刻t到t+1的控制向量,
t为时刻t的预测协方差,
^Pt为时刻t的前一协方差,
Ft+1是状态转移模型从时间t到时间t+1的转置,
Qt+1是时间t到时间t+1的过程噪声。

步骤2:级联匹配。级联匹配是一种机制,通过匈牙利算法,检测与基于跟踪的外观特征和外观相似性相匹配,这种方法建立了凝结气泡的短轨迹,从最近的检测开始,并向后追溯时间。

步骤3:IoU匹配。利用IoU匹配构造匈牙利算法的代价矩阵,便于跟踪的最优分配,生成关联结果。

步骤4:动作状态更新。基于卡尔曼滤波和运动预测模型对冷凝气泡轨迹的运动状态进行刷新。此外,对不相关的检测结果进行初始化,形成新的气泡轨迹。卡尔曼滤波器的更新方程如下:
在这里插入图片描述
式中,
Kt+1为t+1时刻的卡尔曼增益,
Ht+1为t - t+1时刻的观测模型,
Rt+1为t - t+1时刻的观测噪声协方差,
zt+1为t+1时刻的实际观测值,
I为单位矩阵。
冷凝气泡的轨迹如图6所示。

气泡检测结果

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

不同MOT算法的跟踪结果。在这里插入图片描述

结论与后续工作

在本研究中,提出了一种利用目标检测和跟踪技术提取鲁棒冷凝气泡特征的新方法——针对过冷流沸腾的分析。提出的人工智能模型在每个气泡的整个生命周期内有效地捕获时间和空间信息。有效地提取了过冷沸腾流中的关键热压参数,包括展弦比、Sauter平均直径、离开直径、生长时间和气泡寿命,并将其与经验相关性进行了比较。

此外,该模型能够量化过冷沸腾流中现有经验关联的近似偏差和波动幅度,这些关联大多是在稳定和充分发展的条件下发展起来的。对比结果显示了令人满意的一致性水平,进一步增强了我们提出的人工智能模型的有效性。该数据集将是开源的,使热水力领域的其他研究人员能够进行相关研究。

然而,值得注意的是,虽然目前的模型在提取热液参数方面表现出足够的性能,但用于训练和验证的当前数据集仅包含四组较低长/宽比的实验数据,以及25,000个注释的气泡数据点。因此,我们模型的通用性需要进一步改进。为了解决这一限制,我们正在获取具有更长的长/宽比的完整开发视频及其相应的综合数据集。这些新的数据集将用于训练一个更广义的气泡检测和跟踪模型。此外,我们正在进行的工作旨在提取和验证与视频长度密切相关的关键热水力参数,如空隙率、界面面积浓度、成核位点密度和Nu数。

相关文章:

【论文阅读】基于人工智能目标检测与跟踪技术的过冷流沸腾气泡特征提取

Bubble feature extraction in subcooled flow boiling using AI-based object detection and tracking techniques 基于人工智能目标检测与跟踪技术的过冷流沸腾气泡特征提取 期刊信息:International Journal of Heat and Mass Transfer 2024 级别:EI检…...

RabbitMQ讲解与整合

RabbitMq安装 类型概念 租户 RabbitMQ 中有一个概念叫做多租户,每一个 RabbitMQ 服务器都能创建出许多虚拟的消息服务器,这些虚拟的消息服务器就是我们所说的虚拟主机(virtual host),一般简称为 vhost。 每一个 vhos…...

python 基础知识点(蓝桥杯python科目个人复习计划56)

今日复习内容:做题 例题1:最小的或运算 问题描述:给定整数a,b,求最小的整数x,满足a|x b|x,其中|表示或运算。 输入格式: 第一行包括两个正整数a,b; 输出格式&#…...

【vue】vue中数据双向绑定原理/响应式原理,mvvm,mvc、mvp分别是什么

关于 vue 的原理主要有两个重要内容,分别是 mvvm 数据双向绑定原理,和 响应式原理 MVC(Model-View-Controller): Model(模型):表示应用程序的数据和业务逻辑。View(视图&…...

基于反光柱特征的激光定位算法思路

目录 1. 识别反光柱2. 数据关联2.1 基于几何形状寻找匹配2.2 暴力寻找匹配 3. 位姿估计(最小二乘求解)4. 问题4.1 精度问题4.2 快速旋转时定位较差 1. 识别反光柱 反光柱是特殊材料制成,根据激光雷达对反光材料扫描得到的反射值来提取特征。…...

CSM是什么意思?

CSM(Customer Service Management)是企业客户服务管理的信息化(IT)解决方案架构。本着以客户为中心的管理理念,搭建企业客户服务管理平台,实现企业以客户为中心的管理时代的竞争战略。 CSM的核心是以客户为中心,实现对…...

ES6 面试题

1. const、let 和 var 的区别是什么? 答案: var 声明的变量是函数作用域或全局作用域,而 const 和 let 声明的变量是块级作用域。使用 var 声明的变量可以被重复声明,而 const 和 let 不允许重复声明同一变量。const 声明的变量…...

智能指针(C++)

目录 一、智能指针是什么 二、为什么需要智能指针 三、智能指针的使用和原理 3.1、RALL 3.2 智能指针的原理 3.3、智能指针的分类 3.3.1、auto_ptr 3.3.2、unique_ptr 3.3.3、shared_ptr 3.2.4、weak_ptr 一、智能指针是什么 在c中,动态内存的管理式通过一…...

社区店商业模式探讨:如何创新并持续盈利?

在竞争激烈的商业环境中,社区店要想获得成功并持续盈利,需要不断创新和优化商业模式。 作为一名开鲜奶吧5年的创业者,我将分享一些关于社区店商业模式创新的干货和见解,希望能给想开实体店或创业的朋友们提供有价值的参考。 1、…...

一些可以访问gpt的方式

1、Coze扣子是新一代 AI 大模型智能体开发平台。整合了插件、长短期记忆、工作流、卡片等丰富能力,扣子能帮你低门槛、快速搭建个性化或具备商业价值的智能体,并发布到豆包、飞书等各个平台。https://www.coze.cn/ 2、https://poe.com/ 3、插件阿里…...

springer模板参考文献不显示

Spring期刊模板网站,我的问题是23年12月的版本 https://www.springernature.com/gp/authors/campaigns/latex-author-support/see-where-our-services-will-take-you/18782940 参考文献显示问好,在sn-article.tex文件中,这个sn-mathphys-num…...

【【C语言简单小题学习-1】】

实现九九乘法表 // 输出乘法口诀表 int main() {int i 0;int j 0;for (i 1; i < 9; i){for (j 1; j < i;j)printf("%d*%d%d ", i , j, i*j);printf("\n"); }return 0; }猜数字的游戏设计 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdi…...

mongoDB 优化(1)索引

1、创建复合索引&#xff08;多字段&#xff09; db.collection_test1.createIndex({deletedVersion: 1,param: 1,qrYearMonth: 1},{name: "deletedVersion_1_param_1_qrYearMonth_1",background: true} ); 2、新增索引前&#xff1a; 执行查询&#xff1a; mb.r…...

stable diffusion webUI之赛博菩萨【秋葉】——工具包新手安裝与使用教程

stable diffusion webUI之赛博菩萨【秋葉】——工具包新手安裝与使用教程 AI浪潮袭来&#xff0c;还是学习学习为妙赛博菩萨【秋葉】简介——&#xff08;葉ye&#xff0c;四声&#xff0c;同叶&#xff09;A绘世启动器.exe&#xff08;sd-webui-aki-v4.6.x&#xff09;工具包安…...

鸿蒙应用程序包安装和卸载流程

开发者 开发者可以通过调试命令进行应用的安装和卸载&#xff0c;可参考多HAP的调试流程。 图1 应用程序包安装和卸载流程&#xff08;开发者&#xff09; 多HAP的开发调试与发布部署流程 多HAP的开发调试与发布部署流程如下图所示。 图1 多HAP的开发调试与发布部署流程 …...

C语言数组全面解析:从初学到精通

数组 1. 前言2. 一维数组的创建和初始化3. 一维数组的使用4. 一维数组在内存中的存储5. 二维数组的创建和初始化6. 二维数组的使用7. 二维数组在内存中的存储8. 数组越界9. 数组作为函数参数10. 综合练习10.1 用函数初始化&#xff0c;逆置&#xff0c;打印整型数组10.2 交换两…...

2024-02-28(Kafka,Oozie,Flink)

1.Kafka的数据存储形式 一个主题由多个分区组成 一个分区由多个segment段组成 一个segment段由多个文件组成&#xff08;log&#xff0c;index&#xff08;稀疏索引&#xff09;&#xff0c;timeindex&#xff08;根据时间做的索引&#xff09;&#xff09; 2.读数据的流程 …...

Window下编写的sh文件在Linux/Docker中无法使用

Window下编写的sh文件在Linux/Docker中无法使用 一、sh文件目的1.1 初始状态1.2 目的 二、过程与异常2.1 首先获取标准ubuntu20.04 - 正常2.2 启动ubuntu20.04容器 - 正常2.3 执行windows下写的preInstall文件 - 报错 三、检查和处理3.1 评估异常3.2 处理异常3.3 调整后运行测试…...

第16章-DNS

目录 1. 域名 1.1 产生背景 1.2 概述 1.3 域名的树形层次化结构 2. DNS 2.1 概述 2.2 工作机制 3. DNS查询模式 3.1 递归查询&#xff1a; 3.2 迭代查询&#xff1a; 4. 相关知识点 4.1 集中式DNS 4.2 国内通用DNS 4.3 配置DNS代理 1. 域名 1.1 产生背景 ① IP…...

Leetcoder Day27| 贪心算法part01

语言&#xff1a;Java/Go 理论 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 什么时候用贪心&#xff1f;可以用局部最优退出全局最优&#xff0c;并且想不到反例到情况 贪心的一般解题步骤 将问题分解为若干个子问题找出适合的贪心策略求解每一个子…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...