【论文阅读】基于图像处理和卷积神经网络的板式换热器气泡识别与跟踪

Bubble recognizing and tracking in a plate heat exchanger by using image processing and convolutional neural network
基于图像处理和卷积神经网络的板式换热器气泡识别与跟踪
期刊信息:International Journal of Multiphase Flow 2021
期刊级别:EI检索 SCI升级版工程技术2区 SCI基础版工程技术3区 IF3.8
原文链接:https://doi.org/10.1016/j.ijmultiphaseflow.2021.103593

文章目录

    • 摘要
    • 实验装置
    • 气泡识别和跟踪方法
    • ITFD方法
    • 结果展示
    • 结论

摘要

本研究提出了一种某某某可视化平台的气泡识别与跟踪新方法。
首先,利用卷积神经网络(CNN)和改进的三帧差分(ITFD)方法,从捕获的视频中检测并获得PHE透明通道中气泡流的位置和状态;然后,采用IoU筛选算法对结果进行优化。最后,计算气泡的位置和速度。此外,还得到了局部雷诺数韦伯数弗劳德数等无量纲参数。结果表明,该方法能够准确识别和跟踪单个气泡的破裂、合并和碰撞等时空行为。在PHE通道中存在大量密集气泡的情况下,该方法的平均准确率可达94%以上,召回率可达87%以上,F1得分为0.91。

实验装置

在这里插入图片描述

气泡识别和跟踪方法

本研究采用了 YOLOv3 网络来识别图像中的气泡,并输出包含宽度、高度和左上角坐标的边界框信息。YOLO 网络可以预测目标的边界框位置和目标类型。气泡被分为正常气泡(单个或孤立气泡)和异常气泡(其他气泡,例如碰撞、破裂和融合气泡等)。

然而,为了改善 YOLO 网络识别小气泡的不足,引入了 ITFD 方法来提高识别率,同时不影响检测器的识别速度。帧差法是常用于运动物体检测和分割的方法之一,其基本原理是利用图像序列中两到三帧相邻帧之间基于像素的时间差来提取图像中的运动区域。ITFD 方法作为一种帧差法,对小目标的检测非常有效。此外,与传统方法相比,它提高了稳定性和鲁棒性。因此,它可以应对一些复杂环境中的目标检测任务。

为了优化检测器的检测性能,本文采用了 IoU 评分筛选法。IoU 评分是用于物体检测的指标,定义为生成的候选框与真实框的重叠率,即交集与并集的比值。当生成的候选框完全与真实框重叠时,IoU 评分为 1,表示识别结果与真实情况完全一致。本研究中,将 YOLO 网络的结果视为真实框,而将 ITFD 方法的结果视为生成的候选框。因此,可以通过 YOLO 网络和 ITFD 方法输出的边界框计算 IoU 评分。IoU 评分高的 ITFD 结果中的框将被删除,而 IoU 评分低的边界框则被保留。

在大多数情况下,CNN 和 ITFD 检测到的相同气泡的 IoU 评分会超过 0.9。因此,本研究将高于 0.9 的 IoU 评分定义为高 IoU 评分,其余的则为低 IoU 评分。
网络结构:
在这里插入图片描述
如图所示,气泡图像数据集同时输入YOLO Net和ITFD,检测结果分别以红色框和绿色框中的气泡表示。得到这两个结果后,使用IOU筛选算法查找ITFD中未在YOLO Net中检测到的小气泡。所设计的检测器对小气泡的检测效果较好,能够准确分割出破碎、碰撞、合并的气泡。同时,提取输出边界框的面积和纵横比,对每帧的气泡大小进行聚类分析。在跟踪系统中,根据检测结果,设计最大IOU分数匹配算法,在相邻帧中找到相同的气泡。此外,根据IOU匹配的结果,可以获得气泡的行为。
网络训练过程:
在这里插入图片描述

ITFD方法

在这里插入图片描述

本文的ITFD方法基于经典的三帧差分法,ITFD结果如图9所示。图9 (a)为处理前的原始图像,图9 (b)为三帧差分法处理后的图像,图9 (c)为ITFD方法处理后的图像,最后图9 (d)为ITFD检测结果。经典的三帧差分法的主要步骤是从当前帧图像减去前一帧图像得到第一帧差分图像,从后一帧图像减去当前帧图像得到第二帧差分图像。然后,用阈值算法对这两幅差值图像进行分割。最后,对分割后的两幅图像进行AND运算,得到图9 (b)所示图像。通过上述处理,对第二帧差图像进行增强,提高其亮度和对比度。然后,使用Canny边缘检测算法获得第二帧差分图像中目标的边缘图像。此外,ITFD方法将基于高斯混合模型的背景相减应用于经过中值滤波平滑的当前帧图像,对当前帧图像的前景和背景进行分割,得到前景图像。通过OR运算,将三帧差分处理后的图像、边缘图像和前景图像用ITFD方法进行收敛,如图9 (c)所示。最后,根据目标的轮廓信息对气泡进行定位,并标记气泡的边界框,如图9 (d)所示。

结果展示

在这里插入图片描述
破碎气泡和碰撞气泡数量:
在这里插入图片描述
不同流速下不同大小气泡的x、y方向的速度:
在这里插入图片描述
指定流速下不同大小气泡的无量纲数:
在这里插入图片描述
气泡破裂:
在这里插入图片描述
原文中还有气泡合并、碰撞

