Дополненное изображение обнаруживается, но не отслеживается

Я работаю над примером расширенного изображения в arcore, где я могу обнаружить изображение, но изображение не отслеживается, и объект не размещается. Я имею в виду пример расширенного изображения из codelabs. Я изменил изображение (изображение, сделанное вручную), чья оценка arcoreimg составляет 100, а также внесла следующие изменения в код. Он постоянно обнаруживается, но не отслеживается.

config.setUpdateMode(Config.UpdateMode.LATEST_CAMERA_IMAGE);
config.setFocusMode(Config.FocusMode.AUTO);

person Sam    schedule 10.02.2020    source источник


Ответы (2)


Для последовательного обнаружения и отслеживания расширенных изображений в ARCore соблюдайте следующие основные правила:

  • В ARCore 1.15, если ваше изображение не двигается (например, плакат на стене), вы должны прикрепить к нему global anchor, чтобы повысить стабильность отслеживания.

  • Физическое изображение должно занимать 1/4 пространства изображения камеры.

  • Наименьшее разрешение изображения должно быть 300 x 300 пикселей.

  • Вы должны отслеживать свое изображение при подходящих условиях освещения. Трудно освещенная комната - плохая среда для пользователей дополненной реальности.

  • Намного лучше указать ожидаемый физический размер отслеживаемого изображения. Дополнительные метаданные повышают эффективность отслеживания, особенно для больших физических изображений (размером более 75 см).

  • Когда ARCore обнаруживает желаемое изображение без указания ожидаемого физического размера, его состояние отслеживания будет автоматически приостановлено. Для пользователя это означает, что ARCore распознал изображение, но не собрал достаточно данных, чтобы оценить его местоположение в трехмерном пространстве. Do not use the image's pose and size estimates until the image's tracking state is tracking.

  • Дополненные изображения поддерживают .png и .jpeg. Однако избегайте сильного сжатия для .jpeg.

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

  • Избегайте изображений с повторяющимися узорами (например, Polka dot) и редкими элементами.

person Andy Fedoroff    schedule 11.02.2020

Ответ Энди правильный, но, возможно, недостаточно конкретный. У меня тоже была эта проблема, и как только я добавил ожидаемую ширину в метрах, она начала работать почти сразу.

Вместо augmentedImageDatabase.addImage(DEFAULT_IMAGE_NAME, augmentedImageBitmap);

Используйте augmentedImageDatabase.addImage(DEFAULT_IMAGE_NAME, augmentedImageBitmap, <width in meters>);

Тогда он начнет отслеживание почти сразу после обнаружения, и вам не придется иметь дело с этими приостановленными махинациями. Для меня отлично сработало с изображением 7 см с оценкой 95. Он даже отлично работает с изображением с оценкой 40. Изображение с 40 оценками с установленной шириной работает лучше, чем изображение с оценкой 100 без установленной ширины.

person rexar5    schedule 08.05.2020