Tesla давно славится своим автопилотом, но до недавнего времени он был предназначен лишь для автомагистралей. 20 октября компания начала рассылать некоторым аккуратным водителям бета-версию универсального автопилота, который может ездить и по городским улицам, а до конца года собирается выпустить стабильную версию, доступную всем водителям Tesla. По сути, это первый раз, когда у обычного человека, а не разработчика из технологической компании, появилась возможность ездить на машине, которая сама довезет его из точки A в точку B. Но все же, по принятой терминологии беспилотником его называть никак нельзя. Рассказываем и показываем, почему это так, что может Tesla с новой версией автопилота и как обстоят дела в этой области у других компаний.
Главное отличие — возможность ездить по городу, а не только по трассам. В последние месяцы Tesla уже готовила свои автомобили к этому: весной они научились распознавать и корректно реагировать за стоп-знаки и красный сигнал светофора, а летом научились проезжать на зеленый сигнал (правда, поначалу для этого требовалось подтверждение от водителя или другая машина впереди). Но это работало только в том случае, если Tesla нужно было ехать прямо, а повороты были все еще недоступны. Теперь же автомобили умеют проезжать перекрестки автоматически, причем даже если на них нет светофора, поворачивать направо и налево, пропускать пешеходов, объезжать припаркованные машины, в общем, по-видимому, выполнять все основные городские маневры и просто перевозить водителя и пассажиров из одного места в другое по любой дороге (в разумных пределах, конечно).
Теперь об ограничениях. Во-первых, руки все еще надо держать на руле. Да, какое-то время система не будет реагировать на то, что водитель убрал руки, но затем все же начнет предупреждать его, а потом и вовсе припаркуется на обочине. Во-вторых, пока бета-версия пришла только самым аккуратным водителям, неким образом отобранным самой компанией. В-третьих, новый автопилот работает в городе не на максимальной скорости (на трассе он работает при любой разрешенной скорости), ведет себя аккуратно, а перед некоторыми перекрестками или кругами даже немного «тупит», убеждаясь в безопасности маневра. На некоторых видео, которые бета-тестеры, естественно, сразу же стали выкладывать в интернет, видно, что иногда автопилот ошибается и водителю приходится отбирать у него управление. Например, на одном видео можно увидеть, как машина дважды, на двух перекрестках подряд при повороте налево поворачивала слишком сильно и потенциально могла попасть в аварию, если бы не водитель, успевший повернуть в другую сторону (первый поворот происходит на 3:18):
На этом видео можно заметить, что в при переходе из пригородного в городской режим автомобиль начинает показывать другую версию 3D-карты с «сырыми» данными о разметке, машинах, пешеходах и прочем.
Кстати, ответ на популярный вопрос: да, автопилот может ездить и без разметки, ориентируясь на контуры дороги и держась правой стороны:
О том, что у новой версии автопилота «под капотом», еще в феврале рассказал директор Tesla по искусственному интеллекту Андрей Карпати (Andrej Karpathy). Самое главное нововведение — это подход к совмещению видеопотоков с камер, расположенных со всех сторон автомобиля. В текущей версии автопилота алгоритмы работают с изображениями с камер как с двумерными кадрами и соединяют их классическими методами. В новой версии, которую компания начала рассылать 20 октября, используется иной подход.
Алгоритмы все так же собирают одновременно со всех камер видеопоток, но он отправляется в массив нейросетей, которые «склеивают» кадры с разных камер и выдают двумерную карту объектов и дороги, как бы снятую с воздуха. Причем если для ближайшего окружения карта составляется точно по тому, что непосредственно видно на камере, то для скрытых или удаленных частей дороги нейросети достаточно точно прогнозируют схему. Примерно так же мыслит и человек: когда мы едем по парковке возле торгового центра, мы можем не видеть следующий проезд за большим грузовиком, но мы понимаем, что он там находится и, соответственно, можем притормозить, потому что оттуда может выехать другой автомобиль.
Еще одна важная часть алгоритмов компьютерного зрения, позволяющая Tesla не использовать лидары — это псевдолидар: метод, позволяющий имитировать данные с лидара, используя только двумерные кадры. Суть метода заключается в том, что алгоритм сначала берет кадр с камеры, затем он рассчитывает для него карту глубины (она показывает, насколько каждый пиксель удален от камеры), а затем проецирует эту двумерную карту на трехмерное пространство с учетом расстояния до каждого пикселя. В результате получается облако точек — такое же представление данных, как и у лидаров. А значит, что для обнаружения объектов вокруг машины можно использовать те же алгоритмы и принципы обработки данных, которые на протяжении многих лет дорабатывали исследователи и разработчики со всего мира.
В 2018 году много шума наделала работа исследователей из Корнеллского университета, потому что благодаря псевдолидару им удалось достичь прорыва в популярном тесте на эффективность обнаружения 3D-объектов KITTI: их алгоритм делает это с точностью 74 процента, а ближайший алгоритм-конкурент, использующий камеру, на тот момент показывал результат в 22 процента. Для сравнения, сейчас высочайшая точность в этом рейтинге составляет 82 процента, а достигший этого результата алгоритм использует лидар.
Планирование и логика движения машины у Tesla, как и других разработчиков беспилотников, пока основана на формальных алгоритмах, а не на нейросетях. Но Карпати считает, что постепенно как Tesla, так и конкуренты будут заменять эти алгоритмы на нейросети. Сама Tesla рассчитывает использовать для этого свой огромный парк автомобилей. По сути, каждый водитель, который ездит в ручном режиме, служит для них специалистом по разметке датасетов: машина собирает данные с датчиков, а человек показывает ей правильную траекторию движения.
И да, и нет.
Если говорить о технической стороне, то после исправления явно ошибочного поведения, которое можно видеть на роликах первых пользователей, Tesla можно будет назвать первым серийным беспилотником, потому что машина может самостоятельно проехать из точки A в точку B, управляя рулем, акселератором и тормозом. Пока такое умеют только беспилотники малосерийного производства, недоступные частным лицам (например, Waymo, Cruise или Яндекса), но это не автомобили, которые можно купить прямо сейчас, и в ближайшие месяцы, очевидно, они ими не станут.
Но есть и другой аспект — юридический. Как уже было сказано, водителю все еще нужно держать руки на руле и быть внимательным. Причем, судя по роликам владельцев, это не просто юридический трюк, а реальная необходимость. Более того, сама Tesla в описании новой версии говорит об этом так: «[Автопилот] может принять неправильное решение в самый неподходящий момент».
По общепринятой классификации уровней автономности автомобилей автопилот Tesla даже в бета-версии остается на втором уровне из-за необходимости всегда следить за дорогой. Попасть на следующие уровни ему удастся только тогда, когда исчезнет это ограничение и водитель сможет смотреть истории в инстаграме, пока автомобиль работает за него.
Опять-таки, смотря кого можно считать конкурентом. Среди серийных машин ближе всего к текущей версии автопилота Tesla по общему качеству езды находится Cadillac Super Cruise, причем он даже превосходит ее в том, что позволяет не держать руки на руле (но смотреть на дорогу все равно нужно — за этим следит камера в салоне). Такая же функция есть у Nissan ProPilot 2.0 и BMW Driving Assistant Pro, доступных на некоторых моделях этих марок в некоторых странах. Также похожую функциональность имеет сторонняя разработка openpilot от хакера geohot и его коллег, правда, она имеет сомнительный юридический статус.
Если считать конкурентами Waymo и прочих разработчиков беспилотников с лидарами, то многие из них уже давно ездят в городских условиях лучше Tesla, но их стоимость все еще не сопоставима с обычными машинами такого же класса.
Самый похожий на Tesla проект — это беспилотный автомобиль от израильской Mobileye. Недавно она показала 40-минутную поездку по загруженным и узким улицам Иерусалима на беспилотнике, оснащенном только камерами. Во время поездки автомобиль иногда вел себя более аккуратно, чем окружающие, но оператору ни разу не пришлось перехватывать управление, кроме момента, когда ему пришлось съехать на край дороги, чтобы поменять аккумулятор в снимающем заезд дроне.
Но даже Mobileye с такой разработкой и всем ее опытом по разработке серийных устройств для распознавания дорожных объектов не собирается отказываться от лидаров. Автомобиль, оснащенный исключительно камерами, она рассматривает лишь как промежуточный пункт и одну из двух подсистем будущего полноценного беспилотника (второй будет система, работающая только на лидарах и радарах).
Впрочем, история знает немало примеров, когда в конце концов правы оказывались те, кто шли наперекор общему мнению, так что вполне возможно, что подход Tesla в итоге сработает.