Нейросеть заменила реальные объекты на улице на виртуальные

Mohamed Kari et al. / ISMAR 2021

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

Классическая дополненная реальность (AR) подразумевает, что пользователь видит реальный мир, на который реалистично наложены виртуальные объекты. Благодаря распознаванию геометрии сцены современные системы дополненной реальности умеют корректно располагать объекты на поверхностях, учитывать перекрытие реальными объектами (например, если между виртуальным персонажем и человеком расположен шкаф, персонажа будет не видно или видна лишь его часть, выглядывающая из-за препяствия), вычислять источник освещения и корректно освещать виртуальные предметы. Но так или иначе, дополненная реальность работает с уже существующей средой, а если она каким-либо образом взаимодействует с реальными объектами в кадрами, то только меняет их вид. Существует также смежный термин смешанная реальность (mixed reality, MR). Разработчики и компании дают ему разные определения, к примеру, фреймворк ARCore от Google сама компания называет фреймворком дополненной реальности, хотя согласно некоторым определениям его можно отнести и к смешанной реальности. В целом можно сказать, что он отличается от дополненной реальности тем, что такая система меняет саму среду, а не только вносит в нее новые объекты.

Группа разработчиков из Германии и Швейцарии во главе с Мохамедом Кари (Mohamed Kari) из Porsche и Университета Дуйсбурга-Эссена создали приложение для мобильных устройств, которое в реальном времени трансформирует одни объекты среды в другие, виртуальные и сохраняющие свойства реальных. Стоит отметить, что программа основана на четырех основных алгоритмах, которые не первый год применяют при работе с изображениями, но ранее никто не использовал вместе в такой связке.

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


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

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

Григорий Копиев


Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.