Комплекс фото- видеофиксации нарушений правил дорожного движения

Аист-контроль

Описание специального программного обеспечения для управления и функционирования аппаратно-проммных комплексов "Аист-Контроль" (СПО "AISTCONTROL")

Москва, 2021 год

Содержание

1. Введение. 3

2. Структура AISTCONTROL. 4

2.1. Перечень и описание программных модулей, входящих в состав AISTCONTROL АПК 4

2.1.1. Модуль сбора данных. 5

2.1.2. Ядро AISTCONTROL. 5

2.1.3. Модуль аналитики и распознавания. 6

2.1.4. Модуль диагностики и статистики. 6

2.1.5. Удаленный модуль доступа к данным.. 6

3. Описание функциональных характеристик программного обеспечения. 7

3.1. Процессы взаимодействия модулей и компонентов, входящих в состав AISTCONTROL АПК. 7

3.2. Процессы взаимодействия AISTCONTROL с внешними устройствами. 9

3.3. Процессы взаимодействия AISTCONTROL с внешними информационными системами. 11

4. Методы и средства разработки AISTCONTROL. 13

5. Операционная система. 13






1. Введение

Специальное программное обеспечение для управления и функционирования аппаратно-программных комплексов "Аист-Контроль"
(далее - AISTCONTROL) комплекса фото- видеофиксации нарушений правил дорожного движения Аист-контроль (далее АПК) разделяется на несколько прикладных частей, в зависимости от назначения, а именно:

- анализ изображений с целю поиска транспортных средств в зоне контроля АПК;

- обработка анализа изображений и формирование информации (пакета данных) о параметрах движения найденного транспортного средства в зоне контроля;

- удаленная настройка и контроль состояния параметров работы АПК.

Часть, отвечающая за анализ изображений — это специальное программное обеспечение, которое обрабатывает видеокадры, поступающие каждые 40 от камер машинного зрения на вычислительный модуль, установленный внутри АПК и вычисляет автомобили с установленными государственными регистрационными знаками (ГРЗ), пересекающие зону контроля.

Часть, отвечающая за обработку изображений после анализа и формирование информации - это специальное программное обеспечение АПК, которое собирает характеристики о движении транспортного средства (в т.ч. включая в себя метрологическую часть, с расчетами скорости движения ТС и привязки его положении на проезжей части к точному сигналу времени), формирует пакет данных о характеристиках движения. Расширенное описание работы представлено в документе «Описание алгоритмов распознавания»

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

2. Структура СПО AISTCONTROL

Структурная схема СПО AISTCONTROL АПК Аист-контроль представлена на рисунке 1.



1.1. Перечень и описание программных модулей, входящих в состав СПО AISTCONTROL АПК

В состав СПО AISTCONTROL АПК Аист-контроль входят следующие основные модули:

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

- Ядро СПО AISTCONTROL- является основным центральным модулем СПО AISTCONTROL АПК.

- Модуль аналитики и распознавания - осуществляет анализ поступившей информации от модуля сбора данных покадровым методом

- Модуль диагностики и статистики - осуществляет сбор и передачу информации и параметров функциональных составляющих

- Удаленный модуль доступа к данным CloudProxy - представляет из себя VPN сервис, обеспечивающий доступ к различного рода данным АПК через внешний облачный сервер.

1.1.1. Модуль сбора данных

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

1.1.2. Ядро СПО AISTCONTROL

Ядро - является основным центральным модулем СПО AISTCONTROL АПК, работа которого происходит без остановки, с постоянным нахождением в ОЗУ вычислительного модуля АПК.

Ядро СПО AISTCONTROL АПК состоит их нескольких специализированных модулей, функционирующих в постоянном режиме, вне зависимости от признаков подтверждения наличия ТС в кадре модулем аналитики. В состав Ядра входят такие модули как:

- Обработчик результатов анализа RESQ.

- Кольцевые буферы.

- WEB сервер.

- Компонент подготовки данных для внешних систем.

- Компонент управления и синхронизации внешними устройствами АПК.



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

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

Компонент подготовки данных для внешних систем служит аккумуляторам сбора данных, подготовленных обработчиком с использованием кольцевых буферов для конечного потребления. Модуль формирует пакет данных (фотографии ТС в зоне контроля с указанием параметров, файл данных и файл цифровой подписи), архивирует его в формат *.TAR и делает доступным для внешних систем, путем выкладывания на путь доступный из вне, либо путем отправки на внешний сервер, с использованием протокола FTP.

Компонент управления и синхронизации внешними устройствами АПК обеспечивает верхнеуровневое управление аппаратным блоком управления внешними устройствами. Данный блок обеспечивает распределение электропитание такими аппаратным блокам, таким как: импульсный ИК-прожектор, LTE-модем, GPS/Глонасс-приемник, модуль управления объективом и т.д. Управление синхронизацией данного оборудования, входящего в состав АПК, в зависимости от решаемых задач выполняется модулем управления и синхронизации внешними устройствами.

1.1.3. Модуль аналитики и распознавания

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

