自定义对象的 3D 对象检测;数据集创建

3D object detection for custom objects; dataset creation

如何为 3D 对象检测创建自定义数据集,我想使用 "Stanford3dDataset" 或 "Scannet" 作为基线并将我感兴趣的对象添加到数据集中。我有从 3D 相机 [Realsense] 捕获的 PCD 文件,对于 3D 对象检测,我使用的是 Pointnet 模型。

我看到数据集将文本文件作为输入而不是 PCD 或 PLY 格式,如何将 PLY/PCD 文件转换为文本文件。

您可以在 github 上参考此存储库以读取 ply 文件 https://github.com/HuguesTHOMAS/KPConv/blob/master/utils/ply.py 从 ply 文件中读取内容后,您可以简单地使用 numpy.savetxt() 来转换 ply文件到文本文件

将 open3d 导入为 o3d

将 numpy 导入为 np

加载保存的点云

pcd_load = o3d.io.read_point_cloud("try.ply")

将 PointCloud 转换为 numpy 数组

xyz_load = np.asarray(pcd_load.points)

将点保存到文本文件中

np.savetxt('test.txt', xyz_load)`

更多信息可在 link - NumPy <-> open3d.PointCloud

中找到