Человека пора выкурить с водительского кресла. Постройте — мысленно — в ряд муравья, пчелу, кошку, квакшу и дельфина. Кому из них вы доверите свой автомобиль уже завтра? Специально для Сиб.фм Антон Веселов рассказал, как на этот вопрос на Дне российской науки в ГПНТБ СО РАН ответил руководитель стартапа SpectraTek Артём Попов.
Почему нам стоит отвадить человека от управления транспортным средством, даже не обсуждается. Живые водители – это сплошная суета: они сталкиваются и вообще вечно что-то делят на дороге. Пришло время их менять.
Какое из живых существ лучше справилось бы с этой задачей? Пчела или кошка? Или стоит за руль посадить таракана? Вот муравьи целыми колониями бешено носятся — и не бьются.
Мозг муравья (хотя и человека тоже) — это нейросеть.
У сети нейронов есть входные данные и готовое решение на выходе.
Например, глаза глядят, а ноги потом уже что-то делают. Впрочем, датчиков у автопилота может быть много (человеку не обязательно копировать самого себя – мы же не перемещаемся на механических лошадях), а вот сверхзадачи всего три.
Первая – навигация. Как доехать из точки «а» в точку «б»? Надо ли объезжать пробки? Быстрее или через магазин?
Вторая – безопасность. Пока мы говорим не о security, а о safety: как никого не сбить, как ни с чем не столкнуться, как безаварийно перестроиться, какие ограничения и знаки попадаются на выбранном маршруте?
Третья — обучение. Автопилот должен постоянно становиться умнее и лучше. Это в его же интересах, особенно в те дни, когда ещё не все люди отпустили свои баранки.
Фотография Александра Брикмана из архива Сиб.фм
Первый пункт решается просто — достаточно подключить GPS\GLONASS!
А вот вторая задача не так тривиальна. Она требует разбираться в ситуации на дороге, проводить семантическую сегментацию. Это значит, что когда машина «смотрит» вперёд, она осознаёт, что она видит: где пешеход, где другой автомобиль, а где мусорка.
Системе необходимо «всевидящее око»!
Датчики — это как раз моя тема. Можно поставить видеокамеры, радиолокаторы, ультразвуковые локаторы, лидары, и даже микрофоны. Информацию нужно ещё передать по быстрым каналам в блок обработки — специально обученный и готовый принять решение о дальнейших действиях.
Фотография Романа Брыгина из архива Сиб.фм
Лидар (Light Identification Detection and Ranging) — технология получения и обработки информации об удалённых объектах с помощью активных оптических систем
Так вернёмся к нашей проблеме выбора. У животных есть различия в обработке изображений и в скорости этой обработки. Скажем, живые существа видят в разном диапазоне длин волн: змеи видят в ИК-диапазоне, пчёлы захватывают кусок ультрафиолетового участка спектра, кошки хорошо ориентируются в градациях серого. И, конечно, у каждого свой принцип передачи зрительного сигнала и данных его окружающих. Например, пчёлы имеют несколько глаз! Основные – фасеточные, состоящие из множества мелких глазков. При помощи своих глаз пчёлы способны отлично различать цвета и формы цветков. Их зрительная система заточена под цветы. Плюс ко всему глаза помогают им ориентироваться по солнцу. Впечатляет и мозг пчёл: при своих скромных размерах он стремителен — из-за малой длины связей между нейронами сигнал быстрее обрабатывается.
Пчёлы годятся. Берём их?
А лягушки?! У них суперзрение.
Мотыльков ловить на лету — это вам не тривиальный экшн!
Из 4-6 тысяч фасеток состоит сложный глаз у рабочей пчелы, у трутня — из 6-8 тысяч, у матки — из 5 тысяч фасеток
Особенность лягушачьего зрения в том, что её глаз не просто передаёт картинку в мозг, а активно участвует в её распознавании. У лягушек есть слой нейронов на сетчатке, который выделяет контуры объекта, а уже по контуру, собственно, и происходит вычленение объекта. А ещё лягушачий глаз способен быть детектором движения. Причём движения правильного, целевого.
То есть лягушачий глаз отличает движение камыша от движения стрекозы, например. То, что мать-природа реализовала функции распознавания в периферийном устройстве, сильно разгрузило маленький мозг лягушки. Вот она и не залипает на второстепенном, а успевает ловить комаров.
А как же остальные органы чувств?
Всё верно, не зрением единым жив беспилотник. Локация — такой же важный элемент системы сбора данных. В природе этим пользуются летучие мыши и дельфины. Суть простая. Мы отправляем некий сигнал (у животных это ультразвук), ждём, когда он вернётся назад. Делаем так много-много раз. Получаем локационное представление пространства. В технике, правда, надёжнее решать эти задачи с помощью радиоволн. Ультразвук годится исключительно для ближнего радиуса — например, при парковке.
Фотография Сергея Мордвинова из архива Сиб.фм
С недавних пор научились делать компактные дешёвые радары — их активно ставят в автомобили. Работают на частоте 77 ГГц. Данные с радаров накладываются на данные с камер — получается очень ёмкое представление о реальности. Называется Data Fusion. Также существуют лазерные локаторы — лидары. У них высокое разрешение, они дают подробную картинку, но они очень дорого стоят.
Скажу ещё про уши. «Уши» или микрофоны тоже могут быть полезны. Объясню на коротком примере. Откуда мы знаем направление источника звука? Потому что у нас два уха. И звук доходит в каждое в разное время. Мозг успевает это обработать и указать нам направление.
В беспилотном автомобиле по такому принципу можно контролировать мёртвые зоны обзора, например.
Бесконечное богатство выбора. А ведь нужно ещё передать, обработать.
Да, имея множество сложнейших датчиков, выдающих подробную информацию, например, HD-камере нагенерить 1 Гб данных ничего не стоит. И мы моментально встаём перед проблемой надёжной коммуникации между датчиком и компьютером.
Если у нас одна камера, мы можем использовать один экранированный медный провод. А если камер много?
Автоиндустрия мечтает избавиться от проводов! Медь — это дорого!
Можно по оптике в пластиковом световоде передать!
Тогда каждое устройство будет бешеных денег стоить. Так, кстати, BMW делает. Можно ещё все датчики собрать в недорогую сеть. Тогда HD-картинка не влезет, с радара пойдут сырые данные, головной компьютер ничего не распознает и затупит.
Жизнь или кошелёк?
Я думаю, нужно обратиться к природе. Вспомним лягушку с её глазом и пчелу с её микромозгом. Почему бы не сделать так, чтобы каждый датчик хоть немножко что-нибудь распознавал. Процессоры сейчас очень дешёвые, дешевле меди. А значит, мы сможем передавать менее ёмкую картинку, например, с камеры — дополнив эту информацию распознанными данными в цифровом виде.
Скажем, идёт картинка 640 на 480 и подпись: здесь с такой-то вероятностью пешеход или там автомобиль.
Нужно ещё сделать эти каналы передачи безопасными!
Сейчас существуют несколько видов компьютерных сетей в автомобиле. Даже CAN-сеть, придуманная в конце 80-х годов, до сих пор применяется. Очень надёжная, но медленная относительно — максимум 1 мбит/с. Применяется для передачи телематической информации. FDPLink — это специальный канал для передачи картинки с камер в компьютер. Соединение до 1 ГБит. Минус в том, что это не сеть, а просто одиночный канал. BroadR — автомобильный Ethernet. Самый обычный, как в домашних компах. Один минус: пока дорого.
Развиваются и сети средней пропускной способности, и малой цены. Яркий представитель — CAN-FD. Это сеть, простроенная на базе CAN, но с увеличенной до 15 мбит скоростью.
Как-то мало мы внимания уделяем главному компьютеру, который всё это будет обрабатывать!
— Надо сказать, что сам этот компьютер не так важен. Он является частью инфраструктуры.
122 автомобиля Tesla было официально зарегистрировано в России на 1 июля 2015 года, из них 1 — в Кемерове, 1 — в Барнауле
Эта инфраструктура необходима для его обучения. Оптимальное решение для обработки информации в беспилотном транспортном средстве — это GPU или, говоря простым языком, видеокарта. Эта штука может обладать несколькими тысячами простых ядер, которые очень быстро производят матричные вычисления. А картинки — это и есть матрицы. Нейросети — это и есть матрицы — тензоры. Обучение системы происходит как раз на основе огромных массивов данных, собранных датчиками и переданными, например, на сервера автопроизводителя для обучения нейросети беспилотника, которая затем загружается уже в сам автомобиль. Такие серийные компьютеры уже есть — для Tesla. Делает их компания NVIDIA.
А если скорость — это призвание? Разве можно лишить человека удовольствия от вождения?
Я думаю, останутся полуавтоматические автомобили. Например, без рулевого колеса, но с джойстиком, как в Airbus. Лётчик же не продумывает в мельчайших деталях все манёвры. На современном сверхзвуковом истребителе это попросту невозможно. Лётчик не успеет! Поэтому он только указывает направление, куда лететь. А компьютер уже, исходя из обстановки, маневрирует самолётом. Почему бы не реализовать это на автомобиле!
Любители погонять смогут более эффективно перестраиваться в потоке и даже более дерзко разгоняться и тормозить.
Всё к этому и идёт, кстати. На автомобилях появляются системы Drive By Wire. Это когда орган управления — например, руль — механически не связан с объектом управления — например, с колёсами. Всё по проводам.
Страшно? Ничего, это уже реальность. Всё работает исправно.
А если оторванному от реальности автомобилю подкрутят мозги какие-нибудь злоумышленники?
Недавно подвергли анализу программный код управления дроссельной заслонкой и сбором данных с педали акселератора автомобиля Toyota — и выявили 27 000 нарушений отраслевого стандарта программирования. Это не явные ошибки, но нарушения стандарта явно влияют на безопасность. Собственно там при некоторых условиях педаль газа и глючила.
Что касается хакеров. Вот вам свежий случай. Группа хакеров, зная внешний IP медиацентра Jeep, проникли в телематическую сеть CAN и отправили удалённый автомобиль в кювет во время движения. Это был эксперимент, слава богу. Автомобили в итоге отозвали. Без вариантов: атаки, которым подвергаются наши компьютеры, будут перенаправлены и на автомобили.
Фотография Сергея Ковалёва из архива Сиб.фм
Думаю, будет нечто подобное блокировке экрана, когда после посещения не самых лучших сайтов просят отправить смс для разблокировки.
Сегодня основной вид хакерской атаки на автомобиль – это что? Угон. Необходимо взломать защищённый протокол общения машины и ключа. Проникнуть в телематическую сеть и дать команду на открытие дверей и разрешение запуска.
А есть возможность вообще привязать к машине комплект ключей угонщика.
И уехать, кстати, времени это много не занимает. Все современные штатные противоугонные системы — дырявые. Все. Абсолютно. Поэтому нас ждёт интересное время автомобильных антивирусов и файрволов.