来源:投稿 作者:橡皮
编辑:学姐
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)所有关节匹配,并且匹配的桩和孔彼此靠近。
概述:我们的多部件多关节形状装配任务有几个挑战1)从非常大的匹配搜索空间(O(M2))中找到一组一对一的栓孔匹配,2)预测所有部件的姿态,使它们同时实现连接所有匹配的关节和形成所需形状结构的两个目标,3)局部关节匹配或姿态预测误差可以容易地传播到整个形状并导致退化。
为了应对第一个挑战,我们引入了形状先验启发式算法来减少匹配搜索空间。受先前工作的启发,我们使用零件几何信息通过零件图提出初始粗略形状结构。然后,我们的关节图与粗略的形状结构一起工作,以找到初始的桩孔匹配。我们通过让两个层次的图表示学习专注于两个目标中的每一个来解决第二个挑战。关节图模块匹配关节。零件图构造形状。
然后,我们使用层次特征聚合将关节级和零件级信息相结合,以预测符合这两个目标的零件姿态。我们通过在两种表示之间交替来逐渐细化零件姿势,以实现两个期望的目标。
方法细节2:零件图姿势建议
零件图旨在从给定的一组零件几何形状中提出所需的形状结构。受先前工作的启发,我们直接从零件几何图形中回归零件姿态。因此,我们通过对每个图节点和在所有零件节点之间运行的边上的零件几何形状P特征进行编码来初始化我们的零件图
。使用 PointNet 提取零件几何特征。为了明确地对零件之间的关系进行建模,以形成所需的形状,我们使用图来消息传递,这是一种节点通过边缘连接与邻居交换信息的机制。部分级消息传递是通过迭代更新边缘特征来实现的和节点特征
。我们使用更新后的图进行姿态预测,如图所示。在部分图卷积的第一次迭代中,从部分节点特征中解码部分姿态向量,
。对于任何后续迭代,在给定先前步骤姿态预测和更新的节点特征
的情况下,预测姿态向量
。
方法细节3:关节图关系推理
我们使用关节图来推断和细化关节连接关系。如图所示,我们首先使用 PointNet 初始化关节节点特征 ,以提取关节几何特征向量。关节边eij被初始化为在所有桩节点和所有孔节点
之间运行的一组二分边,以反映所有可能的允许连接。然后,我们使用消息传递来迭代地更新边缘和节点特征。具体来说,我们首先用从其连接节点特征计算出的神经消息更新每个边缘eij的特征,
。
对于接下来的步骤,我们通过聚合来自所有连接的关节边v0i=fe的信息来更新节点特征
。我们通过显式地建模关节连接关系来进一步更新关节节点特征vi。关节连接性取决于两个关键信息,即接触曲面几何图形和相对零件位置。因此,我们根据关节几何形状和零件位置对关节匹配关系进行建模。
我们学习了一个关节连通性矩阵∈[0,1]来反映关节是如何连接的。然后,连接矩阵被用作应用于边缘特征的边缘权重,并且我们通过聚合加权的边缘特征来进一步更新联合节点:
方法细节4:关节感知姿势预测
为了生成同时实现关节匹配和形状结构目标的零件姿态,我们需要结合来自零件图和关节图的信息。关节-零件关系是分层的,因为关节是零件上的接触位置。我们建议使用分层特征聚合来对这种关系进行建模。
具体而言,我们对零件
的所有相关关节节点使用池化操作,以形成新的以关节为中心的零件特征,如图2底部的(c)部分所示。
然后,通过部分特征级联将这些联合聚合的部分节点特征与原始部分图相结合,用于联合感知姿态预测,如图2中的(d)部分所示。2。现在,由于新的零件特征包含关节和零件信息,我们使用新更新的零件图进行关节感知姿势建议。以先前图迭代生成的零件姿态{qi,t+1}为条件,我们预测了一个精化零件姿态算子
新的姿态预测由预测的姿态算子和前一阶段的部分姿态组成,
其中,通过将新的旋转差应用于先前的旋转预测来计算新的旋转,并且通过添加平移差和先前的平移预测来更新平移。
方法细节5:损失函数
我们利用两组损失函数:形状损失和联合损失来优化我们的多级图网络。 旨在帮助零件图网络生成有效的形状结构, 帮助关节图匹配和连接所有关节。
形状损失:在设计形状损失时,我们专注于平移、旋转和整体形状结构方面,其中=λ1Lt+λ2Lr+λ3La。我们使用L2损失来监督翻译,使用CD来监督旋转和整体形状结构。
其中,倒角距离(CD)定义为:
此外,我们确保我们的形状损失是一个阶不变的损失度量,以解决几何上一致的部分,例如椅子的腿。具体来说,我们在每个全等部分类中执行匈牙利匹配,以使用最接近的基本事实部分姿势进行监督。
关节损失:关节匹配任务对预测误差非常敏感;一个小的匹配误差可能导致整个形状的恶化。因此,我们以从粗到细的方式监督关节匹配目标,包括三个损耗分量:=λ4+λ5+λ6。第一损失项直接校正翻转姿势预测。我们使用旋转L2损失来校正具有反射对称性的零件的倒置预测:
第二损失项提供了粗略的引导以连接匹配的接头。我们使用匹配的桩和孔之间的L2距离。我们使用表示关节点的数量,
受先前工作的启发,最后一个损失分量使用关节几何线索来细化关节对齐。
我们使用成对的桩和孔之间的倒角距离,并应用预测的姿态,
联合损耗的后两个分量以联合匹配分配
为条件。由于全等部分类中的任何任意排列也是有效的预测,我们不能直接使用地面实况联合匹配Φgt作为我们的监督信号。因此,为了保证关节匹配的顺序不变性,我们设计了一种具有图遍历方案的关节匹配算法,以分配全等零件类之间的关节匹配 。
实验结果:
关注下方【学姐带你玩AI】🚀🚀🚀
免费领取人工智能学习大礼包(电子书、论文、教程视频...)
码字不易,欢迎大家点赞评论收藏!