1.1.4. Модуль диагностики и статистики

Модуль диагностики и статистики осуществляет сбор и передачу информации и параметров функциональных составляющих состояния аппаратных компонентов АПК, а также обработанных данных, доступных для внешних систем.

1.1.5. Удаленный модуль доступа к данным

Удаленный модуль доступа к данным CloudProxy представляет из себя openvpn сервис, обеспечивающий доступ к различного рода данным АПК через внешний облачный сервер. За счет данного модуля пользователь может получать данные от АПК, включая обработанные и «сырые» данные, осуществлять настройки конфигурации АПК, получать статистику параметров аппаратных составляющих АПК (таких как температура в различных точках АПК, напряжение питания аппаратных модулей, текущие координаты АПК, состояние дискового пространства и т.д.). Кроме этого, модуль обеспечивает автоматическое обновление программного обеспечения АПК.






2. Описание функциональных характеристик программного обеспечения

2.1. Процессы взаимодействия модулей и компонентов, входящих в состав СПО AISTCONTROL АПК

Данные от внешних устройств, представляющих из себя источники получения видеоизображения в виде видеопотока или в виде набора изображений области контроля движения ТС, поступают в модуль сбора данных. Достигая определенного значения (в зависимости от разрешения источника данных, параметр может варьироваться от нескольких килобайт до нескольких мегабайт), за счет Ядра, данные передаются в модуль аналитики и распознавания, где происходит покадровый анализ полученной информации, с применением алгоритмов, описанных в п. 2.1.

Обработанная модулем аналитики информация, с помощью механизмов взаимодействия, организованных ядром СПО AISTCONTROL, передается в обработчик результата RESQ, который, в свою очередь, фиксирует значения характеристик параметров движения обнаруженного в зоне контроля ТС, в зависимости от настроек параметров АПК. Как правило, в состав таких характеристик входят:

- координаты пластины номерного знака ТС с проекцией на зону контроля (x,y);

- высота и ширина;

- значение ГРЗ;

- время;

- и т.д. (зависит от настроек регистрируемых параметров).

В свою очередь, обработчик результатов, используя матрицу кольцевых буферов с уникальными динамическими ID, организованными в соответствии обнаруженными модулем аналитики ТС в зоне контроля, выстраивает треки движения ТС по точкам обнаружения рамки ГРЗ в зоне контроля и позволяет определить параметры движения ТС, такие как скорость, траектория движения, нахождение в пространстве и т.д. Например: при фиксации первого кадра, на котором распознается рамка и сам ГРЗ (въезд ТС в зону контроля АПК), запоминается время его фиксации, затем, в зависимости от скорости движения ТС, регистрируется еще несколько кадров, следующие через четко определенный интервал времени, синхронизированного с частотой кадров видеокамеры, входящей в состав АПК, на которых изображено ТС с видимым ГРЗ, пока ТС не уедет из поля зрения видеокамеры. Модуль фиксирует последний кадр, на котором распознается ГРЗ (выезд ТС из зоны контроля видеокамеры), запоминает время его фиксации. Определив количество кадров, поступивших между первым и последним, модуль рассчитывает время движения ТС в зоне контроля от положения, зафиксированного на первом кадре, до положения, зафиксированного на последнем кадре (учитывая, что межкадровый интервал является константой), после чего, модуль определяет скорость движения транспортного средства как отношение пройденного расстояния зоны ко времени.

За счет использования пула кольцевых буферов с уникальным идентификатором, полученным при получении данных об обнаружении ТС, обработка параметров движения происходит нескольких ТС, попавших в зону контроля. Лимит количества кольцевых буферов ограничивается объемом оперативной памяти, без использования кэширования жесткого диска. Текущая конфигурация аппаратного обеспечения АПК позволяет организовать отслеживание не менее 40-ка целей одновременно.

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

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

Модуль диагностики и статистики heartbeat получает данные от блока управления внешними устройствами раз в 5 минут передает их на удаленный модуль доступа к данным. В состав таких данных входят:

- температура вычислительного блока;

- температура в корпусе;

- напряжения на различных модулях АПК;

- количество спутников;

- текущие координаты комплекса и время;

- значения дискового пространства;

- и т.д.

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



2.2. Процессы взаимодействия СПО AISTCONTROL с внешними устройствами

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

Значения показания датчиков передаются в модуль из блока управления внешними устройствами, имеющего собственное программное обеспечение низкого уровня, позволяющего управлять электропитанием и взаимодействием шин данных внешних устройств. Программное обеспечение блока управление основано на взаимодействии списка команд микроконтроллера MSP430 с командами, поступающими от модуля управления и синхронизации внешними устройствами.

Микроконтроллер MSP430 обеспечивает взаимодействие внешних устройств АПК Аист-контроль между собой, за счет драйверной компоненты разработанного модуля управления и синхронизации с внешними устройствами.

