【计算机图形学】3D Implicit Transporter for Temporally Consistent Keypoint Discovery

news2024/11/22 22:34:19

对3D Implicit Transporter for Temporally Consistent Keypoint Discovery的简单理解

在这里插入图片描述

文章目录

  • 1. 现有方法限制和文章改进
  • 2. 方法
    • 2.1 寻找时间上一致的3D特征点
      • 2.1.1 3D特征Transporter
      • 2.1.2 几何隐式解码器
      • 2.1.3 损失函数
    • 2.2 使用一致特征点的操纵

1. 现有方法限制和文章改进

用于探测特征点的、已经存在的2D和3D方法主要依赖于几何一致性来获得空间上的对齐,而忽视了时间上的一致性。

为了解决这个问题,Transporter在2D数据上,聚合时间和空间信息,进而从原始帧重建目标帧。然而2D Transporter不能直接应用于3D点云上,因为3D点云和2D图像存在结构上的差异。

因此,文章提出了第一个3D版本的Transporter,充分利用混合3D表示、跨注意力机制、隐式重建。在3D铰接物体和非刚性动物(人类和啮齿动物)上应用这种新的学习系统,从而展示了学习到的特征点在时空上的一致性。另外提出了一种closed-loop的控制策略,利用学习到的特征点来进行3D物体操纵,证明其表现。

2. 方法

文章的感知方法提出了一种新的方式,以自监督的方式,在一系列点云中发现移动物体和物体部件在时间和空间上一致的3D特征点。

一旦训练好,学习到的特征点可以被用于设计从初始状态到目标状态的铰接物体的操纵策略,从而避免了UMPNet和Where2Act策略搜集的试错。

2.1 寻找时间上一致的3D特征点

根据[23],数据集的组成是一对对的、从一系列策略中提取出来的帧,每一帧是一个3D点云。一对点云之间是通过物体的姿态/几何(有点类似于Template的概念吗?同一类别下的物体可以泛化?)来辨别差异的。文章的目标是去寻找从源帧到目标帧的、能够描述物体或物体运动部件的对应特征点。文章对这个问题的处理方式是从源帧构建目标帧的基本形状。如下图所示。

在这里插入图片描述

2.1.1 3D特征Transporter

混合的3D表示: 2D图像这种规则数据的对应不适用于不规则的3D点云数据。将点云统一成3D体素网格是最直接的方式,但转换成体素也会引起一些几何结构的信息丢失,比如表面可能不够精确等。尽管可以使用高分辨率的体素网格,但也会带来计算和空间上的成本。

相反,基于点的模型凭借其稀疏表示可以大大减少这些成本,因此,文章利用了基于点的backbone来从稀疏的点钟提取局部特征,利用给予体素的模型来实现局部特征迁移。

给定一帧 o ∈ R N 1 × 3 o∈\R^{N_1×3} oRN1×3 N 1 N_1 N1是输入点的数量,利用PointNet P P P来获得逐点特征 P ( o ) ∈ R N 1 × C 1 P(o)∈\R^{N_1×C_1} P(o)RN1×C1 C 1 C_1 C1是特征维度数。这些特征局部池化并投影到结构化网格 v ∈ R C 2 × C h × C w × C d v∈\R^{C_2×C_h×C_w×C_d} vRC2×Ch×Cw×Cd中。使用3D-UNet U U U来处理特征体素得到输出 U ( v ) ∈ R C 3 × C h × C w × C d U(v)∈\R^{C_3×C_h×C_w×C_d} U(v)RC3×Ch×Cw×Cd。这些步骤通过图2的特征编码器 Φ Φ Φ实现。


注意力特征点探测: 当被要求在一对帧之间寻找移动物体或移动部件时,采用迭代检查和筛选的方式来在帧之间寻找多个试探性区域。受启发于之前的工作,提出使用跨注意力机制模块来聚集两帧的几何信息来定位特征点。

