Skip to content

Solution to get data about crossroads using ML and model them in game form

Notifications You must be signed in to change notification settings

gltronred/peremetrika

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrossMetric

Моделируем перекрёстки на основе данных с веб-камер.

Цель и задачи

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

Нашей целью является устранение этого стереотипа и, как следствие, совершенствование транспортной инфраструктуры.

Для достижения этой цели необходимо было решить следующие задачи:

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

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

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

Техническое описание

Сбор данных

Сбор информации с перекрестков осуществляется в 2 этапа:

  1. Обработка видео для сбора треков

    Детектирование машин и пешеходов осуществляется с помощью нейронной сети YOLO (You Only Look Once).

Demo

  1. Обработка собранных треков, выделение участков въездов\выездов из перекрестка

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

Demo

Моделирование перекрестка

Моделирование перекрёстка осуществляется по модели SUMO (Simulation of Urban MObility). SUMO позволяет моделировать очень большие дорожные сети (в частности, авторами SUMO смоделирована сеть г. Кёльна и г. Оснабрюк).

В прототипе схема перекрёстка (количество полос, разрешённые повороты и т.п.) была введена вручную в редакторе sumo-gui. В дальнейшем возможно автоматическое получение схемы перекрёстка (перекрёстков) из данных OSM (OpenStreetMap).

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

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

Веб-сервер, необходимый для конвертации данных, написан на Haskell.

Watch the video

Отображение

Для задания основных параметров перекрёстка написана форма ввода данных на html+javascript, на той же странице реализовано отображение результатов моделирования в виде условных изображений автомобилей, перемещающихся по перекрёстку.

About

Solution to get data about crossroads using ML and model them in game form

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •