Как оптимизировать AR-маркеры для больших открытых пространств? - PullRequest
0 голосов
/ 20 ноября 2018

Установка такова: мы пытаемся показать объект AR в открытом пространстве, стоящем рядом с маркером. Цель маркера состоит не в том, чтобы поместить объект на / на маркер на 100%, а в том, чтобы дать «лучшее предположение» о том, что человек смотрит в правильном направлении.

Представьте, что зритель смотрит на сцену, где есть дорожный знак, и он смотрит на нее, например, с. 15 ярдов, и пока человек смотрит на дорожный знак, мы хотим нарисовать символ AR примерно рядом со знаком. Просто вместо дорожного знака (но примерно того же размера) мы можем использовать произвольное изображение.

При просмотре этой сцены через AR-камеру с такого расстояния, любой «естественно выглядящий» маркер довольно мал.

Есть ли способ / методика / наилучшая практика выбора / настройки / оптимизации маркера, чтобы он обнаруживался, занимая относительно небольшую область пикселей от камеры?

И еще один вопрос: наивно, без особых знаний в этой области, я бы ожидал, что лучшими маркерами будет высококонтрастный текст или несимметричное расположение геометрических фигур (так, буквально как дорожные знаки), но предпочтительнее более реалистичные изображения с оттенками в них? Почему это так?

1 Ответ

0 голосов
/ 21 ноября 2018

Ответить на ваш первый вопрос действительно непросто.Потому что это не просто обнаружение маркера или дополненного изображения, но и отслеживание этих изображений.Таким образом, вы можете собирать информацию о положении и повороте маркера.Любое изменение поворота и положения маркера может быть обнаружено.По сути, это делается путем извлечения характерных точек и отслеживания положения этих точек относительно различной позы устройства.Мой совет вам может быть попробовать пример HelloAR и попытаться визуализировать характерные точки на вашем маркере с 15 ярдов.Это даст вам общее представление о том, почему вы не можете оптимизировать такие расстояния.ARCore использует визуальную одометрию, поэтому эти характерные точки играют важную роль в отслеживании.Вероятно, это причина вашего дополнительного вопроса, потому что нам нужно не только обнаруживать маркеры, но и отслеживать их.Следовательно, больше оптимальных точек означает больше характерных точек, и это облегчает отслеживание.Один плохой обходной путь может заключаться в том, что если вы знаете расстояние от дорожного знака и запускаете свое AR-приложение, выровненное по знаку, вы можете создавать произвольные якоря в любых точках, используя `Session.createAnchor.Однако, как я уже сказал, это не будет хорошим решением.Я могу попытаться помочь, если вы предоставите больше информации о сценарии использования, возможно, вы сможете заставить произвольные якоря работать.Удачи!

...