Python 2.7 如何将机器学习应用于每个帧具有不同点数的3D点云输出?

Python 2.7 如何将机器学习应用于每个帧具有不同点数的3D点云输出?,python-2.7,3d,point-cloud-library,ply,Python 2.7,3d,Point Cloud Library,Ply,具体来说,我的问题是每个后续帧都有不同的点数,除非每个帧的点数相同,否则KNN/SVM无法实现。那么,如何在大小不同的3D帧上应用ml呢?我的ply输出文件由每个点的x、y、z坐标和每帧10000多个点组成。如果每个点云有10000个点。对于3D对象来说,这是一个相当不错的数据精度。作为一名3D艺术家,而不是一名科学家,我会试图找到一个黑客。比如,如果你的第二个点云有10065点左右。我将随机忽略第二个点云上额外的65个点,以便它们在长度上匹配(将所有点编号相加,除以帧编号,得到参考值)。但这可

具体来说,我的问题是每个后续帧都有不同的点数,除非每个帧的点数相同,否则KNN/SVM无法实现。那么,如何在大小不同的3D帧上应用ml呢?我的ply输出文件由每个点的x、y、z坐标和每帧10000多个点组成。

如果每个点云有10000个点。对于3D对象来说,这是一个相当不错的数据精度。作为一名3D艺术家,而不是一名科学家,我会试图找到一个黑客。比如,如果你的第二个点云有10065点左右。我将随机忽略第二个点云上额外的65个点,以便它们在长度上匹配(将所有点编号相加,除以帧编号,得到参考值)。但这可能会损坏您的数据(取决于数据长度的差异)

<>如果我必须使用扫描原始数据,我会使用像C++ PooTrink库那样的强健几何处理库吗? 及其python绑定:


还是3D软件?(或张量流?

您可以从每个点云中提取全局描述符,并使用它们训练机器学习算法,如SVM或ANN

有很多不同的全局描述符,在这里您可以查看其中的一些:


一旦你让他们训练一个机器学习算法,如图所示,你可以使用它将所有点云的点取样到一个固定的数目,然后使用深度学习库进行分类或分割。斯坦福人工智能实验室开发的算法是最好的算法之一。

“机器学习”可能太模糊了。听起来好像你的问题出在一个特定的算法上——超链接那些首字母缩略词怎么样?这可能会鼓励别人去想清楚你在干什么。这些点代表什么?也许您可以插入一个算法,在给定的帧上插值,产生固定数量的输出。看起来问题中似乎没有足够的信息来得到有用的答案。无论是谁投了反对票,你都应该不厌其烦地批评这个问题。匿名向下投票不会帮助新用户加快速度。KNN或SVM不能通过进行点对点计算来工作,因为每个帧都有不同的点。如果生成的云中每个帧都有不同数量的点,并且每个点都有x、y、z坐标信息,那么如何比较这两个帧呢?例如,您可以将空间划分为立方体。对于每个立方体,在中间放置一个内插点,这是通过取位于该立方体内的所有实际数据点的平均值来形成的。但是如果没有更多的信息,就很难提出一种方法。我正在寻找一个战略建议。我有一堆从3D相机收集的ply文件(帧)。所有帧都有不同数量的点。我不能做点对点的分析,因为点在现实中并不匹配。如果我采用你建议的立方体方法,我将在云中丢失很多点,这可能会阻碍我特定的目标检测尝试。克服不平衡点云问题的最佳方法是什么?你有什么建议的插值算法吗?