问题描述
在使用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)
...