УДК 004.946

Стратегия решения проблемы позиционирования цифровых двойников в виртуальной среде в рамках разработки мобильного приложения для визуализации интерьеров помещений

Павлова Екатерина Сергеевна – студент магистратуры направления программной инженерии МИРЭА – Российского технологического университета.

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

Ключевые слова: цифровой двойник, дополненная реальность, безмаркерное позиционирование, маркер дополненной реальности, нечеткие алгоритмы.

Метод цифрового позиционирования – это технология, которая используется для определения местоположения объекта или пользователя по сигналам, получаемым от спутников или других источников. Этот метод основан на принципах трилатерации или мультилатерации, при которой измеряется расстояние до нескольких точек и на основе этих данных вычисляется координаты объекта.

Принципов программной реализации дополненной реальности существует несколько:

  1. Построение реальности на основе маркеров.
  2. Безмаркерные технологии.
  3. Геопозиционные технологии.
  4. Технологии, проецирующие изображение за счет светового отображения на реальные поверхности.
  5. Системы, позволяющие с помощью экрана, в качестве которого может служить современный смартфон или планшет, наложить картинку на реальный объект таким образом, чтобы закрыть его несуществующим изображением.

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

В результате было выявлено несколько недостатков:

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

Применение дополнительных технологий позволит более точно определять, где могут располагаться объекты, а также более точно позиционировать их.

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

Есть несколько вариантов решения данной проблемы.

Использование маркеров дополненной реальности

В теории маркером может быть любой объект. Но на практике мы ограничены особенностями цветопередачи, освещения, вычислительной мощностью оборудования, разрешением веб-камеры(телефона). Поскольку это происходит в реальном времени, то все должно делаться стремительно, а вследствие чего выбирается, как правило, черно-белый маркер простой формы. Как правило, это четырехугольник со вписанным во внутрь идентификатором-образом (рис. 1).

Рисунок1

Рисунок 1. Основные типы маркеров

Алгоритм распознавания маркера.

Шаги алгоритма:

  1. Приводим в градации серого. Приведем три алгоритма перевода цветного изображения в градации серого.

Светлота(Lightness). GS = (max(R,G,B) + min(R,G,B))/2

Светимость(Luminosity). GS = 0.21 × R + 0.72 × G + 0.07 × B

Среднее(Average). GS = (R + G + B) / 3

  1. Бинаризация изображения (порог). С целью перевода изображения в двуцветное состояние применяется определенный порог. Проблема в том, как и к чему данный порог использовать. Наиболее простой способ — установить порог.
  2. Определение замкнутых областей. Следует установить замкнутые области на белом фоне. Как правило, здесь проходит сочетание алгоритмов, однако в общем случае — используют алгоритмы «заливки» белых областей и выделяют замкнутые области.
  3. Выделяем контуры. В основном используются такие методы, как Marr-Hildreth Edge Detector, Canny Edge Detector;, Boolean function based Edge Detector, Euclidian distance and Vector Angle based Edge Detector, Depth Edge Detection using Multi-Flash Imaging, Sobel Edge

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

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

Зная положение камеры и точки отсчета, можно нарисовать проекцию для 3D модели. В этом случае куба. Как видно, если используется прямоугольник с чистым полем в качестве маркера, то он симметричен, и определить вращение можно только лишь частично. Иногда этого достаточно. Если же нет — то необходимо внести внутрь квадрата дополнительный маркер, и получить в результате еще и угол поворота, применяя преобразование Хафа.

Использование нечеткой логики

Можно использовать систему распознавания образов с применением нечетких алгоритмов.

В общем случае задачу распознавания образов, применительно к дополненной реальности можно разделить на следующие этапы:

  1. Получение изображения реального объекта с камеры.
  2. Разбиение общего изображения на отдельные, сколь угодно малые, которые можно считать цельными объектами.
  3. Классификация полученных примитивов в соответствии с эталонной базой.
  4. Вывод конечного результата.

Нечеткие системы тут применимы на этапе классификации.

Последовательность алгоритма классификации описывается следующим образом:

  • выделенные объекты образуют первичную информацию M, поступающую на вход алгоритма;
  • исходя из поставленной задачи, формируются признаки классификации xi, i=1,…,N, где N – определяет общее значение. В соответствии с данными признаками, выделенные объекты формируют примитивы ω. Далее формируется совокупности признаков относительно каждого примитива ω:
    I(ɷ) = (x1 (ω), x2 (ω),…, xN (ω)).

Отсюда происходит разделение на подмножества i общего массива исходной информации, при этом соблюдается:Screenshot 1 , где m – общее число возможных или определенных классов.

  • далее происходит процедура соответствия элементов базы эталонов I0 и определенной совокупности признаков I(w);
  • при достижении идентичности совокупности I(w) примитива w и элемента I0, определяется принадлежности примитива к классу. Далее устанавливается значение предиката как Screenshot 2 после чего производится расчет предиката:Screenshot 3 ; после чего производится расчет предиката для каждого w:Screenshot 4
  • завершающим этапом является сравнение полученных результатов с желаемыми. Если они идентичны, то делается вывод о достижении цели работы алгоритма.

Дополнительной сложностью в работе алгоритма является задача формирования базы эталонов.

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

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

Алгоритмически внесение нечеткого аппарата можно разделить на следующие этапы:

  • фазификация, при которой вносится лингвистическая переменная, выражающаяся в лексических терминах, а для алгоритма предполагающая расстояние;
  • расчет алгоритма, использующего степень принадлежности
    Screenshot 5 где С – нечеткое множество, а MF(w)[0,1];
  • дефазификация – процесс перевода параметра к конкретному значению.

Благодаря множеству C при совокупности прочих параметров возможно присвоение объекту соответствие эталону, невозможное при классическом подходе.

Выбор лингвистических переменных при фазификации можно считать как достоинством, поскольку он может учитывать просторечные выражения, такие как «немного меньше» или «чуть больше», так и недостатком, поскольку отчасти определяется субъективным восприятием разработчика. Другой сложностью является дефазификация, имеющая сложный математический аппарат, что делает систему сложнее для реализации и дороже.

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

Список литературы

  1. Kozlova Lyudmila P., Belov Aleksandr M., Kozlova Olga A. The Use of Neural Networks for Planning the Behavior of Complex Systems / Proceedings of the 2018 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus) January 29- February 1, 2018 Saint Petersburg, Russia С. 902-904 DOI: 10.1109/EIConRus.2018.8317234
  2. Козлова О.А., Козлова Л.П. Роботы тоже могут видеть// Известия СПбГЭТУ «ЛЭТИ». 2010, вып С. 47–52.
  3. М. Л. М., Математические методы распознавания образов, Москва: МГУ,
  4. Поршнев С.В., Левашкина А.О. Универсальная классификация алгоритмов сегментации изображений [Электронный ресурс] // Журнал научных публикаций аспирантов и докторантов. 2008. N 3. С. 23 URL: http://jurnal.org/articles/2008/inf23.html (дата обращения 10.04.2024)
  5. Проекции векторов на прямую и на плоскость [Электронный ресурс]. Режим доступа: https://mathhelpplanet.com/static.php?p=proektsii-vektorov-na-pryamuyu-i-na-ploskost (дата обращения 10.04.2024)
  6. Распознавание маркера дополненной реальности [Электронный ресурс]. Режим доступа: https://habr.com/ru/articles/135659/ (дата обращения 10.04.2024)