Глаза машины
Закон Мура работает для развития процессоров, памяти, сенсоров и многих других элементов компьютерного оборудования (заметным исключением являются батареи, рабочие показатели которых не улучшились по экспоненте, поскольку, в сущности, они представляют собой химические устройства, а не цифровые). Однако согласно этому закону вычислительные устройства становятся не только быстрее, дешевле, меньше по размеру и легче. Они также начинают делать прежде недоступные вещи.
Исследователи искусственного интеллекта уже давно увлекались (чтобы не сказать – были одержимы) проблемой одновременной локализации и картографирования (simul-taneous localization and mapping, SLAM). Это процесс создания ментальной карты незнакомого здания непосредственно в момент, когда вы перемещаетесь по нему – где находятся двери? а лестницы? обо что тут можно споткнуться? – и отслеживания, в каком месте здания вы находитесь (что позволяет найти путь к выходу). У подавляющего большинства людей процессы SLAM происходят при минимальном участии сознания. Однако научить этому машину было значительно сложнее.
Исследователи много думали о том, какими сенсорами снабдить робота (камерами? лазерами? сонарами?) и каким образом интерпретировать массу данных, которые он передает, однако прогресс в этой работе был достаточно медленным. В одном из обзоров работы в этом направлении, сделанном в 2008 году, утверждалось, что SLAM «представляет собой одну из фундаментальных проблем робототехники… [однако] нам представляется, что почти все нынешние подходы неспособны привести к созданию достаточно точных карт для обширных территорий, в основном из-за увеличения стоимости вычислений и роста уровня погрешности, что в случае расширения сценария делает работу невозможной». Если говорить коротко, то основные проблемы, мешавшие развитию машинного SLAM, заключались в том, что было невозможно быстро собрать данные о достаточно большой территории и немедленно обработать их. Точнее, было невозможно – до тех пор, пока всего через два года после публикации этого обзора на рынке не появился новый гаджет для видеоигр стоимостью 150 долларов.
В ноябре 2010 года Microsoft впервые предложила в качестве дополнения к игровой платформе Xbox сенсорное устройство Kinect, которое могло отслеживать движения двух активных игроков, сканируя при этом движения примерно 20 суставов. Если один игрок становился перед другим, устройство самостоятельно оценивало скрытые от него движения второго игрока и сразу же находило все его суставы, как только он вновь оказывался на виду. Kinect мог также распознавать лица, голоса и жесты в самых разных условиях освещенности и при разном уровне шума. Достигалось это с помощью цифровых сенсоров, внешнего микрофона (способного находить источник звука лучше, чем встроенный микрофон), стандартной видеокамеры и системы глубинного восприятия, умевшей одновременно и излучать, и принимать сигнал в инфракрасном спектре. Несколько встроенных процессоров и огромное количество проприетарных программ позволяли конвертировать данные, поступавшие с этих сенсоров, в информацию, которую могли бы использовать разработчики игр. На момент выхода продукта на рынок все эти возможности были упакованы в устройство высотой 10 см и шириной менее 30 см, которое продавалось в рознице за 149,99 доллара.
В течение 60 дней после выпуска продукта было продано более 8 миллионов устройств Kinect (намного больше, чем айфонов или айпадов). В настоящее время Kinect удерживает рекорд «Книги Гиннеса» как самое быстро продаваемое компьютерное устройство на потребительском рынке. Поначалу семейство Kinect позволяло играть в дартс, заниматься физическими упражнениями, гулять по виртуальным улицам и произносить заклинания на манер Гарри Поттера. Однако система была способна на большее. В августе 2011 года на конференции SIGGRAPH (специальной группы по графическим и интерактивным методам Ассоциации вычислительных устройств) в Ванкувере команда сотрудников Microsoft и ученых использовала Kinect, чтобы наконец-то решить одну из самых сложных проблем в области роботехники.
SIGGRAPH – самый крупный и престижный конгресс в области теории и практики цифровой графики. Его посещают исследователи, разработчики игр, журналисты, предприниматели и другие профессионалы, интересующиеся этой темой. Словом, это самое подходящее место для того, чтобы компания Microsoft могла представить здесь то, что сайт Creators Project назвал «самовзломом, который может изменить буквально все». Речь идет о Kinect Fusion, проекте, в котором Kinect использовался для решения проблемы SLAM.
В видеофильме, показанном на SIGGRAPH-2011, демонстратор поднимал Kinect и водил им вдоль стен типичного кабинета – со стульями, растением в горшке, настольным компьютером и монитором. В ходе этого процесса видео разделялось на несколько экранов, на которых было показано все, что способен почувствовать Kinect. Сразу же становится ясно, что если Kinect и не полностью решает проблему SLAM для комнаты, то достаточно близок к этому. В режиме реального времени Kinect создает трехмерную карту комнаты и всех объектов в ней, включая сотрудников. Он распознает слово DELL, выдавленное в пластике на задней панели компьютерного монитора, хотя эти буквы не раскрашены и имеют глубину всего 1 мм. Устройство знает, где именно в комнате оно находится, и даже способно рассчитать, как будут отскакивать виртуальные шарики для пинг-понга, если их бросить в комнату сверху. В статье технологического блога Engadget, написанной после проведения SIGGRAPH, говорилось: «Kinect сделал трехмерное восприятие достоянием мейнстрима и более того: из обычного потребительского продукта сотворили нечто такое, от чего просто крышу срывает».
В июне 2011 года, незадолго до SIGGRAPH, Microsoft выпустила комплект разработки программного обеспечения для Kinect, дав разработчикам все необходимое, чтобы они могли писать программы под PC, с помощью которых можно было бы управлять устройством. После конференции возник огромный интерес к использованию Kinect для целей SLAM. Многие команды, занимавшиеся робототехникой и исследованиями искусственного интеллекта, загрузили себе SDK и принялись за работу.
Менее чем через год команда ирландских и американских исследователей во главе с нашим коллегой Джоном Леонардом из лаборатории компьютерных наук и искусственного интеллекта МТИ анонсировала Kintinuous – «пространственно расширенную» версию Kinect. С помощью Kintinuous пользователи могли использовать Kinect для маппинга крупных объектов, например домов и даже улиц и площадей (которые команда сканировала, высовывая Kinect из открытого окна машины во время ночных поездок по городу). В конце статьи, описывающей их работу, создатели Kintinuous обещали: «В будущем мы расширим систему, чтобы она могла в полной мере осуществлять SLAM-подход». Мы думаем, что нам не придется долго ждать очередного известия об успехе от этой группы. В руках способных инженеров экспоненциальная сила закона Мура со временем позволяет решать самые сложные проблемы.
Некоторые из технологий, которых мы касались в предыдущей главе, используют недорогие и мощные цифровые сенсоры. Так, у робота Baxter есть несколько цифровых камер и датчиков силы и положения. Совсем недавно все эти устройства были чудовищно дорогими, неуклюжими и неточными. Беспилотный автомобиль Google тоже использует несколько сенсорных технологий, однако самый важный из его «глаз» – устройство под названием LIDAR (от слов light («свет») и radar), размещенное на крыше машины. Этот прибор, разработанный компанией Velodyne, содержит 64 отдельных лазерных луча и такое же количество детекторов, заключенных в корпус, совершающий 10 оборотов в секунду. Устройство ежесекундно генерирует около 1,3 миллиона единиц данных, а бортовые компьютеры превращают их в трехмерную картинку в режиме реального времени, покрывающую до 100 метров во всех направлениях. Ранние коммерческие системы LIDAR, появившиеся на рынке около 2000 года, стоили до 35 миллионов долларов, однако в середине 2013 года появилось устройство Velodyne для беспилотной автомобильной навигации стоимостью около 80 000 долларов, и ожидается, что цена будет снижаться и дальше. Дэвид Холл, основатель и исполнительный директор компании, полагает, что массовое производство позволит цене продукта «сократиться до цены видеокамеры – то есть нескольких сотен долларов».
Все эти примеры иллюстрируют первое из трех звеньев нашего объяснения, почему мы находимся во второй эре машин: устойчивый экспоненциальный рост позволил нам оказаться на второй половине шахматной доски – в эпохе, когда происходившее в прошлом больше не может служить надежным предиктором того, что случится дальше. Накопленное удвоение, описанное законом Мура (и этот процесс пока продолжается), привело нас в мир, где мощностью очередного суперкомпьютера всего через несколько лет после его появления обладает игрушка, где постоянно дешевеющие сенсоры позволяют экономично решать еще вчера неразрешимые задачи и где научная фантастика продолжает претворяться в реальность.
Иногда разница в количестве (то есть большее количество того же самого) превращается в качественные различия (появляется нечто, чего не было раньше). История второй половины шахматной доски напоминает нам о том, что экспоненциальный прогресс может привести нас в удивительные места. А множество недавних примеров убеждает в том, что мы уже там.