Шесть лет назад Агентство передовых оборонных исследовательских проектов США решило, что у него есть новая мечта. Ведомству понадобилась система, которая накладывала бы цифровую тактическую информацию прямо поверх физического мира.
Так была создана программа по разработке новой сложной системы дополненной реальности для использования солдатами под названием «Городской тактический руководитель по реагированию, осведомлённости и визуализации» (Urban Leader Tactical Response, Awareness and Visualization — ULTRA-Vis).
Через полтора десятилетия и с помощью нескольких военных подрядчиков агентству это удалось. «Для реализации этих возможностей в программе был разработан и интегрирован лёгкий голографический прозрачный дисплей с низким энергопотреблением, графическим отображением позиции и системой ориентирования», — говорят в DARPA.
Используя систему ULTRA-Vis, солдат может визуализировать расположение других сил, транспортных средств, угроз и воздушных судов в локальном окружении, даже если те солдату не видны. Помимо этого система может быть использована для передачи бойцу тактически важной локальной информации, включая образы, маршруты и предупреждения.
На прошлой неделе я побеседовал с ядром команды главного подрядчика программы — Applied Research Associates. Они не создавали дисплей — это была BAE Systems, но они разработали «мозги», движок для геолокации и ориентирования.
Они думают, что их программное обеспечение, названное ARC4, в конечном итоге может оказаться в потребительских товарах — и скоро. Как они сами представляют себе это (что подтверждает прототип DARPA), системы с ARC4 выйдут за рамки того, на что способны Google Glass и остальные AR-системы.
В вопросах и ответах мы глубоко погрузимся в то, как работает их технология, какие проблемы они решали и каким они видят развитие дополненной реальности.
Со мной было четверо соратников по ARC: старший инженер Альберико Меноцци (Alberico Menozzi), занимающий ту же должность Мэтт Беннетт (Matt Bennett), старший научный сотрудник Дженнифер Картер (Jennifer Carter) и Дэйв Робертс (Dave Roberts), старший научный сотрудник и руководитель группы по военным операциям и системам зондирования.
В прошлом году я был одержим дополненной реальностью. Я был просто поражён. Но потом, когда увидел, на что, к примеру, способны Glass, понял, что они не могут делать ту массу интересного, возможного в этой сфере.
Картер: И всё ещё не могут.
Я думаю, что связывал с ними большие надежды потому, что это было время, когда люди начали представлять себе, что смогут сделать Google Glass, и мечты были более продвинутыми, чем само устройство.
Картер: Вы правы относительно коммерческого пространства. Людям показали вещи, созданные отличными художниками, которые невозможны на самом деле. И мы утверждаем, что ARC4 — настоящая дополненная реальность. Вы видите геоориентированные иконки поверх реального мира, и они находятся в направлении вашего взгляда в прямой видимости; обычно же, если вы поворачиваете голову, то больше не видите значок. Вы можете обмениваться информацией. Вы можете пометить георегистрированный объект.
Google Glass пытались сделать дополненную реальность. Они пытались сделать то, что делаем мы. Но я считаю, что они потерпели неудачу, поскольку у них всё это находится вне прямого поля зрения, и это настоящий информационный дисплей, а не дополненная реальность.
Как вы развивали эту систему — каковы ваши отношения с DARPA?
Робертс: Мы начали всё шесть лет назад. Это началось с программы DARPA ULTRA-Vis. Мы прошли через три различные фазы. Сегодня всё завершено. Мы были главным подрядчиком по разработке этой технологии. Были компании, которые приходили и становились конкурентами. За эти фазы мы сделали всё достаточно хорошо, чтобы продолжать, и прочие компании были сняты со счетов. Мы думаем, что подходим к той точке, о достижении которой мечтали — в которой дополненная реальность собирается стать чем-то, что люди видят в реальном мире.
Каковы были крупные технические испытания, которые вы должны были преодолеть? Что за вещи вы не могли сделать шесть лет назад?
Робертс: С начала на первом месте были две серьёзные, фундаментальные технологические проблемы. Дисплей, способный отображать информацию, который — я переключусь на техническую терминологию — сфокусирован на бесконечности, с достаточно большим полем зрения и достаточно высокой яркостью, чтобы быть полезным на открытом воздухе, где военный отряд может использовать его и увидеть информацию поверх реального мира.
Другая проблема была такова: у меня есть такой дисплей, и я могу отправить на него объекты, достаточно яркие, чтобы их увидеть, но как в своём окружении я могу убедиться, что эта информация отражает реальное положение вещей? Это оценка или отслеживание положения головы. Это возможность узнать, где я как пользователь нахожусь и на что я смотрю, определить курс. Я могу поместить информацию прямо поверх картины реального мира так, чтобы было зафиксировано её географическое расположение.
Базово система получает широту, долготу и высоту, три информационные составляющие, ассоциированные с неким объектом. И мы получаем их по сети, в которую интегрированы. Но в итоге система должна воспринять эти данные и отрисовать иконку за своими пределами, в реальности, и она фиксируется именно на том, на чём предположительно должна быть зафиксирована. Это и есть главный вызов, с которым мы работали на протяжении шести лет, и теперь мы можем сделать это в полевых условиях с реальными вещами.
Разберите для меня эту техническую задачу. Каковы были её составляющие?
Робертс: Есть датчики, необходимые для слежения за человеческой головой в плане положения и ориентации. Сейчас инерциальные датчики, гироскопы — которые выступают в роли датчиков углового ускорения — или акселерометр используются, чтобы понимать движения головы. К тому же для определения позиции доступным элементом ввода является GPS.
Потом обычно используется магнитометр — чтобы определить азимут или то, куда смотрит человек, на уровне глаз. Эти четыре части собираются вместе, и люди могут объединять данные, чтобы попытаться выяснить позицию и ориентацию головы. Как правило это то, чем по большей части до сих пор занимались люди.
Есть проблемы даже с простым использованием перечисленных датчиков. Одной из самых проблематичных является работа магнитометра. У Земли есть магнитное поле, и он помогает его почувствовать. Проще говоря, это компас. Он в любом случае не слишком точен.
Альберико: Датчик может быть точным, но само поле, которое он пытается измерить, может исходить не только от Земли. Очевидно, что датчик становится полезным со своей способностью измерять магнитное поле, чтобы дать вам информацию об азимуте, но если у вас есть другие вещи, которые накладывают собственное магнитное поле на поверхности Земли, то в конце концов измерения, как и сам датчик, становятся бесполезными для определения азимута. Дело не столько в шумах или неточности самого датчика, сколько в возмущении магнитного поля.
Какие наибольшие возмущения вы наблюдаете?
Альберико: Список невелик, поскольку магнитное поле Земли относительно слабо, так что беспокоится любым ферромагнетиком. Сталь, железо или то, что создаёт собственное магнитное поле, вроде электродвигателей. Если вы передвигаетесь на автомобиле, этого достаточно для того, чтобы дать вам возмущение, которое несколько изменит оценку азимута, когда вы основываетесь лишь на магнитометре.
Так что вам нужно ввести какой-нибудь другой сигнал, которые может служить в качестве корректора исходных данных, получаемых с магнитометра.
Альберико: Да, и это является одним из основных преимуществ и достижений нашей технологии. Всё, что вы видите сейчас, что люди пытаются собрать на основе одного магнитометра, будет страдать от нарушений.
Итак, как это работает на практике? И можно ли работать везде, или вы нуждаетесь в специальных маркерах, чтобы сделать мир понятным вашей системе?
Робертс: Из-за программы DARPA мы пытаемся решить эту проблему в условиях открытой среды, где у нас совсем немного конкурентов. Разрабатывая сегодня обычную дополненную реальность, для помещений или открытого воздуха, они ограничиваются одним фиксированным местом и могли бы остановиться на очень серьёзном использовании компьютерного зрения для поддержки понимания сцены, когда находятся в одном фиксированном положении. Чтобы вырваться из этого шаблона, который на самом деле очень нов, мы совмещаем базовое инерциальное зондирование, о котором упоминали, с набором того, что мы называем «сигналами возможности» (signals of opportunity, SOP — прим. ред.) — это методы компьютерного зрения. Например, большая часть местности, на которой действуют наши солдаты, включает гористый ландшафт.
Поэтому один из используемых нами методов преодоления азимутальной проблемы с магнитометрами заключается в обеспечении ввода абсолютного направления на основе сравнения известной горной местности с цифровыми данными высоты местности (digital terrain elevation data — DTED), в основном мировой картой высот. Мы смотрим на то, какое изображение на камере, и сравниваем его с актуальными DTED. Выделяя совпадения в информации, мы можем получить очень точную ориентацию головы пользователя. В этом случае системе больше вообще не нужно полагаться на магнитометр. Для этого устройство может использовать такой новый гибкий вариант получения данных. И если пользователь стоит рядом с автомобилем, он может поддерживать очень высокую точность, несмотря на чрезвычайные магнитные помехи.
И мы называем этот SOP «горизонтальное согласование».
Каковы остальные SOP?
Робертс: Ещё один, включённый нами, связан с использованием ориентиров или какой-либо известной позиции. Военный пользователь может заранее запланировать миссию. Он может знать положение вышки сотовой связи, горной вершины или шпиля мечети, которую будет искать во время выполнения задания. Если он обладает возможностью ввести эти координаты раньше времени, то способен очень эффективно следить за этой POI и одним движением выровнять систему по ней. И с этого момента он использует компьютерное зрение для определения положения его головы на основе этой абсолютной корректировки. Мы называем это «совпадение ориентиров».
Другой SOP включает Солнце. Всякий раз, когда оно попадает в поле зрения камеры, та, по существу, может выбрать пиксели с Солнцем и подкрепить вычисления ориентации головы. Используя одно лишь Солнце, мы можем преодолеть недостаток магнитометра.
Кроме того вместо горной местности мы можем работать с рельефом зданий, используя данные LIDAR с самолётов для создания моделей окружающей среды.
Именно эти методы, когда вы их обединяете, дают вам приспосабливаемые сигналы, благодаря которым вы можете получить высокую точность в широком наборе рабочих режимов.
Всё это автоматизировано? Если я или, учитывая будущее коммерческое применение, другой пользователь должен пойти в центр Окленда и затем на холмы Беркли, программное обеспечение будет знать «О, хорошо, это SOP, который я должен использовать»? Или всё предварительно задаётся в режиме планирования?
Робертс: Идея в том, что всё это автоматизированные методы. Горизонтальное согласование, например, было бы оценено автоматически. Есть все виды измерений, являющихся для системы внутренними, и всё это собрано в комбинации сенсорных данных. Городской ландшафт был бы автоматическим. Ориентирование по Солнцу — автоматическим. Совпадение ориентиров требует от пользователя единственное нажатие, но есть расширения, которые не требуют и этого. Система может автоматически узнать, куда вы смотрите, и делать основанное на визуальных образах сравнение — на основе понимания того, как может выглядеть ориентир. Смысл всех этих вещей в том, чтобы быть автоматизированными и не требовать когнитивной нагрузки от пользователя. Вся идея настроена на пользователя, на знание о его окружении в любое время и его освобождении от мыслей о вещах, выходящих за рамки миссии или задачи.
Потребительское применение кем-нибудь, гуляющим по улице, кроется в обеспокоенности человека лишь о том, где его друг [по соцсети] и откуда пришло сообщение. Мы хотим, чтобы он видел символ, наложенный на его друга, желаем направить внимание к нему. Или, возможно, к точке на здании, которое отметил друг.
Картер: Это то, что мы хотим сделать с сетевыми пользователями. Для военных это по больше части командная среда, но есть и сетевые пользователи.
Вы можете представить себе это почти как ленту Facebook. Вы можете выбрать информацию, которую хотите видеть и которую не хотите. Вот для чего может быть в конечном итоге использовано создаваемое нами приложение. Вы идёте по улице и хотите увидеть информацию от друга, который твитнул о чём-то, что посчитал классным. Можно было бы отмечать здания. Информация вроде этой может быть распространена по группе вышедших в Сеть людей.
И вы будете лицензировать технологию для того, кто будет этим заниматься? Или вы займётесь разработкой самостоятельно?
Робертс: Наш подход заключается в разработке программных возможностей, движка за кулисами. И он может работать с любым количеством дисплеев, будь то высокотехнологичные военные или потребительские продукты с более высокой рентабельностью от любых компаний, разрабатывающих такие дисплеи. Вы правы, мы правда хотим заниматься лицензированием. Мы не развиваем аппаратные средства или сам вычислительный модуль. Наши программное обеспечение и алгоритмы, даже если используют зрение, очень лёгкие. Мы используем зрение лишь тогда, когда это необходимо. В наши намерения не входит полный набор из множества приложений с зафиксированными локациями. Это требует тяжёлого инструментария компьютерного зрения. И даже люди, желающие выйти на улицу, должны будут нести рюкзак с компьютером. Мы осуществляем всё на мобильных обрабатывающих устройствах.
Объясните мне, как на деле выглядит один из этих алгоритмов? Как он оценивает различные сигналы? Как происходит интеграция?
Альберико: Мы рассматриваем это как систему типа Plug & Play по приёму SOP по мере их появления. И она масштабируется, так как мы реализуем всё больше возможностей, чтобы использовать всё больше и больше сигналов — та же архитектура сможет их интегрировать.
Если не доступно ни одного SOP, мы возвращаемся к инерциальной системе с поддержкой GPS, которая использует акселерометры, гироскопы и магнитометр. И мы приближаемся к фактическому добавлению их измерениям важности. Гироскоп, акселерометр и прочие основываются на характеристиках актуальных сенсорных данных.
И потом, любой SOP, который можно подключить и заставить работать, должен будет обеспечить новый уровень точности — вот как мы это спроектировали.
Что объединяет всё это — и принимает во внимание все меры доверия, — так это расширенный фильтр Калмана. Это популярный способ интеграции различных измерений, поступающих с разных датчиков. Конечно, мы настроили его, к примеру, на возможность обнаружить нарушения в магнитном поле и выполнять другие проверки по этим сенсорным сигналам для определения их точности. Много всего происходит, когда вы проектируете одну из таких систем.
Но основной принцип и двигатель — расширенный фильтр Калмана.
Беннетт, я предполагаю, что вы приложили руку к тому, что мы не затронули из-за того, что я перетягивал разговор в иные направления.
Беннетт: Я системный интегратор, связывающий всё вместе для того, чтобы различные компоненты и части слаженно работали в команде. Я интегрирую множество программных и аппаратных средств. Я много калибрую. Мной разработана масса наших калибровочных метод.
Это интересно. Я много писал об автомобилях Google, и одно из важнейших вещей в них является калибровка LIDAR, так что я давно хотел узнать об этом побольше.
Для таких систем калибровка — большое дело. Это своего рода ситуация «мусор на входе — мусор на выходе». Если у вас нет калибровки между камерой, инерциальным массивом и дисплеем, вы не увидите на своём дисплее точную георегистрацию значков.
На нашем предприятии есть комната-инструментарий, которую мы используем для калибровки камеры по отношению к набору инерциальных датчиков. На стене есть несколько фидуциальных меток, мы точно знаем, где они находятся в трёхмерном пространстве и берём кучу синхронизированных данных. То есть изображение с камеры синхронизируется с инерциальными данными, а затем мы запускаем специализированные алгоритмы, чтобы найти фидуциальные метки, и производим калибровку параметров, отвечающих за функции камеры — то, как линза искажает изображение, и тех составляющих, которые отвечают за трёхмерное ориентирование между камерой и сенсорным массивом.
У нас есть набор датчиков, которые мы использовали для интеграции систем, но вы можете сделать это с любой системой, которая сочетает камеру и набор инерциальных датчиков. Так сказать, любой смартфон или планшет в мире.
Так, у вас есть камеро-инерциальный навигационный агрегат, который был откалиброван, и вам нужно откалибровать всё под дисплей.
Путь, по которому мы исторически идём, предполагает установку камеры, позади дисплея, однако то, что мы делаем сейчас, позволяет пользователям проделывать такое самим. Если вы берёте картинку с камеры и проецируете её на дисплей, то ваша система калибруется, когда она на одной линии с тем, что вы видите в реальном мире.
Я знаю, что вы знакомы с Q-Warrior, это наш инерциальный датчик плюс массив камер. Когда датчики прикреплены к дисплею, вы должны сделать калибровку единожды.
Одной из проблем являются задержки между человеческим видением мира и программным обеспечением, отображающим вещи на его поверхности. Как вы её решили?
Робертс: Одной из важных вещей является то, что эти дисплеи имеют задержку в любом случае. Допустим, у вас есть сенсорный модуль, прикреплённый к дисплею, и предположим, что вы, будучи в нём, повернули голову. Пройдёт немного времени — порядка 50 миллисекунд, — пока датчики движения передадут всё на дисплей. Основным способом, которым мы это преодолеваем, является предсказание того, что повлечёт за собой движение в течение этих 50 миллисекунд. Если мы можем предсказывать показания датчиков, то затем можем отрисовать на дисплее информацию, которая будет соответствовать окружающей среде.
Альберико: Задержка — это то, что есть всегда. Вы не можете устранить её, потому что ваша реальность за стеклом — и она мгновенна. Вам нужно время для передачи измерений от получающих их датчиков, на их обработку и демонстрацию. Как правило, это 40-50 миллисекунд.
Но как только пользователь начинает двигаться, приходит даже в крошечное движение, мы исследуем его и начинаем предсказывать, что за этим движением последует. Мы отправляем на рендеринг позицию, которую предсказали на 40-50 миллисекунд вперёд, так что к моменту завершения движения всё, что нужно, на месте для должного выравнивания символов.
Робертс: В конце концов, всё это означает, что, когда я поворачиваю голову, значок остаётся зафиксированным на реальном мире, и я не вижу эффекта подтормаживания. Это ещё одна вещь, которую мы сумели отлично реализовать. Во множестве AR-проектов с этим связана масса вопросов.
Чтобы сделать это предсказание, вы поместили кучу измерений в обучаемую машинную модель и заставили всё вертеться?
Альберико: Фактически мы обратили внимание на то, что вы можете сказать о человеческом движении такого, что позволило бы нам делать лучшие прогнозы. Это тоже в стадии разработки. Зато сейчас работает экстраполяция движения. Как только мы обнаруживаем небольшое движение, мы экстраполируем его в будущее. Если пользователь поддерживает это движение 40-50 миллисекунд, то в итоге иконка останется зафиксированной.
Робертс: Мы делаем это без вбрасывания в проблему большего количества циклов обработки. Мы не просто использовали больше вычислительной мощности, но использовали её более разумно.
Alexis Madrigal, The Atlantic