Невозможно выполнить voxel_down_sample с Tensor PointCloud, имеющим определяемое пользователем свойство.Python

Программы на Python
Ответить
Anonymous
 Невозможно выполнить voxel_down_sample с Tensor PointCloud, имеющим определяемое пользователем свойство.

Сообщение Anonymous »

Я пытаюсь выполнить voxel_down_sample для аннотированного облака точек. Аннотации представляют собой просто метку uint8, определяющую определенный класс объекта.
Если я опущу определенное пользователем свойство, прикрепленное к каждой точке, то понижение разрешения будет работать так, как ожидалось.
Вот пример:

Код: Выделить всё

import open3d as o3d

device = o3d.core.Device("CPU:0")
pcd = o3d.t.geometry.PointCloud(device)
pcd.point.positions = o3d.core.Tensor([[0,0,0],[1,1,1],[2,2,2]], device=device)
pcd.point.labels = o3d.core.Tensor([0,1,2], o3d.core.uint8, device=device)

pcd_ds = pcd.voxel_down_sample(voxel_size=3)
Если вы закомментируете строку pcd.point.labels = ..., понижение разрешения будет работать, но если я попытаюсь включить метки, я получу ошибку:

Код: Выделить всё

RuntimeError                              Traceback (most recent call last)
Cell In[10], line 6
3 pcd.point.positions = o3d.core.Tensor([[0,0,0],[1,1,1],[2,2,2]], device=device)
4 pcd.point.labels = o3d.core.Tensor([0,1,2], o3d.core.uint8, device=device)
----> 6 pcd_ds = pcd.voxel_down_sample(voxel_size=3)

RuntimeError: [Open3D Error] (void open3d::core::kernel::BinaryEW(const open3d::core::Tensor&, const open3d::core::Tensor&, open3d::core::Tensor&, open3d::core::kernel::BinaryEWOpCode)) /root/Open3D/cpp/open3d/core/kernel/BinaryEW.cpp:49: The broadcasted input shape [1, 1] does not match the output shape [1].
Можно ли выполнить понижение разрешения вокселей с помощью PointCloud, включая определенное пользователем свойство?
Версии:
Python v3.11
open3d v0.18>

Подробнее здесь: https://stackoverflow.com/questions/784 ... ned-proper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»