Введение С каждым годом увеличивается уровень автомобилизации урбанистических территорий [1]. Среди негативных последствий данного явления можно особо выделить проблему, связанную с парковкой - проезжая часть большинства улиц в центральной части городов часто используется для движения только на 30-50 % [2]. Одним из элементов комплексной проблемы обеспечения горожан парковочными местами является планирование и управление парковкой возле крупных торгово-развлекательных центров (ТРЦ). Чтобы обеспечить водителей местом на парковке, при строительстве зданий закладывается определённое количество машино-мест в зависимости от функционального назначения здания. При строительстве торговых центров закладывается 5 машино-мест на 100 м2 торговой площади здания. Иногда площадь зоны, выделенной для стоянки транспорта, составляет 30-40 % от нормы [3]. Водители в поисках места для парковки создают препятствия, нередко случаются конфликтные ситуации и ДТП [4]. Все это в конечном итоге влияет на благосостояние горожан [5]. Неравномерное заполнение парковочных территорий возле крупных ТРЦ, дополнительный пробег транспортных средств в связи с тем, что клиенты стремятся найти место поближе к входу, снижение уровня безопасности людей и стремление к соблюдению экологических норм делают актуальной разработку приложений для динамического управления навигацией на открытых парковочных территориях торговых центров, что и стало целью исследования. Анализ литературных источников В связи с актуальностью проблемы организации парковочного процесса и инфраструктуры паркингов в крупных городах количество направлений научных исследований, посвященных управлению навигацией и оптимизации использования оборудования парковочных территорий, значительно (рис. 1). Рис. 1. Характеристика основных концепций управления навигацией и оборудованием парковочных территорий Проблема совершенствования архитектурно-планировочных решений относительно размещения парковочных площадей рассматривалась в работах [6-8], но в рамках этого направления авторами [6-8] исследовались, как правило, эргономические особенности парковочных площадей при проектировании и влияние геометрических параметров парковок на безопасность и качество. Ряд исследователей рассматривают парковочные территории в первую очередь с точки зрения обеспечения ими непосредственных функций по организации стоянки автомобильного транспорта. Представители данного научного направления занимаются вопросами спроса и моделирования потребности на парковочные места [9, 10]. Современный паркинг - это не только место для стоянки автомобиля. Он характеризуется специфической разметкой, наличием датчиков и оборудования, а также динамическим управлением процессом парковки. Направление исследований, связанное с изучением парковочных территорий с точки зрения особенностей организации средств автоматизации на них, представлено в работах [11, 12]. Следует отметить, что автоматизация затрагивает лишь закрытые паркинги, в то время как значительные территории открытых парковочных площадей в настоящее время остаются просто площадками с горизонтальной и вертикальной разметкой. Инфраструктура крупного мегаполиса крайне сложна. Технические параметры парковочных территорий тесно взаимосвязаны с экономическими выгодами горожан и администрации. Влияние парковочных территорий на экономику современного города и оптимизация технико-экономических процессов инфраструктуры современного паркинга с учетом институциональных издержек представляют собой еще одно направление исследований [13]. Способы улучшения равномерности заполнения парковочных территорий рассмотрены в [14]. Очевидно, что при достаточно большом объеме научных работ, посвященных организации парковочного процесса и управлению инфраструктурой паркинга, недостаточно внимания уделяется разработке динамических систем навигации на открытых парковочных территориях. Существующие научно-технические решения затрагивают процесс управления навигацией преимущественно в подземных паркингах [15] (рис. 2, а). В то же время на больших парковках возле ТРЦ (рис. 2, б), сильно загруженных автомобилями, поиск свободного места становится слишком долгим, а количество машин, находящихся в движении, значительно увеличивается. а б Рис. 2. Организация навигации: а - в подземных паркингах; б - на открытых парковках ТРЦ Очевидным решением данной проблемы является разработка информационных приложений для управления процессом навигации на парковочных территориях ТРЦ. Такие программные продукты активно используются в дорожно-транспортной отрасли. В частности, следует отметить геоинформационные системы [16], системы, связанные с организацией дорожно-строительных работ [17], а также приложения, нацеленные на снижение аварийности и помощь жертвам ДТП [18]. Метод динамического управления навигацией на открытых парковках Для повышения эффективности использования парковочных площадей перед крупными ТРЦ за счет сокращения количества автомобилей, находящихся в движении, в рамках нашего исследования предлагается новый метод динамического управления навигацией на открытых парковочных территориях. Метод заключается в предоставлении в реальном времени автовладельцам, въезжающим на территорию парковки, информации о занятости парковочных мест на основе обработки потокового видео с камер видеонаблюдения, установленных над территорией паркинга ТРЦ. Отличием предлагаемого метода от применяемых в настоящее время является возможность его использования на открытых парковках, которые, как правило, не оснащаются специальным сигнализирующим оборудованием, детекторами занятости и контрольно-пропускными системами, значительной площади. Основные шаги метода динамического управления навигацией: 1. Построение информационно-графической модели (ИГМ) открытой парковки. 2. Актуализация данных ИГМ открытой парковки. 3. Визуализация ИГМ открытой парковки. 4. Интерактивное взаимодействие и обработка запросов пользователей в ходе навигации. Шаги 1 и 2 реализованы на основе метода вычитания фона. Известны три основных подхода к реализации методов вычитания фона: попиксельный, поблочный и алгоритмы, основанные на марковских или условных случайных полях. Особенностью попиксельного подхода является необходимость обработки каждого пикселя одного кадра независимо [19]. Цвет пикселя сравнивается с цветовой моделью. Считается, что фоновое значение пикселя - это случайная величина, поэтому ее можно заменить нормальным распределением. Недостатком метода является чувствительность к небольшим дрожаниям камеры. Поблочные алгоритмы обрабатывают блоки пикселей целиком [20]. Изображение делится на блоки, которые обрабатываются независимо друг от друга. Такой подход при обработке изображения в основном дает лучшие результаты, чем попиксельный, поскольку принятие решения осуществляется по обработанной информации целой области. Метод вычитания фона на основе марковских случайных полей [21] является наиболее приемлемой технологией в рамках нашего исследования в силу того, что для его применения используется совокупность статичных видеоизображений. Построение ИГМ открытой парковки. Построение ИГМ включает в себя два основных этапа: Этап 1. Создание эталонного изображения - изображения с пустыми парковочными местами. Для создания эталонного изображения с камер фиксируются кадры соответствующих областей парковки при отсутствии на ней автомобилей (рис. 3). Эталонное изображение формирует графический слой ИГМ. Рис. 3. Примеры эталонного изображения Этап 2. Нанесение контуров парковочных мест с целью идентификации местоположения отдельных парковочных мест на территории паркинга. Для формирования информационного слоя ИГМ производится выделение контурами мест, в которых могут устанавливаться автомобили, и хранение информации об этих местах в базе данных (рис. 4). Рис. 4. Парковка с нанесенными контурами парковочных мест Для создания ИГМ рекомендуется установка камер под прямым углом относительно земли, однако допускается и угловая съёмка. При этом обзор парковочных мест не должен перекрываться другими объектами. Следует отметить, что камеры видеонаблюдения должны быть закреплены жёстко и не должны изменять своего положения. Если камера изменила своё положение, то необходимо зафиксировать новое эталонное изображение и изменить положение контуров парковочных мест. Актуализация данных ИГМ открытой парковки. Актуальность предоставляемых данных является ключевым свойством метода динамического (т. е. зависящего от текущего момента времени) управления навигацией. Предлагаемый способ актуализации данных ИГМ открытой парковки основан на обработке изображений с камер потокового видео с установленной степенью дискретизации (временным шагом, установленным по таймеру), т. е. информация о состоянии паковочных мест площадки поступает в режиме реального времени. Принцип работы состоит в вычитании текущего кадра из фонового (эталонного кадра). Выделение объекта осуществляется в два этапа: инициализация и обновление фона. На первом этапе загружается начальная модель эталонного фонового изображения. На втором этапе модель обновляется для выделения из фона различных объектов. Если количество отличимых блоков пикселей будет превышать определённое значение, значит, парковочное место занято. Особенностью предлагаемого способа является возможность отслеживания занятости парковочных мест без установки дорогостоящих сенсоров и световых индикаторов, применяемых на крытых парковках. На рис. 5 приведены примеры обработки изображений с камеры видеонаблюдения с применением алгоритма вычитания фона. Белым цветом помечены автомобили, чёрным - остальные объекты. Рис. 5. Пример обработки изображений парковочных мест Предлагаемый способ практически не чувствителен к качеству изображения (цвет/монохром), что позволяет обрабатывать кадры с любых, в том числе с недорогих, а также устаревших камер видеонаблюдения. Визуализация ИГМ открытой парковки. Визуализация парковки в виде схемы с закрашенными контурами парковочных мест позволяет водителю в процессе навигации получить информацию о статусе места. Визуализация реализована через веб-приложение, доступ к которому может быть осуществлён при помощи как обычного браузера, так и мобильного приложения, настроенного на обращение к веб-узлу обработчика. Таким образом, шаг визуализации предназначен для предоставления удобного и легконастраиваемого интерфейса для работы с ИГМ открытой парковки. Интерактивное взаимодействие и обработка запросов пользователей в ходе навигации. Интерактивное взаимодействие и обработка запросов пользователей позволяют в полной мере реализовать динамическое управление в ходе навигации. Для обеспечения необходимой производительности работы в реальном времени предложен упрощенный формат взаимодействия пользователя с ИГМ: прямоугольники на изображении (рис. 6) являются кнопками. Рис. 6. Пример визуализации ИГМ, где зеленый (на рисунке - серый) - свободные места; красный (на рисунке - белый) - занятые места Пользователь может осуществить следующие действия в рамках предлагаемого формата: 1. В случае нажатия на зелёную кнопку осуществляется резервирование данного парковочного места и закрашивание прямоугольника в жёлтый цвет. 2. В случае нажатия на красную или жёлтую (чужое резервирование) кнопку отправляется запрос на оповещение об освобождении желаемого места парковки. 3. В случае нажатия на жёлтую (своё резервирование) кнопку резервирование места отменяется. Парковочное место находится в зарезервированном состоянии в течение определенного периода времени, согласно установленному таймеру, по истечении которого место снова становится свободным для резервирования, если автомобиль не появился. Разработанный подход основан на идентификации устройства пользователя для отправки ответов на запросы в виде текстовых сообщений или Push-уведомлений [22], а также с целью запрета на резервирование нескольких мест подряд. Обработка запросов производится на основе подхода Smart Queue [23]. Проектирование и программная реализация автоматизированной системы динамического управления навигацией DyNaM Автоматизированная система динамического управления навигацией DyNaM основана на клиент-серверной архитектуре (рис. 7). Серверная часть осуществляет анализ состояний парковочных мест, управление этой информацией, получение запросов пользователей в ходе навигации на парковке и отправку соответствующих ответов. Клиентская часть предоставляет удобный интерфейс для доступа к информации о состоянии парковочных мест. Отдельным модулем DyNaM является разработанный редактор контуров паковочных мест. Рис. 7. Основные компоненты DyNaM Архитектура DyNaM. Система состоит из следующих подсистем (рис. 8): - веб-приложение для обработки состояния парковочных мест; - редактор контуров парковочных мест; - веб-браузер; - мобильное приложение для доступа к просмотру и управлению состоянием парковочных мест. В качестве веб-браузера может быть использован любой браузер, соответствующий требованиям корректной работы системы. Веб-браузер является клиентской частью системы, осуществляющей доступ пользователя к интерфейсу веб-приложения для просмотра информации о состоянии парковочных мест. Мобильное приложение является альтернативной веб-браузеру клиентской частью системы и предназначено для просмотра состояния парковочных мест и управления им с использованием мобильных устройств. Рис. 8. Схема взаимодействия подсистем DyNaM Веб-приложение для обработки состояния парковочных мест. Веб-приложение осуществляет обработку текущего состояния парковочных мест, а также обработку данных с камер видеонаблюдения, занесение информации в базу данных и пользовательское управление состоянием парковок. Веб-приложение для обработки состояния парковочных мест включает в себя: - модуль взаимодействия с пользователем; - модуль отслеживания состояния парковочных мест; - базу данных парковочных мест. Веб-приложение является основной подсистемой клиент-серверного приложения динамического управления навигацией на открытых парковках. Веб-приложение осуществляет анализ состояния парковочных мест и предоставляет доступ к информации об их текущем состоянии. Для разработки веб-приложения используется фреймворк Django - свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Язык программирования - Python 3.5.2. В качестве веб-сервера используется Apache. В качестве системы управления базами данных (СУБД) используется PostgreSQL, однако данную систему можно построить с использованием и других СУБД, таких как MySQL, Oracle. Для обработки информации, полученной с камер видеонаблюдения, используется библиотека OpenCv 3.2.0, которая позволяет производить различные преобразования изображений, распознавать объекты разной формы и цвета, сравнивать изображения, а также получать кадры с видеокамер для дальнейшей обработки. На рис. 9 представлена архитектура веб-приложения - взаимодействующие модули и информация, передаваемая между ними. Рис. 9. Архитектура веб-приложения для обработки состояния парковочных мест Модуль отслеживания состояния парковочных мест реализует следующий функционал: - получение изображений с камер видеонаблюдения; - анализ состояния парковочных мест по полученным изображениям с камер; - внесение информации о состоянии парковочных мест в базу данных. Модуль отслеживания получает изображение с каждой камеры видеонаблюдения, установленной над областью парковочных мест, с определённым интервалом времени. В процессе анализа состояния парковочных мест модуль осуществляет сравнение изображения с камеры видеонаблюдения с предварительно сделанным эталонным изображением при пустой парковке, и, таким образом, место, занятое автомобилем, будет отличаться от незанятого места на парковке. Модуль взаимодействия с пользователем позволяет в реальном времени получать информацию о занятости парковочных мест, осуществлять выбор парковочного места и оповещать клиента об освободившемся парковочном месте. Модуль содержит в себе алгоритмы формирования HTML-страниц для отображения парковочных мест пользователю с возможностью выбора свободного места на парковке. База данных парковочных мест. Для реализации информационного слоя ИГМ используется база данных парковочных мест, которая состоит из следующих таблиц: - парковочное место; - изображение парковки; - парковочное место - изображение; - точка контура. Схема базы данных парковочных мест с описанием полей таблиц представлена на рис. 10. Рис. 10. Структура реляционной базы данных парковочных мест в системе DyNaM Таблица «Парковочное место» описывает каждое парковочное место, зарегистрированное в системе. Для определения состояния парковочного места используется числовой идентификатор. Для каждого места указывается раздел парковки. При актуализации ИГМ изменяется идентификатор «Состояние», принимающий одно из следующих значений: free - свободно; busy - занято; booked - забронировано. Для того чтобы различать устройства, с которых осуществляется бронирование парковочного места, в таблицу записывается текстовый идентификатор устройства, с которого осуществлено бронирование места. Этот идентификатор включает в себя конкатенацию названия устройства, его IP и MAC-адреса. Каждое парковочное место связано с эталонным изображением, с которым осуществляется сравнение текущего кадра с камеры видеонаблюдения. Вся конфигурация изображений хранится в таблице «Изображение парковки», где указывается путь к изображению (папка), название файла изображения, а также диапазоны дат и времени, в пределах которых может быть использовано изображение. Диапазоны используются для повышения точности работы системы, т. к. в разное время суток и года эталонные изображения могут сильно различаться между собой. Диапазоны действия изображений можно настраивать в широких пределах. Чтобы связать множество записей об изображениях с множеством записей о парковочных местах, используется таблица «Парковочное место - изображение». Каждая запись данной таблицы содержит ссылки на парковочное место и изображение, действующее в определённых временных пределах. Для непосредственного сравнения изображения с камеры с эталонным изображением необходимо хранить обозначенные контуры парковочных мест. Для этого в таблице «Точка контура» создаются записи, в каждую из которых вносятся относительные координаты точки контура на эталонном изображении (по горизонтальной и вертикальной осям), порядковый номер точки в контуре, а также ссылка на соответствующее парковочное место. Редактор контуров парковочных мест. Редактор контуров парковочных мест - программа, предназначенная для создания и изменения контуров парковочных мест на изображении с камеры видеонаблюдения парковки. Редактор используется при построении ИГМ для идентификации отдельных парковочных мест. Редактор предоставляется оператору системы поддержки работы веб-приложения. Редактор контуров парковочных мест предназначен для выделения контуров парковочных мест, которые в дальнейшем анализируются веб-приложением для обработки состояния парковочных мест. Редактор написан на языке C#. Редактор контуров осуществляет взаимодействие с базой данных парковочных мест. На рис. 11 представлена архитектура редактора. Рис. 11. Архитектура редактора контуров парковочных мест На вход редактора подается изображение парковки (рис. 12). Пользователь может изменять размер изображения для более удобной работы с ним. После начальной подготовки необходимо задать контуры, обозначающие места, на которых в дальнейшем будут припаркованы машины. Минимальный контур может состоять из трёх точек, в то время как максимального ограничения нет. Существует также возможность редактирования контуров. Координаты точек хранятся в специальном классе Contours. Рис. 12. Окно редактора контуров парковочных мест Модуль загрузки изображения отвечает за выбор и загрузку эталонного изображения парковочных мест. Изображение парковочных мест передается в модуль редактирования контуров и модуль отображения графической информации. Модуль отображения графической информации позволяет визуализировать изображение и контуры парковочных мест стоянки для редактирования контуров пользователем. Изображение парковки берется из модуля загрузки изображения. Отображаемые контуры извлекаются из модуля редактирования контуров. Результаты и выводы В качестве тестовой реализации DyNaM редактор контуров и веб-приложение были апробированы на потоковом видео с парковки (рис. 13). Рис. 13. Интерфейс DyNaM с визуализацией ИГМ в различные периоды времени В ходе тестирования все состояния парковочных мест были определены правильно. Предложенный метод динамического управления построен на информационно-графической модели, что дает возможность целенаправленной навигации на открытых парковках значительной площади, не оснащенных специальным сигнализирующим оборудованием, детекторами занятости и контрольно-пропускными системами. В ходе исследования разработана автоматизированная система DyNaM для динамического управления навигацией на открытых парковках крупных ТРК, включающая: 1) редактор контуров для настройки контуров парковочных мест площадки. В перспективе первоначальное нанесение контуров планируется выполнять с помощью методов распознавания образов с учетом имеющейся разметки парковки; 2) обработчик изображений, позволяющий оценивать текущее состояние парковочных мест по данным потокового видео с камер видеонаблюдения. Функционирование обработчика основано на методе вычитания фона на базе алгоритма марковских случайных полей. Дополнение обработчика способом актуализации данных ИГМ позволяет осуществлять идентификацию занятости парковочных мест; 3) веб- и мобильное приложения для пользователей, позволяющие получать доступ к информации о текущем состоянии парковочных мест с возможностью их резервирования. Клиентское приложение включает модуль взаимодействия с пользователем и веб-браузер, предоставляющий удобный интерфейс. Применение разработанного приложения будет способствовать повышению эффективности работы парковочных территорий ТРК за счет сокращения заторов, экономии времени автовладельцев на поиск свободного места и максимальной равномерности заполнения территории парковки, что в конечном итоге позволит увеличить доходность ТРК ввиду повышения уровня оборота транспортных средств.