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

对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.rhkb.cn/news/290079.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[2023] 14届

1.日期统计 题意 1.日期统计 - 蓝桥云课 (lanqiao.cn) 思路 用dfs扫 对每一个位进行限制 花了一个小时 注意把答案枚举出来 对应一下看到底对不对 code #include<iostream> #include<cstdio> #include<stack> #include<vector> #include<al…

VSCode 如何同步显示网页在手机或者平板上

首先要确保 ①电脑上安装了VsCode ②VsCode安装插件LiveServer 安装成功之后 连续按住 Alt L 、Alt O 会跳转到对应的html页面上 http://127.0.0.1:5500/....... 是这个开头的 然后打开网络 如果桌面有网上邻居的可以直接点桌面的网上邻居 进来找到WLAN这个…

为什么我的微信小程序 窗口背景色backgroundColor设置参数 无效的问题处理记录!

当我们在微信小程序 json 中设置 backgroundColor 时&#xff0c;实际在电脑的模拟器中根本看不到效果。 这是因为 backgroundColor 指的窗体背景颜色&#xff0c;而不是页面的背景颜色&#xff0c;即窗体下拉刷新或上拉加载时露出的背景。在电脑的模拟器中是看不到这个动作的…

智能工具管理系统-智能工具柜系统

智能工具管理系统-智能工具柜系统 智能工具可视化管理系统(智工具DW-S308)是依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID工具进行统一管理、分析的信息化、智能化、规范化的系统。 一、工具管理现状 东识RFID工具管理系统是一种便捷化的工具…

C# 高级文件操作与异步编程探索(初步)

文章目录 文本文件的读写探秘StreamReader 类深度剖析StreamWriter 类细节解读编码和中文乱码的解决方案 二进制文件的读写BinaryReader 类全面解析BinaryWriter 类深度探讨 异步编程与C#的未来方向同步与异步&#xff1a;本质解读Task 的神奇所在async/await 的魔法 在现代编程…

【ESP32S3 Sense接入语音识别+MiniMax模型对话】

1. 前言 围绕ESP32S3 Sense接入语音识别MiniMax模型对话展开&#xff0c;首先串口输入“1”字符&#xff0c;随后麦克风采集2s声音数据&#xff0c;对接百度在线语音识别&#xff0c;将返回文本结果丢入MiniMax模型&#xff0c;进而返回第二次结果文本&#xff0c;实现语言对话…

Day53:WEB攻防-XSS跨站SVGPDFFlashMXSSUXSS配合上传文件添加脚本

目录 MXSS UXSS&#xff1a;Universal Cross-Site Scripting HTML&SVG&PDF&SWF-XSS&上传&反编译(有几率碰到) SVG-XSS PDF-XSS Python生成XSS Flash-XSS 知识点&#xff1a; 1、XSS跨站-MXSS&UXSS 2、XSS跨站-SVG制作&配合上传 3、XSS跨站-…

【MySQL】6.MySQL主从复制和读写分离

主从复制 主从复制与读写分离 通常数据库的读/写都在同一个数据库服务器中进行&#xff1b; 但这样在安全性、高可用性和高并发等各个方面无法满足生产环境的实际需求&#xff1b; 因此&#xff0c;通过主从复制的方式同步数据&#xff0c;再通过读写分离提升数据库的并发负载…

Spring Boot | SpringBoo“开发入门“

目录 : 1.SpringBoot的“介绍”SpringBoot”概述” &#xff1a;SpringBoot”简介“SpringBoot的“优点” 2. SpringBoot入门程序环境准备使用 “Maven”方式构建SpringBoot 项目使用“Spring Initializr”方式构建Spring Boot 项目 3. “单元测试” 和“热部署”单元测试热部署…

【算法刷题 | 二叉树 05】3.28(左叶子之和、找树 左下角的值)

文章目录 11.左叶子之和11.1问题11.2解法一&#xff1a;递归11.2.1递归思路11.2.2代码实现 11.3解法二&#xff1a;栈11.3.1栈思想11.3.2代码实现 12.找树左下角的值12.1问题12.2解法一&#xff1a;层序遍历 11.左叶子之和 11.1问题 给定二叉树的根节点 root &#xff0c;返回…

大模型时代下的“金融业生物识别安全挑战”机遇

作者&#xff1a;中关村科金AI安全攻防实验室 冯月 金融行业正在面临着前所未有的安全挑战&#xff0c;人脸安全事件频发&#xff0c;国家高度重视并提出警告&#xff0c;全行业每年黑产欺诈涉及资金额超过1100亿元。冰山上是安全事件&#xff0c;冰山下隐藏的是“裸奔”的技术…

STM32 PWM通过RC低通滤波转双极性SPWM测试

STM32 PWM通过RC低通滤波转双极性SPWM测试 &#x1f4cd;参考内容《利用是stm32cubemx实现双极性spwm调制 基于stm32f407vet6》&#x1f4fa;相关视频链接&#xff1a;https://www.bilibili.com/video/BV16S4y147hB/?spm_id_from333.788 双极性SPWM调制讲解以及基于stm32的代码…

主流公链 - BCH BSV BTG

为什么出现分叉 BTC是自由的&#xff0c;BTC社区也是自由的&#xff0c;自然而然的会出现不同观点的群体 1. 比特币现金&#xff08;Bitcoin Cash&#xff0c;BCH&#xff09; 分叉日期&#xff1a; 2017年8月1日主要目的&#xff1a; 提高比特币的交易吞吐量和降低交易费用技术…

文献学习(自备)

收官大作&#xff0c;多组学融合的新套路发NC&#xff01;&#xff01; - 知乎 (zhihu.com) Hofbauer cell function in the term placenta associates with adult cardiovascular and depressive outcomes | Nature Communications 病理性胎盘炎症会增加几种成人疾病的风险&a…

火车头通过关键词采集文章的原理

随着互联网信息的爆炸式增长&#xff0c;网站管理员和内容创作者需要不断更新和发布新的文章&#xff0c;以吸引更多的用户和提升网站的排名。而火车头作为一款智能文章采集工具&#xff0c;在这一过程中发挥着重要作用。本文将探讨火车头如何通过关键词采集文章&#xff0c;以…

【TB作品】MSP430G2553,超声波倒车雷达PCB,单片机,超声波SR04,键盘,oled,

题目 硬件&#xff1a;MSP430G2553、 SR04超声波传感器 、3*4键盘、 无源蜂鸣器、oled显示屏 软件 1 、实时显示测量得到的距离 2、按键设置一个报警门限数值&#xff0c;直接输入数值后确认 3、低于报警门限数值就开始报警&#xff0c;而且距离越近蜂鸣器的鸣叫频率越高 程序…

数据库索引及优化

数据库索引及优化 什么是索引&#xff1f; MySQL官方对索引的定义为&#xff1a;索引&#xff08;INDEX&#xff09;是帮助MySQL高效获取数据的数据结构。 索引的本质&#xff1a; 数据结构 为什么要引入索引&#xff1f; 引入索引的目的在于提高查询效率&#xff0c;就好像是…

深入浅出的揭秘游标尺模式与迭代器模式的神秘面纱 ✨

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自&#xff1a;设计模式深度解析&#xff1a;深入浅出的揭秘游标尺模式与迭代…

Zabbix6 - Centos7源码编译部署HA高可用集群手册

Zabbix6 - Centos7源码编译部署HA高可用集群手册 HA高可用集群 总所周知,在我们IT运维的圈圈中,HA高可用集群服务算是逼格最高的吧也是运维里保障力度最大的环境。 HA是HighlyAvailable缩写,是双机集群系统简称,提高可用性集群,是保证业务连续性的有效解决方案,一般有两个…

深入探讨多线程编程:从0-1为您解释多线程(下)

文章目录 6. 死锁6.1 死锁原因 6.2 避免死锁的方法加锁顺序一致性。超时机制。死锁检测和解除机制。 6. 死锁 6.1 死锁 原因 系统资源的竞争&#xff1a;&#xff08;产生环路&#xff09;当系统中供多个进程共享的资源数量不足以满足进程的需要时&#xff0c;会引起进程对2…