利用基于点的模型来提取输入点云多层特征,进而实现两帧点云之间的关联。给定一对帧 o s , o t o_s,o_t os,ot,利用共享的PointNet++ P ^ \hat{P} P^来获得两个下采样的点特征 f s = P ^ ( o s ) f_s=\hat{P}(o_s) fs=P^(os) f t = P ^ ( o t ) f_t=\hat{P}(o_t) ft=P^(ot),且 f s , f t ∈ R N 2 × C 4 f_s,f_t∈\R^{N_2×C_4} fs,ftRN2×C4。接着使用跨注意力机制来混合这对输入之间的点特征:

在这里插入图片描述

模块的输出( f s ′ , f t ′ f'_s,f'_t fs,ft)是输入特征和注意力特征的concatenation。接着通过PointNet++解码器上采样 f s ′ , f t ′ f'_s,f'_t fs,ft以获得dense features f s ′ , f t ′ ∈ R N 1 × C 5 f'_s,f'_t∈\R^{N_1×C_5} fs,ftRN1×C5

通过以上操作,通过投影和3D UNet U k U_k Uk 将dense point features转换为keypoint saliency volumes(不知道怎么翻译)。整个检测模块的输出表示为 Ψ Ψ Ψ,分别为 Ψ ( o s , o t ) s , Ψ ( o s , o t ) t ∈ R m × C h × C w × C d Ψ(o_s,o_t)_s,Ψ(o_s,o_t)_t∈\R^{m×C_h×C_w×C_d} Ψ(os,ot)s,Ψ(os,ot)tRm×Ch×Cw×Cd,从中可以提取出 m m m个3D关键点 k s , k t ∈ R m × 3 k_s,k_t∈\R^{m×3} ks,ktRm×3,如图2的蓝色部分所示。 k s 和 k t k_s和k_t kskt的第 i i i个特征点彼此对应。


Feature Transportation: 类似于2D Transporter,下一步就是feature transportation以从 o s o_s os中重建 o t o_t ot。Transport Φ ( o t ) Φ(o_t) Φ(ot) k t k_t kt周围的特征至 Φ ( o s ) Φ(o_s) Φ(os)中,压缩 Φ ( o s ) Φ(o_s) Φ(os) k t , k s k_t,k_s kt,ks的特征。如图2绿色部分所示。首先擦除 Φ ( o s ) Φ(o_s) Φ(os)中两个集的特征得到 Φ − ( o s ) Φ^-(o_s) Φ(os),接着从 o t o_t ot中提取特征点 k t k_t kt周围的特征,最后连接到 Φ ( o s ) Φ(o_s) Φ(os)中生成 Φ + ( o s ) Φ^+(o_s) Φ+(os),公式化为:

在这里插入图片描述

其中 H Ψ H_Ψ HΨ表示由固定方差 σ \sigma σ各向同性高斯线组成的3D热力图,以 Ψ Ψ Ψ表示的 m m m个关键点为中心。

2.1.2 几何隐式解码器

由于源和目标帧之间除运动部件外的几何形状保持相同,使用探测到的移动部件上的特征点可以重新合成目标视觉输入。受到3D重建中深度隐式函数的启发,这里使用几何隐式解码器。

给定查询集 Q Q Q中的点 q ∈ R 3 q∈\R^3 qR3,文章的方法使用MLP将点编码成 C e C_e Ce维的向量 q e q_e qe。接着,通过三线性插值从 Φ + ( o s ) Φ^+(o_s) Φ+(os)查询 Φ q + ( o s ) Φ^+_q(o_s) Φq+(os)。隐式解码器 Ω Ω 将特征 q e q_e qe Φ q + ( o s ) Φ^+_q(o_s) Φq+(os)连接后的结果map到目标表面占用率: Ω ( q e , Φ q + ( o s ) ) → P r o b ( q ∣ o t ) Ω(q_e,Φ^+_q(o_s))→Prob(q|o_t) (qe,Φq+(os))Prob(qot)

