? Еще раз спасибо за всю помощь здесь!

аюсь прочитать и разобраться в доменной модели Google ARCore, особенноAndroid SDK пакеты. В настоящее время этот SDK находится впредварительный просмотр"Режим и так нет доступных учебников, блогов, статей и т. д., чтобы понять, как использовать этот API. Даже Google сам предлагает просто прочитать исходный код, комментарии к исходному коду и Javadocs, чтобы понять, как использовать API. Проблема в том, что: если вы еще не являетесь экспертом по компьютерному зрению, модель предметной области будет вам немного чужды и незнакома.

В частности, мне интересно понять фундаментальные различия и правильное использование следующих классов:

FrameAnchorPosePointCloud

Согласно сAnchorJavadoc:

"Описывает фиксированное местоположение и ориентацию в реальном мире. Чтобы остаться в фиксированном месте в физическом пространстве, числовое описание этой позиции будет обновляться по мере того, как ARCore будет лучше понимать пространство. Используйте getPose (), чтобы получить текущее числовое местоположение этого якоря. Это местоположение может измениться каждый раз, когда вызывается update (), но никогда не изменится самопроизвольно."

ТакЯкоря иметьпоза, Звучит как тыбросить якорь"на что-то, что видно в камере, а затем ARCore отслеживает этот якорь и постоянно обновляет егоPose может отражать характер его экранных координат, может быть?

И изPoseJavadoc:

"Представляет неизменное жесткое преобразование из одной системы координат в другую. Как предусмотрено всеми API-интерфейсами ARCore, Позы всегда описывают преобразование из локальной системы координат объекта в систему координат мира (см. Ниже) ... Эти изменения означают, что каждый кадр должен рассматриваться как полностью уникальный объект системы координат мира."

Так чтозвуки какPose это то, что является уникальным только длятекущий кадркамеры и что каждый раз, когда кадр обновляется, все позы для всех якорей могут быть пересчитаны, может быть? Если нет, то какова связь между якорем, его позой, текущим кадром и мировым координатным кадром? И что такое позадействительнов любом случае? Является ли «Поза» просто способом хранения данных матрицы / точки, чтобы вы могли преобразовать Якорь из текущего кадра в мировой? Или что-то другое?

Наконец, я вижу сильную корреляцию между фреймами, позами и якорями, но естьPointCloud, Единственный класс, который я вижу внутриcom.google.ar.core который использует этоFrame. PointClouds оказаться(Х, у, г)-координируется с 4-м свойством, представляющим «уверенность» ARCore в том, что компоненты x / y / z действительно верны. Поэтому, если у Якоря есть Поза, я бы предположил, что у Поза также будет PointCloud, представляющий координаты Якоря и уверенность в этих координатах. Но позане У меня есть PointCloud, и поэтому я совершенно не понимаю концепций, которые моделируют эти два класса.

Вопрос

Я поставил несколько разных вопросов выше, но все они сводятся к одному краткому ответу:

В чем разница между концепциями Frame, Anchor, Pose и PointCloud и когда вы используете каждый из них (и для каких целей)?

Ответы на вопрос(1)

Ваш ответ на вопрос