BMW представила свою версию робота-автомобиля и реализация отслеживания разделительных полос на OpenCV


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

В отличие, от других подобных разработок, где различные датчики (камеры и лазерные дальномеры) навешиваются на готовый автомобиль, автомобиль от BMW скрывает умную начинку внутри корпуса, что делает робо-мобиль почти неотличимым от обычного.

Кажется, роботы-автомобили уже действительно стали одним из трендов развития автомобильной промышленности. Компания BMW уверена, что подобные автомобили станут доступны на рынке, в течении 10 лет.

http://www.youtube.com/watch?v=vNzNt7bsuUg


В принципе, технологии, лежащие в основе роботов-автомобилей более чем доступны.
Например, вот прототип «Lane Departure Warning» (отслеживание позиции автомобиля в своей полосе), реализованный при помощи web-камеры, OpenCV и питона:
Прототип Lane Departure Warning или как напомнить водителю о том, что жить ему осталось не очень долго.
Для реализации, автор использовал следующий алгоритм:
0) обрезаем изображение до области, где видна дорога ( позволяет улучшить производительность и уменьшить ложные срабатывания)
1) применяем Canny
2) Поиск элементов разметки:
2.1) ищем все замкнутые регионы (участки, ограниченные с обеих сторон границами)
2.2) ищем те регионы у которых ширина равна ширине полосы
2.3) если таких регионов несколько (из-за теней и т.п.), то считаем средний цвет региона и его расстояние от нашей цветовой модели разделительной полосы и выбираем наиболее похожий.

Далее, модель разделительной полосы вблизи машины можно представить просто отрезком прямой.
Остаётся добавить зоны контроля и найти точки пересечения прямой разделительной полосы и отрезков зон контроля. Эти точки пересечения, теперь можно использовать для определения позиции автомобиля в пределах полосы:

видео работы:

исходники системы:
https://github.com/Akson/LaneDepartureWarning

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

Ссылки
Прототип Lane Departure Warning или как напомнить водителю о том, что жить ему осталось не очень долго


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение