Уточнение позиции 3D-модели относительно позы дополненного изображения - PullRequest
0 голосов
/ 06 июля 2019

Прежде чем я сделаю гигантский сброс слова, мой эффективный вопрос таков:

Могу ли я предоставить ARCore дополнительную информацию / эвристику, чтобы уточнить ее представление о том, какова позиция обнаруженного увеличенного изображения? Или я могу использовать позу других отслеживаемых объектов, чтобы уточнить позу обнаруженного увеличенного изображения?

Для получения дополнительной информации вот некоторая справочная информация о моем рабочем процессе:

Мое приложение AR вращается вокруг наложения различных 3D-моделей САПР поверх их реальных машинных эквивалентов. Взаимодействие с пользователем происходит так:

  1. Пользователь прикрепит QR-код (размером .2 метра на .2 метра) к заранее определенному местоположению на связанной машине (местоположение зависит от типа машины).
  2. Затем пользователь загрузит приложение, наведет камеру на QR-код, и приложение передаст изображение с камеры в библиотеку чтения QR-кода и использует полезную нагрузку (идентификатор для конкретной машины), чтобы извлечь связанный CAD Модель и метаданные.
  3. Как только QR-код обнаружен, я могу использовать библиотеку чтения QR-кодов, чтобы создать нетронутое изображение QR-кода и передать это изображение в ARCore, чтобы оно могло обнаружить его в 3D-пространстве с камеры.
  4. Как только QR-код обнаружен в трехмерном пространстве, я прикрепляю привязку и использую знания о том, где должен быть размещен QR-код в данной модели (также извлеченной из моей базы данных с использованием информации о полезной нагрузке), чтобы определить основу для моя модель CAD.
  5. Информация может быть наложена с использованием модели CAD для отображения различных операций / взаимодействий.

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

  1. ArTrackable_acquireNewAnchor позволяет указать несколько якорей для отслеживаемых в разных позах. Я предполагаю, что это улучшит отслеживание объекта, но я не ясно, как использовать этот API. В настоящее время я просто передаю позу, сгенерированную из ArAugmentedImage_getCenterPose, поэтому я не знаю, какие другие позы я бы передал.
  2. Если я продвигаю свою привязку QR-кода к привязке облака после обнаружения, это поможет в обнаружении / уточнении обнаружения позы qr в будущем?
  3. Если я попытаюсь сопоставить другие функции, обнаруженные ARCore (например, плоскости), с известной топологией в реальной среде (например, полы / стены), то это может лучше приблизить положение изображения QR-кода или предоставить некоторую эвристику для ARCore, чтобы он мог
  4. Вместо использования одного изображения с QR-кодом, что делать, если я использую набор изображений (один QR-код и два других статических изображения), которые слегка смещены относительно друг друга. Если мы знаем, насколько далеки друг от друга эти изображения в реальном мире, мы можем использовать эту информацию, чтобы исправить ошибку в оценке ARCore того, где они находятся.

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

...