当前位置: 首页 > article >正文

DeFlowSLAM 基于自监督场景运动分解的动态稠密 SLAM

1. 摘要我们提出了一种新颖的光流表示它将光流分解为由相机运动引起的静态光流场和由场景中物体运动引起的另一个动态光流场。基于这种表示我们提出了一种动态 SLAM称为 DeFlowSLAM它利用图像中的静态和动态像素来求解相机位姿而不是像其他动态 SLAM 系统那样仅仅使用静态背景像素。我们提出了一个动态更新模块以自监督的方式训练我们的 DeFlowSLAM其中稠密的集束调整层接收估计的静态光流场和由动态掩码控制的权重并输出优化的静态光流场的残差、相机位姿和逆深度。静态和动态光流场是通过将当前图像映射 (warp) 到相邻图像来估计的并且可以通过将两个场相加来获得最终的光流场。大量实验表明DeFlowSLAM 在静态和动态场景中表现出与最先进的 DROID-SLAM 相当的性能同时在高动态环境中的性能明显优于 DROID-SLAM因此它可以很好地推广到静态和动态场景。代码和数据可在项目网页上找到注目前尚未上传代码DeFlowSLAM: Self-Supervised Scene Motion Decomposition for Dynamic Dense SLAM2. 主要贡献我们提出了一种新颖的双光流场景运动表示将光流分解为静态光流场和动态光流场从而具备了处理动态物体的能力。我们构建了一个动态密集 SLAMDeFlowSLAM它在动态场景中优于最先进的方法。我们提出了一种自监督的训练方法而不是 DROID-SLAM 中的强监督学习。3. 算法结构注本工作整体结构基于 DROID-SLAM因此此处省略DROID-SLAM相关的算法结构解析主要着重于介绍新增的算法模块。将光流分解为静态背景的光流和动态物理的光流两部分相比于 DROID-SLAM 对光流不加区分DeFlowSLAM 同时估计静态光流和动态光流以及动态光流所对应的二值聚合掩码0和1分别代表动态和静态光流。在估计相机位姿时仅使用静态光流。下图展示了一个例子如果场景中有动态物体直接使用静态光流匹配像素会导致错误的结果因而导致根据光度一致性构建的误差项无效。使用网络预测的聚合掩码我们可以在几何光度损失中过滤掉这些无效像素例如下图中的粉红色掩码。3.1. 整体系统框图基于以上的光流表征DeFlowSLAM 以图像序列为输入提取特征构建4D图像关联体积(correlation volume)将其与初始静态光流、完整光流静态光流与动态光流之和、动态掩码一起输入入动态更新模块迭代优化位姿残差、逆深度、静态光流和动态光流最后输出估计。3.2. 动态更新模块与 DROID-SLAM 中直接作用于光流修正项的更新模块不同我们的动态更新模块分别作用于分解后的静态光流和动态光流。静态光流的处理方式与 DROID-SLAM 类似而对于动态光流在每次迭代时通过动态光流的卷积层直接输出获得同时我们将其与静态光流相加以获得完整的光流并输入到光流特征编码器中用于下一次迭代优化。每次迭代都会更新隐藏状态并额外产生一个位姿增量、深度增量、动态掩码增量和动态光流。位姿更新需要在SE3流形上操作而深度、静态光流和动态掩码直接相加即可。通过多次迭代以上变量将逐步收敛至最佳值以表征正确的三维重建结果。在训练初始化阶段动态掩码和动态光流被初始化为0。对于ConvGRU模块相比于DROID-SLAM输出静态光流修正项和对应的关联置度DeFlowSLAM又输出了两个新的项分别为更新后的动态光流和动态掩码的增量。其他部分包括DBA层与DROID-SLAM基本一样不再赘述。3.3. 训练与DROID-SLAM是supervised learning不同DeFlowSLAM可以采用self-supervised learning或者semi-supervised learning两种模式来训练网络具体区别见下。3.3.1. 几何光度误差项为了实现自监督学习DeFlowSLAM采用了Digging into self-supervised monocular depth estimation论文中的方法。基本方法为给定预测的位姿和深度值我们可以找到图像 i 中的像素在图像j中的对应点坐标再利用双线性采样对图像 j 进行采样得到一个采样后的图像。然后再用原始图像与其一起构建几何光度误差项。我们引入 L1 损失和 SSIM损失来构造我们的几何光度损失并设置 α 0.85。在此基础上引入上文中提到的动态掩码因此最终构建的误差项为其中 N 表示动态掩码值为 1即静态光流的像素个数。3.3.2. 光流光度误差项与几何光度误差项类似利用完整的光流可以将图像j映射到图像i并以此构建误差项3.3.3. 动态掩码误差项这里分为两种情况如果数据集提供了GT的动态掩码则可以采用简单的交叉熵来构建误差如果数据集不提供GT的动态掩码则可以通过自监督的方式获得。由于我们可以通过两种方式基于位姿和深度的投影基于光流的映射找到图像i的像素与图像 j 的像素之间的对应关系因此可以使用两者之间的差异来构建人工的动态掩码其中 μ 设置为 0.5。用此掩码来替代GT因而可以构建损失项为3.4. 最终的误差项根据以上公式当使用self-supervised learning时构建的完整误差项如下其中。当使用semi-supervised learning时将Lart_mask改为Lgt_mask即可。4. 主要结果DeFlowSLAM 可以泛化到新的数据集。我们展示了来自 ETH3D、TUM RGB-D、ScanNet 和 Virtual KITTI2 的结果。我们将 DeFlowSLAM 与 DROID-SLAM 的置信度进行可视化。我们的方法可以利用动态物体对应的像素来帮助求解相机位姿。颜色越深意味着置信度的权重越大。DeFlowSLAM 还利用有关路边停放车辆的更多信息。

