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):
步骤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数。