Лучшая структура данных для обновлений облака точек? - PullRequest
0 голосов
/ 28 апреля 2019

Я работаю над роботом, использующим новый jetson nano. У меня есть очки, генерируемые из глубины изображения моей камеры, и я работаю над созданием сцены, когда робот движется. Моя проблема - просто добавлять точки в структуру данных, каждый кадр заставил бы меня очень быстро исчерпать память. Таким образом, я хочу иметь некоторую эвристику, которая говорит, что если точка удовлетворяет некоторому условию, не добавляйте ее.

Для этого я предполагаю, что мне нужна структура ускорения, такая как Octree, KDTree, BVH Hierarchy или, может быть, что-то еще. Хотя я знаком с ними и нахожу много информации о том, как их строить, я немного запутался, какой из них будет проще обновлять каждый фрейм или если для некоторых потребуется полная перестройка по сравнению с инкрементной перестройкой. Могут ли некоторые быть распараллелены? Любое понимание структуры данных типа со ссылкой на нее было бы очень полезно.

Edit: Я считаю, что лучшая структура для этого, вероятно, Sparse Voxel Octree. Вы можете найти некоторые общие идеи о том, как это сделать, с помощью этого блога от Nvidia. https://devblogs.nvidia.com/thinking-parallel-part-iii-tree-construction-gpu/. Если код демона отображается на определенный воксель, этот воксель «заполняется». Резервные точки автоматически обрабатываются, когда воксель либо заполнен, либо не заполнен. Для удаления я думаю, что я могу сделать трассировку лучей на октрее, и если я столкнусь с заполненным вокселем, прежде чем я ожидаю, тоже удалим существующий воксель. Есть некоторые проблемы с разрешением, но я думаю, что я могу справиться с этим с помощью гибридного подхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...