因此,我有一个数据语料库,其中包括一组特定的三维点云。我想用这些数据来训练神经网络,这样它就可以创建自己独特的3D点云数据,以便以后进行网格转换。
到目前为止,我的研究揭示了:有一个名为PointNet:https://github.com/charlesq34/pointnet的库,它用于点集或3D点云的深度学习,它使用Tensorflow。
我不明白的是,在训练NN之后,您如何使用该NN,然后基于它的训练来创建一个3D点云?
发布于 2019-01-08 15:18:26
网络的输入是Nx3矩阵,其中N是点数。

据我所知,这个方法有3个不同的用例。一种是分类:给定单个对象的点云,估计给定对象的类别。第二种方法是进行零件分割:对于输入网格模型中的每个点,确定该点的“标签”。第三种情况给定整个房间(室内),通过对象对其进行分割(可以训练它来分割椅子等对象)。
给出这里的图像,你可以看到输入是Nx3 (但在论文中他们使用Nx9: 3xyz坐标,然后rgb坐标(如果rgb图像也可用),然后归一化xyz坐标(在范围0,1)。
第三种情况的输出是一个矩阵nxm,其中m是类的数量。
我不确定你的目标是什么,但似乎你想创建另一个点云给原来的点云。但该算法主要用于分割或分类。
发布于 2019-06-08 22:38:08
此模型用于识别事物,而不是创建事物。要生成3D对象,您需要自己实现conv2d_transpose。在这里查看如何将point_cluods转换为2D图像:https://github.com/charlesq34/pointnet/blob/master/models/pointnet_cls.py。
你可以做相反的事情,把你的点云从conv2d_transpose中拿回来。
这个想法就在这里。这不是那么简单。我也在网上搜索一些可用的代码。
https://stackoverflow.com/questions/52861549
复制相似问题