MSP430 может практически моментально переходить в активный режим из режимов LPM. Столь динамичный переход происходит за счет крайне малого времени выхода осциллятора DCO на устойчивый режим работы: возрастание частоты до 25 МГц не более чем за 1 мкс. Эта возможность очень важна для приложений, работающих в режимах пониженного энергопотребления, т.к. позволяет эффективно использовать ЦПУ в короткие моменты пробуждения и увеличить время пребывания в режимах LPM.

Сброс при понижении напряжения (BOR) в режиме сверхмалого потребления. В MSP430 защита BOR постоянно включена во всех режимах, что гарантирует максимальную надежность даже в режимах сверхнизкого потребления. BOR обнаруживает снижение напряжения ниже допустимого уровня и сбрасывает МК, когда питание восстанавливается. Это особенно важно при питании от батарей.

Схема взаимодействия аппаратных компонентов АПК Аист-контроль, обеспеченная модулем сопряжения и обработки сигналов компонент, разработанного на базе МК MSP430, с учетом применения источника возобновляемой электроэнергии показана на Рисунке 3.
Синяя - Шины электропитания

Оранжевая - Шины передачи данных





1.1. Процессы взаимодействия СПО AISTCONTROL с внешними информационными системами

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

Модуль подготовки данных формирует и помещает локально на собственный носитель или отсылает на заранее заданный внешний сетевой диск внешней системы, либо использует FTP протокол для передачи данных на внешней сервер сторонней системы ЦОД или ЦАФАП *.TAR архив, состоящий из комплекта файлов, а именно:

- фотографии проезда (при нарушении ПДД – подборка снимков);

- файла цифровой подписи для данного пакета;

- XML файла в формате, принимаемом большинством систем обработки данных, установленных в ЦАФАП.

Формат XML файла в составе пакет выглядит следующим образом:



<?xml version="1.0" encoding="windows-1251"?>

<report>

<targetinfo>

<nAIST>4.4.1.21420</nAIST>

<nImagePresent>1</nImagePresent>

<nSize>88909</nSize>

<nImageWidth>0</nImageWidth>

<nImageHeight>0</nImageHeight>

<nRadarPresent>0</nRadarPresent>

<nDisplaySpeed>57</nDisplaySpeed>

<tRadarName>СВН ПДД &quot;АИСТАПКquot;</tRadarName>

<tDeviceSerial>00.03-06 17-1 42007</tDeviceSerial>

<tCertificateNumber>08/2858</tCertificateNumber>

<tChannel>0</tChannel>

<tCertificateExpDate>10.07.2019</tCertificateExpDate>

<tSensorName>5км+200м

P-001 &quot;____________МЕСТО____&quot;</tSensorName>

<tLocationCode>000000000</tLocationCode>

<nSpeedThreshold>90</nSpeedThreshold>

<nTimeRedLight>0</nTimeRedLight>

<nCarLength>4.4</nCarLength>

<tLatitude>33.28573</tLatitude>

<tLongitude>54.88994</tLongitude>

<nDirection>1</nDirection>

<nDatetime>1547527297</nDatetime>

<nTZOffset>+3.00</nTZOffset>

<tTargetGlobalUID>00dea0d42a93d0699c173cc0a72f5a29</tTargetGlobalUID>

<tPCross>0</tPCross>

<nOverSpeed>0</nOverSpeed>

<nParkALine>0</nParkALine>

<tStayRestrict>0</tStayRestrict>

<nRedLight>0</nRedLight>

<nStopLine>0</nStopLine>

<tPPrior>0</tPPrior>

<nWrongDirection>0</nWrongDirection>

<nWrongLine>0</nWrongLine>

<nWrongDirection>0</nWrongDirection>

<nWrongTurn>0</nWrongTurn>

<nTramways>0</nTramways>

<tPCross>0</tPCross>

<tLicenseNumber>К182КК06</tLicenseNumber>

<nRectNumX1>618</nRectNumX1>

<nRectNumY1>839</nRectNumY1>

<nRectNumX2>618</nRectNumX2>

<nRectNumY2>889</nRectNumY2>

<nRectNumX3>821</nRectNumX3>

<nRectNumY3>839</nRectNumY3>

<tTargetGlobalUID>00dea0d42a93d0699c173cc0a72f5a29</tTargetGlobalUID>

</targetinfo>

</report>






2. Методы и средства разработки программного обеспечения

Разработка специального программного обеспечения выполнена с помощью следующих средств и методов программирования:

1. GNU Compiler Collection – набор компиляторов для языков программирования C++.

2. Make – автоматизирована среда компиляции, сборки и компоновки

3. NVIDIA TensorRT – Среда оптимизирования, проверки и развертывания натренированных нейронных сетей.

4. Docker.io - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

5. Caffe - среда для глубинного обучения.

6. NVIDIA CUDA Deep Neural Network (cuDNN) – библиотека обучения глубоких нейронных сетей.





5. Операционная система

СПО AISTCONTROL «Аист-контроль» разработано для работы на операционной системе Ubuntu Linux 18.03. Не рекомендуется использование отличных версий ОС в связи с возможной некорректной работы отдельных компонентов.

Made on
Tilda