51c视觉~3D~合集3

news2025/6/4 18:50:39

我自己的原文哦~      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

轨迹初始化

初始化的第一步是将整个视频划分为若干滑动窗口。我们以长度、滑动步长进行划分。如图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

图2​

实验结果​

所提数据集LSFDriving示例

图3为所提LSFDriving数据集在三种类别(背景、车辆、行人)上的示例。

图3

图3​

所提方法SceneTracker估计效果

图4为所提方法SceneTracker在LSFOdyssey测试集上的估计效果示例。我们等间隔地展示了40帧视频中的12帧点云。方法估计出的轨迹用蓝色显示在对应点云上。从图4可以看出,面对相机和场景中动态物体同时进行的复杂运动,我们方法始终能够输出平滑、连续且精确的估计结果。

图4

图4​

与SF、TAP方法的定性比较

图5是我们方法与scene flow基线、tracking any point基线方法在LSFOdyssey测试集上的定性结果。我们可视化了最后一帧的预测和真值轨迹。轨迹使用jet着色。实线框标记了SF基线由于遮挡或超出边界导致的显著错误区域。从图5可以看出,相比其他方法,我们方法能够估计出厘米级别精度的3D轨迹。

图5

图5​

与SF、TAP方法的定量比较

表1为在LSFOdyssey测试集上3D指标的定量结果。所有数据均来自于Odyssey训练流程。从表1可以看出,我们方法在所有数据集指标上均显著超越其他方法。

表1

表1​

在真实场景数据集LSFDriving上的表现

表2为不同推理模式下我们方法在LSFDriving上的评估结果以及与近期相关方法的比较。从表2可以看出,在仅依赖合成数据进行训练的条件下,我们方法具有真实场景中高泛化能力的优势。

表2

表2

#xxx

#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx
#xxx

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2025年电工杯数学建模竞赛A题】光伏电站发电功率日前预测问题+完整思路+paper+源码

本人7年数学建模竞赛经验,历史获奖率百分之百。团队成员都是拿过全国一等奖的硕博,有需要数模竞赛帮助的可以私信我 本题主要涉及数据预测,数据分析,机器学习,时间序列等知识 1.问题背景与问题描述 2.解题思路分析 …

OpenCv高阶(十九)——dlib关键点定位

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

BUUCTF之[ACTF2020 新生赛]BackupFile

打开环境就一句话 找出源文件! 结合题目名字&#xff1a;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关&#xff1a;Variable 任务描述 编程要求 测试说明 没有伟大的愿望&#xff0c;就没有伟大的天才。——巴尔扎克开始你的任务吧&#xff0c;祝你成功&#xff01; 第2关&#xff1a;Variable 属性 任务描述 编程要求 测试说明 真正的科学家应当是个幻想家&a…

Kafka集成Flume/Spark/Flink(大数据)/SpringBoot

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

Scratch节日 | 拯救屈原 | 端午节

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

rabbitmq Direct交换机简介

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

Git实战--基于已有分支克隆进行项目开发的完整流程

Git克隆项目开发流程 ✅ 一、完整流程概述✅ 二、详细操作步骤Step 1&#xff1a;克隆仓库&#xff08;如果尚未克隆&#xff09;Step 2&#xff1a;获取远程分支信息并切换到 feature/ 获取所有远程分支Step 3&#xff1a;创建并切换到你的新分支Step 4&#xff1a;开始开发新…

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实例提示“出现身份验证错误&#xff0c;无法连接到本地安全机构”错误。 问题原因 导致该问题的可能原因如下&#x…

百度golang研发一面面经

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

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的使用&#xff0c;它在启动过程中起着重要的作用&#xff0…

Scratch节日 | 六一儿童节抓糖果

六一儿童节怎么能没有糖果&#xff1f;这款 六一儿童节抓糖果 小游戏&#xff0c;让你变身小猫&#xff0c;开启一场甜蜜大作战&#xff01; &#x1f3ae; 游戏玩法 帮助小猫收集所有丢失的糖果&#xff0c;收集越多分数越高&#xff01; 小心虫子一样的“坏糖果”&#xff…

通信算法之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节点的高可…

【Kubernetes-1.30】--containerd部署

文章目录 一、环境准备1.1 三台服务器1.2 基础配置&#xff08;三台机通用&#xff09;1.3 关闭 Swap&#xff08;必须&#xff09;1.4 关闭防火墙&#xff08;可选&#xff09;1.5 加载必要模块 & 配置内核参数 二、安装容器运行时&#xff08;containerd 推荐&#xff09…

相机--相机标定

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

MongoDB(七) - MongoDB副本集安装与配置

文章目录 前言一、下载MongoDB1. 下载MongoDB2. 上传安装包3. 创建相关目录 二、安装配置MongoDB1. 解压MongoDB安装包2. 重命名MongoDB文件夹名称3. 修改配置文件4. 分发MongoDB文件夹5. 配置环境变量6. 启动副本集7. 进入MongoDB客户端8. 初始化副本集8.1 初始化副本集8.2 添…

131. 分割回文串-两种回溯思路

我们可以将字符串分割成若干回文子串&#xff0c;返回所有可能的方案。如果将问题分解&#xff0c;可以表示为分割长度为n-1的子字符串&#xff0c;这与原问题性质相同&#xff0c;因此可以采用递归方法解决。 为什么回溯与递归存在联系&#xff1f;在解决这个问题时&#xff0…