PQ-NET: A Generative Part Seq2Se

作者: 一只大南瓜 | 来源:发表于2021-10-10 22:13 被阅读0次

主要思想

这篇文章使用3d模型生成通过序列的形式实现,其主要思想是:基于组分识别(RBC)的物体感知的特征与当前语言是如何被感知的特点非常相似。并把他写在了序言中,第一次见论文中这样的写法,基于此文章提出使用NLP中的序列生成思想来完成3D模型的生成。在某种程度上,我们把装配序列看作是一个“句子”,它组织和描述了组成一个三维形状的零件。另一个相关的观点是,由Noam Chomsky首先提出的,语言解析的阶段结构规则认为句子既是一个线性的单词串,也是一个层次结构,其中的短语嵌套在短语[7]中。


文章开头竟然还有序言

摘要

我们引入了PQ-NET,通过顺序零件装配来表示和生成三维形状的深度神经网络。我们的网络的输入是分割成多个部件的3D形状,其中每个部件首先使用part autoencoder编码成一个特征向量。PQ-NET的核心组件是一个序列到序列自动编码器,它将部件特征序列编码成固定大小的潜在向量,解码器一次重构一个部件的三维形状,从而实现顺序装配。Seq2Seq编码器形成的潜空间对部件的结构和精细零件的几何形状进行编码。该解码器可用于执行多个生成任务,包括形状自动编码、插值、新形状生成和单视图3D重建,其中生成的形状都由有实际意义的部分组成。


它可以完成生成任务,如随机三维形状生成,单视图三维重建(从RGB或深度图像),和形状补充。

网络架构

首先通过自监督的零件几何编码,学习零件的几何特征嵌入(图2a),然后各个部件几何特征、零件序号和6自由度的包围盒组成序列,基于双向GRU编码器,将整个序列转换为统一的形状潜在空间。然后从形状特征向量中解码出零件序列,每个零件包含几何特征以及空间位置和尺寸。


部件几何自编码

部件的几何形状和拓扑结构比整体形状要简单得多。因此,通过将形状分解为一系列部件,就能够执行高质量的高分辨率和跨类别几何学习。我们的部分几何自动编码器使用类似[10]的设计,其中基于cnn的编码器将体素化的部件投影到潜空间,而基于mlp的解码器将潜向量重新投影到一个有符号距离场(Signed Distance Field。SDF)。在SDF为零的地方就是立方体的表面,使用行进立方体检索对象的表面。
我们首先在每个部件的边界框将其缩放到固定的分辨率64X64X64,并将缩放后的部件输入到CNN编码器,以获得输出的特征向量g,表示部件的几何形状。MLP解码器接收这个特征向量g和3D点(x, y, z),并输出一个值,表明这个点(x,y,z)是在部件的表面内部还是外部。由于SDF在任何地方都是连续的,输出的部件形状是平滑的,可以在任何分辨率上采样。注意,这种特征表示没有关于部件的比例和全局位置的信息,因此纯粹捕获其几何属性。对于一个有n个部分的形状,我们可以提取几何特征序列g1, g2,…, gn对应每一部件

序列到序列的自编码器

序列编码器是一个双向堆叠的RNN[45],以部件特征序列及其反向序列作为输入,并输出一个固定大小的潜在向量hz。然后将这个潜在向量传递给堆叠的RNN解码器,该解码器在每个时间步长输出一个部件特征。我们使用GRU[12]作为RNN细胞,并为每个RNN使用两个隐藏层。



堆叠的RNN在每一步有两个隐藏状态,称为h_i^gh_i^s我们使用h_i^g通过MLP网络进行几何特征重建,而 h_i^s使用相同的技术进行结构特征重建。我们还添加了另一个MLP网络来预测停止符以判断RNN是否停止。以初始隐藏状态集作为编码器RNN的最终输出hz,我们的堆叠RNN解码器通过迭代生成单独的部件。

g_i^"是重建几何特征,b_i^"是重建结构特征,s_i^"是终止符判断

训练和损失

部件编码器

训练目标:训练一个网络为每个部件去预测一个符号距离场,T_P是从形状P中采样的点集,损失函数是均方误差


F是真值符号距离函数

序列编码器

使用堆叠的Seq2Seq模型对每个形状S进行几何和结构的联合分析。



重建损失



k为形状S的零件数,β被设置为1.0。对于第i部分,gi和bi表示几何和结构特征的重构结果,gi和bi是相应的ground truth。
stop损失

约束RNN产生正确数量的部件数量,


实验结果






相关文章

网友评论

    本文标题:PQ-NET: A Generative Part Seq2Se

    本文链接:https://www.haomeiwen.com/subject/kvtkoltx.html