Текст уведомления здесь

Битва нейросети и лидара

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

На протяжении многих лет лидерами отрасли автономных авто считались Google/Waymo и Uber. Однако их подход, основанный на «лазерном радаре», имеет очень серьезные недостатки, из-за которых он фактически непригоден для полностью автономного движения по дорогам. Удастся ли альтернативному — безлидарному — подходу Tesla то, что не смогли остальные, и в чем критичное отличие «тесловской» технологии от прочих?
Добавить в закладки
Комментарии

С 2012 года пресса одолевает своих читателей прогнозами о том, что вскоре те будут ездить на роботизированных машинах, которым и руль-то нужен не будет. Отказ от водителя — другими словами, от нерационального водительского поведения, неизбежного для человека, — должен был снизить расход энергии машиной на 20% и уронить смертность в ДТП как минимум в десять раз. В мире от аварий умирает 1,4 миллиона человек в год, и, таким образом, предполагалось, что новая чудо-технология должна в идеальном случае спасать по миллиону людских жизней ежегодно.

Однако серия скандалов 2018 года показала, что основной, доминирующий подход к созданию беспилотного автомобиля на самом деле не работает (или работает недостаточно корректно) и вообще неизвестно, сможет ли когда-нибудь работать совсем без вмешательства человека-водителя. Вчера, 22 апреля 2018 года, Илон Маск провел конференцию для прессы, где заявил, что его подход этих недостатков лишен, и пообещал вождение без касания руля уже к 2020 году. «Чердак» попробовал разобраться в том, получится ли у него обойти именитых конкурентов.

Как работают «беспилотники» у конкурентов Tesla

Главным видом сенсоров на автомобилях Google/Waymo (а позднее и почти всех остальных компаний в этой области) с самого начала был лидар — «лазерный радар». Он использует лазер, работающий в инфракрасном диапазоне. Излучение лазера отражается от близких к машине объектов и затем улавливается приемником. По задержке между излучением и приемом (а также по изменениям в фазе принимаемой волны) электроника лидара определяет расстояние и форму объекта. Сверяя данные лидара с цифровыми трехмерными картами города или дороги, машина «понимает», где она находится, какие здесь действуют знаки и как, соответственно, надо себя вести на дороге.

Но в этом подходе есть ряд минусов. Лидар не различает цвета, так как он не видит отраженный свет в видимом диапазоне, как мы, а излучает и принимает отраженное ИК-излучение. В этой схеме просто нет места для цвета. Кроме того, он не пытается (да и не может) осуществлять классификацию сложных по форме объектов и предметов. Поэтому, например, треугольный знак он видит как треугольник на шесте, а разобрать, что там на нем написано, не в силах. Он видит лишь очертания предмета (того же знака), но не то, что на нем изображено в видимом диапазоне. Про то, что написано на знаке, он знает из заранее загруженной карты, но на карте этого знака может и не быть (особенно если он недавно установлен, как было в случае с беспилотником Uber в Сан-Франциско). Сходная картина возможна и при ремонте дорог, когда на обочине стоит немало временных знаков, и во многих других случаях.

Точно так же ему сложно понять, лежит на дороге резиновая шина или пластиковый пакет. Понятно, что это вопрос важный: в первом случае машине надо ехать вперед (торможение перед пакетом может привести к тому, что в нее въедут сзади). Во втором — надо тормозить: шина твердая и наезд на нее не только сильно повредит машину, но и может привести к резкому изменению ее траектории и столкновению с другими машинами.

Теоретически эту проблему можно решить с помощью камеры и распознающего ПО. Однако в реальной жизни изображения дорожных знаков и светофоров тот же Google успешно использует в капчах, отсеивающих ботов от реальных людей. И не просто так: в Google, чья «дочка» Waymo занимается беспилотными авто, отлично знают, что пока что научить ПО различать знаки во всех мыслимых условиях не просто трудно, а — на современном этапе — чертовски трудно.
 

Иллюстрация: CleanTechnica

Поясним: в хорошую солнечную погоду дорожные знаки хорошо различают и современные круиз-контроли, основанные на обычной камере. Но стоит знаку оказаться немного ржавым, чуть залепленным снегом или грязью, или просто «засвеченным» солнечным бликом, или падающей тенью сложной формы — и вероятность однозначно идентифицировать его для компьютера резко снижается. То же самое может случиться, если рядом со знаком находятся ветки дерева или низко висящие провода. Хотя все эти вероятности по отдельности низкие и кажется, что такие мелочи не могут помешать автопилоту, на самом деле для надежного автоматизированного вождения в разных условиях нужно уметь разбирать знаки в 99,999…% случаев.

