2015-05-12 3 views
1

Я начинаю разрабатывать с Project Tango API.Преобразование и регистрация облаков точек

Мне нужно сохранить данные PointCloud, которые я получаю в случае OnXyzIjAvailable; Чтобы сделать это, я начал с вашего примера «PointCloudJava» и написал координаты PointCloud в отдельных файлах (для этой цели запускается AsyncTask). Итак, у меня есть один файл с xyz для каждого события. В том же событии я получаю соответствующую матрицу преобразования (mRenderer.getModelMatCalculator(). GetPointCloudModelMatrixCopy()).

Point clouds Point Clouds

Тогда я ввозимые все эти данные (хуг точка облако с соответствующей матрицей преобразования, матрица преобразования применяется к облакам точек), но облака точек не соответствуют точно; кажется, что точечные облака закрыты друг с другом, но не перекрываются точно.

Мои вопросы: -Почему у меня нет соответствия между облаками с одной точкой? -Что мне нужно было сделать, чтобы это соответствовало?

Затем я заметил следующее, что, вероятно, связано с вышеупомянутой проблемой; Я использовал приложение Project Tango Explore (Area learning), я могу видеть свою позицию, но постоянно движется, даже если я не двигаюсь. В чем проблема? Нужна ли калибровка?

Device Information

ответ

5

Позы поставляется танго есть не ничтожно малый объем дрейфа. Вот пример графика позиции позы, когда мой планшет был в своем стенде наблюдения статической сцены (в идеале следы должны быть плоскими):

enter image description here

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

Я был разочарован, когда увидел это. Но если Танго пытается измерить движение, используя камеру рыбий глаз, чтобы исправить предсказание инерционного движения - а не используя стереовидение между рыбий глаз и цветными камерами, - тогда это действительно тяжелая проблема. И причина для этого заключалась в том, чтобы оставаться в бюджетах CPU/GPU/RAM/latency/battery, чтобы оставить что-то для приложений. Поэтому после рассмотрения, пока я остаюсь разочарованным, я могу это понять.

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

+0

Отличный набор наблюдений - первое, что нужно сделать для определения простой ошибки первого порядка в данных - кажется немного застенчивым 2 см в моей работе, т. е.voxelization mapping @ разрешение 2 см приводит к сходимости, @ 1 см приводит к расхождению - тогда возникает проблема второго порядка - накопление ошибки дрейфа вызывает постоянное возрастающее ухудшение отношения S/N –

0

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

Смежные вопросы