51c视觉~3D~合集3
我自己的原文哦~ https://blog.51cto.com/whaosoft/13954440
#SceneTracker
在4D时空中追踪万物!国防科大提出首个长时场景流估计方法
本篇分享 TPAMI 2025 论文SceneTracker: Long-term Scene Flow Estimation Network
,国防科大提出首个长时场景流估计方法 SceneTracker。
- 作者:Bo Wang,Jian Li,Yang Yu,Li Liu,Zhenping Sun,Dewen Hu
- 机构:国防科技大学
- 原文链接:https://arxiv.org/abs/2403.19924v4
- 代码链接:https://github.com/wwsource/SceneTracker
论文简介
在时间与空间组成的4D时空中,精确、在线地捕捉和分析长时且细粒度的物体运动,对机器人、自动驾驶、元宇宙、具身智能等领域更高水平的场景理解起到至关重要的作用。
本研究提出的SceneTracker,是第一个公开的(2024.03)有效解决在线3D点跟踪问题或长时场景流估计问题(LSFE)的工作。其能够快速且精确地捕捉4D时空(RGB-D视频)中任意目标点的3D轨迹,从而使计算机深入了解物体在特定环境中的移动规律和交互方式。本工作现已发表在人工智能顶级期刊《IEEE Transactions on Pattern Analysis and Machine Intelligence》(IF=20.8)上。
SceneTracker是一个新颖的基于深度学习的LSFE方法,它采用迭代的方式逼近最优轨迹。同时其动态索引和构建表观相关性特征和深度残差特征,并利用Transformer挖掘和利用轨迹内部和轨迹之间的远程联系。通过详细的实验,SceneTracker在处理3D空间遮挡和抗深度噪声干扰方面显示出卓越的能力,高度符合LSFE任务的需求。同时,本研究构建了第一个真实世界的LSFE评估数据集LSFDriving,进一步证明了SceneTracker在泛化能力上的优势。
所提方法介绍
我们的目标是跟踪一个3D视频中的3D点。我们形式化该问题如下:一个3D视频是一个帧的RGB-D序列。估计长时场景流旨在生成已知初始位置的个查询点的相机坐标系下的3D轨迹。我们方法的整体架构如图1所示。
图1
轨迹初始化
初始化的第一步是将整个视频划分为若干滑动窗口。我们以长度、滑动步长进行划分。如图1左侧所示,我们需要跟踪个查询点,以三个绿色点为例。
对于第一个滑动窗口,轨迹会被初始化为查询点的初始位置。对于其他滑动窗口,其前帧会根据前一个滑动窗口的后帧的估计结果进行初始化,而其后帧会根据前一个滑动窗口的最后一帧估计结果进行初始化。
以任意一个滑动窗口为例,我们得到相机坐标系下的初始轨迹。进一步的,我们结合相机内参将其转换为坐标系下的初始轨迹。
降采样和降尺度
我们网络推理在的粗分辨率上。这里是一个降采样系数。
首先我们使用一个编码器网络来提取图像特征。编码器网络是一个卷积神经网络,包括8个残差块和5个下采样层。无需特征提取,我们直接对帧的原始深度图进行间隔为的等间隔采样,从而得到降采样的深度图。
进一步的,我们在维度上对初始轨迹进行倍的降尺度操作,得到初始降尺度轨迹。
模板特征和轨迹的更新
在流迭代模块(FIM)中,我们迭代式地更新查询点的模板特征和降尺度轨迹。当处理第一个滑动窗口的第一帧时,我们使用查询点的坐标在特征图上进行双线性采样,从而获得第一帧的模板特征。
然后我们将该特征在时间维度上复制次,获得所有后续滑动窗口的初始模板特征。所有滑动窗口都有一个统一的和独立的。经过FIM的次迭代后,它们会被更新为和。
轨迹输出
我们首先将更新后的降尺度轨迹放大得到当前滑动窗口的3D轨迹片段,以匹配原始输入分辨率。然后我们结合相机内参,将其转换为相机坐标系下的3D轨迹片段。
最后我们将所有滑动窗口生成的轨迹片段链接起来形成完整的3D轨迹。其中相邻窗口中重叠部分采用后一个窗口的结果。
所提数据集介绍
给定一个自动驾驶数据的序列,我们的目标是构建一个帧的RGB-D视频以及第一帧中感兴趣点的3D轨迹。具体地说,我们会分别从静态背景、移动的刚性车辆以及移动的非刚性行人上采样感兴趣点。
背景上的标注
首先,我们利用相机内参和外参来提取第一帧的LiDAR点,这些点可以被正确地投影到图像上。然后我们使用2D目标检测中的包围框来过滤掉所有前景LiDAR点。以一个LiDAR点为例,我们根据车辆位姿将其投影到剩余的帧上。正式地,在时刻的投影点为:
这里,是时刻从车体到世界坐标系的转换矩阵。
车辆上的标注
与背景不同,车辆具有自己独立的运动。我们引入3D目标跟踪中的3D包围框来提供时刻从世界到包围框坐标系的转换矩阵。我们使用3D包围框来过滤出所有车辆的LiDAR点。以一个LiDAR点为例,在时刻的投影点为:
行人上的标注
行人运动的复杂性和非刚性决定了其标注的困难性,这从现有场景流数据集不包含该类数据中可以进一步验证。我们使用双目视频来间接地解决该挑战。
首先,我们准备一段帧的矫正双目视频。然后我们采用一个半自动的标注框架来高效且准确地标记左右目视频中感兴趣点的2D轨迹。
框架的第一步是标记感兴趣点,我们开发了一个定制化的标注软件并标记第一帧左目图像中感兴趣点的2D坐标。
第二步是计算粗左目轨迹,我们利用CoTracker来计算左目视频的粗轨迹。
第三步是计算粗右目轨迹,我们利用LEAStereo来逐帧计算感兴趣点的视差,从而推导出粗轨迹。
第四步是人工细化阶段,左右粗轨迹会在标注软件中显示,其中所有低质量的标注都会被人类标注师修正。
最后,我们结合细化后的左轨迹和视差序列来构造3D轨迹。图2展示了行人的LSFE标注过程。
图2
实验结果
所提数据集LSFDriving示例
图3为所提LSFDriving数据集在三种类别(背景、车辆、行人)上的示例。
图3
所提方法SceneTracker估计效果
图4为所提方法SceneTracker在LSFOdyssey测试集上的估计效果示例。我们等间隔地展示了40帧视频中的12帧点云。方法估计出的轨迹用蓝色显示在对应点云上。从图4可以看出,面对相机和场景中动态物体同时进行的复杂运动,我们方法始终能够输出平滑、连续且精确的估计结果。
图4
与SF、TAP方法的定性比较
图5是我们方法与scene flow基线、tracking any point基线方法在LSFOdyssey测试集上的定性结果。我们可视化了最后一帧的预测和真值轨迹。轨迹使用jet着色。实线框标记了SF基线由于遮挡或超出边界导致的显著错误区域。从图5可以看出,相比其他方法,我们方法能够估计出厘米级别精度的3D轨迹。
图5
与SF、TAP方法的定量比较
表1为在LSFOdyssey测试集上3D指标的定量结果。所有数据均来自于Odyssey训练流程。从表1可以看出,我们方法在所有数据集指标上均显著超越其他方法。
表1
在真实场景数据集LSFDriving上的表现
表2为不同推理模式下我们方法在LSFDriving上的评估结果以及与近期相关方法的比较。从表2可以看出,在仅依赖合成数据进行训练的条件下,我们方法具有真实场景中高泛化能力的优势。
表2
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
相关文章:

51c视觉~3D~合集3
我自己的原文哦~ https://blog.51cto.com/whaosoft/13954440 #SceneTracker 在4D时空中追踪万物!国防科大提出首个长时场景流估计方法 本篇分享 TPAMI 2025 论文SceneTracker: Long-term Scene Flow Estimation Network,国防科大提出首…...
windows11安装编译QtMvvm
windows11安装编译QtMvvm 1 从github下载代码2 官方的Download/Installtion3 自行构建编译QtMvvm遇到的问题3.1 `qmake`问题执行命令报错原因分析qmake报错:找不到编译器 cl解决方案3.2 `make qmake_all`问题执行命令报错原因分析make命令未识别解决方案3.3 缺少`perl`问题执行…...

【2025年电工杯数学建模竞赛A题】光伏电站发电功率日前预测问题+完整思路+paper+源码
本人7年数学建模竞赛经验,历史获奖率百分之百。团队成员都是拿过全国一等奖的硕博,有需要数模竞赛帮助的可以私信我 本题主要涉及数据预测,数据分析,机器学习,时间序列等知识 1.问题背景与问题描述 2.解题思路分析 …...

OpenCv高阶(十九)——dlib关键点定位
文章目录 一、什么是人脸关键点定位?二、关键点模型的下载及关键信息的理解三、dlib关键点定位的简单实现(1)导入必要的库(2)从指定路径读取图像文件(3)创建dlib的正面人脸检测器对象࿰…...