Поэтому на практике задачу уверенного распознавания дорожной обстановки с помощью просто камер (использующих стандартные методики алгоритмического распознавания и небольшие обучающие выборки данных) решить не удается. В прошлом (2018-м) году Uber, использующий ту же лидарную технологию в сочетании с картами городских улиц высокого разрешения, продемонстрировал, что задача пока не решена. Вначале в Сан-Франциско экспериментальный беспилотник со страхующим водителем просто проехал через светофор на красный. Как оказалось, светофор был установлен за несколько дней до запуска тестовых поездок робомобилей Uber по этому городу. А цифровые карты высокого разрешения составляли за недели до начала тестов, то есть светофор на эту карту просто не нанесли.

Проезда на красный не было бы, если бы камеры смогли понять, что перед ними светофор. Но камеры — не могут, и ниже мы попробуем объяснить, почему именно.

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

Западные СМИ показывали фото салона «вэймомобилей» с комментариями вроде «Эра беспилотных авто наступила», но это было явным опережением событийФото: Waymo

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

Почему человек может то, что недоступно машинам

Возникает законный вопрос: как это? Компьютер может обыграть любого гроссмейстера в шахматы или любого мастера игры го, верно? А игры эти настолько сложные, что играть в них на гроссмейстерском уровне способны от силы несколько десятков тысяч землян. Водить с распознаванием существования светофора способны миллиарды представителей нашего вида. Почему же это так трудно для компьютеров? Тем более что некоторые из них — Nvidia Drive PX Pegasus, созданная именно для беспилотников, — выполняют 310 триллионов операций в секунду. Казалось бы, они должны превосходить человека, но на деле так пока не получается.

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

Хороший пример — это наше восприятие Луны или Солнца. Объективно их размер чуть больше, когда они в зените (но разница такая, что заметить ее глазам, по сути, нельзя). Субъективно все земляне видят оба небесных тела намного бóльшими, когда те находятся у горизонта. Почему мозг так модифицирует реальность, точно неизвестно. Возможно, это связано с тем, что время суток с низкой Луной или Солнцем в прошлом было крайне опасным (могут напасть ночные хищники) или, наоборот, очень выгодным как время ночной охоты древних людей на дичь. Но суть от этого не меняется: мы видим не глазами, мы видим мозгом, для которого глаза — лишь замочная скважина, через которую он воспринимает исходящие снаружи комплексы световых волн.

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

А как работает автопилот Tesla?

Во время презентации 22 апреля 2019 года Илон Маск и другие сотрудники его компании систематически критиковали лидары. Упоминалось и то, что в туман и сильный дождь лидары ничего не могут — ИК-излучение хорошо поглощается парами воды. Значит, беспилотники с главным сенсором в виде лидара не смогут безопасно водить в сложных условиях либо должны будут создать нормальную систему зрения с помощью камер. Но тогда непонятно, зачем им лидар, цена которого стартует от 10 000 долларов, притом что набор камер стоит в разы меньше.

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

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

Базовое ПО автопилота выглядит как типичная нейронная сеть. То есть она состоит из множества элементов — программных аналогов нейронов. Вначале нейронная сеть «не обучена». Это значит, что, получая на входе изображения светофора, она назначит каждому из входящих образов равную вероятность распознания: с равной вероятностью она различит знак как светофор, как знак или как дерево. Глядя на конечный результат, доводчики ПО корректируют поведение нейронной сети в соответствии с обучающей выборкой. Обучающей выборкой называют набор анализируемых образов с заранее сделанной разметкой этих образов по категориям. Если обучающая выборка очень большая (например, миллион распознанных, слегка отличающихся образов сходных объектов), то рано или поздно нейронная сеть начнет различать их с вероятностью выше 99,99% процента. И чем больше объем обучающей выборки, тем выше будет вероятность точного распознания.

Чтобы натренировать нейронную сеть до необходимого (безопасного) уровня обеспечения вождения, нужна огромная выборка. У конкурентов экспериментальный флот машин очень мал — сотни авто, миллионы километров пробега. Tesla использует в качестве источника своей обучающей выборки свои же машины, причем не только те, у пользователей которых включен автопилот, но и вообще все, что оснащены камерами. Сейчас таких на дорогах планеты около полумиллиона. А это несколько миллиардов километров пробега ежегодно. Основной пробег они выполняют без активированного автопилота (многие владельцы не платили за эту опцию при покупке). Однако компьютер, отвечающий за работу автопилота, на машине есть, и он все время активен. Каждый раз, когда водитель совершает маневр на перекрестке или при смене полосы, он использует такой шаг живого «учителя» для обучения нейросети всех компьютеров Tesla в целом.

Карпатный привел пример такого «теневого» обучения. На некоторых машинах сзади багажника можно закрепить 1-2 велосипеда. Нетренированная нейросеть различит их как два объекта — машину впереди и, одновременно, велосипед, пересекающий проезжую часть. Понятно, что перед последним автопилот бы затормозил, чтобы не сбить велосипед. Лишнее торможение на трассе может привести к наезду со стороны того, кто едет сзади. Чтобы решить вопрос, специалисты по автопилоту из Tesla обратились ко всему полумиллиону своих машин с камерами, запросив у них видеонарезку с похожими образами. В итоге они получили большую выборку велосипедов, закрепленных сзади самых разных багажников самых разных машин, и смогли научить нейросеть надежно отличать такой велосипед от велосипеда, на самом деле пересекающего трассу.

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

Вот еще пара характерных примеров. После последнего апгрейда автопилот получил возможность самостоятельно перестраиваться на трассе, меняя полосы без одобрения со стороны водителя. Иными словами, от выезда на трассу и вплоть до съезда с эстакады машины движется сама, без команд со стороны водителя. На 22 апреля в таком режиме, по словам Карпатного, машины компании проехали более 110 миллионов километров с более чем 9 миллионами перестроений без единого (до сих пор) ДТП по этой причине.

Второй пример раскопал хакер verygreen, который сумел взломать ПО своей собственной «теслы» и увидеть, как та распознает светофоры. Он включил залоченную на данный момент опцию автопилота, которая дает возможность ездить с учетом сигналов светофора (в том числе вне трасс), и показал, что опция, несмотря на некоторую сырость, выглядит довольно продвинутой уже сейчас.

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

Илон Маск уверен, что хотя бы в одной из стран, куда поставляются его машины (их более двух десятков), такое разрешение будет получено до конца 2020 года. Мы не столь оптимистичны: любая государственная машина по определению медленная.

И, тем не менее, в конечном счете выбора у государств-регуляторов просто нет. Tesla каждый квартал публикует статистику попадания своих машин в ДТП в режиме ручного управления и в режиме автопилота. И статистика эта всегда показывает одно и то же. Скажем, в IV квартале 2018 года под управлением человека «теслы» попадали в ДТП раз на 2,54 миллиона километров. При работе автопилота — раз на 4,68 миллиона километров. Получается, автопилот безопаснее в 1,84 раза.
 

Фото: Tesla

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

По производительности он в семь раз превосходит уже используемые компьютеры «тесл», а значит, и обучать нейронную сеть на нем можно будет куда быстрее. Это немаловажно: надо  тренировать много довольно сложно формализуемых умений автопилота. Например, Маск отмечает, что автопилот научат и объезжать ямы на дороге (копируя поведение водителей «тесл», на записях поездок которых обучают нейронную сеть). Понятно, что для практического внедрения автопилота за пределами США и Германии эти навыки весьма важны, но на компьютере с ограниченными вычислительными возможностями сделать это было бы заметно сложнее.

Микросхемы нового компьютера выполнены по 14-нанометровому техпроцессу. Поэтому, несмотря на огромную производительность в 140 триллионов операций в секунду, энергопотребление у него весьма небольшое — 72 ватта. Для сравнения напомним: Nvidia Drive PX Pegasus делает до 310 триллионов операций в секунду — правда, в основном для лидара, который Tesla считает бесполезным, а не для распознавания образов камерами. Но вот энергопотребление такого компьютера — 500 ватт.

В ближайшие годы Tesla рассчитывает начать выпуск машин, полностью лишенных рулевой колонки — специализированных роботаксиФото: Tesla

Экономичность компьютера — довольно важный фактор. Та же Tesla Model 3 потребляет всего 14,5 киловатт-часа на 100 километров пробега. Если бы компания пошла не по пути создания собственной энергоэффективной архитектуры, а просто купила новый компьютер на стороне, потребление энергии ее машинами выросло бы на 2,5-3,0%, то есть пробег на одной зарядке сократился бы на десятки километров. А пробег, по мнению Маска, машинам компании пригодится.

Дело в том, что на базе своей нейросети он планирует развернуть сеть Tesla Network. С ее помощью через приложение каждый владелец «теслы» с автопилотом сможет отдавать ее в режим роботизированного такси, где сама компания будет просто агрегатором типа Uber, то есть желающие владельцы таких машин смогут зарабатывать на своей машине, «таксующей» в беспилотном режиме. Конечно, для этого нужно то самое упомянутое выше соответствующее разрешение властей, которое Маск рассчитывает получить к концу 2020 года. «Чердак» полагает, что к этому сроку стоит прибавить как минимум пару лет. Но еще лет 10 назад все, что написано в этой статье, вообще казалось малореализуемой фантастикой.

Добавить в закладки
Комментарии
Вам понравилась публикация?
Расскажите, что вы думаете, и мы подберем подходящие материалы