Обнаружение плоскостей EasyAR
Обнаружение плоскостей EasyAR — это автоматическая детекция горизонтальных и вертикальных поверхностей в среде при работе с отслеживанием движения EasyAR, обеспечивающая функционал размещения виртуальных объектов.
Принцип обнаружения плоскостей EasyAR
Обнаружение плоскостей (Plane Detection) в EasyAR — это простая способность понимания окружения, автоматически выполняемая синхронно в процессе работы отслеживания движения (Motion Tracker). Система непрерывно моделирует реальную среду на основе пространственно-временной информации, получаемой от камеры устройства и инерциальных датчиков, идентифицируя и отслеживая горизонтальные и вертикальные поверхности в окружении. Это обеспечивает базовую поддержку для размещения виртуальных объектов, выравнивания взаимодействий и пространственного понимания.

Конкретный процесс:
Отслеживание движения Во время работы отслеживания движения EasyAR непрерывно получает два типа ключевых данных: последовательные кадры изображения с RGB-камеры и данные с акселерометра и гироскопа. Система с помощью алгоритма визуально-инерциального слияния оценивает непрерывное положение и ориентацию устройства (6 степеней свободы) в мировой системе координат, обеспечивая стабильную траекторию камеры с низким дрейфом для последующего пространственного моделирования и анализа плоскостей.
Обнаружение и триангуляция характерных точек На основе оценки положения и ориентации EasyAR извлекает и отслеживает стабильные визуальные характерные точки (например, углы или области с выраженной текстурой) из последовательности изображений. С помощью методов многовидовой геометрии эти точки триангулируются, восстанавливая их положение в трехмерном пространстве и формируя локальное представление в виде облака точек.
Генерация кандидатов плоскостей Получив облако 3D-точек, система анализирует его геометрию для обнаружения наборов точек, потенциально принадлежащих одной плоскости. Сопоставляя с направлением силы тяжести, система различает кандидатов разных типов:
- Горизонтальные плоскости: нормаль приблизительно параллельна направлению силы тяжести (например, пол, стол).
- Вертикальные плоскости: нормаль приблизительно перпендикулярна направлению силы тяжести (например, стена, колонна).
Отслеживание и детекция плоскостей EasyAR проверяет и обновляет обнаруженные плоскости в последовательных кадрах:
- Определяет, поддерживают ли вновь наблюдаемые 3D-точки существующую модель плоскости.
- Динамически корректирует границы, размеры и достоверность плоскости на основе согласованности наблюдений.
- Отбраковывает кратковременные или нестабильные кандидаты. Результат считается "доступной плоскостью" только при удовлетворении требований геометрической согласованности и временной стабильности.
Выравнивание системы координат плоскости и виртуального контента Как только плоскость подтверждена, вы можете реализовать более реалистичные AR-эффекты:
- Размещение виртуальных объектов на плоскости с выравниванием по реальному масштабу и направлению.
- Проведение лучевого теста (Hit Test) для сопоставления касаний экрана с позицией на реальной плоскости.
- Реализация логики взаимодействия на основе плоскостей, такой как прилипание объектов, перемещение и определение перекрытия.
Поскольку плоскости и система отслеживания движения используют одну и ту же мировую систему координат, виртуальные объекты сохраняют стабильную и непрерывную пространственную согласованность при перемещении устройства пользователем.
Обнаружение плоскостей зависит от стабильного положения/ориентации и пространственной структуры, предоставляемых отслеживанием движения. В свою очередь, результаты обнаружения плоскостей могут использоваться для усиления способности понимания окружения, например, для помощи в размещении контента и дизайне взаимодействий. Вместе они составляют основу пространственного восприятия EasyAR, но архитектурно развязаны: обнаружение плоскостей не изменяет результаты оценки положения/ориентации самого отслеживания движения.
Лучшие практики
Для обеспечения эффективной работы функции обнаружения плоскостей следуйте этим рекомендациям для улучшения пользовательского опыта.
- Направляйте пользователя двигаться медленно, избегая неподвижности, быстрых движений или вращения на месте.
- Избегайте плоскостей, которые сложно распознать визуально: без текстуры, однотонных, зеркальных.
Примечание
Обнаружение плоскостей — это функция EasyAR для идентификации горизонтальных или вертикальных плоскостей в среде. Отслеживание поверхностей (Surface Tracking) не обнаруживает и не идентифицирует плоскостные структуры в сцене — это важно различать.