相关文章:

DeFlowSLAM 基于自监督场景运动分解的动态稠密 SLAM

1. 摘要 我们提出了一种新颖的光流表示,它将光流分解为由相机运动引起的静态光流场和由场景中物体运动引起的另一个动态光流场。基于这种表示,我们提出了一种动态 SLAM,称为 DeFlowSLAM,它利用图像中的静态和动态像素来求解相机位…...

如何在浏览器中实现专业级图像处理:OpenCV.js完整指南

如何在浏览器中实现专业级图像处理:OpenCV.js完整指南 【免费下载链接】opencvjs JavaScript Bindings for OpenCV 项目地址: https://gitcode.com/gh_mirrors/op/opencvjs 想在网页中实现人脸识别、图像滤镜或实时视频分析吗?OpenCV.js让这一切成…...

TexTeller公式识别技术深度剖析:从8000万数据训练到生产级部署

TexTeller公式识别技术深度剖析:从8000万数据训练到生产级部署 【免费下载链接】TexTeller TexTeller can convert image to latex formulas (image2latex, latex OCR) with higher accuracy and exhibits superior generalization ability, enabling it to cover m…...

终极游戏光标增强工具:如何让你的鼠标指针在游戏中清晰可见

终极游戏光标增强工具:如何让你的鼠标指针在游戏中清晰可见 【免费下载链接】YoloMouse Game Cursor Changer 项目地址: https://gitcode.com/gh_mirrors/yo/YoloMouse 你是否曾在激烈的游戏对战中因为鼠标光标太小而迷失方向?是否因为光标颜色与…...

为Claude Code配置Taotoken后端实现稳定无感的编程辅助

为Claude Code配置Taotoken后端实现稳定无感的编程辅助 对于日常使用Claude Code作为编程助手的开发者而言,一个稳定、可控的API服务是保证流畅编码体验的基础。直接连接单一服务商可能会遇到服务波动或访问限制,而手动切换不同模型又增加了配置的复杂度…...

自动驾驶 Camera 与 Radar 融合算法与论文总结

1. Cam与Radar融合综述论文1.1. CamRadarObjDetSemSegADSurvey题目:Radar-Camera Fusion for Object Detection and Semantic Segmentation in Autonomous Driving: A Comprehensive Review名称:用于自动驾驶中目标检测和语义分割的雷达相机融合&#xf…...

终极指南:3步让PS3蓝牙控制器在Windows上完美工作

终极指南:3步让PS3蓝牙控制器在Windows上完美工作 【免费下载链接】BthPS3 Windows kernel-mode Bluetooth Profile & Filter Drivers for PS3 peripherals 项目地址: https://gitcode.com/gh_mirrors/bt/BthPS3 你是否曾经试图将PS3控制器连接到Windows…...

linux server中搭建questasim 10.6c ise14.7

1:背景:公司是公用的服务器,这个服务器里面需要额外的shell打开ise。老的项目维护是ise14.7,需要仿真2:在linux下找到ise的目录,Xilinx\14.7\ISE_DS\ISE\bin\nt64\compxlibgui (花了好些时间&am…...

为 Claude Code 配置 Taotoken 作为后端大模型服务

为 Claude Code 配置 Taotoken 作为后端大模型服务 如果你习惯使用 Claude Code 作为编程助手,并且希望它能通过 Taotoken 平台调用多种大模型,那么这篇教程正适合你。Taotoken 提供了与 Anthropic 官方 API 兼容的通道,这意味着你可以将 Cl…...

Windows Batch (.bat) 脚本语法详解:从入门到实战

文章目录一、 引言:什么是 Batch 脚本?二、 创建和运行 Bat 文件三、 基础语法与命令1. 注释2. 命令回显3. 变量4. 控制流:条件判断 (IF)5. 循环 (FOR)6. 跳转 (GOTO)7. 退出 (EXIT)8. 其他常用命令四、 实战示例示例 1: 简单备份脚本示例 2:…...

终极CORS解决方案:gin-contrib/cors中间件完全指南

终极CORS解决方案:gin-contrib/cors中间件完全指南 【免费下载链接】cors Official CORS gins middleware 项目地址: https://gitcode.com/gh_mirrors/cors/cors 跨域资源共享(CORS)是现代Web开发中常见的挑战,而gin-contr…...

告别模拟器:3分钟在Windows上安装安卓应用的终极指南

告别模拟器:3分钟在Windows上安装安卓应用的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想过在Windows电脑上直接运行安卓应用&#x…...

终极浏览器资源嗅探指南:猫抓Cat-Catch完整使用教程

终极浏览器资源嗅探指南:猫抓Cat-Catch完整使用教程 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存在线视频而烦恼吗&a…...

OpenClaw插件实现聊天工具与Codex开发助手无缝集成

1. 项目概述:在聊天中无缝接入你的本地开发工作流如果你和我一样,日常开发工作流重度依赖像 Codex 这样的智能编码助手,同时又习惯了在 Telegram 或 Discord 的群聊、频道里和团队沟通,那么你很可能面临一个割裂的体验&#xff1a…...

Leptonica源码架构分析:理解2700+函数的设计哲学

Leptonica源码架构分析:理解2700函数的设计哲学 【免费下载链接】leptonica Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. The official github repository for Lepton…...

保姆级避坑指南:从零复现Medical SAM Adapter,搞定皮肤、眼底、腹部CT三大医学数据集

医学影像分割实战:Medical SAM Adapter三大数据集复现全流程解析 当Meta的Segment Anything Model(SAM)遇上医学影像分析,会碰撞出怎样的火花?Medical SAM Adapter作为首个将通用分割大模型适配到医学领域的开源解决方…...

Hawk在微服务架构中的应用:分布式系统的认证解决方案

Hawk在微服务架构中的应用:分布式系统的认证解决方案 【免费下载链接】hawk INACTIVE - HTTP Holder-Of-Key Authentication Scheme 项目地址: https://gitcode.com/gh_mirrors/hawk/hawk 在当今快速发展的分布式系统环境中,微服务架构凭借其灵活…...

从科研到产线:锁相放大器(LIA)在光电探测和AFM中的应用实战与选型指南

从科研到产线:锁相放大器在光电探测与AFM中的实战应用与选型策略 在精密测量领域,信噪比往往决定着实验的成败。当信号强度跌至纳伏甚至皮伏量级时,传统放大器的局限性便暴露无遗——它们会平等地放大信号和噪声。这种现象在拉曼光谱实验中尤…...

WCC与QEMU用户模式结合:实现原生二进制翻译和分析的终极指南

WCC与QEMU用户模式结合:实现原生二进制翻译和分析的终极指南 【免费下载链接】wcc The Witchcraft Compiler Collection 项目地址: https://gitcode.com/gh_mirrors/wc/wcc The Witchcraft Compiler Collection(WCC)是一个功能强大的编…...

如何高效控制macOS外接显示器:MonitorControl完整使用指南

如何高效控制macOS外接显示器:MonitorControl完整使用指南 【免费下载链接】MonitorControl 🖥 Control your displays brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows…...

Hyprland下Waydroid运行Roblox的鼠标锁定方案

1. 项目概述:解决Waydroid中玩Roblox的鼠标逃逸问题 如果你和我一样,在Linux的Hyprland窗口管理器下,通过Waydroid运行Android应用,并且是个Roblox玩家,那你肯定遇到过这个让人抓狂的问题:鼠标光标动不动就…...

揭秘MPC-BE媒体播放器的5大核心技术架构与实战部署

揭秘MPC-BE媒体播放器的5大核心技术架构与实战部署 【免费下载链接】MPC-BE MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows. 项目地址: https://gitcode.…...

004-利用Docker安装Mysql

利用Docker安装Mysql一、在镜像仓库找到 Mysql1.镜像仓库地址2.复制命令3.下载Mysql镜像4.查看镜像二、创建实例并启动三、用本地工具连接数据库四、设置 Mysql 配置一、在镜像仓库找到 Mysql Docker 容器默认是临时存储,若容器删除,MySQL 数据会丢失。…...

TheCherno——Engine(五)

事件系统计划:Application中可以了解Window的所有信息,在Application的构造函数中,就可以创建一个Window类;Window中监测事件的发生,若事件发生,有相应的回调函数响应;在回调函数中,…...

Ryujinx深度解析:从架构设计到性能调优的任天堂Switch模拟器实战指南

Ryujinx深度解析:从架构设计到性能调优的任天堂Switch模拟器实战指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx作为用C#编写的开源Nintendo Switch模拟器&…...

2026数据科学技术趋势全解析:新兴领域与高效学习路径指南

2026数据科学技术趋势全解析:新兴领域与高效学习路径指南 【免费下载链接】data-science 📊 Path to a free self-taught education in Data Science! 项目地址: https://gitcode.com/gh_mirrors/da/data-science GitHub 加速计划 / da / data-sc…...

为内部知识库问答工具集成 Taotoken 提供的多模型检索增强

为内部知识库问答工具集成 Taotoken 提供的多模型检索增强 在企业知识管理实践中,内部知识库问答工具是提升信息流转效率的关键。然而,单一模型在应对复杂、专业或需要多角度推理的查询时,其回答质量可能受限。通过集成 Taotoken 平台&#…...

明日方舟游戏资源库:你的终极素材宝库与创作指南

明日方舟游戏资源库:你的终极素材宝库与创作指南 【免费下载链接】ArknightsGameResource 明日方舟客户端素材 项目地址: https://gitcode.com/gh_mirrors/ar/ArknightsGameResource 还在为寻找高质量的明日方舟游戏素材而苦恼吗?想要获取高清角色…...

AI执行契约:结构化协作框架,提升AI产品构建效率与确定性

1. 项目概述:从灵感到成品的AI驱动产品构建框架如果你和我一样,经常使用 Cursor、Claude 或 ChatGPT 来辅助构建产品原型或功能,那你一定经历过这样的场景:你有一个绝佳的想法,兴冲冲地打开 AI 对话窗口,开…...

将 Taotoken 配置为 Claude Code 编程助手的自定义模型提供商

将 Taotoken 配置为 Claude Code 编程助手的自定义模型提供商 Claude Code 是一款专注于代码生成与编程辅助的 AI 工具,它支持通过自定义配置连接到不同的模型服务。对于希望统一管理多个模型调用、并希望获得稳定计费与用量观测的开发者而言,将 Taotok…...