2.1.3 损失函数

所有模块都可以通过表面重建损失来优化。在预测的目标表面占用率 P r o b ( q ∣ o t ) Prob(q|o_t) Prob(qot)和目标帧的GT标签 P r o b g t ( q ∣ o t ) Prob^{gt}(q|o_t) Probgt(qot)中使用二分类交叉熵损失。如果 q q q来自目标点云,则 P r o b ( q ∣ o t ) Prob(q|o_t) Prob(qot)为1,反之为0,损失函数为:

在这里插入图片描述

除此之外,还使用了额外的损失项 L o c c s L_{occ_s} Loccs,通过利用其自身的特征网格 Φ ( o s ) Φ(o_s) Φ(os)来辅助源帧的重建。

2.2 使用一致特征点的操纵

使用特征点作为中层表示,对于接触丰富的机器人3D空间操纵任务来说是一种合适的方式。之前的工作仅关注与2D特征点表示,或在面对巨大的shape变化或物体拓扑改变的情况下,难以探测到时空一致的3D特征点。由于3D Transporter特征点的长期一致性,文章的方法很好地处理了3D操纵任务。此处以铰接物体操纵作为基线来证明。

在UMPNet工作中,给定目标状态 o g o_g og,目标是生成机器人的end-effector从当前状态 o c o_c oc转变到目标状态 o g o_g og的一组动作。在本片工作中,每个状态使用点云而不是2D图像表示,使用吸盘手以实现对物体表面任意一个点的抓取。

特征点一致性损失: 由于预测的特征点分布在预测的移动部件上,可以使用它来生成源和目标之间的刚性部件运动姿态假设:

在这里插入图片描述

可以使用奇异值分解在封闭形式下计算。强制所有特征点满足刚性转换,使关键点几何对齐:

在这里插入图片描述

关节一致性损失: 铰接运动过程中,轴的方向要么保持不变要么平行。给定预测的姿态,可以通过Rodrigues旋转公式计算轴的方向 μ μ μ和角度 θ \theta θ,惩罚不同时间步下的轴的方向:

在这里插入图片描述

其中, μ a b μ_{ab} μab表示在时间步 a a a和时间步 b b b中预测的轴方向。

完整的损失就是occupancy loss加上这个corr和axis。


在训练后设计了一个基于3D Implicit Transporter keypoint的对象无关的操纵策略,避免了低效探索。对于每个将物体从current state移动到goal state的动作 A c , g A_{c,g} Ac,g,6-Dof姿态表示吸盘手的位置 A c , g p o s ∈ R 3 A^{pos}_{c,g}∈\R^3 Ac,gposR3和移动方向 A c , g d i r ∈ R 3 A^{dir}_{c,g}∈\R^3 Ac,gdirR3,策略由两个部分组成:

位置和方向推理: 第一步是获得预测特征点 k c , k g k_c,k_g kc,kg,轴 μ c , g μ_{c,g} μc,g,角度 θ c , g \theta_{c,g} θc,g。接着从对应特征点计算系数铰接流 F c , g i = k g i − k c i F^i_{c,g}=k^i_g-k^i_c Fc,gi=kgikci。为有效驱动铰接部件,根据杠杆原理选择具有最高magnitude flow的关键点位置 k c s k^s_c kcs作为吸力点,表示为 A c , g p o s = k c s A^{pos}_{c,g}=k^s_c Ac,gpos=kcs

对于旋转轴, k c s k_c^s kcs被限制在垂直于旋转轴的半径为 r s r^s rs的2D圆上,其中 r s r^s rs是从 k c s k^s_c kcs到关节的最短向量。因此, k c s k_c^s kcs的理想行动方向与 A c , g d i r s A^{dir_s}_{c,g} Ac,gdirs相切。若当前状态和目标状态的运动范围较小,则 F c , g s F^s_{c,g} Fc,gs将近似平行于 A c , g d i r s A^{dir_s}_{c,g} Ac,gdirs,则可被设置为运动方向。然而随着旋转范围的增加,它们之间的差异也会越来越显著,减轻这个问题的方法就是根据预测的轴多插值几个中间状态。

