Система информационной поддержки транспортного потока для проекта умного города
РЕФЕРАТ
Работа содержит 70 страниц, 27 рисунков, 4 формулы и 5 таблиц.
Использовано 36 источников.
Цель работы: уменьшение количества трафика при передачи данных, полученных с помощью камер видеонаблюдения, центрального сервера, путем предыдущего обработка видеоданных на предельных устройствах - микрокомпьютерах.
В работе проведен анализ существующих детекторов, алгоритмов слежения. за объектами, а также проблем, которые можно решить путем введение автоматизированных систем слежения за транспортом. Предложена система анализа и обработки видеопоследовательности на предельном устройстве Программно реализовано алгоритм определение интенсивности трафика. Собрано экспериментальную установку с микрокомпьютер, камеры да дополнительного модуля глубокого обучения Intel Movidius Neural Compute Stick2 сделаны выводы да рекомендации по полученным результатам.
Ключевые слова: машинное обучение, компьютерное зрение, умный город, анализ трафика.
СОДЕРЖАНИЕ
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ
IoT Internet of Things
ИКТ Информационно-коммуникационные технологии
CNN Convolutional neural network
R-CNN Region конvolutional neural network GDPR General Data Protection Regulation
IDC International Data Corporation
USB Universal Serial Bus
YOLO You Look Only Once
SSD Single-shot Multibox Detector
mAP mean Average Precision
FPS Frames per Second
MS COCO Microsoft Common Objects in Context
R-FCN Регион-based Fully Convolutional Networks IoU Intersection over Union
OpenCV Open Source Компьютер Vision
ВВЕДЕНИЕ
Актуальность. Концепция «умного города» есть предметом обсуждение в течении многих лет и много мост в мире все активнее внедряют ее отдельные элементы для управления «умным городом». «Умный город» - это, прежде за все, город, в котором традиционные системы работают более эффективно за счет использование информационно- коммуникационных технологий (ИКТ).
Одним с основных компонентов разумного города есть автоматизированное управление дорожным движением. Это технологическое решение, которое сегодня можно интегрировать для быстрого и экономического улучшения трафика транспорта на городских улицах.
Проблемы, с которыми сталкиваются крупные города, в основном хорошо известны. Да, увеличение количества транспортных средств в них приводит к замедлению движения, а, следовательно, к изнурительных пробок, что усиливают загрязнение воздуха, а также вызывающие аварии, чем еще больше увеличивают пробки. Экстренные службы замедляют реакцию на потенциально вызовы грозит жизни людей. Все это вместе снижает общую качество жизнь в городах.
Система умного города работает за счет непрерывной обработки да обновление данных, что поступают с информационных каналов, что олицетворяют в себе электронные устройства (разнообразные датчики, измерители, камеры наблюдения и т.п.). Полученные данные могут использоваться для мониторинга да автоматического направление трафика да уменьшение загруженности. Однако существующие системы выполняют обработку данных уже после их получение на центральном сервере, что требует увеличения пропускной способности каналов, или же максимального использования их использования, хотя большинство кадров нет несут полезной информации. Поэтому, для того, чтобы уменьшить количество передаваемой информации на центральный сервер, тем самым уменьшая трафик, предлагается система анализа транспортных потоков с обработкой информации на предельных устройствах. Предельным устройством в данном случае есть микрокомпьютер с подключенной камерой и дополнительным модулем искусственного интеллект. Микрокомпьютер распознает транспортный средство, после чего получены данные передает на трекер и подсчитывает количество транспортных средств. Итак, передаются на сервер только данные о интенсивность трафика, а нет весь видеопоток. Такой подход разрешает резко уменьшить объемы переданной информации, что уже нет требует чрезвычайно высокой пропускной способности канала связи.
Цель работы: уменьшение количества трафика при передачи данных, полученных за помощью камер видеонаблюдение, к центрального сервера, путем предыдущего обработка видеоданных на предельных устройствах - микрокомпьютерах.
Для достижение цели исследование было поставлено да решено такие
основные задачи :
Теоретический результат исследование:
Практический результат:
РАЗДЕЛ 1.
АНАЛИЗ ПРОБЛЕМ УМНОГО ГОРОДА ТА ПОДХОДЫ ИХ РЕШЕНИЕ
Большие города всегда были и остаются центрами развития цивилизации. Перед современными городами предстает много вызовов и среди них нет самый сложный - соединить комфорт да социальную привлекательность для граждан с развитой инфраструктурой, экологической безопасностью да быстрым развитием технологий.
Современный город – это движущая сила экономики страны, центр культуры и образования, площадка для реализации технологических и социальных инноваций С обзора на это, сейчас значительно усиливается конкуренция мост, ведь развитие комфортной инфраструктуры оказывает непосредственное влияние на экономические показатели города, определяет его привлекательность для квалифицированных специалистов да инвесторов. Создание разумного города предполагает комплексные социальные и технологические трансформации, что становятся возможными путем развития современных информационно-коммуникационных технологий, разработкой новых стандартов энергоэффективности и появления нового качества отношений между общиной и местными властями. Жители современного города перестают быть исключительно пользователями, превращаясь на поставщиков городского сервиса.
ИКТ позволяют использовать меньше энергетических ресурсов, удовлетворяя неизменный объем потребностей, да уменьшать масштабы парниковой эмиссии, что значит внедрение разумной системы городского транспорта, обновленной системы водоснабжение да утилизации отходов, а также создание более эффективных систем отопление да охлаждение домов.
При этом, все системы между собой имеют быть взаимосвязаны да работать как единственный слаженный механизм. К ИКТ добавляется человеческий и социальный капитал, отвечающий за повышение безопасности общественных мест да создание удобств для жителей. Таким образом, концепция
«умного города» направлена на предоставление реальных преимуществ для жизнь население да функционирование бизнеса соответственно к принципов устойчивого развития.
Современные информационные технологии выполняют в "умном городе" три важные Задача:
Устройства интернета вещей, такие как датчики, камеры активно собирают информацию о состоянии городских коммуникаций и инфраструктуры, их дополняет информация, получаемая непосредственно от жителей города. Вся получена информация непрерывно обрабатывается и обновляется, что позволяет системе работать в реальном времени. Для передачи собранных данных используются скоростные коммуникационные сетевые каналы, с помощью которых информация максимально быстро передается на следующий уровень – в центр обработки данных (ЦОД). После компьютерной обработки собранных данных, происходит анализ полученных результатов, да передача информации на высший уровень управления и анализа – в службы городской администрации, проводящей аудит данных да выбирает пути оптимизации да улучшение эффективности работы городского хозяйства. Однако очень важно, что за помощью конечных устройств IoT, объединенных современными коммуникационными технологиями, можно собирать данные практически в режиме реального времени. Это позволяет максимально оперативно и эффективно решать задача городского благоустройства.
Умный город имеет шесть основных составляющих , состоящих в следующем[1]:
Некоторые города уже давно развиваются в данном направлении, среди них Азия да Европа. Для примера, в Дубай, Сингапур в проектирование инфраструктуры да строительные проекты включают устройства ИоТ. Ниже приведено несколько мост, которые признаны как ведущие в развития умных мост [2].
Итак, большие города нуждаются разумного управление системами городского благоустройства ради рационального использование ресурсов и удовлетворение потребностей жителей, и, очевидно из вышеприведенных примеров, уже в во многих городах мира частично созданы и внедрены такие системы, что повышает вероятность на применение таких систем и в Украине.
проблемы
Автоматическое управление дорожным движением является важным компонентом системы умного города Такое техническое решение необходимо для улучшения экономических показателей, безопасности движения транспорта, экологического контроля загрязненности воздух, а также анализа дорожного движения да обнаружение узких мест города, что нуждаются усовершенствований.
Правильное технологическое решение можно масштабировать к любому размера да безболезненно модернизировать в любой время. Одновременно или технологические решение готовят умные города к будущих эволюций технологий, включая взаимосвязаны транспортные средства (connected vehicles) да внедрение 5G [3].
Одной из самых больших проблем, способствующей появлению всех остальных, являются пробки. Из-за большого количества транспортных средств, превышающих пропускную способность дорог, часто можно наблюдать скопление машин в центре города.
Данные скопления провоцируют появление других проблем, таких как усугубление загрязнение в городе, задержки доставок, опоздание на работу, задержка экстренных служб. Все или проблемы повышают уровень неудовольствие жителей и снижают качество жизни в городе.
Столкнувшись с этими проблемами, инновационные города - "Умные города" - используют согласован массив аппаратных, программных да облачных решений для увеличение потока трафика да повышение безопасности. Умные системы управление дорожным движением - это автоматизированные системы, что включают новейшие достижения технологии Internet of Things (IoT). Эти системы могут оптимизировать движение транспорта и повысить безопасность с помощью датчиков, камер, маршрутизаторов да сотовых технологий для динамического регулировка таких механизмов управление, как светофоры, счетчики автострады, скоростные полосы движения автобусов, доски объявлений на шоссе и даже ограничение скорости.
Некоторые с ключевых функциональных возможностей, которые города достигают за помощью этих систем, включающих следующее:
Именно через приведены выше причины внедрение интеллектуальных систем управление дорожным трафиком есть одним с главных задач при проектировании умный город.
Поскольку, или планы запрограммированы вручную, это значит, что нет учитывается текущая ситуация. Поэтому, данные системы еще требуют усовершенствований.
Интернет вещей быстро вливается в повседневная жизнь, как новая разработка последних нескольких лет. Как парадигма, Интернет вещей предполагает, что большинство физических устройств, таких как смартфоны, транспортные средства, датчики, исполнительные механизмы и любые другие встроенные устройства будут соединены друг с другом и будут обмениваться данными с центрами обработки данных. Приспособившись к разнообразных популярных систем, таких как интеллектуальный транспорт, разумное город, интеллектуальная сеть да интеллектуальная система здравоохранения, люди будут испытывать дискомфорт, если Интернет вещей нет заполнить их дом да работу [6]. Таким образом, Интернет вещей чрезвычайно влияет на повседневную жизнь пользователей и есть залогом будущего. Однако необработанные данные, созданные устройствами ИоТ, в целом, не приносят пользы. Такие чрезвычайно большие массивы данных требуют значительных мощностей для обработки и извлечения информации, чтобы предоставить потенциально полезные факты. Устройства IoT направлены на реализацию этого Задача: преобразование собранных данных в полезны данные.
В настоящее время различные типы камер широко используются в городах. почти на каждом транспортном средства. Они содержат много полезных данных, которые могут быть использованы для многих целей, таких как поиск пропавшего ребенка или как доказательство полицейского расследования. Однако данные из этих камер обычно нет загружаются в облако через проблемы конфиденциальности да большую количество трафика, что дорого обходится. Даже если данные доступны в облака, загрузка да Поиск среди огромной количества данных может занять много времени.
Вычислительные инфраструктуры Cloud, Fog да Edge сегодня используются в разных системах, работающих с данными. Эти парадигмы предоставляют организациям возможность использовать разные вычислительные услуги да сохраняют данные в зависимости от организационных требований. Хотя вышеприведенные вычислительные архитектуры сдаются похожими, но достаточно сильно разнятся с точки зрения своих характеристик. Это разрешает им удовлетворять разные требования, необходимые для реальных программ [7].
В контексте Интернета вещей традиционные облачные вычисление имеют несколько недостатков[8].
повседневной жизни. Например, пользователи смартфонов, привыкших к голосовых услуг, например, Siri, будут чувствовать себя раздраженно, если услуга недоступна в течение короткого периода времени. Поэтому для облачных провайдеров это вызов предоставлять услуги непрерывно и без сбоев, обеспечивая отказоустойчивость.
Или вызовы подтолкнули развитие предельных вычислений, что требуют обработки данных на границы сети. Дана парадигма быстро развивается с 2014 года, предоставляя возможность уменьшить задержки да оплату за ширину полосы, устранить ограничение вычислительных возможностей центра облачных данных да увеличить доступность, а также защитить конфиденциальность данных да безопасность.
Учитывая вышеприведенные недостатки относительно облачных вычислений, было принято решение о применении предельных вычислений, которые могут быть реализованы за с помощью микрокомпьютеров.
Предельные вычисление трансформируют способ обработки да доставки данных с миллионов устройств по всему мира. В последние годы [10], с распространением Интернета вещей и широким внедрением беспроводных сетей, количество граничных устройств и данных, генерируемых на границе, быстро растут. Согласно с прогнозами Международной корпорации данных (IDC) [11], глобальные данные достичь 180 цетабайт (ZB), и 70% данных, сформированных устройствами Интернета вещей, будут обработаны на границах сети к 2025 году. IDC также прогнозирует, что к 2025 году по всему миру будет подключено более 150 миллиардов устройств.
Более быстрые сетевые технологии, такие как беспроводная сеть 5G, позволяют предельным вычислительным системам ускорить создание или поддержку приложений в режиме реального времени, например, обработка видео да аналитика, автономные автомобили, искусственный интеллект да робототехника. Несмотря на то, что целью предельных вычислений было покрытие затрат на пропускную способность данных, что перемещаются на большие расстояния, через рост количества данных, генерируемых IoT, рост количества приложений в реальном времени, требующие обработки на границах, двигают технологию вперед.
Предельные вычисление - это часть распределенной вычислительной топологии, в какой обработка информации расположена близко к конечных устройств, где вещи и Люди производят или потребляют эту информацию.
Сравнительная характеристика технологий приведена в Таблицы 1.1 [12].
Таблица 1.1 Сравнение технологий предельных да облачных вычислений
Сравнительные | Предельные вычисление | Облачные вычисление |
характеристики | ||
Количество сохраненных данных | Мало | Огромное |
Количество обработанных данных | Мало | Огромное |
Вычислительная мощность | Меньше мощные | Более мощные |
Продолжение таблицы 1.1
Время обработки и ответы | Быстро | Медленно |
Безопасность данных | Безопасно | Нет безопасно |
Стандартизация | Нет стандартизировано | Нет стандартизировано |
Расходы на год | Меньше затратно | Более затратно |
Также необходимо учитывать, что объем данных, хранящихся на предельных устройствах – ограниченный, и возможность увеличить его при необходимости требует времени и ресурсов для настройки.
Если брать к внимания устройства, которые контролируют производственное оборудование или подключенную к Интернету видеокамеру, которая посылает прямые кадры с удаленного офиса, то хоть этот устройство может передавать их по сети достаточно легко, возникают проблемы, когда количество устройств, передают данные одновременно, растет. Вместо этого того, чтобы одна видеокамера передавала живые кадры, необходимо учитывать, что их могут быть сотни или тысячи. Из-за задержку нет только страдает качество, но и могут быть огромные расходы на пропускную способность.
Рис. 1.1. Два подходы: облачные вычисление да предельные вычисление. В случае облачных вычислений – все собранные данные передаются напрямую к облаку, в то время время как используя подход с предельным вычислением, все вычисления выполняются на камерах и количество данных для передачи на облако – значительно меньше.
Предельное оборудование помогает решить эту проблему, будучи локальным источником обработки да хранение данных для многих с этих систем. Например, предельный шлюз может обрабатывать данные с граничного устройства, а потом присылать назад только соответствующие данные через облако, уменьшая потребности в пропускной способности. Или он может присылать данные назад на предельное устройство по необходимости в реальном времени. Эти граничные устройства могут быть разными, для примера, датчик IoT, ноутбук работника, смартфон, камеры безопасности в умном городе.
Однако чаще всего самой большой преимуществом предельных вычислений есть возможность более быстрой обработки да хранение данных, что обеспечивает эффективность программ в режиме реального времени, которые есть критически важными.
Выводы
РАЗДЕЛ 2.
АРХИТЕКТУРА СИСТЕМЫ АНАЛИЗА ТРАНСПОРТНЫХ ПОТОКОВ
Мысленно предложенную систему можно разделить на серверную и предельную части, объединенные с помощью или оптоволокна, или 5G. Тем не менее, в данной работе фокус сосредоточен на предельном устройстве и его функции, хотя определенные сведения о топологии, преимуществах и недостатках облачных вычислений приведены Дальше.
Рис. 2.1. Схема системы анализа транспорта в системе умного города
на Рис.2.1. представлена схема предложенной системы, что состоит из сервера и хранилища в облаке и конечного оборудования в виде микрокомпьютера с локальным хранилищем да подключенной видеокамеры, что установлены по городу.
С обзора на проанализированную информацию относительно облачных вычислений, можно выделить три основных проблемы, по которым следует переносить обработку на предельные устройства.
Первая проблема – это быстрое увеличение объема данных на серверах, что требует достаточно ресурсов для его обработки и хранения. Конечно, облачные технологии позволяют мгновенно добавлять вычислительные ресурсы и увеличивать объем хранилища за необходимости, однако стоимость услуг увеличивается, со увеличением потребностей, что в общем значит постоянный рост оплаты за использование сервиса.
Второй проблема состоит в количества переданного трафика. При непрерывной передачи видео от конечного устройства к облака, пропускная способность канала будет достигать своего максимума, что также влияет на экономическую составляющую со стороны стоимости передачи трафика и техническую – увеличивает время передачи информации.
Еще одна проблема касается времени обработки информации. Если рассматривать вариант реализации с отправкой данных на сервер, то время обработки видео зависит от задержки и скорости обработки данных на сервере, а значит, от количества серверов.
Ввиду на вышеприведенные недостатки, в предложенной системе рационально обрабатывать видеопоток на предельном оборудовании.
Важным компонентом системы есть данные, поскольку на их основе проводится дальнейший анализ результатов состояния дорожной ситуации в город. Обработка данных в реальном времени предоставляет преимущества для решения задач, кроме анализа транспортного потока, по регуляции светофоров, поиска нарушителей или преступников да другие.
В предложенной системе хранения информации о транспортном поток – временное, хоть и числовые данные нет нуждаются больших объемов хранилища. Время хранение данных можно регулировать за потребности, однако нет стоит их сохранять долго, да как конечный устройство может выйти с лада, что спровоцирует утрату данных. Именно поэтому необходимо отправлять собранные данные на центральный сервер, что удовлетворяет все требования по отказоустойчивость, репликации да доступности, примерно раз на час.
Что касается топологии для постройки системы, рассмотрим две наиболее рациональные: звезда да иерархия, поскольку, система имеет один центральный элемент – сервер.
Рис. 2.2. Топологии постройки системы: звезда (слева) да иерархия (справа)
Да как каждый с предельных устройств есть самостоятельным и нет нуждается никаких дополнительных действий с другими устройствами, а напрямую обращается к сервера, поэтому наиболее оптимальной топологией «сети» элементов системы есть звезда. Хотя, иерархию также можно применять после определенного порогового значение количества конечных устройств, чтобы уменьшить нагрузка на единственный сервер и в дальнейшем уже консолидированные данные передавать на сервер.
В этом разделе описаны функциональные требования к предложенной системы, что определяют ее поведение.
Основные функции:
Рассматривая систему с стороны реализации, она складывается с двух частей, необходимых для ее полноценного функционирование: аппаратной да программной.
В качества аппаратного обеспечение конечного устройства было выбран микрокомпьютер Raspberry Pi 4 с дополнительным модулем Movidius от Intel и подключенной Pi Camera.
Рис. 2.3. Микрокомпьютер Raspberry Pi 4
Ниже приведены характеристики микрокомпьютера Raspberry Pi 4 [13]:
Преимуществами данной модели есть увеличена тактовая частота процессора, увеличенный объем оперативной памяти, появление разъема USB Type-C для подключение блока питание, а также гигабитный Ethernet. В качества локального хранилища можно использовать или Micro-SD карту, или же жесткий диск.
Movidius Neural Compute Stick 2 – это визуальный процессор для эффективного глубокого обучение нейронных сетей, какой можно применять на граничных устройствах системы. Он достаточно невелик размерами да удобный в использовании: подключение через USB порт.
Устройство назначен для многих задач, а к преимуществ входят:
Рис. 2.4. Модуль Intel Movidius Neural Compute Stick 2
В основе модуля визуальный процессор Intel® Movidius™ Myriad™ X, какой имеет 16 векторных 128 битных LIW-ядра SHAVE (Streaming Hybrid Architecture Vector Engine). Myriad X имеет аппаратную поддержку кодирование 4k-видео со скоростью к 60 кадров за секунду. Максимальная теоретическая производительность Movidius Myriad X составляет 4 Терафлопсы, при этом энергопотребление SoC нет больше 1 Вт.
Поддерживаются инфраструктуры: TensorFlow и Caffe. Совместимые операционные системы: Ubuntu 16.04.3 LTS (64-разрядная), CentOS 7.4 (64- разрядная) и Windows 10 (64-разрядная). Также Intel Neural Compute Stick 2 поддерживает Open Visual Inference & Neural Network Optimization (OpenVINO). Важно, что можно объединить несколько «флешок» Intel® NCS 2 водную платформу для масштабирования производительности [14].
Для восторг видео было выбрано камеру Raspberry Pi. Характеристики:
- Видео режимы: 1080p30, 720p60, 640x480p60/90
Рис. 2.5. Камера Raspberry Pi
Рис. 2.6. SD-карта
Для локального хранение собранных данных относительно количества транспортных средств, можно выбрать любую SD-карту, например размером 16GB. Потому что объем полученной информации – числовой, а как известно, такие данные нет нуждаются больших объемов памяти.
Ввиду на все ограничение с стороны аппаратной части необходимо выбрать такие алгоритмы для распознавания и слежения транспортных средств, что будут удовлетворять поставлены условия. Данные алгоритмы будут рассмотрены в следующих разделах.
на рисунка 8 представлена собрана нами экспериментальная установка в составе микрокомпьютера Raspberry Pi 4 с дополнительным модулем Intel Movidius Compute Stick да Pi Camera. Эта комплектация нет есть конечным продуктом, а используется для проверки предложенных алгоритмов. Очевидно, что промышленный вариант нуждается усовершенствований дизайна да защиты.
Рис. 2.7. Экспериментальная установка
Выводы
РАЗДЕЛ 3.
РАСПОЗНАВАНИЕ И ТРЕКИНГ ТРАНСПОРТНЫХ СРЕДСТВ
Автоматическое отслеживание транспортных средств имеет решающее значение для анализа видеоданных дорожного движения в режиме реального времени В течении многих лет было осуществлено многочисленны попытки решить эту проблему за помощью широкого спектра алгоритмов, основанных как на машинном обучении[15].
3.1.1. на основе машинного обучениея Вычитание кадра
В этом относительно простом методе рассчитывается разница между двумя последовательными кадрами для обнаружение подвижного объекта за помощью OpenCV да Python. Сначала видео превращают в оттенки серого со сглаживанием, изменяют интенсивность относительно порогового значения и выделяют контур. Движимые контуры, определены алгоритмами, обозначают ограничительными рамками [16].
Рис. 3.1. Определение объекта на основе последовательной разницы кадров
Как видно из изображений, ограничительные рамки вокруг движущегося объекта определены нет точно и выделено много лишних областей, что нет содержат движущихся объектов. Также, на данный алгоритм влияет качество видео, условия освещение, наличие теней тому подобное.
Подход на основе признаков
Каскады Хаара – это алгоритм обнаружения объектов машинного обучения, какой базируется на концепции обнаружение особенностей, предложенной Виолой да Джонсом, также известной как Алгоритм Виолы-Джонса [17]. Алгоритм Виолы-Джонса использует сдвижное окно для поиска полезных признаков, которые потом используются для подготовки модели, а в дальнейшем используют их как классификатор.
Каскады Хаара используют алгоритм Виолы-Джонса для поиска. определенного типа особенности, известного как Хаарообразные признаки. Их можно классифицировать на три основные типы: предельные, линейные да четырехугольные. Алгоритм ищет хаароподобные признаки в изображении, как показано на Рис. 3.2., и этот процесс оптимизирован с помощью таких методов, как вычисление интергрального изображение, масштабирование, адаптивное усиление да каскадирование. Адаптивный Boosting или Adaboost – это техника машинного обучение, где более слабые дополнительные функции сочетаются с более сильными, чтобы повысить точность модели.
Рис. 3.2. Хаарообразные признаки
Однако, несмотря на другой подход, точность обнаружения не приближена к идеальной, проблема теней, качества видео и освещенности также влияют на работу алгоритма
3.1.2 Подход на основе глубокого обучение (Deep Learning)
В последнее время нейронные сверточные сети (CNN) значительно улучшили. классификацию изображений и точность обнаружение объектов. В сравнить с классификацией изображений, детектирование объектов – задача непростая, решение которого нужны более сложные методы Сложность возникает через то, что распознавание требует точной локализации объектов, что создает две главные трудности. Во-первых, необходимо обработать множество возможных мест расположение объектов (их называют "кандидатами"). Во-вторых, или кандидаты обеспечивают только грубую локализацию, которую необходимо уточнить, чтобы добиться точной локализации. Для решения этих проблем часто идут на компромисс со скоростью, точностью да простотой.
Для того чтобы применить алгоритмы глубокого обучение для компьютерного зрения необходимо несколько элементов (рис.3.3.) [36]: входное изображение, предварительно-натренированная нейронная сеть или собственная нейронная сеть, основная часть ориентированная на задачу и выходное изображение.
Рис. 3.3. Компоненты алгоритма глубокого обучение для компьютерного зрения
Предварительно натренированная нейронной сети
Такая сеть состоит из определенного количества сверточных слоев, каждый из которых которых отвечает за определенный набор признаков, что можно найти на входном изображении. Предварительно натренированные нейронные сети тренируются на больших наборах данных, таких как ImageNet, MSCOCO и другие. Преимуществом этих сетей с открытым кодом есть возможность их использовать любому и исследовать. Нет необходимости придумывать с нуля и тратить кучу времени для их тренировки. Вот некоторые основные представители – AlexNet, ResNet, Inception, MobileNet, VGG, NAS. Все они отличаются друг от друга по временем исполнение, размером модели да другими показателям.
Для использования в реальном времени и на встроенных устройствах, таких как микрокомпьютеры или мобильные телефоны, необходимо, чтобы размер модели был минимальный, а скорость удовлетворительно высокой, чтобы применять в реальном времени. В статьи [35] приведена сравнительная характеристика (рис.3.4.) наиболее популярных семейств нейронных сетей.
Top-1 ошибка свидетельствует о то, что прогнозируемый с самой большой вероятностью класс, нет отвечает правильно распознанном.
на Рис. 3.4. изображены пузыри, размер которых отвечает размера модели. А чем меньше значение по оси х и у, тем лучше.
Так как, в данной работе важно, чтобы размер модели был наименьшим, при этом скорость обработки также стремится к минимума, то избранной предварительно натренированной нейронной сетью было выбрано MobileNet v2.
Рис. 3.4. Зависимость времени ответы от точности
Детектирование объектов
В последние годы активно проводятся исследование с распознавание объектов, основанные на глубоком обучении, и благодаря этому появилось много моделей с улучшенными характеристиками, а также разработаны технологии распознавание нескольких объектов на изображениях [18]. Существует несколько репрезентативных технологий распознавание объектов на основе глубокого обучение, включая R-CNN [19], Faster R-CNN [20], Fast R-CNN [21], YOLO [22], SSD [23], R-FCN [24] и т.д.
Существует два типа детекторов объектов: двухступенчатые детекторы, такие как Faster R-CNN или Mask R-CNN и одноступенчатые, такие как YOLO и SSD. Двухступенчатые модели достигают самых высоких показателей точности, но, как правило, более медленные. Проблема R-CNN состоит в поэтому, что для обучение
сети требует много времени, поскольку она должна классифицировать 2000 региональных предложений для каждого изображение, а следовательно, реализация в реальном времени невозможно [26]. Одноступенчатые модели достигают низших показателей точности, но они значительно быстрее двухступенчатых детекторов. объектов.
R-CNN
Детектор R-CNN состоит из двух этапов, регионального предложения и классификации Сначала с помощью выборочного поиска (Selective Search) детектор находит определенную количество рамок (близко 2000), которые показывают область целевого объекта Выборочный поиск использует местные признаки, такие как текстура, интенсивность, цвет и т.д., чтобы генерировать все возможные места расположение объекта. Затем классификация проводится путем применение CNN ко всем ограничительным рамкам. Тем не менее, R-CNN как алгоритм требует огромное количество вычислительных ресурсов и скорость обработки слишком медленная. Поэтому, чтобы компенсировать или недостатки, Faster R-CNN выполняет детектирование объекта один раз на выходной карте объектов после прохождение через CNN.
Faster R-CNN
Faster R-CNN использует региональную сеть предложений (Region Proposal Network) для решение проблемы, вызванной селективным алгоритм поиска. Сравнивая скорость обработки, Faster R-CNN в 200 раз быстрее, чем R-CNN. Метод распознавания объектов серии R-CNN имеет недостаток низкой скорости обработки, поэтому нет пригоден для приложений в режиме реального времени.
Рис.3.5. R-CNN структура
Таблица 3.1. Скоростное сравнение R-CNN семейства
R-CNN | Fast R-CNN | Faster R-CNN | |
Время на одно изображение | 50 сек | 2 сек | 0.2 сек |
Ускорение | 1х | 25х | 250х |
mAP (mean average precision) | 66.0 | 66.9 | 66.9 |
В таблице 3.1. приведены сравнения быстродействия и точности в семействе R-CNN, с улучшением показателей в процессе развития.
YOLO
YOLO (You Look Only Once) – популярный и быстрый алгоритм, который широко используется как для обнаружение транспортных средств, да и для их классификации Представляет собой одноступенчатый детектор, поэтому что региональная предложение (Regional proposal) да классификация выполняются
одновременно. Внешняя часть сетевой структуры YOLO – это модифицированная структура GoogleNet. В общем, чем глубже нейронная сверточная сеть, тем лучшая производительность со увеличением количестве слоев. Однако с углублением сети количество изучаемых параметров увеличивается. Проблема операции глубокой свертки заключается в огромном вычислении и огромное количество значений параметров, которые необходимо установить. YOLO делит изображение на области сетки S*S и предусматривает ограничительные рамки каждой области сетки. вместе с ограничительными рамками, YOLO также предполагает вероятность принадлежности к определенного класса. После этого координаты рамки и вероятность принадлежности к классу сочетаются, и основе этих данных объект находится за помощью подавление не максимумов.
Рис. 3.6. Последовательность детектирование объекта за помощью YOLO
Доказано, что YOLO работает очень быстро, с частотой кадров к 45 кадров в секунду. Тем не менее, поскольку YOLO, YOLOV2 да YOLOV3 требуют больших вычислительных мощностей для обнаружение, было
разработан алгоритм TinyYOLO [27], оптимизированный для использования в встроенных системах да мобильных устройствах. Сети Tiny YOLO да усовершенствованная Yolo-Lite [28] уступают сетям YOLO с точки зрения mAP, но работают с значительно высшим FPS.
Рис. 3.7. Применение YOLOV3
С обзора на изображение, можно заметить, что алгоритм хорошо справляется с поставленной задачей обнаружения транспортного средства, как днем, да и ночью, и несмотря на тени и качество изображения.
Хотя YOLO достаточно скоростной алгоритм, однако имеет некоторые ограничение по точности и обнаружению мелких предметов. Для преодоления этих недостатков был создан Single-Shot Detector (SSD).
SSD (Single-shot Multibox Detector)
Алгоритм SSD обнаруживает объекты за помощью распределение изображение на многочисленны поля, что одновременно проходят через единственную сверточную нейронную сеть. В дальнейшем координаты и значения класса, рассчитаны за помощью модели, сравниваются с рамкой за по умолчанию, и на основе этого сравнение создается окончательная ограничительная рамка.
Рис. 3.8. Архитектура SSD
Тот факт, что SSD использует разные карты признаков для комбинирования предсказаний, приводит к увеличению количества обнаружений каждого класса и изображение, а разное разрешение на этих картах признаков приводит к увеличению возможности обнаружение объектов разного размера.
Рис. 3.9. Результаты работы алгоритма днем и ночью
Анализируя изображение, можно заметить, что тени да качество изображения не влияют на производительность алгоритма, однако точность в повышенной освещенности значительно выше, нож ночью.
Другие подходы глубокого обучение
Кроме SSD и YOLO, существуют и другие алгоритмы, например Mask R-CNN, R-FCN, Retinanet и т.д.
Сравнение подходов глубокого обучение к детектированию
В таблицы ниже приведена сравнительная характеристика алгоритмов обнаружение по наиболее критическим требованиям, а именно mAP (mean Average Precision) и FPS (Frames per Second). Представлены только одноступенчатые алгоритмы, да как двухступенчатые алгоритмы слишком медленные для детектирование в реальном времени. Данные результаты получены на основе датасета MS COCO [29] и свидетельствуют о то, что точность обнаружение объектов в среднем одинакова у всех, кроме Tiny YOLO. Однако быстродействие значительно отличается. Tiny YOLO наоборот лидер, именно поэтому он обычно применяется в приложениях, требующих обработки данных в реальном времени.
Таблица 3.2. Сравнительная характеристика одноступенчатых детекторов
Модель | mAP (mean average precision) | FPS (скорость изменения кадров за секунду) |
SSD500 | 46.5 | 19 |
YOLOV2 | 48.1 | 40 |
Tiny YOLO | 23.7 | 244 |
R-FCN | 51.9 | 12 |
Retinanet-101-500 | 53.1 | 11 |
YOLOV3-608 | 57.9 | 20 |
YOLOV3-416 | 55.3 | 35 |
Данные с таблицы 3.2 визуально представлены на диаграмме, что упрощает восприятие информации и дает смогу оценить преимущества да недостатки каждого.
Ниже в таблицы 3.3 представлены преимущества и недостатки некоторых алгоритмов на основе анализа литературных источников [30].
Таблица 3.3. Преимущества да недостатки детекторов
Метод | Преимущества | Недостатки |
Расчет | Использование внешнего генератора региона-кандидата создает узкое место в процессе обнаружение. | |
характеристик CNN | ||
Fast R-CNN | производится за одну итерацию, достигая | |
того, что обнаружение | ||
объектов происходит в |
Продолжение Таблицы 3.3.
25 раз скорее, нож метод R-CNN (для анализа изображение нужно в среднем 20 секунд). | ||
Faster R-CNN | Метод позволяет обнаруживать объекты почти в режиме реального времени, примерно 0,12 секунды на изображение. | Несмотря на эффективность алгоритма, он недостаточно быстрый для использования в реальном времени. |
R-FCN | Время тестирование R-FCN гораздо быстрее, чем R-CNN. | R-FCN имеет конкурентное значение mAP, но ниже, нож Faster R-CNN. |
Mask R-CNN | Локализация объектов есть более точной, когда осуществляется сегментация объектов на изображениях. | Время выполнения более быстрый, сравнивая с Faster R-CNN, однако нет гораздо, поэтому нет может быть примененный в реальном времени. |
Продолжение Таблицы 3.3
YOLO | Локализация объектов | Метод имеет трудности с |
достаточно эффективна, что позволяет использовать его в реальном времени. | правильным обнаружением мелких предметов. | |
Точность обнаружения | ||
Локализация объектов | объектов ниже | |
SSD | быстрая по сравнению с | сравнительно с методами |
Faster R-CNN. | Fast R-CNN да Faster R- | |
CNN. |
Для выбора детектора необходимо учесть его возможность работать с достаточно высоким FPS, что позволяет использовать в реальном времени. В таблице 3.4. [14] представлено сравнение эффективности различных моделей нейронных сетей на микрокомпьютере Raspberry Pi без и вместе с Intel Neural Compute Stick 2.
Таблица 3.4. Сравнение эффективности разных моделей нейронных сетей на
микрокомпьютеры Raspberry Pi
Модель | Raspberry Pi (use TensorFlow-Lite) | Raspberry Pi + Intel Neural Compute Stick 2 |
MobileNet-v2 | 4.4 FPS (Pi 3) 8 FPS (Pi 4) | 30 FPS (Pi 3) |
MobileNet-v2 SSD | 2.6 FPS (Pi 3) 4.7 FPS (Pi 4) | 11 FPS (Pi 3) 41 FPS (Pi 4) |
Продолжение Таблицы 3.4.
ResNet-50 | 2.4 FPS (Pi 3) 4.3 FPS (Pi 4) | 16 FPS (Pi 3) 60 FPS (Pi 4) |
EfficientNet-80 | 14.6 FPS (Pi 3) 25.8 FPS (Pi 4) | 95 FPS (Pi 3) 180 FPS (Pi 4) |
С обзора на приведенную информацию относительно предварительно натренированной нейронной сети и детекторов, было выбрано MobileNet-v2 SSD в качества элементов детектирование.
Классификация транспортных средств возникла как еще одно важное применение компьютерного зрения да методов искусственного интеллект. Она нашла широкое применение в таких сферах, как наблюдение, система безопасности, пробки, предотвращение авариям тому подобное. Хотя и разработано много разнообразных алгоритмов классификации, однако в данной работе рассмотрено только два с них, SSD и YOLO.
Лучший способ оценить эффективность классификатора – просмотреть матрицу путаницы [14]
Рис. 3.11. Матрица путаницы
Матрица путаницы визуализирует точность классификатора, сравнивая фактические и предполагаемые классы. Двоичная матрица путаницы состоит из квадратов:
TP: истинное положительное – прогнозируемые значения правильно прогнозируются как фактические положительные;
FP: ошибочное положительное – прогнозируемые значение неправильно предусмотрели фактический позитив, а следовательно, отрицательные значение прогнозируются как положительные;
FN: ошибочное отрицательное –положительные значение прогнозируются как отрицательные;
TN: истинное отрицательное значение – прогнозируемые правильные значение прогнозируются как фактические отрицательные.
С матрицы путаницы легко сравнить фактический класс и предполагаемый класс. Матрица путаницы позволяет хорошо понять истинное положительное и ложное положительное. В некоторых случаях желательно иметь более краткую метрику.
Точность
Метрика точности показывает точность положительного класса. Она измеряет вероятность правильного прогноза положительного класса:
Точность = TP ( 3.1 )
TP + FP
Максимальный балл – 1, если классификатор идеально классифицирует все положительные значения Точность сама по себе не очень полезна, поскольку она игнорирует отрицательный класс. Метрику, как правило, сочетают с метрикой напоминание. Напоминание также называют чувствительностью или настоящей положительной скоростью.
Чувствительность
Чувствительность вычисляет отношение правильно определенных положительных классов. Эта метрика свидетельствует о том, насколько хорошо модель распознает. положительный класс:
Чувствительность = TP ( 3.2 )
TP + FN
По данным метрикам находят сначала AP (Average Precision) усредненную точность, а затем и значение mAP.
Отслеживание объекта определяется как процесс задержки подвижного объекта и возможность определить, является ли объект таким же как в предыдущем кадры. То есть, отслеживание – это локализация объекта в последовательных кадрах видео. В компьютерном звезды да машинном учебе отслеживание есть достаточно широким сроком, какой охватывает концептуально подобные, но технически разные идеи. Использование отслеживание видео используют для приложений с дополненной реальностью, систем наблюдение да безопасности, редактирование видео, контроля дорожного движения да медицинской визуализации.
Целью отслеживание есть объединение целевых объектов в последовательных кадры видео. Это объединение сложно применять, когда объекты двигаются быстро по отношению к частоте кадров видео. Все становится еще сложнее, когда отслеживаемые объекты с течением времени изменяют свою ориентацию. В этом случае системы видеонаблюдение обычно используют модель движения, какая подробно описывает, как объект может выглядеть в определенных ориентациях.
Существует много разных трекеров для удовольствие разных потребностей разработчиков. Некоторые с них рассмотрено ниже, такие как Сечение над объединением (IoU) да Треккинг центроида. Было выбрано именно или трекеры, да как оба не используют визуальные данные, а только данные, получены от детектора приводит к высокого быстродействия.
IoU (Intersection over Union)
Автор этого алгоритма [31], в основном использовал IOU для сравнение ограничивающих рамок в двух последовательных кадрах для сопоставления объектов. Было сделано предположение, что детектор способен хорошо работать. в каждом кадре. Именно поэтому предположили, что две ограничительные рамки принадлежат одному объекта в двух последовательных кадрах, будут иметь высокую вероятность пересечения, а значит высокий IOU. Учитывая определенный порог IOU σ под время отслеживание, трекер вычисляет IOU между двумя ограничительными рамками – одна из нового кадра, а вторая – из предыдущего кадра - и определяет объект с наилучшим совпадением IOU в соответствии с пороговым значение. Значение IOU вычисляется как:
I O U ( a , b ) = ( a ) ∩ ( b ) ( 3. 3 )
( a ) ∪ ( b )
Поскольку авторы не учитывают никакой информации об изображении в своем алгоритме, метод способен превзойти другие своей простотой, что приводит к чрезвычайно высоким скоростям отслеживания. Основная идея данного подхода заключается в том, что текущие детекторы объектов достаточно надежными, именно поэтому ошибки детектирование, вызваны ложноположительными/отрицательными обнаружениями, можно игнорировать. Выходя по этому предположению, задача отслеживания нескольких объектов, которая следует за парадигмой отслеживания путем обнаружения становится тривиальным. Трекер IOU соединяет обнаружение следующих кадров исключительно путем их пространственного наложение на треки. В случае, если любой обнаруженный объект не был сопоставлен с существующим объектом на предыдущем кадры, тогда этот объект распознается как новый объект отслеживания. Однако проблема состоит в том, что любая существующая последовательность отслеженных кадров для определенного объекта заканчивается, если на новом кадры нет было найдено объекта. Хотя и детекторы считаются надежными, однако не идеальны, что будет приводить к увеличенной количества ложных вычислений относительно количества транспортных средств.
Треккинг центроида
Трекинг центроида [32] заключается в расчете Евклидового расстояния между объектами, найденными на двух последовательных кадрах видео. Данный алгоритм складывается с нескольких шагов. Ниже развернуто приведены каждый с них.
Шаг 1. Получение набора ограничительных рамок с координатами (x, y) для каждого объекта от детектора на каждом кадре. Необходимо, чтобы ограничительные рамки вычислялись для каждого кадра в видео или можно сказать, для каждого объекта, обнаруженного с видеокамеры.
Шаг 2. Вычисление именно центроида (центра) объекта благодаря ограничительным рамкам. Да как это начальный набор координат ограничительных рамок, поэтому необходимо присвоить уникальный идентификатор каждому найденному объекту.
Рис. 3.12. Центроиды да ограничительные рамки
Шаг 3. Для каждого следующего кадра с вычисленными ограничительными рамками, так же вычисляется центроид для каждого объекта. После чего, вычисляется Евклидова расстояние по формуле
d ( x , y ) = √ ( x − y ) 2 + ( x − y ) 2 ( 3 . 4 )
от полученного центроида к всех центроидов, что были рассчитаны на предыдущем кадры.
Рис. 3.13. Расчет евклидового расстояния
Шаг 4. Сравнение полученных расстояний. Наименьшая расстояние и есть сдвигом объекта от кадра к кадра, поэтому новый идентификатор нет присваивается, а остается предварительный и обновляются координаты ограничительных рамок. Все объекты, что остались, маркируются идентификаторами.
Рис. 3.14. Сопоставление текущего цонтроида с предварительным (слева); присвоение идентификаторов (справа)
Шаг 5. В случае исчезновение объекта, необходимо удалять идентификатор объекта через определенную количество последовательных кадров.
Данные алгоритмы можно внедрить за помощью библиотеки компьютерного зрения OpenCV.
Кроме того, известны алгоритмы библиотеки OpenCV, такие как BOOSTING, MIL, KCF, MedianFlow, MOSSE, CSRT могут также применяться для трекинга, однако для каждого объекта создается новый экземпляр трекера, и поэтому при увеличении объектов для треккинг, замедляется время обработки. Из-за приведены причины было решено использовать трекер центроида.
Выводы:
РАЗДЕЛ 4.
ПРОГРАММНАЯ ЧАСТЬ СИСТЕМЫ АНАЛИЗА ТРАНСПОРТНОГО ПОТОКА
транспортных средств
На блок-схеме (Рис. 4.1.) представлен алгоритм работы программы и состоит он в следующем: видеопоток, что увлекается камерой разлагается на кадры. В случае, если кадр нет удалось выделить происходит повторное считывание, чтобы выполнение программы не останавливалось. После чего каждый кадр проходит через алгоритм детекции и трекинга. Есть, на одному кадры запускается распознавание изображенных объектов соответствующих классов (транспортные средства). Если местоположение объекта не обнаружено, тогда программа возвращается на шаг с детектированием. Затем координаты полученных ограничительных рамок объектов передаются на вход трекера, благодаря чему вычисляется центроид объекта в текущем кадре и просчитывается евклидовое расстояние. На основе полученных данных, производится сопоставление двух объектов на разных кадрах. Если ж, нет удалось сопоставить, следовательно, был обнаружен новый объект и ему присваивается новый идентификатор Дальше координаты полученного центроида анализируются по значению у, чтобы распознать, пересек ли объект воображаемую линию для подсчета, и когда координата принадлежит определенному промежутку – означает, что объект можно добавлять в общее количество всех транспортных средств и останавливать треккинг этого объекта, а иначе – проводить те же сами операции в дальнейшем.
Необходимо заметить, что хочет и описано подсчет одного транспортного средства, однако рассматривается массив объектов.
Также, для начала программы, очевидно, что предыдущий кадр не существует, поэтому всем обнаруженным объектам присваивается уникальный идентификаторРис. 4.1. Блок-схема алгоритма подсчета транспортных средств
Для всех детекторов используются стандартные модели, предварительно обучены на шаблоне COCO [33], где классы включают автомобиль, грузовик да автобус. Офлайн-методы в отслеживании за помощью одной камеры обычно приводят к лучшей производительности, поскольку все агрегированные данные могут быть использованы для ассоциации данных. Онлайн подходы часто используют неточные особенности внешнего виду, чтобы компенсировать отсутствие информации о будущее.
Ниже представлены результаты работы программы, использующей в качества детектора SSD с предварительно натренированной сетью MobileNet [34] да трекингом центроида.
на рисунках можно увидеть сравнение результатов при разных условиях освещения и окклюзии. Видно, что в солнечную погоду и с минимальной количеством транспортных средств на проезжей части справляется хорошо (Рис. 4.3.), однако точность и слежение, и детектирование снижается при увеличении транспортных средств, что двигаются один за одним, да как они перекрываются и трекер теряется (рис. 4.4.).
Рис. 4.2. входящие кадры
Рис. 4.3. Выходные дни кадры
Рис. 4.4. Фото работы программы
В данной работе было предположено, что камера следит только за проездной частью, по которой транспортные средства могут двигаться в одном направлении. Для того чтобы вычислить количество транспортных средств за определенный промежуток времени, необходимо определить воображаемую линию на видеокадрах (необходимая калибровка камеры при установке), при пересечении которой счетчик будет фиксировать количество автомобилей. Именно таким подходом, можно уменьшить ошибочные срабатывание трекера, так как часть видеокадра будет использована только для детектирование и обычного треккинг, без влияния на конечную информацию.
Рис.4.5. Подход к подсчету количества транспортных средств Однако необходимо все же таки учитывать, что точность подсчета
полностью зависит от трекер, а трекер от детектор.
на входной последовательности первоначально зафиксировано 28 транспортных средств. Предложенная программа подсчитала 21 автомобиль, что составляет 75% точности. Да как алгоритм детектирование одноступенчатый, а, следовательно, заранее было известно понижение точности.
Также, если необходимо подсчитывать количество транспортных средств в две стороны, тогда нужно добавить еще одну функцию, которая будет сравнивать текущую координату центроида у' с предыдущей у . В случае, если у' > y , следовательно, транспортное средство двигается в прямом направлении, а если y' < y , то в обратном.
Очевидно, что данная версия предложенной системы не коммерческая и нуждается усовершенствование. Однако получены результаты можно использовать для дальнейших исследований относительно способности предельного устройства работать с более сложными, но более точными нейронами сетями, а также трекерами, что используют историю кадров, чтобы предполагать движение объектов. А также, исследовать другие устройства аппаратного обеспечение.
Получены данные (количество транспортных средств) с предельного устройства можно применять для аналитики транспортных потоков, сохраняя получены данные в тайны.
Выводы
ОБЩИЕ ВЫВОДЫ ПО РАБОТЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
/blog/post/smart-traffic-management-optimizing-spend
31.E. Бочински, V. Eiselein, и Т. Сикора. High-speed tracking-by-detection без использования изображения / 14th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS) – pp. 1–6, 2017.
32.JC Nascimento, AJ Abrantes и JS Marques. An algorithm for centroid-based tracking of moving objects / IEEE International Конференция
on Acoustics, Speech, and Signal Processing. Процедуры, 1999, vol.6 – pp. 3305-3308.