斯坦福大学提出在类别层级对多零件多关节三维拼装新方法

news2024/11/18 21:48:43

来源:投稿 作者:橡皮
编辑:学姐

paper:https://arxiv.org/pdf/2303.06163.pdf

背景:

形状装配通过排列一组简单或基本的零件几何图形来组成复杂的形状几何图形。许多重要的任务和应用都依赖于形状装配算法。

计算机辅助设计建模要求设计者重新定位和对齐一组零件几何图形,以创建复杂的设计。精确和稳健的形状装配算法对于开发家具装配或CAD建模的自主系统至关重要。

这些先前的工作采用了从零件建模形状的整体几何视角。它们制作的形状具有很高的美学价值。然而,这种纯粹的几何视角对零件的旋转和反射对称性是不可知的,因此会产生倒置、翻转和旋转的零件姿态预测。这些有噪声的预测可能导致关节不匹配或关节之间的不匹配,使其难以直接用于自主装配或功能形状建模。在多部件多关节装配设置中存在许多挑战:1)大的匹配搜索空间,2)非连续优化,以及3)误差复合。

在由两部分组成的装配设置中,关节的配对是明确的,因此可以通过连续的姿势优化直接实现所需的装配。然而,我们的多部分多关节任务需要在非常大的匹配空间中求解二部分联合配对。此外,我们的任务需要交错的离散和连续优化。联合配对是离散解空间中的组合问题,而姿态估计是在连续解空间中。

主要贡献:

针对类别级多零件三维形状装配问题,考虑了接头的概念。引入了一个联合注释零件数据集以及一组评估指标来检查性能。

提出了一种新的层次图网络,该网络同时优化整体形状结构和关节对齐精度。

进行了广泛的实验,以证明方法在整体形状结构和关节对准精度这两个任务目标上优于先前的工作。

方法介绍:

在本文中,目标是解决多部件多关节形状装配的任务。该任务模拟了真实世界的家具装配设置,其中多个造型零件通过接触接头以不同的方式连接,以形成复杂的造型几何结构。如图所示,我们得到了(a)多个形状的零件,其中每个零件都包含多个接头。

对于我们的设置,使用桩孔接头对来表示允许的连接,类似于螺栓和螺母,其中只允许在相同接触几何形状的公件和母件之间进行匹配。我们的目标是(b)将所有销钉接头与孔接头正确连接,(c)将这些零件拼接在一起,(d)形成所需形状。

方法概览:

我们的多级图网络由两个主要的GNN模块组成:零件图模块和联合图模块。零件图模块负责预测每个零件的姿态,以构建所需的形状结构。联合图模块有助于校正零件姿势,以连接匹配的关节。联合图消息传递(b)包含四个消息传递层:

方法细节1:问题设置与概述

问题设置:多零件多关节形状装配任务定义如下:给定 1)一组3D零件点云

和2)每个零件都应该包含多个销钉和/或孔接头

,我们旨在预测一组6-DoF零件姿态

对于所有输入零件P,以满足双边目标:1)变换零件

其形成期望的3D形状,2)所有关节匹配,并且匹配的桩J^P和孔J^h彼此靠近。

概述:我们的多部件多关节形状装配任务有几个挑战1)从非常大的匹配搜索空间(O(M2))中找到一组一对一的栓孔匹配,2)预测所有部件的姿态,使它们同时实现连接所有匹配的关节和形成所需形状结构的两个目标,3)局部关节匹配或姿态预测误差可以容易地传播到整个形状并导致退化。

为了应对第一个挑战,我们引入了形状先验启发式算法来减少匹配搜索空间。受先前工作的启发,我们使用零件几何信息通过零件图提出初始粗略形状结构。然后,我们的关节图与粗略的形状结构一起工作,以找到初始的桩孔匹配。我们通过让两个层次的图表示学习专注于两个目标中的每一个来解决第二个挑战。关节图模块匹配关节。零件图构造形状。

然后,我们使用层次特征聚合将关节级和零件级信息相结合,以预测符合这两个目标的零件姿态。我们通过在两种表示之间交替来逐渐细化零件姿势,以实现两个期望的目标。

方法细节2:零件图姿势建议

零件图旨在从给定的一组零件几何形状中提出所需的形状结构。受先前工作的启发,我们直接从零件几何图形中回归零件姿态。因此,我们通过对每个图节点v_i^p和在所有零件节点之间运行的边e_{i,j}^p上的零件几何形状P特征进行编码来初始化我们的零件图

。使用 PointNet 提取零件几何特征。为了明确地对零件之间的关系进行建模,以形成所需的形状,我们使用图来消息传递,这是一种节点通过边缘连接与邻居交换信息的机制。部分级消息传递是通过迭代更新边缘特征来实现的和节点特征

。我们使用更新后的图进行姿态预测,如图所示。在部分图卷积的第一次迭代中,从部分节点特征中解码部分姿态向量,

。对于任何后续迭代,在给定先前步骤姿态预测和更新的节点特征

的情况下,预测姿态向量

方法细节3:关节图关系推理

