Диагностика и исправление: дрожание контента
Эта статья посвящена дрожанию, drift или скачкам виртуального контента при planar image tracking. Она помогает разработчикам отличать нормальное дрожание от аномального и предлагает системные методы troubleshooting и улучшения.
Отличайте "нормальное дрожание"
Понимание следующих ситуаций помогает избежать чрезмерной оптимизации или ошибочной оценки:
Небольшое смещение (нормально)
- Проявление: виртуальный контент слегка плавает на несколько пикселей или медленно вращается.
- Сценарии:
- Неравномерное освещение, например изменения света и тени в помещении
- Автофокус или настройка exposure камеры
- Легкое дрожание рук с устройством, без фиксации на штативе
- Ожидание: таких сценариев сложно избежать, и специальная обработка не требуется.
Кратковременное дрожание (нормально)
- Проявление: при быстром перемещении устройства или target image виртуальный контент дрожит 0,5-1 секунду, затем стабилизируется.
- Сценарии:
- Переход от статического состояния к динамическому
- Начальная стадия распознавания, когда target image входит в поле зрения
- Ожидание: это относится к процессу сходимости алгоритма и нормально, если восстановление происходит за короткое время.
Дрожание у края (нормально)
- Проявление: когда image находится у края поля зрения камеры или близко к потере, виртуальный контент слегка скачет.
- Сценарии:
- Image частично закрыто, например палец закрывает край
- Поле зрения камеры уходит за пределы image
- Ожидание: это граница алгоритма, вызванная частичной потерей tracking information. Рекомендуется направлять пользователя удерживать image в центре поля зрения.
Распространенные причины и улучшения для аномального дрожания
Следующее дрожание является проблемой и требует целевого решения:
Низкое качество target image
Симптом: виртуальный контент постоянно дрожит с высокой частотой, нерегулярно скачет или часто исчезает. Метод troubleshooting:
- Проверка recognition score: используйте target image detection tool, чтобы проверить recognition score.
Рекомендации по улучшению:
- Оптимизируйте image:
- Увеличьте локальный контраст.
- Избегайте однотонных областей и добавьте тонкую текстуру.
- Избегайте повторяющихся текстур.
Недостаточная производительность hardware
Симптом: на устройствах низкого уровня дрожание заметнее, чем на средних и высоких устройствах, либо tracking теряется легче. Метод troubleshooting:
- Проверьте использование CPU: используйте Profiler tools для мониторинга использования CPU приложением.
Рекомендации по улучшению:
- Включите performance mode: установите
ImageTrackerModeвPreferPerformance, пожертвовав небольшой точностью ради плавности. - Уменьшите количество tracking: если включено одновременное multi-target tracking, соответствующим образом уменьшите
Simultaneous Number. - Адаптация по платформам: предоставьте упрощенные scenes для устройств низкого уровня.
Помехи окружения
Симптом: дрожание возникает при определенном освещении или фоне, а после смены окружения становится нормальным. Метод troubleshooting:
- Тест освещения: отдельно протестируйте при равномерном освещении, например в пасмурный день, и при сильном контрасте света/тени.
- Помехи background: проверьте, не слишком ли загружен фон камеры, например из-за проходящих людей.
- Помехи отражений: проверьте, отражает ли физическая поверхность target image свет, например стекло или металл.
Рекомендации по улучшению:
- Контролируйте освещение: рекомендуйте пользователям использовать приложение в среде с равномерным освещением и избегать прямого света или сильных теней.
- Физическая оптимизация: если image находится на отражающей поверхности, покройте его матовой пленкой или сделайте физический объект путем печати.
Заметное локальное дрожание контента
Симптом: сцена виртуального контента большая. Виртуальный контент рядом с физическим target image дрожит меньше, но виртуальный контент вдали от target entity дрожит заметно. Метод troubleshooting:
- Уменьшите контент: равномерно уменьшите
Scaleвиртуального контента в сцене и снова протестируйте в той же среде и при тех же условиях.
Рекомендации по улучшению:
- Корректируйте контент соответствующим образом: слишком крупный виртуальный контент усиливает угловую ошибку в направлении от target entity. Например, угловая ошибка 0,1° рядом выглядит как ошибка совмещения virtual-real 0,1cm, но вдали увеличивается до 10cm. При проектировании виртуального контента нужно соответствующим образом настроить его физический размер относительно target image.
Итоги и лучшие практики
Дрожание контента нужно разделять на нормальное и аномальное. Нормальное дрожание, например небольшое смещение или быстрое восстановление, не требует специальной обработки. Аномальное дрожание, например высокочастотные скачки или частая потеря, требует дополнительного внимания, так как влияет на пользовательский опыт. Рекомендуемый порядок troubleshooting:
- Проверьте качество target image;
- Подтвердите, не является ли это уникальным явлением, вызванным производительностью конкретного устройства;
- Исключите помехи окружения, например освещение, динамические сцены, отражающие поверхности и т. д.;
- Проверьте, не слишком ли велик сам виртуальный контент.
Если проблема сохраняется, предоставьте log files, screen recordings и другие материалы через официальный форум EasyAR или техническую поддержку для дальнейшего анализа.