Создание синтетических c облаков точек LiDAR - PullRequest
2 голосов
/ 27 января 2020

Я хотел бы создать синтетические c обучающие данные для моделей DL для сегментации и классификации в облаках точек. Наземная правда / реальные данные включают в себя облака точек LiDAR. Я написал простую модель выборки me sh в python / open3d, и я могу быстро перенести 3D-сцены в облака точек (см. Рис. 1), но мне нужно включить некоторые характеристики датчиков LiDAR.

mesh to pointclouds in open3d

Blensor (https://www.blensor.org/) работает так, как мне нужно (рис. 2), но я не хочу использовать блендер атм. Кроме того, результаты не имеют достаточного качества для моего варианта использования.

enter image description here

На первом этапе я просто хотел бы отрезать точки , которые недоступны определенному положению датчика LiDAR, в основном для создания «теней», которые важны для повышения реалистичности данных тренировки c. Есть ли у вас какие-либо предложения для простого и быстрого обхода? Мое облако точек сохраняется в формате данных pandas, включая значения x, y, z и nx, ny, nz.

Спасибо заранее, Рейти

1 Ответ

1 голос
/ 27 января 2020

Если ваша 3D-сцена может быть описана в виде функций расстояния (в основном состоящих из ряда простых геометрических фигур c, противоположных данным облака точек), вам может быть хорошо go с легко изменяемым алгоритмом трассировки лучей который эмулирует датчик лидара.

Для каждого лидарного "луча" (т.е. для каждого направления) вам нужно только сохранить координаты xyz первого столкновения сцены. Это также дает вам полную свободу в соответствии с первоначальными свойствами сенсора реального мира (такими как углы и количество точек).

Насколько простым будет вычисление расстояния между сценой и сенсорным лучом, зависит от вашей сцены настроили и как это представлено. Извините за неспособность предоставить вам готовую реализацию, но это может дать вам некоторое указание.

...