对于平移轴, A c , g d i r s A^{dir_s}_{c,g} Ac,gdirs平行于每个移动点的GT铰接流的。直接设置 F c , g s F^s_{c,g} Fc,gs作为铰接方向。不需要区分关节类型,两种方法在极小的差异内都是一样的。

闭环操纵: 与使用单个步骤动作实现目标不同,该工作生成一系列动作来逐渐改变铰接状态。应用一个closed-loop的控制系统,依赖于反馈来逐渐调整当前动作。特别地,基于物体当前状态和目标状态来预测下一个动作。不同于UMPNet使用一个常数移动距离,这里利用 F c , g s F^s_{c,g} Fc,gs的大小来动态调整移动距离。受到PID控制器的启发,设置 ∣ ∣ A c , g d i r s ∣ ∣ = λ ⋅ ∣ ∣ F c , g s ∣ ∣ ||A^{dir_s}_{c,g}||=\lambda·||F^s_{c,g}|| ∣∣Ac,gdirs∣∣=λ∣∣Fc,gs∣∣作为当前状态, λ \lambda λ是一个比例系数。

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

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

相关文章

【热门话题】Yarn:新一代JavaScript包管理器的安装与使用

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Yarn:新一代JavaScript包管理器的安装与使用引言一、Yarn的安装1. 系…

FPGA结构与片上资源

文章目录 0.总览1.可配置逻辑块CLB1.1 6输入查找表(LUT6)1.2 选择器(MUX)1.3 进位链(Carry Chain)1.4 触发器(Flip-Flop) 2.可编程I/O单元2.1 I/O物理级2.2 I/O逻辑级 3.布线资源4.其…

网络七层模型之数据链路层:理解网络通信的架构(二)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

IEEE投稿Latex要求整理(以TCYB为例)

本文以IEEE Transactions on Cybernetics(TCYB)期刊为例,简略整理了投稿中latex编写时作者本人认为需要特别注意的事项。 投稿步骤如下: 下载对应期刊的模板;仔细阅读模板中的投稿要求;在官网注册并投稿。 一、下载对应期刊的模…

Rust编程(五)终章:查漏补缺

闭包 & 迭代器 闭包(Closure)通常是指词法闭包,是一个持有外部环境变量的函数。外部环境是指闭包定义时所在的词法作用域。外部环境变量,在函数式编程范式中也被称为自由变量,是指并不是在闭包内定义的变量。将自…

“光学行业正被量子颠覆”——行业巨头齐聚,展示量子成果

OFC是全球最大的光网络和通信盛会,代表一系列产品,从光学元件和设备到系统、测试设备、软件和特种光纤,代表整个供应链,并提供业界学习、连接、建立网络和达成交易的首要市场,于2024年3月24日至28日在圣地亚哥会议中心…

HarmonyOS入门--配置环境 + IDE汉化

文章目录 下载安装DevEco Studio配置环境先认识DevEco Studio界面工程目录工程级目录模块级目录 app.json5module.json5main_pages.json通知栏预览区 运行模拟器IED汉化 下载安装DevEco Studio 去官网下载DevEco Studio完了安装 配置环境 打开已安装的DevEco Studio快捷方式…

百源生物诚邀您参观2024上海生物发酵产品与技术装备展

参展企业介绍 百源生物致力于提高微生物工业发酵的过程控制水平,以“发酵过程的智能化”为公司使命,通过反应器设计、营养量化、代谢监控及数据分析等手段让复杂的微生物发酵过程变得透明简单,从而实现发酵过程的精确量化控制。 公司…

4. 面向对象编程(上)