我们使用关节图来推断和细化关节连接关系。如图所示,我们首先使用 PointNet 初始化关节节点特征v_i^j ,以提取关节几何特征向量。关节边eij被初始化为在所有桩节点和所有孔节点

之间运行的一组二分边,以反映所有可能的允许连接。然后,我们使用消息传递来迭代地更新边缘和节点特征。具体来说,我们首先用从其连接节点特征计算出的神经消息更新每个边缘eij的特征,

对于接下来的步骤,我们通过聚合来自所有连接的关节边v0i=fe的信息来更新节点特征

。我们通过显式地建模关节连接关系来进一步更新关节节点特征vi。关节连接性取决于两个关键信息,即接触曲面几何图形和相对零件位置。因此,我们根据关节几何形状p_i^{joint}和零件位置q_i对关节匹配关系进行建模。

我们学习了一个关节连通性矩阵r_j^i∈[0,1]来反映关节是如何连接的。然后,连接矩阵被用作应用于边缘特征e_j^i的边缘权重,并且我们通过聚合加权的边缘特征来进一步更新联合节点:

方法细节4:关节感知姿势预测

为了生成同时实现关节匹配和形状结构目标的零件姿态,我们需要结合来自零件图和关节图的信息。关节-零件关系是分层的,因为关节是零件上的接触位置。我们建议使用分层特征聚合来对这种关系进行建模。

具体而言,我们对零件

的所有相关关节节点使用池化操作,以形成新的以关节为中心的零件特征,如图2底部的(c)部分所示。

然后,通过部分特征级联将这些联合聚合的部分节点特征与原始部分图相结合,用于联合感知姿态预测,如图2中的(d)部分所示。2。现在,由于新的零件特征包含关节和零件信息,我们使用新更新的零件图进行关节感知姿势建议。以先前图迭代生成的零件姿态{qi,t+1}为条件,我们预测了一个精化零件姿态算子

新的姿态预测由预测的姿态算子和前一阶段的部分姿态组成,

其中,通过将新的旋转差应用于先前的旋转预测来计算新的旋转,并且通过添加平移差和先前的平移预测来更新平移。

方法细节5:损失函数

我们利用两组损失函数:形状损失和联合损失来优化我们的多级图网络。 旨在帮助零件图网络生成有效的形状结构, 帮助关节图匹配和连接所有关节。

形状损失:在设计形状损失时,我们专注于平移、旋转和整体形状结构方面,其中=λ1Lt+λ2Lr+λ3La。我们使用L2损失来监督翻译,使用CD来监督旋转和整体形状结构。

其中,倒角距离(CD)定义为:

此外,我们确保我们的形状损失是一个阶不变的损失度量,以解决几何上一致的部分,例如椅子的腿。具体来说,我们在每个全等部分类中执行匈牙利匹配,以使用最接近的基本事实部分姿势进行监督。

关节损失:关节匹配任务对预测误差非常敏感;一个小的匹配误差可能导致整个形状的恶化。因此,我们以从粗到细的方式监督关节匹配目标,包括三个损耗分量:=λ4+λ5+λ6。第一损失项直接校正翻转姿势预测。我们使用旋转L2损失来校正具有反射对称性的零件的倒置预测:

第二损失项提供了粗略的引导以连接匹配的接头。我们使用匹配的桩j_a^p和孔j_b^h之间的L2距离。我们使用n_{joint}表示关节点的数量,

受先前工作的启发,最后一个损失分量使用关节几何线索来细化关节对齐。

我们使用成对的桩j_a^p和孔j_b^h之间的倒角距离,并应用预测的姿态,

联合损耗的后两个分量以联合匹配分配

为条件。由于全等部分类中的任何任意排列也是有效的预测,我们不能直接使用地面实况联合匹配Φgt作为我们的监督信号。因此,为了保证关节匹配的顺序不变性,我们设计了一种具有图遍历方案的关节匹配算法,以分配全等零件类之间的关节匹配 。

实验结果:

关注下方【学姐带你玩AI】🚀🚀🚀

免费领取人工智能学习大礼包(电子书、论文、教程视频...)

码字不易,欢迎大家点赞评论收藏!

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

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

相关文章

redis初级

Redis 课程内容 Redis入门Redis数据类型Redis常用命令在Java中操作RedisRedis持久化机制 1. Redis入门 1.1 Redis简介 Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 **官网:**https://redis.io **中文网&…

推荐前端开发者提升效率的工具

是否掌握新的技术很大程度决定着你是否被淘汰。 虽然应用程序试图将网站替代,但前端 Web 开发业务仍在快速变化和增长,前端开发人员的功能并没有消失。以下介绍一款前端开发者提升效率的工具。 目录 一、低代码工具前景 二、如何理解低代码工具 三、前端…

直播预告|还在说做不出、改不好地图贴图?一次直播包教包会!

在EasyV中,地图组件通常会作为可视化大屏中的「主视觉」部分,用户通过地图组件的使用,可以极大程度上提高搭建的效率以及视觉效果。正因如此,我们的素材广场中大多模板也将「地图」作为核心部分,以此来方便用户快速套用…

