【计算机图形学】Ditto: Building Digital Twins of Articulated Objects from Interaction

news2024/12/26 12:06:07

项目主页:Ditto: Building Digital Twins of Articulated Objects from Interaction

文章目录

  • 1. 为什么要做这件事
  • 2. 做了件什么事
  • 3. 之前的工作(Related work)
    • 铰接模型估计
    • 铰接物体的3D重建
    • 隐式神经表达
    • 物理仿真中的铰接物体
  • 4. 问题定义
  • 5. Pipeline
    • 双流编码器
    • 隐式解码器
      • 几何隐式解码器
      • 铰接隐式解码器
        • 分割
        • 铰接关节参数
  • 6. Loss
    • Geometry loss
    • Joint loss
  • 7. 显式铰接物体的提取
    • Part-Level的网格提取
    • 全局铰接模型提取
  • 8. 实验
    • 几何重建和铰接axis的估计结果
    • Real World构建数字孪生Result

1. 为什么要做这件事

这篇论文想做的事情是,将我们物理世界的铰接物体,以交互的方式获得原始数据,通过一套成熟的系统,在数字世界中对其进行建模(数字孪生)
之所以要做这件事,是因为随着AI模型的增长,它们需要大量的、易于获得的训练数据,且对于这些数据而言,真实感是关键,只有数据是真实的,才能够弥补real and virtual worlds之间的gap。目前数字世界中的物体严重依赖于设计者和工程师的设计,限制了数据的可扩展性,所以基于视觉信息在数字世界中估计(axis)和重建铰接物体就显得尤为重要

2. 做了件什么事

完成了三个挑战:部件分割、部件重建、铰接信息估计
通过implicit occupancy decoder和implicit segmentation decoder来将3D坐标和局部特征匹配,以获得其occupancy(占用率)和part segmentation label(部件分割的标签),并听过另外一组implicit decoders来获得相关查询点的铰接参数(如axis的指向等信息)

3. 之前的工作(Related work)

铰接模型估计

之前从单个观察中学习铰接相关的信息可能会导致二义性,所以目前开始有方法从运动生成的(也就是交互式)的视觉中来进行学习(本文就是对这种交互式数据进行处理来获得铰接参数并进行重建)。
传统方法的输入是一系列的观察,依赖于一些手工设定的特征来追踪部件运动,随着深度学习的发展,人们开始使用感知数据来进行估计,但之前的大部分工作都focus在预测铰接参数本篇论文除了估计铰接参数外,还重建了完整的3D几何

铰接物体的3D重建

之前的工作从运动中重建物体的完整点云,并使用基于特征的对应关系来进行点云分割。
后来,逐渐有一些方法在进行部件分割的同时预测铰接参数,但这些方法是在点云上进行部件几何的推理,缺乏了物理模拟所需要的mesh信息
还有一系列方法是使用铰接骨架来重建铰接物体,但是这些表达在物体部件上关于运动的约束比较松散,不够严谨
数字孪生要求要有精确的部件几何、精确的铰接参数等信息,才能够在物理引擎中被模拟。
与这篇工作最相近的A-SDF与本篇工作区别在于,本工作进一步显式建模了铰接物体中的铰接信息,从而可以在物理交互的虚拟环境中被使用

隐式神经表达

隐式神经表达的工作将3D shape编码成隐式函数的一个等值面。这种隐式函数可以通过深度神经网络进行拟合,从而以一种连续、光滑的方式在high resolution的情况下表示复杂的shape。
一些方法为了更好地可拓展性和获得更多的细节,它们学习了局部隐式解码器以局部特征为条件隐式表达,用以取代那些以global shape feature为条件的隐式解码器。
这篇文章中扩展了ConvONets中的编码器,并使用一个混合模块来处理两个输入流。

物理仿真中的铰接物体

物理仿真是具身智能研究的一个重要工具。从目前的发展趋势可以看出,这些方向的学习正在从静态3D场景逐步转向那些能够使机器人和物体进行交互的物理仿真环境。
可交互的3D资源就是这些仿真的关键。已经存在的3D资源大部分依赖于3D艺术家的创作和改进,或者使用程序进行生成。
本文建立了一种交互式的,能够从日常铰接物体视觉观察中直接建立数字孪生对象的方法。能够潜在提升获取真实交互式3D数据的速度。

4. 问题定义