文章目录 4. 面向对象编程(上)4.1 面向过程和面向对象4.2 类和对象4.2.1 类对象得使用4.2.2 类对象的内存解析4.2.3 匿名对象 4.3 类的成员之一:属性4.3.1 成员变量和局部变量 4.4 类的成员之二:方法(函数)…

JAVA面试八股文之集合

JAVA集合相关 集合?说一说Java提供的常见集合?hashmap的key可以为null嘛?hashMap线程是否安全, 如果不安全, 如何解决?HashSet和TreeSet?ArrayList底层是如何实现的?ArrayList listnew ArrayList(10)中的li…

【超图 SuperMap3D】【基础API使用示例】54、超图SuperMap3D -鼠标左键拖拽绘制圆

前言 引擎下载地址:[添加链接描述](http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id2524) 通过左键按下拖拽的方式在地图上进行贴地的圆绘制 完整代码拷贝直接本地运行即可查看效果效果 核心代码 // 绘制圆形 function startDrawCircleHand…

每天学习一点点之注解处理器 APT

APT(Annotation Processing Tool)是一种处理注解的工具,它能够对源代码文件进行检测并找出其中的注解,然后对其进行额外的处理。由于注解处理过程是在编译时完成的,并不会影响程序的运行时性能。 APT 能做什么&#x…

3D人体姿态估计项目 | 从2D视频中通过检测人体关键点来估计3D人体姿态实现

项目应用场景 人体姿态估计是关于图像或视频中人体关节的 2D 或 3D 定位。一般来说,这个过程可以分为两个部分:(1) 2D 视频中的 2D 关键点检测;(2) 根据 2D 关键点进行 3D 位姿估计。这个项目使用 Detectron2 从任意的 2D 视频中检测 2D 关节…

车载以太网AVB交换机 gptp透明时钟 8口 千兆/百兆可切换 SW1100TR

SW1100TR车载以太网交换机 一、产品简要分析 8端口千兆和百兆混合车载以太网交换机,其中包含2个通道的1000BASE-T1采用罗森博格H-MTD接口,5通道100BASE-T1泰科MATEnet接口和1个通道1000BASE-T标准以太网(RJ45接口),可以实现车载以太网多通道…

【LeetCode】LeetCode 547. 省份数量(Java版 什么是并查集)

📝个人主页:哈__ 期待您的关注 一、题目描述 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直…

STM32看似无法唤醒的一种异常现象分析

1. 引言 STM32 G0 系列产品具有丰富的外设和强大的处理性能以及良好的低功耗特性,被广泛用于各类工业产品中,包括一些需要低功耗需求的应用。 2. 问题描述 用户使用 STM32G0B1 作为汽车多媒体音响控制器的控制芯片,用来作为收音机频道存贮…

【有芯职说】数字芯片BES工程师

一、 数字芯片BES工程师简介 今天来聊聊数字芯片BES工程师,其中BES是Back End Support的缩写,就是后端支持的意思。其实这个岗位是数字IC前端设计和数字IC后端设计之间的一座桥,完成从寄存器传输级设计到具体工艺的mapping和实现。这个岗位在…

[flume$1]记录一个启动flume配置的错误

先总结:Flume配置文件后面,不能跟注释 报错代码: [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:158)] Unable to deliver event. Exception follows. org.apache.flume.EventDeliveryException: Failed to open…

如何在 Mac Pro 上恢复丢失的数据?

无论您多么努力,几乎不可能永远不会无意中删除 Mac 上的文件。当您得知删除后清空了垃圾箱时,您的处境可能看起来很黯淡。不要灰心。我们将教您如何使用本机操作系统功能或数据恢复工具恢复丢失的数据。奇客数据恢复Mac版可帮助恢复已从 Mac Pro 计算机上…

《Vision mamba》论文笔记

原文出处: [2401.09417] Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Model (arxiv.org) 原文笔记: What: Vision Mamba: Efficient Visual Representation Learning with Bidirectional St…