203. 移除链表元素

203. 移除链表元素 题目方法1递归方法2迭代 题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 方法1递归 class Solution { public:ListNode* removeElements(ListNode* head, in…

IO进程线程day7(2023.8.4)

一、Xmind整理: 二、课上练习: 练习1:创建两个线程:其中一个线程拷贝前半部分,另一个线程拷贝后半部分。 只允许开一份资源,且用互斥锁方式实现。 提示:找临界区--->找临界资源。 #includ…

关于compose AndroidView更新及生命周期的监听。

有时候需要在compose中使用原生view体系,那么将会用到AndroidView这个控件。 从源码中可以看出有三个参数,factory就是要添加的view控件,在update中对控件进行更新。 以添加地图为例: 对地图进行更新及对生命周期的监听&#xff1…

探索Android应用架构模式:选择适合你的开发之路

探索Android应用架构模式:选择适合你的开发之路 通过这篇文章,读者将能够更好地理解不同的Android应用架构模式,为他们的项目选择最适合的架构模式,并在开发过程中更高效地构建稳健的应用程序。 引言 在今天的移动应用开发领域…

MongoDB 6.0.8 安装配置

一、前言 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 将数据存储为一个文档,数据结构由键值(key>value…

vue-cli3项目优化

首先添加两个量化的插件,方便对项目目前的情况进行分析: 1.添加speed-measure-webpack-plugin插件 —量化的指标可以看出前后对比 使用步骤: 安装speed-measure-webpack-plugin依赖 npm install speed-measure-webpack-plugin -D配置vue.c…

React安装ant design组件库,并使用

ant design是一个很棒的组件库,官方地址:快速上手 - Ant Design 但是如何在React里面用起来,好像并不是很顺畅,没有像Vue里面那么友好,因为我踩过这个坑,虽然安装很简单,但是想要出样式&#x…

【Spring】Spring中的设计模式

文章目录 责任链模式工厂模式适配器模式代理模式模版方法观察者模式构造器模式 责任链模式 Spring中的Aop的通知调用会使用责任链模式责任链模式介绍 角色:抽象处理者(Handler)具体处理者(ConcreteHandler1)客户类角…

ARM裸机-13(SDRAM和重定位relocate)

1、汇编写启动代码之关看门狗 1.1、什么是看门狗 看门狗(watch dog timer,看门狗定时器)。大家想象这样一个场景:家门口有一只狗,这个狗定时会饿(例如说2小时一饿),够饿了会胡乱咬死人。人进进出出要想保证安全必须提前喂狗(必须在上次喂过后…

【夜深人静学习数据结构与算法 | 第十二篇】动态规划——背包问题

目录 前言: 01背包问题: 二维数组思路: 一维数组思路: 总结: 前言: 在前面我们学习动态规划理论知识的时候,我就讲过要介绍一下背包问题,那么今天我们就来讲解一下背包问题。 在这…

linux下性能分析工具Perf安装与用法

目录 1、Perf介绍 2、火焰图分类 (1)CPU (2)Memory Flame Graphs (3)Off-CPU Flame Graphs (4)Hot/Cold Flame Graphs (5)Differential 3、火焰图安装命令 …

【项目 线程 1】 3.1线程概述 3.2创建线程 3.3终止线程 3.4连接已终止的线程

文章目录 3.1线程概述线程概述线程和进程区别线程和进程虚拟地址空间线程之间共享和非共享资源NPTL 3.2 创建线程线程操作创建线程出现报错及原因 3.3终止线程3.4连接已终止的线程 3.1线程概述 线程概述 并发:两队人用同一个咖啡机(本质上同一时刻只有…

算法竞赛入门【码蹄集新手村600题】(MT1100-1120)C语言

算法竞赛入门【码蹄集新手村600题】(MT1100-1120)C语言 目录MT1101 带参数的宏IIMT1102 长方体MT1103 球体积MT1104 三角形MT1105 英寸英尺英里MT1106 盎司磅MT1107 加仑/升MT1108 保留小数MT1109 和10相比MT1110 最小值MT1111 最大值MT1112 中庸之道MT1113 三人同行…

这可是全网最全的网络工程师零基础实战视频整理,最新版分享

互联网中每一项傍身的技能都是需要从如何入门开始的,网络技术也是如此! 网络技术区别其他互联网技能的一点是学习需要从设备开始,只有认识了解了路由器、交换机、防火墙这些网络设备,才开始从网络通信原理开始,这使得网…

数据安全与可追溯:PDM系统的信息保护锦囊

在当今数字化时代,数据安全与可追溯是企业管理中至关重要的环节。PDM系统(Product Data Management,产品数据管理)作为一款强大的数字化工具,为企业提供了全方位的信息保护锦囊。让我们一同深入探讨,看看PD…

k8s手动发布镜像的方法

kubectl edit deploy编辑对应的文件,并:wq!保存即可

STL C++学习背景

STL C学习背景 背景知识 背景知识 STL前置知识 STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C 提供的一个基础模板的集合,用于完成诸如输入/输出、数…