该篇文章解决了通过交互前后的一对(前、后构成一对)传感器观察来重新创建铰接物体可交互的数字孪生对象。 这篇文章主要估计铰接物体的部件几何和运动铰接,同时基于真实世界的数据来给物理属性设置一些默认值。
给定一个未知类别的铰接物体,假设在交互前后只有一个part发生了移动,则移动的part称为mobile part。问题的输入是一对点云观察 P 1 , P 2 ∈ R N × 3 P_1,P_2∈R^{N×3} P1,P2RN×3 N N N是点云的数量。问题的目标是:分割和重建静态、动态部件的3D几何,估计连接两个部件关节的铰接参数,以及关节状态前后的相对变换。
对于所说的“关节的铰接参数”,考虑了两种运动情况:旋转关节和平移关节(revolute and prismatic joints)。
平移关节被定义为:平移轴 u p ∈ R 3 u^p∈R^3 upR3,关节状态 c p c^p cp用于表示前后两个观察之间的相对移动距离
旋转关节被定义为:旋转轴 u r ∈ R 3 u^r∈R^3 urR3,旋转轴上的pivot point(轴心点) q ∈ R 3 q∈R^3 qR3,关节状态 c r c^r cr用于表示前后两个观察之间的相对旋转距离

5. Pipeline

Ditto的pipeline用一个双流编码器来混合两个输入点云,用多个隐式解码器来解码几何和铰接。
在这里插入图片描述

双流编码器

在双流编码器中,首先提取输入点云的特征并进行特征混合。
使用了一个注意力层来混合两个输入点云的两组特征,需要注意的是,操作的复杂性是与点云数量呈正相关、二次增长的
因为原始点的数量会比较多,如果全部丢到注意力层里面就会使得计算量变得过于庞大,所以这里使用下采样的点云 N → N ′ N→N' NN)在注意力层进行特征混合。再让混合后的特征,经过两个解码器,将下采样点云的特征恢复成输入点云大小的特征(类似于一个特征上采样吧)。这里之所以要让混合的特征通过两个解码器进行解码,是因为想让两组解码器focus不同的特征,几何重建更主要利用的是一些静态的观察,而铰接信息的估计依赖于两个观察之间的对应关系
接着,将这一步得到的这些dense point features: f a r t f_{art} fart f g e o f_{geo} fgeo分别投影到2D特征平面和类似于ConvONets中的体素网格,点落入相同的像素网格或体素网格后通过最大池化操作获得区域点的特征。这里将 f a r t f_{art} fart投影到2D平面可以在保证求解效果的同时减小计算量 f g e o f_{geo} fgeo仍然在3D空间中进行计算是因为几何重建需要更多的细节和更密集的特征网格来进行局部推理。
在这里插入图片描述

隐式解码器

几何隐式解码器

该解码器的任务就是将点坐标 p ∈ R 3 p∈R^3 pR3mapping到占用概率 o ( p ) o(p) o(p)上,占用为1,不占用为0
建立一个解码器,以点的局部特征(通过三线性插值获得)和空间坐标作为输入,输出占用率。
在这里插入图片描述

铰接隐式解码器

将物体内部的任意的输入 p i n p_{in} pin分别输入到分割解码器和铰接解码器中获得分割标签和铰接关节参数。只考虑物体内部的点是因为铰接参数只在这些部分上才有意义。类似于占用率解码器的输入,这里使用双线性插值从平面上获得局部特征,再和空间坐标一起输入到各个解码器中。

分割

对于分割解码器而言,输出是一个binary的结果,0代表静态部分,1代表动态部件。
在这里插入图片描述

铰接关节参数

之所以共享分割和铰接参数预测的特征,是因为铰接参数和分割类似,二者都可以从运动中推理出来
对于关节参数解码器而言,尽管关节是铰接物体的全局属性,但这里仍然使用逐点的表示,从而更好地利用逐点的结构特征,通过投票获得一个鲁棒的估计。
prismatic joint使用一个3D单位向量 u p u^p up表示轴的位置,使用 c p c^p cp表示交互移动的距离
revolute joint与prismatic joint的区别在于,除了有表示轴位置的 u r u^r ur和表示转动角度的 c r c^r cr以外,还有一个pivot point p p p,因为对revolute joint而言,axis的位置是很重要的。这里follow之前的工作,将axis的位置定义在输入点 p i n p_{in} pin到axis上的投影, d p i n r d^{r}_{p_{in}} dpinr表示投影方向, h p i n r h^{r}_{p_{in}} hpinr表示投影距离。
首先通过解码器获得关节特征p_jtype,接着根据得到的关节特征,走不同的通道得到最后输出的结果。
在这里插入图片描述
在这里插入图片描述

6. Loss

Geometry loss

运用二分类交叉熵(Binary cross-entropy,二进制交叉熵)loss对占用率和分割做loss。有原始数据的GT occupancy和segmentation label,这里做一下监督训练
在这里插入图片描述

Joint loss

这部分有三个部分的loss:预测铰接类型prismatic和revolute参数的预测都需要各自的loss
预测铰接类型:使用一个BCE loss即可,有joint type的GT,做监督训练
prismatic joint

  • 关于axis的监督有两个:cosine相似性作为loss,来评估预测的距离;简单的l1 loss来优化距离的预测
  • 使用一个基于位移的loss来衡量predict状态和gt状态之间的差异:xxx,也就是用axis朝向乘上移动距离,与GT做loss

在这里插入图片描述

revolute joint

  • 使用了类似于prismatic joint中axis的loss来监督axis的方向和旋转的角度

  • 对于投影方向和投影距离分别也像这样使用了cosine相似性和l1 loss作为监督

  • 上面那种基于位移的loss也可以在此处被使用:对于每个点 p i n p_{in} pin,计算预测和GT的在两次交互之间的旋转矩阵。axis上估计的pivot点 q p i n = p i n + h p i n r d p i n r q_{p_{in}}=p_{in}+h^r_{p_{in}}d^r_{p_{in}} qpin=pin+hpinrdpinr,也就是,pivot点=输入点加上投影方向乘以投影距离。接着,交互前后的位移就可以通过 l p i n = R p i n ( p i n − q p i n ) + q p i n l_{p_{in}}=R_{p_{in}}(p_{in}-q_{p_{in}})+q_{p_{in}} lpin=Rpin(pinqpin)+qpin计算,真实的位移也可以通过GT参数进行类似计算,从而做一个位移的loss:
    在这里插入图片描述

  • 类似于ScrewNet,旋转矩阵上也做了一个loss:
    xxx

7. 显式铰接物体的提取

Part-Level的网格提取

为构建部件级的网格,使用分割查询结果来mask occupancy结果,再利用Marching Cube等技术来获得per-part表面网格
在这里插入图片描述

全局铰接模型提取

使用投票策略来聚集密集的铰接关节预测。在提取part网格的过程中,可以采样多个mesh内的点和他们对应的label。
因为物体的运动决定了铰接模型的类型,所以作者只让运动部件内部的点通过投票来定义铰接关节。
对于两种类型的铰接axis和铰接state(移动距离)的预测,使用了mobile parts中的点的平均预测。
对于旋转的铰接axis,pivot point是通过每个移动部件点预测出来的投影方向和投影距离进行计算的。
平均所有mobile points的结果作为最终结果,并求解铰接axis上的pivot point

8. 实验

几何重建和铰接axis的估计结果

在这里插入图片描述

在这里插入图片描述

Real World构建数字孪生Result

在这里插入图片描述

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

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

相关文章

腾讯云服务器上传文件 :Permission denied (os error 13) ,由于权限无法上传

根据网上的修改云服务器上传文件目录的权限,或是用root权限上传本地文件,均失败。 正解办法: ubuntu:/home/wwwroot# sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully首先修…

Windows常用的功能命令

Win操作方法 快捷键winR,输入cmd回车,然后就可以输入cmd命令了,赶紧收藏起来,用的时候更方便 打开程序和功能 快捷键winR,输入appwiz.cpl回车 启动计算器 快捷键winR,输入calc回车 计算机管理 …

saas供应链批发订货系统源码整套输出的3大好处

随着电子商务的快速发展,越来越多的企业开始关注和采用供应链批发订货系统,以提高其供应链管理的管理效率和数据沉淀。现在大多企业还是使用SaaS供应链系统,而源码整套输出的3大好处、尤其是第三个可让企业受益匪浅。 1. 定制化能力&#xff…

Leetcode 55 跳跃游戏

题意理解: 非负整数数组 nums, 最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 需要跳到nums最后一个元素即为成功。 目标:是否能够跳到最后一个元素。 解题思路: 使用贪心算法来解题,需要理解…

Unity中Shader平移矩阵

文章目录 前言方式一:对顶点本地空间下的坐标进行相加平移1、在属性面板定义一个四维变量记录在 xyz 上平移多少。2、在常量缓冲区进行申明3、在顶点着色器中,在进行其他坐标转化之前,对模型顶点本地空间下的坐标进行转化4、我们来看看效果 方…

NIO的实战教程(简单且高效)

1. 参考 建议按顺序阅读以下三篇文章 为什么NIO被称为同步非阻塞? Java IO 与 NIO:高效的输入输出操作探究 【Java.NIO】Selector,及SelectionKey 2. 实战 我们将模拟一个简单的HTTP服务器,它将响应客户端请求并返回一个固定的…

​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进

在当今数字化浪潮愈发汹涌的时代,科技公司的发展不仅需要更强大的计算能力和创新性技术,还需要对环境的高度责任感。在这一背景下,亚马逊云科技的海外服务器产品成为了推动清洁、高效数字未来的领导者之一。亚马逊云科技的高级主管阿比谢克夏…

【MyBatis学习笔记】MyBatis基础学习

MyBatis基础 MyBatis简介MyBatis特性MyBatis下载和其他持久化层技术对比 核心配置文件详解默认的类型别名 搭建MyBatis开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加入log4j日志功能 MyBatis获取参数值的两种方式&am…

vue-pure-admin源码解读与使用

vue-pure-admin 全面使用ESMVue3ViteElement-PlusTypeScript编写的一款后台管理系统(兼容移动端),目前斩获11.5k个star。 界面构成 主题Layout的组成 左边sidebar由Vertical组件定义tab标签栏由layoutHeader组件定义中间Body由appMain组件定义 为何点…

@RequestParam、@PathVariable、@RequestBody、@RequestAttribute详解

一、RequestParam注解 作用:用于将指定的请求参数赋值给方法中的形参。 属性: 1)value:请求参数名(必须配置) 2)required:是否必需,默认为 true,即请求中必须…

GESP认证第四次考试百分榜考生名单及学校

考生姓名 所在学校 编程语言 得分 谢秉修 上海市民办华育中学 C 八级 100 张洪森 淄博市张店区第八中学 C 四级 100 高希文 宜兴市实验中学 C 四级 100 窦铭泽 温州市实验中学教育集团府东分校 C 四级 100 袁…

浅析 fuse kernel mmap write 过程及性能问题

前言 最近在项目里面用到了fuse文件系统,在使用过程中遇到了一个内核在做mmap write的一个bug,目前并没有从根本上解决这个bug,而是通过修改fuse kernel module的一些参数,绕开了这个bug。这里记录一下这个问题,并顺便…

学会这个插件,职业生涯少写 1w 行代码。

前言 学会这个插件,职业生涯少写 1w 行代码。 与前端对接、与后端对接、与数据对接、与第三方对接等等。这些工作发生在大家的整个工作周期中,其中有些工作都是重复性的,而且是机械的。 所以今天给大家推荐一款非常实用 IDEA 插件&#xf…

【Python】基于ORM的SqlAlchemy操纵数据库代码实现

说明 ORM,全称Object-Relational Mapping,即对象-关系映射,是一种程序设计技术,用于在面向对象编程语言和关系数据库之间建立对应关系。它的主要目的是让开发者能够使用面向对象的方式操作数据库,而不必过多地关注数据…

法线贴图实现地形模型皱褶、凹凸不平的纹理效果

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 法线贴图在3D建模中扮演着重要的角色,它通过模拟表面的微…

Qt 国际化——创建中英文翻译步骤

Qt 国际化——创建中英文翻译步骤 说明:之前我的csdn博客,第一篇文章发表的就是Qt国际化的文章(点击打开),写的也过于简单了: 今天,这篇文章再详细的记录下,中英文翻译的步骤。 一…

2024年区块链发展趋势

在快节奏的技术领域,区块链生态系统是创新的灯塔,不断发展和塑造数字景观。当我们迈入2024年时,必须通过了解关键的区块链发展趋势来保持领先地位,这些趋势将重新定义方式我们与去中心化系统交互。 1、互操作性:弥合区…

Day67力扣打卡

打卡记录 美丽塔 II(前缀和 单调栈) 链接 class Solution:def maximumSumOfHeights(self, maxHeights: List[int]) -> int:n len(maxHeights)stack collections.deque()pre, suf [0] * n, [0] * nfor i in range(n):while stack and maxHeights…

蔡司光学为山区孩子送光明,照亮未来之路

本月13日,蔡司光学携手德兴市科学技术协会、江西明眸贸易有限公司、德兴市妇幼保健院及德兴温视堂眼视中心,在江西上饶德兴市昄大学校内举办了“为边远山区孩子送光明”活动,在寒冷冬日为偏远山区的孩子送去冬日温暖,以公益之力照…

【中小型企业网络实战案例 一】规划、需求和基本配置

热门IT技术【视频教程】https://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 案例拓扑图 案例需求 在中小园区中,S5735通常部署在网络的接入层,S8700通常部署在网络的核心,出口路由器一般选用AR系列路由器。 …