Новый Flight Simulator компании Microsoft — это чудо технологий, задающее новую планку стандартов в жанре. Для воссоздания мира, кажущегося реальным и живым, содержащим миллиарды зданий, расположенных в правильных местах, Microsoft и Asobo Studios использовали труд многих партнёров.
Один из них — небольшой австрийский стартап Blackshark.ai из города Граца, который силами всего около 50 сотрудников смог воссоздать каждый город мира при помощи искусственного интеллекта и огромных облачных вычислительных ресурсов.
Перед выпуском нового Flight Simulator мы встретились с одним из основателей и генеральным директором Blackshark Майклом Патцем, чтобы обсудить сотрудничество с Microsoft и дальнейшие перспективы развития его компании.
Blackshark является ответвлением игровой студии Bongfish, разработавшей World of Tanks: Frontline, Motocross Madness и серию игр о сноубординге Stoked. По словам Патца, именно благодаря Stoked компания создала Blackshark.
«Одной из первых игр, разработанных нами в 2007 году, была игра о сноубординге под названием Stoked и S Stoked Bigger Edition. Она стала одной из первых игр с моделируемыми на 360 градусов горами: игрок мог облетать гору на вертолёте, высаживаться в любом месте и катиться вниз. Сама гора создавалась и описывалась процедурно, так же размещались препятствия в виде растительности, других сноубордистов и мелких животных. Затем мы перешли к жанрам гонок, шутеров и управления автомобилями, но не забывали идею процедурного размещения и описания объектов».
Bongfish вернулась к этой идее во время работы над World of Tanks, потому что создание огромных карт с размещением каждого камня вручную было бы очень медленной задачей.
Воспользовавшись своим опытом, Bongfish начала создавать собственный отдел разработки ИИ. Этот отдел использовал набор техник машинного обучения для построения системы, способной учиться тому, как строят карты дизайнеры, а спустя какое-то время способной создавать их самостоятельно. Компания уже начала использовать эту систему в нескольких своих проектах, после чего с ней связалась Microsoft.
«Совершенно случайно я встретил людей из Microsoft, искавших студию, способную помочь им с новым Flight Simulator. Основная идея Flight Simulator заключалась в использовании в качестве игрового поля, карты и фона Bing Maps», — рассказывает Патц.
Но данные фотограмметрии Bing Maps позволяли создать точные реплики всего 400 городов, а для большей части площади планеты таких данных не существовало. Microsoft и Asobo Studios требовалась система для постройки всего остального.
Именно тогда за дело взялась Blackshark. Для Flight Simulator студия воссоздала из спутниковых 2D-изображений 1,5 миллиарда зданий.
Хотя Патц и говорил, что встретился с людьми из Microsoft случайно, стоит добавить, что когда-то в Граце существовал отдел Bing Maps, разработавший первые камеры и 3D-версии Bing Maps. И несмотря на то, что рынок завоевали Google Maps, на самом деле Bing Maps превосходила Google в области 3D-карт. Затем Microsoft открыла исследовательский центр в Граце, а после его закрытия местных талантливых сотрудников переманили Amazon и другие компании.
«Поэтому нам очень просто было найти людей на должности с требованиями типа „PhD в воссоздании крыш“», — говорит Патц. «Я даже не знал, что такое существует, но это было именно то, что нам нужно, и мы нашли двух таких людей».
«Легко понять, почему воссоздание 3D-здания из 2D-карты — это сложный процесс. Непросто даже определить точный контур здания».
«По сути, мы выполняли в Flight Simulator следующую задачу: изучали 2D-области и искали на них признаки зданий, что является задачей компьютерного зрения», — рассказывает Патц. «Но если здание закрыто тенью дерева, то нам требуется машинное обучение, потому что из-за наложения тени становится непонятно, что является частью здания… Машинное обучение способно восстановить оставшуюся часть здания. И это ещё очень простой пример».
Хотя Blackshark и могла использовать некоторые другие данные, в том числе фотографии, данные датчиков и уже имеющиеся данные карт, ей приходилось определять высоту зданий и другие их характеристики на основании очень ограниченной информации.
Следующей очевидной проблемой является определение высоты здания. Если есть данные GIS, то эту задачу легко решить, но для большинства областей мира таких данных попросту не существовало или их непросто было достать. В таких случаях команда брала 2D-изображение и изучала на ней разные зацепки, например, тени. Однако чтобы определить высоту здания по тени, нужно знать время суток, а изображения в Bing Maps не имели меток времени. В других случаях у Blackshark они имелись, что сильно упрощало работу. И здесь на помощь снова приходит машинное обучение.
«Машинное обучение идёт немного иным путём», — объясняет Патц. «В нём тоже учитываются тени, но поскольку это просто тёмная фигура, мы не знаем, как она себя ведёт. Однако если посмотреть на плоскую крышу, например, сравнить небоскрёб с торговым комплексом, то оборудование на крыше небоскрёба отличается от оборудования на торговом комплексе. Поэтому, помечая здания, мы помогаем ИИ учиться».
Если система знает, что средняя высота торгового комплекса в этой местности составляет обычно три этаэа, она может с этим работать.
Blackshark не скрывает, что её система будет совершать ошибки, и если вы купите Flight Simulator, то увидите, что там в игре есть ошибки с размещением зданий. Патц сообщил мне что одной из самых сложных задач этого проекта было убедить партнёров-разработчиков и Microsoft позволить использовать этот подход.
«Мы говорим о 1,5 миллиардах зданий. При таком масштабе уже нельзя полагаться на традиционный контроль качества. Традиционный подход игр уровня Halo заключается в том, что ты показываешь пальцем и говоришь „этот пиксель плох, исправьте“, но не работает, когда ты ведёшь разработку при помощи ИИ на основе статистики. Может оказаться, что 20% зданий созданы ошибочно, и, вероятно, в случае Flight Simulator это так; но мы не смогли бы решить эту задачу иначе, ведь аутсорсинг моделирования 1,5 миллиарда зданий невозможен ни логистически, ни финансово».
Со временем эта система будет совершенствоваться, а благодаря стримингу Microsoft большого объёма данных из Azure, пользователи наверняка увидят изменения.
Однако разметка — это просто способ, которым команда студии обучает модель, и в этой сфере Blackshark достигла большого прогресса. Патц не вдаётся в подробности, потому то это часть секретного ноу-хау компании, благодаря которому и удалось выполнить такой объём работы усилиями всего 50 человек.
«Метки данных не были приоритетом для наших партнёров», — рассказывает он. «Поэтому мы использовали свою систему живой разметки, по сути разметив всю планету силами двух-трёх человек. Это предоставляет аналитикам данных очень мощный инструмент и пользовательский интерфейс. Допустим, если аналитик хочет обнаружить корабль, то он сообщает алгоритму обучения, что такое корабль, а затем мгновенно получает на выходе обнаруженные на сэмплируемом изображении корабли».
На основании выходных данных аналитик может обучить алгоритм, чтобы он ещё лучше распознавал конкретные объекты, в нашем примере — корабли или торговые комплексы в Flight Simulator. Патц говорит, что другие компании, занимающиеся геопространственным анализом, обычно фокусируются на конкретных нишах, а инструменты Blackshark не зависят от типа анализируемого контента.
И здесь в дело вступает более масштабное видение Blackshark. Поскольку компания сейчас получает одобрительные отзывы о её работе с Microsoft, она также сотрудничает с другими компаниями, реконструирующими модели городов, например, для симуляции автономного вождения.
«Наша более масштабная цель — создание почти в реальном времени цифрового близнеца нашей планеты, и особенно поверхности планеты. Это позволит использовать данные множеством различных способов в случаях, когда не помогает традиционная фотограмметрия типа Google Earth или Apple Maps, ведь она упрощена до уровня фотографий, наложенных на простые геометрические формы. Для этого у нас есть цикл обработки: мы извлекаем исследовательскую информацию из данных аэрофотосъёмки, которые могут быть 2D-изображениями или даже наборами 3D-точек. А после этого мы визуализируем семантику».
Такая семантика, очень подробно описывающая здание, имеет одно серьёзное преимущество перед фотограмметрией: по сути, информация о тенях и освещении запечена в фотографии, из-за чего реалистичное наложение другого освещения становится непростой задачей. Так как Blackshark знает всё о создаваемом ею здании, она может наложить на эти здания окна и освещение, что создаёт в Flight Simulator на удивление реалистичные ночные сцены.
Облака точек, которые не используются в Flight Simulator, являются ещё одной сферой, которой сейчас активно занимается Blackshark. Облака точек очень сложно считывать людям, особенно если приблизиться к ним вплотную. Blackshark использует свои системы ИИ для анализа облаков точек, определяя по ним количество этажей в здании.
«В основе всей нашей компании лежит понимание того, что для выполнения задачи нам нужно огромное технологическое преимущество. Особенно это касается отрасли видеоигр, в которой такие масштабные проекты, как Assassin’s Creed и GTA столкнулись с пределами возможного: над ними работают тысячи людей, этот труд очень сложно масштабировать и координировать между континентами, во время превращая его в готовый продукт. Нам было очевидно, что для решения такой задачи требуется более автоматизированный или частично автоматизированный процесс».
Хотя Blackshark была основана как игровая компания и сейчас она сотрудничает с Microsoft и Asobo Studios, её основной целью являются не игры, а такие области, как автономное вождение и анализ географических данных. Патц замечает, что ещё одним хорошим примером такого развития стал Unreal Engine, который изначально был только игровым движком, а теперь используется повсюду.
«Меня, долгое время проработавшего в игровой отрасли, такая ситуация очень вдохновляет, ведь при разработке игр ты понимаешь, насколько революционными могут стать технологии по сравнению с другими отраслями», — говорит Патц. «А если взглянуть на симуляторы, от военных от промышленных, то они всегда выглядели отстойно по сравнению с гоночными играми. Настало время игровым технологиям выбираться из игровой отрасли и начинать помогать всем прочим отраслям. Думаю, Blackshark стала одним из примеров того, как это сделать».