Хакер, мастер и инженер. Я увлечен машинным обучением, искусственным интеллектом и всем, что связано с технологиями.
Сегодня Tesla, Google, Uber и GM пытаются создать собственные беспилотные автомобили, способные ездить по реальным дорогам. Многие аналитики прогнозируют, что в течение следующих 5 лет в наших городах начнут ездить полностью автономные автомобили, а в течение 30 лет почти ВСЕ автомобили станут полностью автономными. Разве не было бы здорово построить свой собственный беспилотный автомобиль, используя те же методы, которые используют большие парни? В этой и следующих статьях я расскажу вам, как с нуля создать физический, самоуправляемый роботизированный автомобиль с глубоким обучением. Менее чем за неделю вы сможете заставить свой автомобиль обнаруживать полосы движения и следовать за ними, распознавать дорожные знаки и людей на дороге и реагировать на них. Вот краткий обзор вашего конечного продукта.
Следование по полосе движения
Дорожный знак и обнаружение людей (справа) с помощью DashCam DeepPiCar
Часть 2 : Я перечислю, какое оборудование купить и как его настроить. Короче говоря, вам понадобится плата Raspberry Pi (50 долларов США), комплект SunFounder PiCar (115 долларов США), Edge TPU от Google (75 долларов США), а также несколько аксессуаров, а также о том, насколько важна каждая часть, в последующих статьях. Общая стоимость материалов составляет около 250–300 долларов. Мы также установим все программные драйверы, необходимые для Raspberry Pi и PiCar.
Малиновый Пи 3 Б+
Роботизированный автомобильный комплект SunFounder PiCar-V
Ускоритель Google Edge TPU
Часть 3. Мы установим все необходимое программное обеспечение для компьютерного зрения и глубокого обучения. Основными программными инструментами, которые мы используем, являются Python (факто язык программирования для задач машинного обучения и искусственного интеллекта), OpenCV (мощный пакет компьютерного зрения) и Tensorflow (популярная платформа глубокого обучения Google). Обратите внимание, что все программное обеспечение, которое мы здесь используем, БЕСПЛАТНО и с открытым исходным кодом!
Часть 4. Покончив с (утомительной) настройкой аппаратного и программного обеспечения, мы перейдем непосредственно к ЗАБАВНЫМ частям! Наш первый проект — использовать Python и OpenCV, чтобы научить DeepPiCar автономно перемещаться по извилистой однополосной дороге, определяя линии полосы движения и соответствующим образом управляя автомобилем.
Пошаговое обнаружение полосы движения
Часть 5 : мы научим DeepPiCar самостоятельно перемещаться по полосе без необходимости явно писать логику для ее управления, как это было сделано в нашем первом проекте. Это достигается за счет использования «клонирования поведения», когда мы используем только видео дороги и правильные углы поворота для каждого видеокадра, чтобы обучить DeepPiCar самостоятельному вождению. Реализация вдохновлена полноразмерным автономным автомобилем NVIDIA DAVE-2, который использует глубокую сверточную нейронную сеть для обнаружения особенностей дороги и принятия правильных решений по управлению автомобилем.
Следование по полосе движения в действии
Наконец, в части 6 : мы будем использовать методы глубокого обучения, такие как однократное обнаружение нескольких объектов и обучение передаче, чтобы научить DeepPiCar обнаруживать различные (миниатюрные) дорожные знаки и пешеходов на дороге. А потом мы научим его останавливаться на красный свет и знаки остановки, ездить на зеленый свет, останавливаться, чтобы дождаться перехода пешехода, менять скоростной режим в соответствии с вывешенными знаками и т. д.
Обучение модели дорожных знаков и обнаружения людей в TensorFlow
Вот предпосылки этих статей:
Это все, что касается первой статьи. Увидимся во второй части, где мы испачкаем руки и вместе построим роботизированную машину!
Вот ссылки на все руководство:
Часть 1. Обзор (эта статья)
Часть 2: Настройка Raspberry Pi и сборка PiCar
Часть 3: Заставьте PiCar видеть и думать
Часть 4. Автономная навигация по полосе движения через OpenCV
Часть 5. Автономная навигация по полосе движения посредством глубокого обучения
Часть 6: Дорожные знаки, обнаружение и обработка пешеходов