[Перевод] Чего не видит беспилотный автомобиль: анализ сырых видеоданных

image

Могут ли современные системы беспилотной езды обнаруживать и распознавать окружающие объекты, а затем предсказывать их поведение? Могут ли они понимать значение спонтанных событий и действовать безопасно и решительно (как водитель-человек)?

Это вопрос на 64 миллиарда долларов, на который ни у кого из нас пока нет ответа.

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

Intel и Mobileye выделяются на фоне других технологических компаний и компаний, занимающихся беспилотным транспортом. Mobileye опубликовала два неотредактированных ролика — один был представлен в январе на Consumer Electronics Show, а другой выложен в сеть в мае. Ключевое слово — «неотредактированных» (видео представлены ниже).

Оба ролика были сняты на оживленных улицах Иерусалима. Более того, в каждом видео представлены три видеокомпонента: видеозапись с дрона, видео от лица водителя (показывает действия системы и вид на улицу) и ПО для визуализации, которое отображает то, что видит система восприятия автомобиля;
Мы в EE Times предполагали, что в этом видео можно будет увидеть где ездил беспилотный автомобиль (благодаря съемке с дрона), какие в нем используются датчики (12 камер, других датчиков в автомобиле не было), что они захватывали (или не захватывали), как ПО от Mobileye воспринимало мир вокруг и как машина интерпретировала отображение, генерируемое ПО для визуализации (также это ПО управляет действиями системы беспилотной езды). Также мы следили за водителем-испытателем, чтобы понять что он видел и были ли какие-либо несоответствия между тем, что он видел и тем, что отображалось в ПО для визуализации.

Все эти испытания проводились вручную, и это отнимало много времени. Впрочем, недавно Mobileye объявила, что китайская компания Geely Auto Group будет использовать фулл-стек решение от Mobileye, включающее в себя 360-градусную камеру, в своих электромобилях 2+ уровня. Узнав об этом, мы поняли, что все делается не зря.

Данное соглашение предполагает, что Mobileye будет поставлять ПО, изначально разработанное для беспилотных автомобилей 4 уровня («испытанное и проверенное» в Иерусалиме), которое будет использоваться в потребительских автомобилях 2+ уровня в Китае. Это первый случай, когда ПО, предназначенное для беспилотной езды, будет использовано в потребительских автомобилях для обеспечения работы «систем ADAS, позволяющих убрать руки с руля». Mobileye обещает, что все это будет возможно менее чем через год.

В интервью для подкаста Weekly Briefing от EE Times Джек Уист, старший инженер Intel и вице-президент Mobileye по стандартам автономных транспортных средств, недавно подчеркнул, что нельзя просто «написать кучу кода, вывести свой продукт на улицы и смотреть, что получится» (хотя именно так и поступают многие стартапы на рынке беспилотного транспорта, в надежде привлечь деньги венчурных фондов). Что касается подхода Mobileye, Уист сказал так: «Нужно задумываться об архитектуре системы. Нужно пытаться описать эту архитектуру на бумаге и проводить формальную верификацию этой записи»

Интервью с Джеком начинается с 39:30

Представитель Intel сказала нам, что Mobileye начали разрабатывать систему автопилота для езды по магистралям в 2013 году, и все это время разработчики добавляли различные модули и функции. В частности, были добавлены HD карты (в 2015), система RSS (2017) и резервные системы (2018). «Обширные испытания актуальной конфигурации системы начались в начале 2018 года», добавила она.

Что мы отметили

После многократного просмотра видео от Mobileye (порой покадрового), мы отметили несколько моментов (мы перечислим их ниже по тексту), которые вызвали у нас вопросы:

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

Внесем ясность: ни один из экспертов в области беспилотного транспорта не бил тревогу по поводу того, что мы называли «потенциальными проблемами». Мы считали, что некоторые из моментов были критичными, но эксперты не согласились.

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

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

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

Итак проблема заключается в том, что система никогда не видела детских колясок? Возможно, но Мэгни также отметил, что машина не полностью проигнорировала коляску. «Объект был обнаружен и классифицирован с неким коэффициентом уверенности, но через несколько кадров он исчезает из-за смены ориентации — коэффициент уверенности падает. Затем, уверенность растет по мере приближения к объекту, и он снова отображается на экране».

Незавершенная работа


Мы связались с Mobileye и попросили прокомментировать увиденное.

Шай Шалев-Шварц, технический директор Mobileye и старший научный сотрудник Intel, признал: «На наших роликах представлена незавершенная работа, и потому они вовсе не безупречны».

Он подчеркнул: «Мы считаем, что в процессе разработки системы беспилотной езды очень важна прозрачность, а значит демонстрация незавершенной работы — важный шаг для нас». Прежде чем углубиться в разбор отдельных моментов, Шалев-Шварц сделал несколько замечаний:

  1. ПО для визуализации выводит только «факты» — объекты, которые стабильно фиксируются камерами. В системе политики вождения есть так называемый «уровень здравого смысла», в который включена базовая логика вроде «объекты не могут просто испаряться». Все эти невизуальные указания являются частью процесса принятия решений.
  2. Некоторые объекты определяются в двухмерном пространстве, и попытка определить их положение и кинематическое состояние приводит к проблемам с неопределенностью. Эти двухмерные изображения не выводятся в визуализации, но учитываются моделью RSS, как описано в следующем пункте.
  3. Важным компонентом RSS является способность «знать о том, чего вы не знаете». В любой момент времени мы знаем, что любой отрезок трехмерного отображения попадает в одну из трех категорий: (1) отрезок занят каким-либо участником дорожного движения, (2) дорога свободна, (3) у нас нет знаний об этом отрезке. Логика действий на основе RSS отлажена на корректную работу в любом из случаев. Механизм работы в третьем случае хорошо применим к объектам, обнаруженным в двухмерном пространстве, но положение которых в трехмерном пространстве не вполне ясно.

Mobileye комментирует моменты, которые мы отметили

Давайте начнем с первого видео, которое Mobileye опубликовала в январе.

Первый фрагмент видео, который мы хотим разобрать, — это часть, где появляется детская коляска (с 13:48 до 15:05).

image

Куда делась детская коляска?

На 14:52 можно увидеть человека, который катит детскую коляску. Изображение выше — кадр, на котором коляска попадает в поле зрения автомобиля. Компьютер обращает на нее внимание значительно позже. Неужели это тот объект, на котором алгоритмы ИИ не обучались?

Шай Шалев-Шварц: Пешеход и коляска отслеживались все это время. В визуализации отображаются только «факты» — см. пункт (1) выше.

Следующий сегмент видео, который мы хотим выделить, идет с 16:40 до 17:20. Событие, на которое мы хотим обратить ваше внимание, происходит около на 16:47. Кажется, утилита визуализации сбита с толку и не понимает что находится слева — автобус или грузовик. А затем объект и вовсе исчезает.

Шай Шалев-Шварц: Различать между собой автобус и грузовик необязательно, особенно когда он находится в трех кузовах от вас.

image

В программе визуализации появился призрак красной коробки

Далее, примерно на 17:17 на экране появляется красная коробка, хотя такого объекта на самом деле не было — это видно из кадра, представленного выше. Из-за чего появляются такие призрачные объекты?

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

Следующий фрагмент, на который мы хотим обратить внимание, идет с 21:10 до 21:55.

image

Мотоцикл приближается к автомобилю

Остановите примерно на 21:50. Мотоцикл явно едет в сторону машины, и он находится в ее поле зрения. Кажется, компьютер реагирует заметно позднее. Почему?

Шай Шалев-Шварц: При принятии решения учитывается неопределенность (а потому объекты не отображаются на экране). См. Пункт (1) и (2). Это не проблема.

Давайте посмотрим на майское видео.

Первый фрагмент, который мы хотим рассмотреть, начинается с третьей минуты. Почему примерно на 3:05 машина останавливается, хотя левая полоса явно свободна и можно объехать грузовик?

Шай Шалев-Шварц: Мы используем разные контекстные подсказки для того, чтобы определять чем является объект и можно ли его обгонять (например, если нам нужно отличить автомобиль в пробке от автомобиля, припаркованного во втором ряду). Этот механизм стремительно совершенствуется. Как бы то ни было, это не вопрос безопасности.

image

Отсутствие припаркованных автомобилей на экране визуализации

Следующий отрывок, на который мы хотим обратить внимание начинается вскоре после шестой минуты. Кадр выше остановлен на 6:12. На правой стороне улицы припарковано несколько машин. Любая из них могла сдать назад. На экране, при этом, отображается только одна. С чем связано такое мерцание? На «низком уровне» объекты все это время отслеживается, вопрос к визуализации.

Шай Шалев-Шварц: Взгляните на пункты (1) и (2). Это не проблема.

image

Небезопасный левый поворот, блокирующий движение

Следующее, на что хотелось бы обратить внимание, — это небезопасный левый поворот. На видео этот фрагмент начинается с 10:45, кадр взят на 10:58. Автомобиль Mobileye выезжает на дорогу и, по сути, блокирует движение, чтобы проехать. Иногда меня в таких ситуациях ругают за агрессивное вождение. Все дело в «культурных различиях» в стилях вождения?

Шай Шалев-Шварц: Здесь, в Израиле, как и в большинстве западных стран, это совершенно нормально. Стоять и ждать идеальной ситуации бесполезно. Имейте в виду, что политику вождения на основе RSS можно легко настроить в соответствии с различными стилями вождения (без ущерба для безопасности).

Следующий фрагмент, о котором мы хотим спросить, идет с 14:33 до 14:48. В этом фрагменте видно, что машина ждет момента для поворота. Почему рулевое колесо так активно крутится? Судя по всему, компьютер просчитывает траекторию проезда. Но почему руль так хаотично двигается?

Шай Шалев-Шварц: Это один из побочных эффектов взлома серийного автомобиля. Когда мы будем работать с платформами для беспилотной езды с специальным стеком управления, такого не будет.

image

Мерцание припаркованных автомобилей в программе визуализации

Далее, мы хотим спросить о том, что происходит после остановки для замены батареи. Этот фрагмент начинается примерно с 14:45, кадр взят на 15:05. На картинке с дрона мы видим, что справа от машины припарковано несколько автомобилей. На экране же количество припаркованных машин постоянно меняется. С чем это связано?

Шай Шалев-Шварц: Опять же, см. пункты (1) и (2)

Непрерывное улучшение


Шалев-Шварц утверждает, что ПО от Mobileye постоянно улучшается.

Большинство экспертов в области беспилотного согласились с тем, что путаница с автобусом/грузовиком не имеет значения.

Один из обозревателей области сказал так: «Размер [транспортного средства] может быть проблемой. Но когда мы говорим об обнаружении и объектов и реагировании на них, единственное, что нас действительно волнует — знать, что перед нами есть машина».

Технический директор Mobileye пояснил: «Это всего лишь проблема отображения (и это не влияет на комфорт или безопасность вождения). С точки зрения компьютерного зрения, это не очень сложная задача. Поскольку данный элемент не был критическим с точки зрения безопасности, он не был приоритетным.» Впрочем, он добавил, что «последние версии датчиков справляются с этим лучше».

Тем не менее, мы обратили внимание на то, что у утилиты визуализации, похоже, есть проблемы с определением размеров объекта. Мы спросили у Mobileye связано ли это с ограничениями двухмерного отображения.

Шалев-Шварц ответил: «Этот аспект нашего ПО постоянно улучшается, и мы уже достигли беспрецедентного уровня точности.» Mobileye также внедряет меры безопасности при ограниченной видимости, используя настройки политики вождения на основе RSS.

Мы — не специалисты. Когда мы смотрели видео, мы задавались вопросом — почему у компьютера возникают такие проблемы с отслеживанием объектов? В одной сцене компьютер может увидеть машину или человека, и через несколько секунд он о них забудет. Объекты просто исчезают. Перспективы предсказания дальнейших действий кажутся тревожными.

Шалев-Шварц дал понять: «Конечно, мы отслеживаем все объекты. Иногда при отслеживании возникают ошибки из-за ограниченной видимости или перекрытий, поэтому мы не можем рассчитывать на эту систему и проверяем наличие объекта за счет глубоких нейронных сетей (обычно ошибки происходят из-за перекрытий и ошибок классификации)».

Также он добавил: «Кроме того, наша политика вождения на основе RSS обрабатывает перекрытия объектов и ситуации с ограниченной видимостью за счет использования новых методов и технологий. Это одна из причин, почему такие «ошибки» не влияют ни на безопасность, ни на комфорт. Как вы говорите, нам просто не везет».

В то время как мы все делали вручную, у Mobileye есть инструменты для отслеживания ошибок, которые машина совершала во время всех своих поездок. Мы спросили Шалев-Шварца о том, как выглядит этот процесс.

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

Подводим черту


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

Мы благодарны Mobileye за участие в нашем публичном диалоге. Сейчас появляется все больше умных устройств (включая беспилотные автомобили), и эти устройства становятся умнее нас. Именно поэтому мы все более настоятельно задаем простой вопрос: «А как это работает?»


image

Вакансии
НПП ИТЭЛМА всегда рада молодым специалистам, выпускникам автомобильных, технических вузов, а также физико-математических факультетов любых других высших учебных заведений.

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

В компании организован специальный испытательный центр, дающий возможность проводить исследования в области управления ДВС, в том числе и в составе автомобиля. Испытательная лаборатория включает моторные боксы, барабанные стенды, температурную и климатическую установки, вибрационный стенд, камеру соляного тумана, рентгеновскую установку и другое специализированное оборудование.

Если вам интересно попробовать свои силы в решении тех задач, которые у нас есть, пишите в личку.



О компании ИТЭЛМА
Мы большая компания-разработчик automotive компонентов. В компании трудится около 2500 сотрудников, в том числе 650 инженеров.

Мы, пожалуй, самый сильный в России центр компетенций по разработке автомобильной электроники. Сейчас активно растем и открыли много вакансий (порядка 30, в том числе в регионах), таких как инженер-программист, инженер-конструктор, ведущий инженер-разработчик (DSP-программист) и др.

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


Список полезных публикаций на Хабре

© Habrahabr.ru