Трафик автомобильный: Подсчет автомобильного трафика с использованием COMPUTER VISION / Хабр

Подсчет автомобильного трафика с использованием COMPUTER VISION / Хабр

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

Представим, что нам поставили задачу посчитать поток машин в определенном месте в разное время. На ум приходит только то, что человеку фактически придется вручную произвести примерный расчет по тем или иным показателям.

Давайте попробуем автоматизировать данную задачу, так как на текущий момент у нас есть огромное количество инструментов и вычислительных мощностей.

Для начала определимся с источником видеозаписей. Для примера можно взять портал https://weacom.ru/cams. На данном портале размещены в общий доступ различные камеры, которые имеют качественное изображение и хорошее расположение (отлично видно дорогу и автомобили)

В качестве примера камеры возьмем https://weacom.ru/cams/view/akademmost2

Данная камера отлично подойдет для примера, после попробуем усложнить задачу.

Чтобы получить кадры с камеры, нам необходимо подключиться к потоку самой камеры. Заходим в исходный код и находим ссылку на видеопоток с текущей камеры.

Имея данную ссылку, мы можем с использованием Python и OpenCV получать кадры с данного потока.

import cv2
import time
video_stream_widget = cv2.VideoCapture('https://cctv.baikal-telecom.net/Akademmost-2/index.m3u8')
video_stream_widget.set(cv2.CAP_PROP_FPS, 5)
success, frame = video_stream_widget.read()
prev = 0
print(video_stream_widget.get(cv2.CAP_PROP_FPS))
while success:
    time_elapsed = time.time() - prev
    success, frame = video_stream_widget.read()
    if time_elapsed > 1. / 5:
        prev = time.time()
    cv2.imshow('Weacom', cv2.resize(frame, (1280, 1080)))
    cv2.waitKey(20)
    key = cv2.waitKey(1)
    if key == ord('s'):
        video_stream_widget.capture.release()
        cv2.destroyAllWindows()
        exit(1)

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

Теперь, когда у нас есть кадры, наша задача — применить алгоритм для слежения за автомобилями. Для этого возьмем связку Yolo + Deepsort.

В качестве готовой реализации воспользуемся — https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch. Данный репозиторий в целом уже содержит все, что нам нужно, останется только перенести его себе и доработать под задачу.

Для начала склонируем репозиторий:

>> git clone --recurse-submodules https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch.git

И установим все необходимые библиотеки:

>> pip install -r requirements.txt

Так как yolo обучена на MS Сoco датасете, нам необходимо оставить в распознавании только те классы, которые нам нужны, а именно bus, car, truck. Изменим конфигурацию на классы 4 6 8.

Запустим код из коробки – посмотрим результат работы. Ради интереса попробовал запустить на другой рандомной камере:

python track.py —source https://cctv1.dreamnet.su:8090/hls/275779/8c728f28f72aea02c41d/playlist. m3u8 —classes 2 5 7 —show-vid

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

Вспоминаем нашу задачу – нам нужно посчитать трафик за определенный период времени.

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

В таком случае нам необходимо просто добавить счетчики на каждый новый ID.

Для этого внесем в track.py изменения:

Добавляем все уникальные id выявленных машин в список:

for j, (output, conf) in enumerate(zip(outputs, confs)): 
    bboxes = output[0:4]
    id = output[4]
    cls = output[5]
    ids_list.append(id)

А в конце просто убираем дубликаты и выводим длину списка

print(len(list(set(ids_list))))

Запустим алгоритм еще раз – посмотрим на результаты – выглядит уже лучше.

В целом данный алгоритм можно оставить для тестирования.

В следующих статьях рассмотрим мультипоточное отслеживание потоков с разных камер.

Система подсчета автомобилей. Аналитика на шоссе

Семён Галушкин

21 Июня 2021

Анализ трафика

Современные системы подсчета автомобилей на дороге и их преимущества

Распознавание дорожного движения

Расчёт нагрузки на тот или иной участок дороги – непростая задача, которая имеет широкое практическое применение.

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

Анализ количества автомобилей

Программа для подсчета автомобилей на дороге посредством задействования нейронной сети, обученной специалистами Neurocore, представляет собой полностью автоматизированный модуль, который требует минимального вмешательства человека. Разделить полосы и посчитать количество автомобилей в каждом из направлений, учесть множество факторов и работать в соответствии с заданными настройками, вот на что способны такие системы.

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

Существенно увеличивается не только скорость сбора данных, но и их обработки. Что немаловажно, распознавание дорожного движения позволяет подсчитать нагрузку на труднодоступные участки дороги, которых в странах с большой площадью остается немало и сегодня. Аналитика на шоссе, где нет дорожных или городских камер наблюдения, в местах где невозможно установить стационарный наблюдательный пост, именно в таких районах особенно необходимо использование автоматизированной системы подсчета автомобилей. Считать количество машин можно использовать как в реальном времени, так и с пост обработкой видеозаписей.

Подробнее про модуль анализа траффика

Свяжитесь с нами для получения дополнитиельной информации

Область применения системы анализа трафика

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

Проектированию новой дороги

Планированию разметки и установки знаков

Планированию строительства в некоторых зонах

Если ручные подсчеты позволяли получить только примерные сведения, то автоматизированная система сбора и обработки данных позволяет получить точные параметры, которые можно использовать в инженерных работах без лишних допусков. Расчёт механической нагрузки, пределов прочности, даже уровня влияния на экологическую среду определённого района – вот только небольшой переченьтех актуальных задач, которые можно решать с минимальными затратами после внедрения новой системы подсчета количества автомобилей. Систему можно использовать и в других местах:

на парковках;

Оптимизация нагрузки на дорожное полотно;

Непрерывный анализ дорожных происшествий для контроля и отслеживания ЧП;

Сокращение вредных выделений в атмосферу;

Умные светофоры

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

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

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

Научная новизна решения

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

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

Learning Short-Cut Connections for Object Counting(Daniel Oñoro-Rubio, Mathias Niepert, Roberto J. López-Sastre), Finding Appropriate Traffic Regulations via Graph Convolutional Networks (Tomoharu Iwata, Takuma Otsuka, Hitoshi Shimizu, Hiroshi Sawada, Futoshi Naya, Naonori Ueda), A Theory of Traffic Regulators for Deterministic Networks with Application to Interleaved Regulators (Jean-Yves Le Boudec), Game Theoretic Analysis of Road User Safety Scenarios Involving Autonomous Vehicles(Umberto Michieli, Leonardo Badia).

Искусственный интеллект в стартапы

3 Ноября 2021

Семён Галушкин

Компьютерное зрение — что это и где применяется?

22 июня 2022

Семён Галушкин

Соглашения и конвенции о дорожном движении, дорожных знаках и сигналах

Конвенция о дорожном движении от 19 сентября 1949 г. (включая Заключительный акт и сопутствующие документы)
английский/французский/испанский      
Статус и Договаривающиеся стороны
           
Конвенция о дорожном движении от 8 ноября 1968 г. (сводный вариант 2006 г.) ( Печатная копия )
Арабский китайский Английский Французский Русский Испанский
Статус и Договаривающиеся стороны
Изменения, вступившие в силу 28 марта 2006 г.
Английский Французский Русский      
Только поправка 1 (вступила в силу 3 сентября 1993 г.)
Английский Французский Русский      
Конвенция о дорожном движении от 8 ноября 1968 г. (сводный вариант 1993 г.)
Английский Французский Русский      
Варианты на китайском и испанском языках оригинальной Конвенции без поправок
 
Протокол о дорожных знаках и сигналах от 19 сентября 1949 г.
английский/французский/испанский      
Статус и Договаривающиеся стороны
 
Конвенция о дорожных знаках и сигналах от 8 ноября 1968 г. (сводный вариант 2006 г.) ( Печатная копия )
Арабский китайский Английский Французский Русский Испанский
Статус и Договаривающиеся стороны
Исправление к изменениям, вступившим в силу 28 марта 2006 г.
Английский Французский Русский      
Изменения, вступившие в силу 28 марта 2006 г.
Английский Французский Русский      
Конвенция о дорожных знаках и сигналах от 8 ноября 1968 г. (с изменениями)
Английский Французский Русский Приложение 1 Приложение 2  
Поправки, вступившие в силу 30 ноября 1995 г.
Английский Французский Русский      
Варианты на китайском и испанском языках оригинальной Конвенции без поправок
 
Европейское соглашение, дополняющее Конвенцию о дорожном движении 1968 г. , от 1 мая 1971 г. (сводный вариант 2006 г.) — ( Печатная копия )
Английский Французский Русский      
Статус и Договаривающиеся стороны
Европейское соглашение, дополняющее Конвенцию о дорожном движении 1968 года, от 1 мая 1971 года
английский/французский Русский      
Только поправка 1 (вступила в силу 28 августа 1993 г.)
английский/французский/русский      
Только поправка 2 (вступила в силу 27 января 2001 г. )
английский/французский/русский      
Изменения, вступившие в силу 28 марта 2006 г.
Английский Французский Русский      
 
Европейское соглашение, дополняющее Конвенцию о дорожных знаках и сигналах (1968 г.), от 1 мая 1971 г.
английский/французский Русский      
Статус и Договаривающиеся стороны
E/ECE/812/Amend.1
английский/французский/русский      
Поправка, вступившая в силу 28 марта 2006 г.
Английский Французский Русский      
 
Европейское соглашение о применении статьи 23 Конвенции о дорожном движении 1949 г. о размерах и весе транспортных средств, которым разрешено движение по определенным дорогам Договаривающихся сторон, от 16 сентября 1950 г.
английский/французский        
Статус и Договаривающиеся стороны
 
Европейское соглашение, дополняющее Конвенцию о дорожном движении 1949 г. и Протокол о дорожных знаках и сигналах 1949 г. от 16 сентября 1950 г.
английский/французский        
Статус и Договаривающиеся стороны
 
Европейское соглашение о дорожной разметке от 13 декабря 1957 г.
английский/французский        
Статус и Договаривающиеся стороны
 
Дополнительный протокол о дорожной разметке к Европейскому соглашению, дополняющему Конвенцию о дорожных знаках и сигналах, от 1 марта 1973 г.
английский/французский        
Статус и Договаривающиеся стороны
Поправка, вступившая в силу 28 марта 2006 г.
Английский Французский Русский      
 
Соглашение о минимальных требованиях к выдаче и действительности водительских удостоверений ( APC ) от 1 апреля 1975 г.
Английский Французский Русский      
Статус и Договаривающиеся стороны

511NY| Нью-Йорк Трафик | Информация для пассажиров

ТОЛЬКО ДЛЯ ОФИЦИАЛЬНОГО ИСПОЛЬЗОВАНИЯ (FOUO) НЕСЕКРЕТНАЯ КОНТРОЛЬНАЯ ИНФОРМАЦИЯ (UCI)
UCI/FOUO может распространяться только после получения разрешения от сотрудника по общественной информации и от регионального сотрудника по доступу к записям.