Обзор различных подходов к проектированию

Ожидается, что беспилотные автомобили окажут революционное влияние на многие отрасли, ускорив следующую волну технологического прогресса. Исследования в области автономной навигации проводились еще в 1900-х годах, когда General Motors представила в 1939 году первую концепцию автоматизированного транспортного средства. Однако большинство методов, используемых ранними исследователями, оказались менее эффективными или дорогостоящими. В последнее время, благодаря передовым разработкам в области искусственного интеллекта, сенсорных технологий и когнитивной науки, исследователи стали на шаг ближе к реализации практической реализации самоуправляемого агента. Новые подходы к проектированию, включающие нейронные сети, несколько датчиков, таких как камеры и обнаружение света и определение дальности (LiDAR), компьютерное зрение и другие методы, активно исследуются и тестируются несколькими компаниями. например Google, Uber и Lyft, а также ведущие университеты, такие как MIT и Университет Торонто .

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

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

Связанных с работой

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

В 2016 году NVIDIA выпустила документ, посвященный аналогичной идее, которую выиграл ALVINN. В статье авторы использовали архитектуру CNN для извлечения функций из движущихся кадров. Сеть была обучена с использованием расширенных данных, которые, как было установлено, улучшили производительность модели. Сдвинутые и повернутые изображения были созданы из обучающей выборки с соответствующими измененными углами поворота. Было обнаружено, что этот подход хорошо работает в простых реальных сценариях, таких как движение по полосе шоссе и вождение по ровным курсам без препятствий. Было предпринято несколько исследовательских усилий для создания более сложных моделей восприятия-действия, позволяющих справиться с множеством сред и непредсказуемых ситуаций, которые обычно встречаются в городских условиях.

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

Другое направление работы направлено на рассмотрение автономной навигации как эквивалента предсказания следующего кадра видео. Comma.ai предлагает изучить симулятор вождения, используя подход, сочетающий вариационный автокодировщик (VAE) и генерирующую состязательную сеть (GAN). Их план состоял в том, чтобы прогнозировать реалистично выглядящее видео для нескольких кадров на основе предыдущих кадров, несмотря на оптимизированную модель перехода без функции стоимости в пиксельном пространстве. Этот метод является частным случаем более общей задачи предсказания видео. Есть примеры моделей прогнозирования видео, применяемых к сценариям вождения. Однако во многих сценариях прогнозирование видео плохо ограничено, поскольку предыдущие действия не указываются в качестве входных данных, модель решает это, обусловливая прогноз на основе предыдущих действий модели.

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

Примеры, указанные в исследовательской литературе, включают:

  • Использование нейронных сетей по данным событий для распознавания карт колоды (4 класса), лиц (7 классов) или персонажей (36 классов).
  • Обучение сети распознаванию трех типов жестов (камни, бумаги, ножницы) в динамических сценах.
  • Задачи оценивания, в которых неизвестная переменная непрерывна, обычно решались путем дискретизации, т.е.пространство решений было разделено на конечное число классов, что превратило его в задачу классификации. Например, в роботах-хищниках-жертвах сеть, обученная комбинированному вводу событий и полутоновых кадров от датчика динамического и активного пиксельного зрения (DAVIS) для получения одного из четырех выходных данных: жертва - это слева, в центре или справа от поля зрения хищника (FOV), либо он не виден в FOV.
  • Другим примером является метод оценки оптического потока, в котором сеть создавала векторы движения из набора с восемью разными направлениями и восемью разными скоростями (то есть 64 класса).

Управление автомобилем - непрерывный процесс с немедленными последствиями. Рассматривать это как задачу классификации невозможно и неточно. Вместо этого мы рассматриваем это как проблему регрессии. Контроллер рулевого управления в идеале должен генерировать соответствующий угол поворота, который автомобиль должен иметь в каждый момент времени. Эти углы могут принимать любые значения, а не только дискретные, в диапазоне поворота.

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

Другой интересный подход - глубокое обучение с подкреплением (RL). Только недавно RL оказался в центре внимания в отношении автономной навигации: его успех был продемонстрирован при изучении таких игр, как Atari и Go, с помощью Google DeepMind.

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

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

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

1. Тщательно настроенные системы: они обычно основаны на алгоритмах компьютерного зрения, некоторых жестко запрограммированных правилах и т. Д. Для создания модели, которую можно использовать для планирования и контроля.

2. Сквозная система: здесь модели обучаются сопоставлять входные данные от датчиков с управляющими командами. В этом процессе контроллеру предоставляются команды, которые определяют намерение водителя, а также сенсорную информацию во время фазы обучения. Технически это относится к имитационному обучению.

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

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

Архитектура самоуправляемой машины

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

Ключевые физические компоненты (обобщенные)

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

- Радар - радиоволны обнаруживают малую и большую глубину.

- ЛИДАР - измерение расстояния путем освещения цели импульсным лазерным светом и измерения отраженных импульсов с помощью датчиков для создания трехмерной карты местности.

- GPS - триангулирует положение автомобиля по спутникам. Текущая технология GPS ограничена определенным расстоянием.

- Ультразвуковые датчики - для расчета расстояния используются высокочастотные звуковые волны и отраженный сигнал. Лучше всего с близкого расстояния.

- Центральный компьютер - «мозг» автомобиля. Получает информацию от различных компонентов и помогает управлять автомобилем в целом.

- Приемник / Антенна - устройство связи, позволяющее транспортному средству обмениваться данными с другими транспортными средствами (V2V) с помощью DSRC, стандарта беспроводной связи, который обеспечивает надежную передачу данных в приложениях активной безопасности.

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

Требования и инженерные задачи

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

Автономность беспилотных автомобилей обычно измеряется в стандартизованных уровнях, впервые введенных SAE International (Общество автомобильных инженеров) в 2014 году. Это следующие уровни:

Современные подходы к дизайну

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

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

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

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

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

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

Конец к концу обучения

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

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

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

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

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

Требования к программному обеспечению

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

Согласно RAND Corporation, для того, чтобы беспилотные автомобили были даже на 20 процентов лучше людей, потребуется 11 миллиардов миль проверки. Делая базовые вычисления, это означает, что потребуется 500 лет непрерывного вождения на 100 автомобилях, чтобы преодолеть это расстояние!

Как сказано в блоге FloydHub, Симуляторы - отличное решение этой проблемы. Они представляют собой безопасный способ для разработчиков надежно протестировать и проверить производительность аппаратного и программного обеспечения для автономного управления. В сентябре 2018 года NVIDIA открыла платформу моделирования DRIVE Constellation, чтобы партнеры могли интегрировать свои модели мира, модели транспортных средств и сценарии дорожного движения .

Некоторые из самых популярных инструментов моделирования беспилотных автомобилей включают TORCS, симулятор беспилотного автомобиля Udacity и симулятор CARLA.

Фреймворки глубокого обучения, такие как Tensorflow и Keras, можно использовать для разработки, компиляции и обучения ваших нейронных сетей. Стандартные библиотеки Python, такие как Open-CV и Pillow, могут использоваться для реализации различных методов обработки изображений, используемых для увеличения данных и изменения формы обучающих изображений.

Следите за новостями в будущем проекте: учебник / статья о разработке и тестировании контроллера угла поворота на основе глубокого обучения с использованием одного из подходов, обсуждаемых здесь.

использованная литература

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

1. Хуссейн, Р., Зедалли, С. (2018). Автономные автомобили: результаты исследований, проблемы и будущие задачи. Опросы и учебные пособия по коммуникациям IEEE.

2. Бадуэ, К., Гуидолини, Р., Карнейро, Р. В., Азеведо, П., Кардосо, В. Б., Форечи, А.,… и Оливейра-Сантос, Т. (2019). Самоходные автомобили: обзор. Препринт arXiv arXiv: 1901.04407.

3. Хейлен, Дж., Ивен, С., Де Брабандере, Б., Орамас, Дж., Ван Гул, Л., и Туйтелаарс, Т. (2018, март). От пикселей к действиям: обучение управлению автомобилем с помощью глубоких нейронных сетей. В статье Зимняя конференция IEEE 2018 по приложениям компьютерного зрения (WACV) (стр. 606–615). IEEE.

4. Боярски, М., Дель Теста, Д., Двораковски, Д., Фирнер, Б., Флепп, Б., Гоял, П.,… и Чжан, X. (2016). Непрерывное обучение беспилотным автомобилям. Препринт arXiv arXiv: 1604.07316.

5. Стафилопатис А. и Блекас К. (1998). Автономная навигация транспортных средств с использованием эволюционного обучения с подкреплением. Европейский журнал операционных исследований, 108 (2), 306–318.

6. Досовицкий А., Рос Г., Кодевилла Ф., Лопес А. и Колтун В. (2017). CARLA: Открытый симулятор городского вождения. Препринт arXiv arXiv: 1711.03938.

7. Саллаб, А. Э., Абду, М., Перо, Э., и Йогамани, С. (2017). Фреймворк глубокого обучения с подкреплением для автономного вождения. Electronic Imaging, 2017 (19), 70–76.

8. Джонсон-Роберсон, М., Барто, К., Мехта, Р., Шридхар, С. Н., Розаен, К., и Васудеван, Р. (2016). Схема матрицы: могут ли виртуальные миры заменить аннотации, созданные человеком, для задач реального мира ?. Препринт arXiv arXiv: 1610.01983.

9. Шарифзаде, С., Чиотеллис, И., Трибель, Р., и Кремерс, Д. (2016). Обучение вождению с помощью обучения с обратным подкреплением и глубоких q-сетей. Препринт arXiv arXiv: 1612.03653.

10. Фейсал А., Йигитканлар Т., Камруззаман М. и Карри Г. (2019). Понимание автономных транспортных средств: систематический обзор литературы о возможностях, влиянии, планировании и политике. Журнал транспорта и землепользования, 12 (1), 45–72.

11. Чжан, X., Гао, Х., Го, М., Ли, Г., Лю, Ю., и Ли, Д. (2016). Исследование ключевых технологий беспилотного вождения. Сделки CAAI по аналитическим технологиям, 1 (1), 4–13.

12. Ду С., Го Х. и Симпсон А. (2017). Прогнозирование угла поворота рулевого колеса для беспилотного автомобиля на основе распознавания изображений. Департамент компьютерных наук Стэнфордского университета, Tech. Реп. CS231–626.

13. Македа, А. И., Локерсио, А., Гальего, Г., Гарсия, Н., и Скарамуцца, Д. (2018). Основанное на событиях видение сочетается с глубоким обучением прогнозированию рулевого управления для беспилотных автомобилей. В Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 5419–5427).

14. Сантана, Э., & Хотц, Г. (2016). Изучение симулятора вождения. Препринт arXiv arXiv: 1608.01230.

15. Розенцвейг, Дж., И Бартл, М. (2015). Обзор и анализ литературы по автономному вождению. Электронный журнал "Создание инноваций".

Примечание. Эта статья была впервые опубликована в LinkedIn здесь