【研究】光场相机测速技术中景深方向不确定性的改进方法

本文主要是介绍【研究】光场相机测速技术中景深方向不确定性的改进方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本项研究详细介绍了一种基于光场相机的粒子追踪测速(PTV)算法,旨在对三维速度场的三分量进行精细化测量。算法核心在于利用相机视角的多样性,辅以三角化测量和粒子追踪技术,有效优化了光场粒子图像测速(PIV)实验中常见的景深方向不确定性难题。

首先采用Light Field Ray Bundling(LFRB)技术进行三维位置评估,框架如图1所示,通过图像数据与物理空间的映射函数将粒子光线投影至测量体。随后,算法在多个视角视图中独立追踪粒子,统合各个视点信息预测粒子随时间的动态轨迹,这不仅增强了三维轨迹估算的准确性,还保护了追踪算法免受深度信息上的非物理波动影响,如图2所示。

图片

图1 Light Field Ray Bundling(LFRB)算法框架

图片

图2 Plenoptic-PTV算法框架

实验验证

研究团队采用两种不同的成像方法,即光场粒子图像测速(Plenoptic-PIV/PTV)与体视粒子图像测速(Stereo-PIV),进行了十组重复实验。Plenoptic-PIV/PTV实验所用成像系统包括一台分辨率为4096×2304像素的Phantom VEO 4K 990L相机以及一套透镜组件。该相机装备有Nikon 200mm焦距镜头和一个471×362的六边形微透镜阵列,实现了0.45的放大倍率,视场大小为61.1×34.4mm,且具备68.1mm的理论景深。而立体-PIV实验则使用了两台呈25°夹角摆放的Phantom VEO 640相机,每台相机的分辨率达到2560×1600像素,配备了18-105mm的可变焦距镜头。实验的装置布局展示于图3中。

图片

图3 实验布置图示

图4展现了不同测速方法得到的矢量场的平均结果,而图5则揭示了对应的径向速度剖面。研究发现,plenoptic-PIV在相位平均后显示出弱化的径向速度,这似乎表明这种技术对于捕捉立体外运动的能力并未因相位平均而得到增强。反观plenoptic-PTV的实验结果展示出了更为均匀且平滑的平面外速度的轮廓,尤其明显地显现在接近自由流的方向。

无论重复次数如何,plenoptic-PTV数据显示LEVs周围的径向速度特征持续存在,在相位平均后的矢量场形成了一条明显的径向喷流。这一结果验证了实验观察到的立体流动信息与真实物理流动现象的高度一致性。此外,尽管在不同时刻下捕获的瞬态流动模式差异导致不同测速方法的径向速度峰值略有不同,但在图55中plenoptic-PTV和stereo-PIV结果仍展现出了较好的相似度。

图片

图4 通过应用plenoptic-PIV、plenoptic-PTV和stereo-PIV生成的垂直于机翼横截面的w速度等高线图,所有相位均在8°(顶部)和12°(底部)方位角处进行平均。“LE”和“TE”分别表示机翼的前缘和后缘。虚线则对应于图4数据的采样点

图片

图5 在ψ≈8°(a)和ψ≈12°(b)处获得的相平均速度场的径向速度剖面

结论

plenoptic-PTV在减少景深方向方向的不确定度方面获得了与其在平面内不确定度上相匹敌的显著进展。未来的工作将集中于改善粒子运动的预测能力、追踪函数以及轨迹后处理技术的优化。此外,研究人员也将致力于将诸如流体不可压缩性等物理约束融入拉格朗日至欧拉的插值方法中,并探索针对光场相机所特有的强各向异性噪声问题的应对策略。

参考文献

[1] Moaven M, Gururaj A, Raghav V, et al. Improving depth uncertainty in plenoptic camera-based velocimetry[J]. Experiments in Fluids, 2024, 65(4): 49.

文章转自:FLOAT光学和自动化流体实验室   作者:鲁鑫涛

声明:转载此文目的在于传递更多信息,仅供读者学习、交流之目的。文章版权归原作者所有,如有侵权,请联系删除。

这篇关于【研究】光场相机测速技术中景深方向不确定性的改进方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872480

相关文章

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE