Для инженера практический способ создать автономное транспортное средство состоит не в том, чтобы запрограммировать машину для вождения в любой среде (которая будет иметь почти бесконечное количество возможных переменных), а в том, чтобы показать машине, как водить, и заставить машину учиться. сам. NVIDIA создала такую ​​систему под названием PilotNet. Он обучается на изображениях дорог в сочетании с углами поворота руля от человека. И результаты дорожных испытаний показывают, что такая нейронная сеть может работать очень хорошо.

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

Введение:

Авторы представили краткое введение в PilotNet, обучающую систему с обученной сверточной нейронной сетью. Данные обучения поступают с фронтальной камеры, установленной на автомобиле для сбора данных. Это также связано с синхронизированным по времени углом поворота рулевого колеса человека-водителя. Как описано выше, существует проблема объяснимости. Если исследователи хотят повысить производительность, им необходимо знать, как PilotNet принимает решения. Поэтому авторы разработали способ выделения наиболее заметной части изображения при определении угла поворота рулевого колеса. Затем он был выполнен на автомобильном компьютере с искусственным интеллектом NVIDIA DRIVETM PX 2 тестового автомобиля. Он показывает нам подробности об обучающих данных для самоуправляемой системы PilotNet. Отдельные изображения в наборе данных получены с фронтальной камеры и связаны с соответствующими командами рулевого управления. После обучения система будет реагировать на новые изображения, предоставляя выходные команды управления.

Сетевая архитектура PilotNet:

Архитектура PilotNet показана ниже на рисунке 1.

Он содержит 9 слоев, в том числе один слой нормализации, 5 сверточных слоев и 3 полносвязных слоя. Первый уровень предназначен для нормализации изображения, поэтому он жестко запрограммирован и не регулируется в процессе обучения. Сверточные слои предназначены для извлечения признаков. Для первых трех сверточных слоев авторы использовали шаговые сверточные слои с шагом 2×2 и ядром 5×5. В последних двух сверточных слоях это нешаговые слои с размером ядра 3×3. Три полносвязных слоя используются в качестве контроллера для управления.

Нахождение важных объектов:

Авторы показывают 6 процессов для поиска заметного объекта и представляют его на картах более высокого уровня:

  1. Авторы усредняют активацию карт объектов для каждого слоя.
  2. С помощью деконволюции верхняя наиболее усредненная карта масштабируется до размера карты в слое ниже.
  3. Слой ниже умножает увеличенную карту, и мы можем получить промежуточную маску.
  4. Выполните шаг 2 еще раз.
  5. Повторите шаг 3 и получите новую промежуточную маску.
  6. Повторите шаги 4 и 5 и получите окончательную маску визуализации.

Схема процесса показана на рисунке 2.

Мы можем увидеть процесс создания маски визуализации на рисунке 3. Выдающиеся объекты показаны путем выделения пикселей на исходном изображении.

Примеры показаны на рис. 4. На верхнем изображении показаны основания автомобилей и выделенные линии. На среднем изображении выделены припаркованные автомобили. На нижнем изображении выделена трава.

На рис. 5 показан монитор PilotNet. Мы видим, что есть сравнение между исходным изображением и замаскированным. На рис. 6 показан крупный план монитора.

Анализ:

Иллюстрировать эти выделенные объекты очень помогает рулевое управление. Авторы сегментируют входные изображения на два класса и проводят серию экспериментов. Класс 1 включает в себя части, которые имеют важное влияние на угол поворота рулевого колеса, а класс 2 включает все пиксели исходного изображения за вычетом пикселей в классе 1. Здесь он использует следующий метод для проверки того, оказывает ли эта выделенная область значительный эффект. : авторы изменяют класс 1 и сохраняют класс 2, а также используют новое изображение в качестве входных данных для PilotNet, что приведет к значительным изменениям. Затем авторы меняют класс 2 и сохраняют класс 1 и используют это новое изображение в качестве входных данных для PilotNet, что приведет к минимальным изменениям в выводе PilotNet. Рисунок 7 иллюстрирует метод. Верхнее изображение является исходным изображением, а второе изображение показывает результаты, полученные от PilotNet, чьи входные данные являются верхним изображением. На третьем показаны расширенные выступающие области, а на нижнем изображении показано тестовое изображение, на котором расширенные выступающие объекты смещены.

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

Вывод:

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

Автор: Шиксин Гу| Локализован командой Synced Global: Чжэнь Гао