问题描述
在使用Open3D可视化TensorFlow张量表示的点云时速度超慢
原因分析
可能是因为Open3D没有针对tf.Tensor
做优化,也可能是tf.Tensor
本身没有对张量的操作做优化,所以可能如果要在CPU中计算,numpy可能性能更好。
解决方案
open3d.utility.Vector3dVector
传参一定不要直接传tf.Tensor
会非常慢,应该按照Open3D方文档的要求传numpy.ndarry
类型的数据。故需要使用tf.Tensor
张量的numpy()
方法将tf
张量转化为numpy
张量,具体操作如下:
python
...
np_points = tf_points.numpy()
pcd.points = open3d.utility.Vector3dVector(np_points)
...