BUUCTF之[ACTF2020 新生赛]BackupFile
打开环境就一句话 找出源文件! 结合题目名字:BackupFile 先用dirsearct扫描网站文件 发现一个index.php.bak ,拼接url下载 打开发现php代码 <?php include_once "flag.php";if(isset($_GET[key])) {$key $_GET[key];if(!is_numeric($key)) {exit…...

头歌之动手学人工智能-Pytorch 之autograd
目录 第1关:Variable 任务描述 编程要求 测试说明 没有伟大的愿望,就没有伟大的天才。——巴尔扎克开始你的任务吧,祝你成功! 第2关:Variable 属性 任务描述 编程要求 测试说明 真正的科学家应当是个幻想家&a…...
OIer常用的软件
前言 现在许多软件的官网多不好找,所以我今天就将常用的一些软件官网地址翻了出来,并简单介绍了他的用法。 正文 1.DEV-C DEV-C 用途:c编译软件,是OIer的生涯之路的必备软件 2.Katex KATex 用途:展现公式的软件&…...
Centos7.x内网环境Jenkins前端打包环境配置
Centos7.x内网环境Jenkins前端打包环境配置 参考地址: https://www.cnblogs.com/guangdelw/p/18763336 https://2048.csdn.net/682c1be8606a8318e857d687.html 前言:环境描述和目标 最近公司新接了一个项目,要求是:需要再桌面…...

Kafka集成Flume/Spark/Flink(大数据)/SpringBoot
Kafka集成Flume Flume生产者 ③、安装Flume,上传apache-flume的压缩包.tar.gz到Linux系统的software,并解压到/opt/module目录下,并修改其名称为flume Flume消费者 Kafka集成Spark 生产者 object SparkKafkaProducer{def main(args:Array[S…...

Scratch节日 | 拯救屈原 | 端午节
端午节快乐! 这款特别为端午节打造的Scratch游戏 《拯救屈原》,将带你走进古代中国,感受历史与文化的魅力! 🏮 游戏介绍 扮演勇敢的探险者,穿越时空回到古代,解锁谜题,完成任务&…...

rabbitmq Direct交换机简介
在实际开发中,需求可能变得复杂,如消息的收发和处理。以支付系统为例,成功支付后需要改变订单状态并通知用户,而失败则不需要。为处理这种情况,提出了使用Direct交换机,它可以根据规则将消息路由到指定队列…...

Git实战--基于已有分支克隆进行项目开发的完整流程
Git克隆项目开发流程 ✅ 一、完整流程概述✅ 二、详细操作步骤Step 1:克隆仓库(如果尚未克隆)Step 2:获取远程分支信息并切换到 feature/ 获取所有远程分支Step 3:创建并切换到你的新分支Step 4:开始开发新…...
MapReduce(期末速成版)
起初在B站看3分钟的速成视频,感觉很多细节没听懂。 具体例子解析(文件内容去重) 对于两个输入文件,即文件A 和文件B,请编写MapReduce 程序,对两个文件进行合并,并剔除 其中重复的内容,得到一个新的输出文件…...
鸿蒙OSUniApp 移动端直播流播放实战:打造符合鸿蒙设计风格的播放器#三方框架 #Uniapp
UniApp 移动端直播流播放实战:打造符合鸿蒙设计风格的播放器 在移动互联网时代,直播已经成为一种主流的内容形式。本文将详细介绍如何使用 UniApp 框架开发一个优雅的直播流播放器,并融入鸿蒙系统的设计理念,实现一个既美观又实用…...

C3、C2f、C3K2、C2PSA的具体结构
YOLOV5 C3 Bottleneck C2f...

2_MCU开发环境搭建-配置MDK兼容Keil4和C51
MCU开发环境搭建-配置MDK兼容Keil4和C51 一、概述 本文以MDK-ARM V5.36版本基础介绍DMK-ARM工程兼容Keil4和C51的配置。 注:在阅读本文前,请先安装和配置完成MDK-ARM(Keil5)。 二、工具包下载 链接: https://pan.baidu.com/s/1Tu2tDD6zRra4xb_PuA1Wsw 提取码: 81pp 三、…...

通过远程桌面连接Windows实例提示“出现身份验证错误,无法连接到本地安全机构”错误怎么办?
本文介绍通过远程桌面连接Windows实例提示“出现身份验证错误无法连接到本地安全机构”错误的解决方案。 问题现象 通过本地电脑内的远程桌面连接Windows实例提示“出现身份验证错误,无法连接到本地安全机构”错误。 问题原因 导致该问题的可能原因如下&#x…...

百度golang研发一面面经
输入一个网址,到显示界面,中间的过程是怎样的 IP 报文段的结构是什么 Innodb 的底层结构 知道几种设计模式 工厂模式 简单工厂模式:根据传入类型参数判断创建哪种类型对象工厂方法模式:由子类决定实例化哪个类抽象工厂模式&#…...

TC3xx学习笔记-启动过程详解(一)
文章目录 前言Firmware启动过程BMHD Check流程ABM启动Internal Flash启动Bootloader ModeProcessing in case no valid BMHD foundProcessing in case no Boot Mode configured by SSW 总结 前言 之前介绍过UCB BMHD的使用,它在启动过程中起着重要的作用࿰…...

Scratch节日 | 六一儿童节抓糖果
六一儿童节怎么能没有糖果?这款 六一儿童节抓糖果 小游戏,让你变身小猫,开启一场甜蜜大作战! 🎮 游戏玩法 帮助小猫收集所有丢失的糖果,收集越多分数越高! 小心虫子一样的“坏糖果”ÿ…...
系统调用与程序接口的关系
程序接口类型 系统调用:是操作系统提供给应用程序的接口 ,允许应用程序请求操作系统执行特定操作,像文件操作(打开、读写、关闭文件 )、进程管理(创建、终止进程 )、设备管理(操作磁…...
从线性方程组角度理解公式 s=n−r(3E−A)
从线性方程组角度理解公式 sn−r(3E−A) 这个公式本质上是 齐次线性方程组解空间维度 的直接体现。下面通过三个关键步骤解释其在线性方程组中的含义: 1. 公式对应的线性方程组 考虑矩阵方程: (3E−A)x0 其中: x 是 n 维未知向量3E−…...

通信算法之280:无人机侦测模块知识框架思维导图
1. 无人机侦测模块知识框架思维导图, 见文末章节。 2. OFDM参数估计,基于循环自相关特性。 3. 无人机其它参数估计...

【Doris基础】Apache Doris中的Coordinator节点作用详解
目录 1 Doris架构概述 2 Coordinator节点的核心作用 2.1 查询协调与调度 2.2 执行计划生成与优化 2.3 资源管理与负载均衡 2.4 容错与故障恢复 3 Coordinator节点的关键实现机制 3.1 两阶段执行模型 3.2 流水线执行引擎 3.3 分布式事务管理 4 Coordinator节点的高可…...
软考 系统架构设计师之考试感悟3
接前一篇文章:软考 系统架构设计师之考试感悟2 上周六(2025年5月24日),本人第三次参加了软考系统架构师的考试。和前两次一样,考了一天,身心俱疲。不过这次感觉比上一次要稍微好点,可能也是考的…...

【Kubernetes-1.30】--containerd部署
文章目录 一、环境准备1.1 三台服务器1.2 基础配置(三台机通用)1.3 关闭 Swap(必须)1.4 关闭防火墙(可选)1.5 加载必要模块 & 配置内核参数 二、安装容器运行时(containerd 推荐)…...
Flutter 嵌套H5 传参数
你可以通过在加载 H5 页面时,将 token 作为 URL 参数拼接,或者通过 WebView 的 JavaScript 通信功能(如 runJavaScript 或 addJavaScriptChannel)传递 token。常用方式如下: 方式一:URL 拼接参数 假设你的…...
什么是线程上下文切换?
导语: 线程上下文切换(Context Switch)是Java并发编程中一个常见但容易被忽视的概念。在高并发场景下,它直接影响系统性能。本文将从面试官角度深入剖析这个话题,帮你理解底层原理、掌握优化思路、规避项目中的常见陷阱…...
Jvm 元空间大小分配原则
JVM元空间(Metaspace)的大小分配原则与系统物理内存密切相关,但并不是直接等比例分配,而是通过一系列参数和JVM的动态管理机制来确定。下面从原理和实际行为两方面详细说明: 1. 元空间(Metaspace࿰…...

相机--相机标定
教程 内外参公式及讲解 相机标定分类 相机标定分为内参标定和外参标定。 相机成像原理 相机成像畸变 链接 四个坐标系的转变 内参标定 内参 相机内参通常用一个 33 矩阵(内参矩阵,KK)表示,形式如下: (1)焦距&…...