Облако точек экспорта arcore для постобработки

Я попробовал пример проекта ARcore HelloAR в Unity. Теперь моя цель - эффективно экспортировать сопоставленное облако точек для постобработки.

В примере проекта HelloAR Unity я изменил сценарий "PointcloudVisualizer.cs". Теперь при каждом обновлении я копирую текущее облако точек в список Vector4.

Frame.PointCloud.CopyPoints(pointcloud_temp);
pointcloud_all.AddRange(pointcloud_temp);

Затем я создал кнопку экспорта, которая по щелчку мыши создает текстовый файл из списка «pointcloud_all».

  1. Это правильный способ экспорта облака точек из ARcore или я пропустил более простую функцию в api?
  2. Правильно ли я, что в Frame.PointCloud сохраняется только облако точек из текущего кадра? Где-то сохраняется все облако точек?
  3. Четвертый компонент Unity ARcore vector4 - уверенность. Как это измеряется? И лучше ли низкие значения, чем высокие?
  4. Кто-нибудь имеет опыт работы с картированием ARcore и может дать мне несколько советов?
  5. На следующем шаге я сравню облако точек ARcore из комнаты с реальным облаком точек трехмерного лазерного сканирования. Кто-то уже делал это и есть какие-то результаты?

Я использую: ARCore SDK v1.1.0 для и Unity 2017.4.0f1

0
0
2 049
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Каково ваше определение постобработки? Вы пытаетесь запустить дополнительную обработку во время работы вашего приложения или пытаетесь загрузить данные для локального воспроизведения на свой компьютер? В первом случае вам не следует писать в текстовый файл. Имейте в виду, что позиции указаны относительно трансформации камеры.
  2. Да, облака точек относятся к каждому кадру, нет поддержки глобального облака точек (или глобальной сетки) (пока?)
  3. Он основан на некоторой эвристике, которую вычисляет ARCore. Чем выше, тем лучше. (думайте об этом в процентах, я на 90% уверен, что это действительная точка облака точек).
  4. Вы пытаетесь реконструировать комнату? Вы пытаетесь делать это в реальном времени? Это та же проблема, что и у лидарных систем, используемых в автономных транспортных средствах. По сути, если вы видите несколько точек облачности в одном и том же месте на последовательных кадрах, существует высокая вероятность того, что эта точка реальна (вероятно, та же эвристика, которую использует ARCore).
  5. Ах, это отвечает на несколько вопросов выше. Самой сложной частью будет согласование вашей версии комнаты, созданной с помощью точки облачности, с вашим представлением, сканированным лидаром. Но в остальном, помимо того факта, что визуально-инерционная одометрия с одной камерой даст вам более шумные точки, чем сканирование на основе лидара, вы должны иметь возможность сопоставить одно с другим с некоторой ошибкой.

3. Вы в этом уверены? Я только что посмотрел на тестовое сканирование, и когда я смотрю на точки с уверенностью в диапазоне от [0, 0,15], результирующее облако точек выглядит намного лучше, чем когда я смотрю на точки в диапазоне от 0,85 до 1. 1./4 . Да, я пытаюсь реконструировать комнату в постпроцессе на моем компьютере, надо было упомянуть об этом в начале своего вопроса. Использует ли ARcore SLAM для обнаружения характерных точек? И можно ли изменить настройки SLAM, чтобы обнаруживать больше точек?

xFL 12.04.2018 15:39

Хорошо, вы были правы относительно значения уверенности @ACVM Может быть, я что-то отфильтровал не так Из справочного документа: Система координат и единицы измерения значений положения зависят от источника данных облака точек. Значение достоверности находится между 0.f и 1.f включительно, где 0 представляет 0% достоверности, а 1.f представляет 100% достоверность измеренных значений положения.ссылка на документ

xFL 25.04.2018 14:13

Другие вопросы по теме