自定义对象的 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
中找到
如何为 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
中找到