Устранение неполадок в случае потери отслеживания - PullRequest
0 голосов
/ 05 апреля 2019

Я создал объект для воспроизведения анимации с помощью HelloAR-примера ARCore.Затем он накрыл камеру рукой и вызвал потерю слежки.И если вы снова осветите пространство, объект, который вы создадите, вернется, но анимация начнется с начала.

  1. Если пробел распознается снова после потери слежения, иногда объектвозвращается, но не возвращается.Есть ли способ различения?

  2. Если вы снова узнаете пробел после потери слежения, почему анимация запускается заново, когда объект возвращается?Вы удаляете и воссоздаете объект?

1 Ответ

1 голос
/ 05 апреля 2019

ARCore использует методику, называемую Визуальная инерционная одометрия .Это гибридная техника, сочетающая в себе компьютерное зрение и сенсорный синтез.

Итак, что VIO делает, так это объединяет данные, извлеченные из характерных точек (углов, пятен, краев и т. Д.), С данными, полученными из модуля IMU мобильного устройства.В ARCore очень важно знать положение вашего устройства.Поскольку вы оцениваете каждую отслеживаемую позицию на основе этой информации (триангуляция с использованием позы устройства).

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

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

Теперь по вашим вопросам:

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

Вы можете протестировать обе проблемы с помощью мгновенного просмотра и посмотреть, что происходит с якорями, когда вы теряете отслеживание.Удачи!

...