结论

本文提出了一种新的气泡识别和跟踪方法,用于获取气泡的位置、速度和Re、We、Fr等无量纲数。该方法基于图像处理技术和智能算法,具有良好的气泡识别能力。例如,在PHE通道中密集气泡多的情况下,气泡识别和跟踪的平均准确率达到94%以上,召回率达到87%以上,f1得分达到0.91。结果表明,由于凹窝结构所引发的涡,气泡的速度会发生变化。随着液体流速的增加,小气泡的数量也急剧增加,而中、大气泡的数量增加缓慢。当Q L = 4.2 L/min, ε = 7%时,整个气泡的等效雷诺数Re eq s在0—900之间,而介质气泡的等效雷诺数Reeq s更为平均。大多数气泡的We和Fr值都小于1。综上所述,该方法可以全面地用于研究单个气泡的破裂、合并和碰撞等行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/504931.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

03、MongoDB -- MongoDB 权限的设计

目录 MongoDB 权限的设计演示前准备:启动 mongodb 服务器 和 客户端 :1、启动单机模式的 mongodb 服务器2、启动 mongodb 的客户端 MongoDB 权限的设计1、MongoDB 的每个数据库都可以保存用户,不止admin数据库可以保存用户。2、保存用户的数据…

JVM的内存区域划分

目录 1.什么是JVM 2.JVM内存区域划分 2.1各区域详解 2.2经典笔试题: 1.什么是JVM JVM也称为Java虚拟机,它是Java代码的运行环境,Java属于半编译半解释形的语言.它的运行环境在虚拟机上,而不是物理设备.Java这么设定主要是为了跨平台,即一套代码,多处使用.我们只需要编译出一…

技巧 文本编辑器 B列每一行数据换行合并到A列中

一. 需求背景 ⏹A列是我们制作的日文版歌词,B列是中文版译文歌词 现在想让B列的每一行歌词,按下图箭头所示插入到A列的每一行后面 二. 通过文本编辑器的替换功能解决 将Excel中的A和B列的数据复制粘贴到文本编辑器中Excel中的列和列之前是通过Tab来分隔…

Matlab|【免费】基于合作博弈的综合能源系统利益分配优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序实现的模型为综合能源系统利益分配优化调度,采用合作博弈方法,模型针对IES系统的P2G、电解槽、甲烷反应器、储氢罐、CHP和燃气锅炉等设备进行建模,实现基于合作博弈的…

环形链表详解(让你彻底理解环形链表)

文章目录 一.什么是环形链表?二.环形链表的例题(力扣) 三.环形链表的延伸问题 补充 一.什么是环形链表? 环形链表是一种特殊类型的链表数据结构,其最后一个节点的"下一个"指针指向链表中的某个节点&#xff…

代码随想录【数组】 ---- 二分查找

代码随想录【数组】 ---- 二分查找 704.二分查找方法一:二分查找 35.搜索插入位置方法一:二分查找 34.在排序数组中查找元素的第一个和最后一个位置方法一:二分查找 69.x的平方根方法一:袖珍计算器方法二:二分查找方法…

抖音小店的产品价格怎么设置?都需要什么价位的产品?

大家好,我是电商花花。 做抖音小店,一个合理的商品的价格也可以说是非常重要的,价格合理才会吸引到用户这购买。 可能说到价格,很多人第一反应认为随便定就可以了,其实定价是很复杂了,定价定多少&#xf…

一份简单的前端开发指南

文章目录 一、HTML1、表格2、常见标签3、行内、块级4、行内块级元素 二、CSS1、三种样式2、链接样式3、浮动4、清除浮动5、伪类,伪元素6、position7、后代选择器8、弹性布局 三、JavaScripts1、null和undefined的区别2、var let const3、原生数据类型4、双等和三等5…

Vue3 条件渲染 v-if

v-if 指令&#xff1a;用于控制元素的显示或隐藏。 执行条件&#xff1a;当条件为 false 时&#xff0c;会将元素从 DOM 中删除。 应用场景&#xff1a;适用于显示隐藏切换频率较低的场景。 语法格式&#xff1a; <div v-if"数据">内容</div> 基础用…

KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)

**《KubeSphere平台安装系列》** 【Kubernetes上安装KubeSphere&#xff08;亲测–实操完整版&#xff09;】&#xff08;1/3&#xff09; 【Linux单节点部署KubeSphere】&#xff08;2/3&#xff09; 【Linux多节点部署KubeSphere】&#xff08;3/3&#xff09; **《KubeS…

图论 - DFS深度优先遍历、BFS广度优先遍历、拓扑排序

文章目录 前言Part 1&#xff1a;DFS&#xff08;深度优先遍历&#xff09;一、排列数字1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 二、n皇后问题1.问题描述输入格式输出格式数据范围输入样例输出样例 2.算法 三、树的重心1.问题描述输入格式输出格式数据范围…

Laravel框架: Call to a member function connect() on null 异常报错处理

Laravel框架&#xff1a; Call to a member function connect() on null 异常报错处理 Date: 2024.03.01 21:03:11 author: lijianzhan 原文链接: https://learnku.com/laravel/t/63721 问题&#xff1a; local.ERROR: Call to a member function connect() on null {"…