Нейросети и дополненная реальность

Нейросети и дополненная реальность

Дополненная реальность “augmented reality” (AR) и нейронные сети - это две технологии, которые развиваются быстрыми темпами в последние годы. Их сочетание открывает новые перспективы в разных областях, от медиа и развлечений до медицины и промышленности. Дополненная реальность набирает обороты благодаря распространению камер в мобильных устройствах, а нейросети в последнее стали широко использоваться для создания изображений, текстов и даже программного кода. Техники глубокого обучения, такие как сверточные нейронные сети “convolutional neural networks” (CNN), могут быть применены к изображениям, созданным в системах AR, чтобы создать захватывающие впечатления. В этой статье мы рассмотрим, как AR и нейросети взаимодействуют друг с другом, какие преимущества они могут принести и какие вызовы могут возникнуть при их совместном использовании.

Как это работает?

Для создания систем дополненной реальности необходимо учитывать производительность, мощность и зону воздействия глубокого обучения, которые могут быть снижены с помощью использования встроенных процессоров зрения в качестве компаньона для хост-процессора. Камерой захватываемые изображения и видео являются важным элементом систем AR и также используются для обработки встроенного зрения. Техники глубокого обучения, такие как сверточные нейронные сети (convolutional neural networks ), могут быть применены к изображениям, созданным в системах AR, чтобы создать захватывающие впечатления.

AR и виртуальная реальность (VR) отличаются по своей сути. VR стремится создать совершенно новую и захватывающую среду для пользователя VR-очков, используя изображения и звуки. Для полностью симулированной среды VR требуются графические движки для создания виртуальных миров. AR, с другой стороны, является только частично симулированной и сочетает сгенерированные изображения или графику с реальным миром. В будущем, вы можете пройти мимо того же кафе в Будапеште, но уже надеть AR-очки и увидеть список дневных специальных предложений, наложенный на переднее окно. Реальный мир в AR требует компьютерного зрения для восприятия и распознавания окружающей среды, чтобы виртуальный мир мог быть добавлен.

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

Что такое SLAM?

В настоящее время робототехника и гарнитуры или очки являются наиболее распространенными аппаратными устройствами, требующими AR/VR/смешанной реальности. Также ведется значительная работа по добавлению AR на мобильные телефоны, планшеты и автомобили. Чтобы аппаратные устройства могли видеть мир вокруг себя и добавлять или усиливать эту реальность с помощью вставленной графики или изображений, они должны быть способны определять свое положение в пространстве и картографировать окружающую среду. В контролируемой среде маркеры - двухмерные символы, такие как QR-коды - позволяют камере (прикрепленной к очкам или встроенной в смартфон) определить свое положение и поворот относительно поверхности. Однако приложения, такие как автомобиль - где нельзя вставить маркеры вдоль каждого участка дороги, должны работать в среде без маркеров.

Алгоритмы одновременной локализации и картографирования “Simultaneous localization and mapping” (SLAM) происходят из исследований в области робототехники и обеспечивают геометрическое положение системы AR. Алгоритмы SLAM могут строить 3D-карты среды, отслеживая местоположение и положение камеры в этой среде. Алгоритмы оценивают положение датчика (встроенного в камеру, сотовый телефон, очки и т.д.), моделируя среду для создания карты. Зная положение и ориентацию датчика в сочетании с созданной 3D-картой окружающей среды, устройство (и пользователь, смотрящий через устройство) может перемещаться по реальной среде.

SLAM может быть реализован несколькими способами. Визуальный SLAM - это версия только с камерой, которая не полагается на фантазийные инерционные измерительные блоки (IMU) или дорогостоящие лазерные датчики. Монокулярный визуальный SLAM - который стал очень популярным - полагается на одну камеру, подобную той, что есть в мобильном телефоне. Типичная реализация монокулярного визуального SLAM включает несколько ключевых задач:

Slam и Deep Learning

SLAM позволяет определить местоположение камеры в окружающей среде и создать 3D-модель окружающей среды, но восприятие и распознавание объектов в этой среде требуют алгоритмов глубокого обучения, таких как CNN. CNN, являющиеся текущим состоянием искусства для реализации глубоких нейронных сетей для зрения, дополняют алгоритмы SLAM в системах AR, улучшая AR-опыт пользователя или добавляя новые возможности в AR-систему.

CNN могут быть очень точными при выполнении задач распознавания объектов, включая локализацию (определение местоположения объекта на изображении) и классификацию (определение класса изображения - например, собака или кошка, лабрадор или немецкая овчарка) на основе предварительного обучения коэффициентов нейронной сети. В то время как SLAM может помочь камере перемещаться по окружающей среде, не сталкиваясь с объектами, CNN может определить, что объект - это диван, холодильник или стол, и подсветить его положение в поле зрения. Популярными графами CNN для обнаружения объектов в реальном времени, включающими классификацию и локализацию, являются YOLO v2, Faster R-CNN и Single shot multibox detector (SSD).

Графики обнаружения объектов CNN могут быть специализированы для обнаружения лиц или рук. С помощью определения и распознавания лица на основе CNN, системы AR могут добавлять имя и информацию из социальных сетей над лицом человека в AR-среде. Использование CNN для обнаружения рук пользователя позволяет разработчикам игр помещать устройство или инструмент, необходимый для игрока виртуальной руке. Обнаружение наличия руки проще, чем определение ее положения. Некоторые решения, основанные на CNN, требуют вывода глубинной камеры, а также выходных данных датчика R-G-B для обучения и выполнения графа CNN.

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

Заключение

Новые и улучшенные системы дополненной реальности станут доступны благодаря глубоким алгоритмам обучения, таким как CNN. Это откроет новые возможности в области игр, образования, автономных транспортных средств и других сферах. Создание сложных систем дополненной реальности, которые соответствуют требованиям производительности, энергопотребления и площади, может быть упрощено с помощью встроенных видеопроцессоров, таких как EV6x Embedded Vision Processor IP, которые могут использоваться в качестве спутника для хост-процессора. Эти процессоры позволяют разработчикам систем дополненной реальности объединять глубокое обучение и развивающиеся техники SLAM. Узнать больше о нейросетях вы можете, посетив наш ТГ канал.

55
Начать дискуссию