Google стремится продвигать расовое равенство для чернокожих сообществ. Смотри как.

Дополненные изображения для Android

API расширенных изображений в ARCore позволяет создавать приложения AR, которые могут обнаруживать и дополнять 2D-изображения в среде пользователя, такие как плакаты или упаковка продуктов.

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

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

Возможности

ARCore может отслеживать до 20 изображений одновременно. ARCore не может одновременно обнаруживать или отслеживать несколько экземпляров одного и того же изображения.

Каждая база данных расширенных изображений может хранить информацию до 1000 эталонных изображений. Нет ограничений на количество баз данных, но только одна база данных может быть активной в любой момент времени.

Изображения могут быть добавлены в базу данных расширенных изображений во время выполнения, но не более 1000 изображений для каждой базы данных. Можно загрузить ранее созданные базы данных через сетевое соединение. Смотрите руководство разработчика для деталей.

При добавлении изображения можно указать физический размер изображения для обнаружения. Это повысит эффективность обнаружения изображений.

  • Если физический размер не указан, ARCore оценивает размер и со временем уточняет эту оценку.

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

ARCore может реагировать и отслеживать изображения, которые:

  • Изображения, которые закреплены на месте, например принт, висящий на стене, или журнал на столе.

  • Движущиеся изображения, такие как реклама в проезжающем автобусе или изображение на плоском предмете, удерживаемом пользователем, когда он двигает руками.

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

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

Используйте TrackingMethod , чтобы определить , является ли ARCORE в настоящее время отслеживания изображений на основе , где изображение в настоящее время обнаружено в поле зрения камеры ( FULL_TRACKING ), или на основании его совсем недавно обнаруженная позиции в мире ( LAST_KNOWN_POSE ).

Все отслеживание происходит на устройстве. Для обнаружения и отслеживания изображений не требуется подключение к Интернету.

Требования

Изображения должны:

  • Заполните не менее 25% кадра камеры для первоначального обнаружения.

  • Будьте плоскими (например, не складывайте и не оборачивайте бутылку).

  • Будьте в поле зрения камеры. Они не должны быть частично затемнены, рассматриваться под сильно наклонным углом или рассматриваться, когда камера движется слишком быстро из-за размытости изображения.

Вопросы использования ЦП и производительности

В зависимости от того, какие функции ARCore уже включены, включение расширенных изображений может увеличить загрузку процессора ARCore. Рассмотрите возможность отключения любых неиспользуемых функций в то время, когда они не требуются для работы с AR. Это сделает дополнительные циклы ЦП доступными для вашего приложения, а также улучшит тепловые характеристики и время автономной работы.

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

Лучшие практики

Советы по выбору эталонных изображений

  • Разрешение на изображение должно быть не менее 300 х 300 пикселей. Использование изображений с высоким разрешением не улучшает производительность.
  • Эталонные изображения могут быть представлены в формате файлов PNG или JPEG.
  • Информация Цвет не используется. И цветные, и эквивалентные изображения в градациях серого могут использоваться в качестве эталонных изображений или пользователями во время выполнения.
  • Избегайте изображения с сильной компрессией , как это мешает извлечения признаков.
  • Избегайте изображения , которые содержат большое количество геометрических характеристик, или очень мало возможностей (например , штрих -коды , QR - коды, логотипы и другие искусства линии) , так как это приведет к плохой обнаружения и отслеживания производительности.
  • Избегайте изображения с повторяющимися узорами , как это может также проблемы с причинах обнаружения и слежением.
  • Используйте arcoreimg инструмент , включенный в ARCORE SDK , чтобы получить оценку качества между 0 и 100 для каждого изображения. Мы рекомендуем оценку качества , по крайней мере , 75 лет . Вот два примера:

    Пример изображения 1 Пример изображения 2
    Оценка: 0 Счет: 100
    содержит повторяющиеся геометрические элементы достаточное разрешение; содержит много уникальных функций

Советы по созданию базы данных изображений

  • В базе данных хранится сжатое представление функций, извлеченных из данных в градациях серого на опорных изображениях. Каждая запись изображения занимает около 6 КБ.
  • Добавление изображения в базу данных во время выполнения занимает около 30 мс.
    • Добавьте изображения в рабочий поток, чтобы избежать блокировки потока пользовательского интерфейса.
    • Или, если это возможно, добавлять изображения во время компиляции , используя arcoreimg инструмент , включенный в ARCORE SDK.
  • Если вам известен ожидаемый физический размер изображения, укажите его. Эта информация улучшает качество обнаружения и отслеживания, особенно для больших физических изображений (более 75 см).
  • Избегайте хранения большого количества неиспользуемых образов в базе данных, поскольку это может немного повлиять на производительность системы из-за повышенной загрузки ЦП.

Советы по оптимизации отслеживания

  • Если ваше изображение никогда не сдвинется с исходного положения (например, плакат, прикрепленный к стене), вы можете прикрепить к изображению глобальную привязку, чтобы повысить стабильность отслеживания.
  • Для первоначального обнаружения физическое изображение должно занимать не менее 25% изображения камеры. Вы можете подсказать пользователь , чтобы соответствовать физическому образу в своей камере кадре с FitToScan.png активом. Смотрите руководство разработчика для примера этого приглашения.
  • Не используйте позы и размер оценку на изображении, пока отслеживание состояние изображения не является FULL_TRACKING . Когда изображение первоначально обнаружено ARCORE, и не ожидается , что физический размер не был определен, его отслеживания состояние будет PAUSED . Это означает, что ARCore распознал изображение, но не собрал достаточно данных, чтобы оценить его местоположение в трехмерном пространстве.