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

Обнаружение полосы движения в дневное время было сложной задачей для нас, и теперь мы начали обнаружение полосы движения в ночное время: P. Это несколько проблем при обнаружении полосы движения в ночное время на индийской дороге.

· Низкая интенсивность освещения (из-за отсутствия уличного освещения).

· Сложно настроить параметры для различной интенсивности света.

· Плохое обнаружение краев (наличие нерегулярных полос движения или отсутствие полос движения)

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

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

1. Выполняем гамма-коррекцию для каждого кадра видео, чтобы установить интенсивность света.

2. Область интереса обрезается из изображения, поэтому мы можем искать полосы только в области интереса. Это помогает снизить вычислительные затраты и увеличить частоту кадров.

3. Двусторонний фильтр применяется для подавления шума и сглаживания видеокадров, но с сохранением краев.

4. Фильтр HSV применяется для создания маски для пикселей в фиксированном диапазоне.

5. После предварительной обработки (гамма-коррекция и фильтрация) мы обнаруживаем края с помощью детектора края Canny.

6. После этого используется преобразование Хафа для обнаружения линий по ребрам из предыдущего шага.

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

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

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

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

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

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

Мы также применили фильтр Калмана к нашим дневным данным, но модель обнаруживала тень от столба уличного фонаря как полосу движения, которая создавала огромное отклонение. Но мы работаем над этим, и он будет решен только в 2017 году: P, потому что мы не можем ждать год :).

Если вы знаете какой-либо лучший подход, которому мы должны следовать, сообщите нам об этом в комментарии. Если вы хотите помочь нам, поделитесь своим профилем по адресу карьеры@giscle.com.

Эту работу выполнили Олаф Плача, Ахмет Яйлалиоглу, Прашант Шукла, Прашант Сингх и Сурья Дипта Дас (Team Moto Dream).