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

Улица с четырьмя полосами движения сужается до двух, чтобы вместить рабочих, ремонтирующих большую выбоину. Один рабочий держит в левой руке знак остановки, а правой рукой машет машинам. Водители-люди не задумываются долго, следовать ли жесту или знаку; они плавно двигаются вперед, не останавливаясь. Однако автономное транспортное средство в такой ситуации, скорее всего, остановится. Оно бы поняло стоп-знак и как на это реагировать, но вот с жестом рукой всё намного сложнее.

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

Чтобы решать подобные моменты безопасно и не прерывая движение транспорта, необходимо, чтобы автономные транспортные средства понимали обычные движения рук, используемые для управления водителями в неожиданных ситуациях, а также жесты и язык тела пешеходов, занимающихся своими делами. Это сигналы, на которые люди реагируют, не задумываясь, но они представляют собой проблему для компьютерной системы, которая все еще изучает окружающий мир.

Разработчики автономных транспортных средств по всему миру в течение нескольких лет работали над тем, чтобы научить беспилотные автомобили понимать хотя бы некоторые основные жесты рук, первоначально ориентируясь на сигналы велосипедистов. Как правило, разработчики полагаются на машинное обучение, чтобы улучшить способность транспортных средств определять реальные ситуации и понимать, как с ними справляться. В Cruise мы собираем эти данные из нашего парка, состоящего из более чем 200 беспилотных автомобилей. Эти автомобили проезжают сотни тысяч миль каждый год в течение последних семи лет; до начала пандемии на них ездили круглосуточно, с перерывами только для подзарядки — наши машины полностью электрические — и для регулярного технического обслуживания. Наши автомобили учатся быстро, потому что они движутся по холмистым улицам Сан-Франциско, одной из самых сложных сред вождения в Соединенных Штатах.

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

Мы в Cruise нашли творческое решение проблемы нехватки данных: захват движения (или mo-cap) человеческих жестов — технику, которую разработчики игр используют для создания персонажей. Cruise нанимал разработчиков игр, в том числе меня, для получения опыта в моделировании детализированных миров, и некоторые из нас взяли на себя задачу сбора данных для использования в обучении наших транспортных средств распознаванию жестов.

Для начала, наша команда по сбору данных поставила перед собой задачу составить исчерпывающий список движений тела человека для взаимодействия с окружающим миром и другими людьми — например, при вызове такси, разговоре по телефону во время прогулки или смещении пешехода на проезжую часть из-за ремонта тротуара. Мы начали с движений, которые автономное транспортное средство могло бы неверно истолковать как приказ ему — например, пешеход машет другу. Затем мы перешли к другим жестам, сделанным вблизи от транспортного средства, но не направленным ему, таким как парковщики машут машинам в полосе рядом с транспортным средством, въезжающим в бокс, а строители держат табличку с просьбой временно остановиться.

Иллюстрация: Chris Philpot
Иллюстрация: Chris Philpot

В конечном итоге мы составили список из пяти ключевых сообщений, которые передаются с помощью жестов: стоп, иди, поверните налево, поверните направо и «нет-сигнал» — движения, которые не имеют отношения к автомобилю, например, съемка селфи или снятие рюкзака. Мы использовали общепринятые в Америке виды этих жестов, предполагая, что автомобили будут двигаться справа, потому что мы проводим испытания в Сан-Франциско.

Конечно, жесты, которые люди используют для отправки этих сообщений, неодинаковы, поэтому мы с самого начала знали, что наш набор данных должен содержать гораздо больше, чем просто пять примеров. Мы не знали точно сколько.

Создание этого набора данных потребовало использования технологии захвата движения. Существует два типа систем mo-cap (англ. motion-capture): оптические и неоптические. В оптической версии mo-cap используются камеры, распределенные по большой решетчатой структуре, окружающей сцену. Видеопотоки с этих камер можно использовать для триангуляции трехмерных положений визуальных маркеров на костюме, который покрывает все тело актера. Есть несколько вариантов этой системы, которые могут производить чрезвычайно детальные снимки, в том числе выражения лица. Один из типов системы помогает игровой индустрии записывать движения спортсменов для разработки видеоигр на спортивную тематику, а также позволяет киноактерам изображать нечеловеческих персонажей, как в фильме «Аватар».

Однако оптический захват движения должен выполняться в студии со сложной многокамерной настройкой. Поэтому Cruise выбрал неоптическую версию захвата движения на основе датчиков. Эта технология основана на микроэлектромеханических системах (МЭМС). Она является портативной, беспроводной и не требует выделенного пространства в студии. Это дает бОльшую гибкость и позволяет переносить процесс из студии в реальные локации.

Каждый из наших mo-cap костюмов имеет комплект из 19 датчиков, прикрепленных к ключевым точкам тела, включая голову и грудь, а также каждое бедро, плечо, плечо, предплечье и ногу. Каждый комплект размером примерно с серебряную монету доллара и содержит акселерометр, гироскоп и магнитометр. Все они подключены к ремню, содержащему аккумулятор, шину управления и радио Wi-Fi. Данные датчиков передаются по беспроводной сети на ноутбук, на котором установлено специальное программное обеспечение, которое позволяет нашим инженерам просматривать и оценивать данные в режиме реального времени.

Из команды инженеров Cruise мы набрали пять добровольцев разного пола с различными характеристиками тела (рост, вес и т.д.), надели на них костюмы и отвезли в места, относительно свободные от электронных помех. Каждый инженер-актер начинал с принятия Т-позы (стоя прямо, ноги вместе и руки в стороны) для калибровки системы mo-cap. Оттуда актер делал один жест за другим, перемещаясь по списку жестов, который наша команда создала на основе наших реальных данных. В течение семи дней мы заставляли этих пяти актеров повторять набор жестов, используя каждую руку отдельно, а в некоторых случаях вместе. Мы также попросили наших актеров выражать разную интенсивность жестов. Например, интенсивность будет высокой для жеста, сигнализирующего о срочной остановке автомобиля, который едет слишком быстро в зоне ремонта дороги. Интенсивность ниже будет для движения, указывающего на то, что автомобиль должен замедлиться и постепенно остановиться. В итоге у нас получилось 239 тридцатисекундных клипов. 

Затем наши инженеры подготовили данные для использования в моделях машинного обучения. Во-первых, они убедились в том, что все жесты были правильно записаны без дополнительного шума, и что не было неправильно повернутых датчиков, дающих неверные данные. Затем инженеры прогнали каждую последовательность жестов через программное обеспечение, которое определило совместное положение и ориентацию каждого кадра в последовательности. Поскольку эти позиции изначально были зафиксированы в трех измерениях, программа могла рассчитывать несколько двухмерных перспектив каждой последовательности. Эта возможность позволила нам расширить набор жестов, поворачивая точки для имитации 10 различных точек обзора. Мы создали еще больше вариаций, случайным образом скрывая различные точки тела — для имитации реальных сценариев, в которых что-то скрывает эти точки от поля зрения — и снова постепенно поворачивая оставшиеся точки для создания разных углов обзора.

Иллюстрация №1
Иллюстрация №1
Иллюстрация №2
Иллюстрация №2

Cruise использовал данные из системы захвата движения для создания фигурки [иллюстрация №2] и анимации дорожного рабочего [иллюстрация №1] как часть обучения автономных транспортных средств распознаванию человеческих жестов.

Помимо предоставления нам широкого спектра жестов, выполняемых разными людьми и рассматриваемых с разных точек зрения, захват движения также дал нам удивительно чистые данные: скелетная структура человеческих поз одинакова — независимо от стиля и цвета одежды или условий освещения. Эти чистые данные позволяют нам более эффективно обучать нашу систему машинного обучения.

Как только наши автомобили будут обучены на основе данных о движении, они будут лучше оснащены для навигации по различным сценариям городского вождения. Один из таких случаев — строительство дорог. В Сан-Франциско всегда ведется множество строительных проектов, а это значит, что автомобили часто сталкиваются с рабочими, направляющими движение. Используя нашу систему распознавания жестов, автомобили смогут безопасно маневрировать вокруг нескольких рабочих, понимая их жесты рук.

Возьмем, к примеру, ситуацию, когда трое дорожных рабочих блокируют полосу движения, на которую планировал выехать беспилотный автомобиль. Один из рабочих управляет движением, а двое других оценивают повреждения дороги. Рабочий, направляющий движение, держит в руке табличку; у таблички восемь сторон, как у знака «стоп», но на ней написано «МЕДЛЕННО». Другой рукой он показывает транспортному потоку двигаться вперед. Чтобы безопасно пересечь перекресток, наш беспилотный автомобиль распознает рабочего с табличкой как человека, контролирующего движение. Транспортное средство правильно интерпретирует его жесты, что нужно перестроиться на другую полосу движения, двигаться вперед и игнорировать машину, которая останавливается на противоположной стороне перекрестка, но, похоже, имеет право проезда.

В другой ситуации наши автомобили поймут, что некто на перекрестке, игнорирующий мигающий знак «Не ходить» — не нарушающий правила пешеход, а человек, направляющий движение. Автомобиль заметит, что человек стоит прямо лицом к нему, а не боком, как это сделал бы пешеход, готовящийся перейти улицу. Он заметит, что одна рука человека поднята, а другая двигается, чтобы подать сигнал транспортному средству о переходе. Он даже отметит уверенное поведение этого человека. Все это вместе позволяет нашей машине понять, что она может продолжать движение вперед, даже если видит кого-то на перекрестке.

Обучение наших беспилотных автомобилей распознаванию жестов — это только начало. Эти системы должны уметь обнаруживать не только основные движения человека. Мы продолжаем тестировать нашу систему распознавания жестов, используя видео, собранные нашими тестовыми автомобилями, когда они перемещаются в реальном мире. Тем временем мы начали обучать наши системы пониманию концепции людей, которые переносят или толкают другие предметы, например, велосипед. Это важно, потому что человек, толкающий велосипед, обычно ведет себя не так, как человек, едущий на велосипеде.

Мы также планируем расширить набор данных, чтобы помочь нашим машинам лучше понимать жесты велосипедистов — например, левая рука, направленная вверх, с углом в 90 градусов в локте, означает, что велосипедист собирается повернуть направо; правая рука, указывающая прямо, означает то же самое. Наши машины уже распознают велосипедистов и автоматически снижают скорость, чтобы освободить для них место. Однако знание того, что означают их жесты, позволит нашим автомобилям убедиться, что они дают велосипедистам достаточно места для выполнения сигнального маневра без полной остановки и создания пробки. (Наши машины все еще ждут неожиданных поворотов со стороны велосипедистов, которые, не сигнализируют о своем намерении.)

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

Об авторе: Кейси Уивер — старший технический менеджер компании Cruise, Сан-Франциско.

Реклама которая может быть полезна именно тебе

Прямо сейчас в OTUS действуют максимальные новогодние скидки на все курсы, в том числе и на курсы по машинному обучению. Ознакомиться с полным списком курсов вы можете по ссылке ниже. Также у всех желающих есть уникальная возможность отправить адресату подарочный сертификат на обучение в OTUS.

Кстати, о "красивой упаковке" онлайн-сертификатов мы рассказываем в этой статье.

ЗАБРАТЬ СКИДКУ