Функциональные характеристики
ООО «А-РИАЛ» Системы измерительные «СТАЛКЕР»
Описание функциональных характеристик специального программного обеспечения «Stalker 1.1 beta»
Москва, 2022 год

Содержание
1. Введение
2. Структурная схема состава СПО
2.1. Перечень и описание программных модулей, входящих в состав СПО АПК 4
2.1.1. Модуль сбора данных
2.1.2. Ядро СПО
2.1.3. Модуль аналитики и распознавания
2.1.4. Модуль диагностики и статистики
2.1.5. Удаленный модуль доступа к данным
3. Функциональные характеристики СПО
3.1. Описание процессов взаимодействия модулей и компонентов, входящих в состав СПО АПК
3.2. Описание процессов взаимодействия СПО с внешними устройствами
3.3. Описание процессов взаимодействия доработанного СПО АПК с внешними информационными системами
4. Методы и средства разработки программного обеспечения
5. Операционная система

1. Введение
Специальное программное обеспечение (далее - СПО) для систем измерительных «СТАЛКЕР» (далее – АПК (аппаратно-программный комплекс)), разделяется на несколько прикладных частей, в зависимости от назначения, а именно:

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

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

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

Часть, отвечающая за удаленную настройку, позволяет удаленному пользователю получать текущие значения настроек АПК, изменять их, а также осуществлять мониторинг рабочих параметров комплекса, получать текущие видеоизображения от камер АПК, собирать статистику по работе прибора, в т.ч. о зафиксированных проездах ТС в зоне контроля АПК.
2. Структурная схема состава СПО
Структурная схема состава СПО «Stalker 1.1 beta» представлена на рисунке 1
2.1. Перечень и описание программных модулей, входящих в состав СПО АПК
В состав СПО АПК входят следующие основные модули:
- Модуль сбора данных - осуществляет первичный сбор информации (изображений и данных о параметрах движения ТС в зоне контроля АПК), поступающих от камеры машинного зрения и радиолокационного модуля.
- Ядро СПО - является основным центральным модулем СПО АПК.
- Модуль аналитики и распознавания - осуществляет анализ поступившей информации от модуля сбора данных
- Модуль диагностики и статистики - осуществляет сбор и передачу информации и параметров функциональных составляющих
- Удаленный модуль доступа к данным - представляет из себя VPN сервис, обеспечивающий доступ к различного рода данным АПК через внешний облачный сервер.
2.1.1. Модуль сбора данных
Модуль сбора данных осуществляет первичный сбор информации (изображений и данных о параметрах движения ТС в зоне контроля АПК), поступающих от камеры машинного зрения и радиолокационного модуля.
Модуль ориентирован на различные форматы предоставления видеоинформации от оборудования, как в виде принятия RTSP потока, так и в виде набора кадров в любом графическом формате. Данные от радарного модуля поступают в модуль сбора данных в соответствии с установленным протоколом обмена, разработанным производителем оконечного устройства. Интерфейс передачи – CAN.
2.1.2. Ядро СПО
Ядро - является основным центральным модулем СПО АПК, работа которого происходит без остановки, с постоянным нахождением в ОЗУ вычислительного модуля АПК.

Ядро СПО АПК состоит их нескольких специализированных модулей, функционирующих в постоянном режиме, вне зависимости от признаков подтверждения наличия ТС в кадре модулем аналитики. В состав Ядра входят такие модули как:
- Обработчик результатов анализа.
- Кольцевые буферы. - WEB сервер.
- Компонент подготовки данных для внешних систем.
- Компонент управления и синхронизации внешними устройствами АПК.
Обработчик результатов анализа необходим для обработки результатов, поступающих в ядро от модуля аналитики. В зависимости от настроек, результатом работы модуля является значение характеристик параметров движения ТС, оказавшегося в зоне контроля АПК.
Кольцевые буферы служат для сбора данных от обработчика результатов по каждому обнаруженному модулем аналитики ТС в кадре, обеспечивая расчет параметров движения ТС обработчиком в зоне в параллельном режиме, позволяя производить материал для модуля подготовки данных для нескольких целей одновременно, при этом, материал, в зависимости от настроек, подготавливается с флагами фиксации заложенных нарушений ПДД, либо обычной фиксации проезда, с сохранением параметров движения и атрибутов зафиксированного транспортного средства.
Компонент подготовки данных для внешних систем служит аккумуляторам сбора данных, подготовленных обработчиком с использованием кольцевых буферов для конечного потребления. Модуль формирует пакет данных (фотографии ТС в зоне контроля с указанием параметров движения ТС, файл данных и файл цифровой подписи), архивирует его в формат *.TAR и делает доступным для внешних систем, путем копирования на путь доступный из вне, либо путем отправки на внешний сервер, с использованием протокола FTP.
Компонент управления и синхронизации внешними устройствами АПК обеспечивает верхнеуровневое управление аппаратным блоком управления внешними устройствами. Данный блок обеспечивает распределение электропитание такими аппаратным блокам, таким как: импульсный ИК-прожектор, LTE-модем, GPS/Глонасс-приемник, модуль управления объективом, радиолокационный модуль и т.д. Управление синхронизацией данного оборудования, входящего в состав АПК, в зависимости от решаемых задач выполняется модулем управления и синхронизации внешними устройствами.
2.1.3. Модуль аналитики и распознавания
Модуль аналитики и распознавания осуществляет анализ поступившей информации от модуля сбора данных, который позволяет произвести поиск транспортного средства в зоне контроля АПК за счет применения доплеровского метода, используемого в радиолокационном модуле и дальнейшего поиска границ номерного знака ТС, с применением обученных каскадов Хаара, который, в свою очередь, позволят анализировать область на предмет наличия в ней характерных для номера отношений, точек или градиентов. Метод достаточно устойчив, т.к. основан на специально синтезированном преобразовании. Модуль аналитики привязывает найденную рамку ГРЗ к ТС, с полученными данными от радиолокационного модуля о расстоянии ТС с данной рамкой, относительно АПК.
2.1.4. Модуль диагностики и статистики
Модуль диагностики и статистики осуществляет сбор и передачу информации и параметров функциональных составляющих состояния аппаратных компонентов АПК, а также обработанных данных, доступных для внешних систем.
2.1.5. Удаленный модуль доступа к данным
Удаленный модуль доступа к данным представляет из себя vpn сервис, обеспечивающий доступ к различного рода данным АПК через внешний облачный сервер. За счет данного модуля пользователь может получать данные от АПК, включая обработанные и «сырые» данные, осуществлять настройки конфигурации АПК, получать статистику параметров аппаратных составляющих АПК (таких как температура в различных точках АПК, напряжение питания аппаратных модулей, текущие координаты АПК, состояние дискового пространства и т.д.). Кроме этого, модуль обеспечивает автоматическое обновление программного обеспечения АПК.
3. Функциональные характеристики СПО
3.1. Описание процессов взаимодействия модулей и компонентов, входящих в состав СПО АПК
Данные от внешних устройств, представляющих из себя источники получения видеоизображения в виде видеопотока или в виде набора изображений области контроля движения ТС, а также данные с параметрами движения ТС в зоне контроля, поступающие от радиолокационного модуля, поступают в модуль сбора данных. Достигая определенного значения (в зависимости от разрешения источника данных, параметр может варьироваться от нескольких килобайт до нескольких мегабайт), за счет Ядра, данные передаются в модуль аналитики и распознавания, где происходит анализ полученной информации.
Обработанная модулем аналитики информация, с помощью механизмов взаимодействия, организованных ядром СПО, передается в обработчик результатов, который, в свою очередь, фиксирует значения характеристик параметров движения обнаруженного в зоне контроля ТС, в зависимости от настроек параметров АПК. Как правило, в состав таких характеристик входят:
- координаты пластины номерного знака ТС;
- скорость движения ТС; -
тип ТС (грузовой, легковой, мотоцикл);
- высота и ширина рамки ГРЗ;
- значение ГРЗ;
- время;
- и т.д. (зависит от настроек регистрируемых параметров).
В свою очередь, обработчик результатов, используя матрицу кольцевых буферов с уникальными динамическими ID, организованными в соответствии обнаруженными модулем аналитики ТС в зоне контроля, делает привязку найденной в пространстве рамки ГРЗ к зафиксированному радиолокационным методом ТС.
За счет использования пула кольцевых буферов с уникальным идентификатором, полученным при получении данных об обнаружении ТС, обработка параметров движения происходит сразу нескольких ТС, попавших в зону контроля. Лимит количества кольцевых буферов ограничивается объемом оперативной памяти, без использования кэширования жесткого диска. Конфигурация аппаратного обеспечения АПК позволяет организовать отслеживание не менее 60-ти целей одновременно. После обработки, данные передаются в модуль подготовки данных для внешних систем, где формируется пакет данных, характеризующих проезд транспортного средства через зону контроля, архивируется и помещается на общедоступный ресурс, организованный через WEB-сервер, входящий в состав Ядра СПО.
Для обеспечения управления электропитанием и обменом информации при синхронизации внешних модулей, входящих в состав АПК, используется модуль управления и синхронизации внешними устройствами АПК. Работа данного модуля основана на настройках параметров функционирования АПК, а также показаниях датчиков, входящих в состав АПК. Значения показания датчиков передаются в модуль из блока управления внешними устройствами, имеющего собственное программное обеспечение низкого уровня, позволяющего управлять электропитанием и взаимодействием шин данных внешних устройств. Программное обеспечение блока управление основано на взаимодействии списка команд микроконтроллера MSP430 с командами, поступающими от модуля управления и синхронизации внешними устройствами.
Модуль диагностики и статистики получает данные от блока управления внешними устройствами и раз в 5 минут передает их на удаленный модуль доступа к данным. В состав таких данных входят:
- температура вычислительного блока;
- температура в корпусе; -
напряжения на различных модулях АПК;
- количество спутников;
- текущие координаты комплекса и время;
- значения дискового пространства;
- и т.д.
Доступ к данным модуля диагностики, а также к данным модуля сбора данных обеспечивается за счет удаленного модуля доступа к данным по протоколу HTTP, за счет доступа к облачному ресурсу, где организовывается сбор данных от модуля подготовки данных и модуля диагностики и статистики.
3.2. Описание процессов взаимодействия СПО с внешними устройствами
Как описывалось ранее, для обеспечения управления электропитанием и обменом информации при синхронизации внешних модулей, входящих в состав АПК, используется модуль управления и синхронизации внешними устройствами АПК. Работа данного модуля основана на настройках параметров функционирования АПК, а также показаниях датчиков, входящих в состав АПК.
Значения показания датчиков передаются в модуль из блока управления внешними устройствами, имеющего собственное программное обеспечение низкого уровня (микрокод), позволяющего управлять электропитанием и взаимодействием шин данных внешних устройств. Программное обеспечение блока управление основано на взаимодействии списка команд микроконтроллера MSP430 с командами, поступающими от модуля управления и синхронизации внешними устройствами. Микроконтроллер MSP430 обеспечивает взаимодействие внешних устройств АПК между собой, за счет драйверной компоненты разработанного модуля управления и синхронизации с внешними устройствами.
MSP430 может практически моментально переходить в активный режим из режимов LPM. Столь динамичный переход происходит за счет крайне малого времени выхода осциллятора DCO на устойчивый режим работы: возрастание частоты до 25 МГц не более чем за 1 мкс. Эта возможность очень важна для приложений, работающих в режимах пониженного энергопотребления, т.к. позволяет эффективно использовать ЦПУ в короткие моменты пробуждения и увеличить время пребывания в режимах LPM.
Сброс при понижении напряжения (BOR) в режиме сверхмалого потребления. В MSP430 защита BOR постоянно включена во всех режимах, что гарантирует максимальную надежность даже в режимах сверхнизкого потребления. BOR обнаруживает снижение напряжения ниже допустимого уровня и сбрасывает МК, когда питание восстанавливается. Это особенно важно при питании от аккумуляторов.
Рис. 2. Сверхбыстрый старт DCO за 1 мкс.
Функциональная схема взаимодействия аппаратных компонентов АПК, обеспеченная модулем сопряжения и обработки сигналов компонент, разработанного на базе МК MSP430, показана на Рисунке 3.
Рис. 3. Функциональная схема взаимодействия компонентов АПК мониторинга дорожной ситуации
3.3. Описание процессов взаимодействия доработанного СПО АПК с внешними информационными системами
Как было описано выше, взаимодействие с внешними подсистемами, в доработанном СПО АПК, осуществляется за счет модуля подготовки данных для внешних систем, а так же за счет встроенного в Ядро WEB-сервера, позволяющего осуществлять доступ от внешних подсистем к заранее определенных пользователем локальным ресурсам, где формируется пакет данных, необходимых для фиксации нарушения ПДД или фиксации проезда через зону контроля ТС.
Модуль подготовки данных формирует и помещает локально на собственный носитель или отсылает на заранее заданный внешний сетевой диск внешней системы, либо использует FTP протокол для передачи данных на внешней сервер сторонней системы ЦОД или ЦАФАП *.TAR архив, состоящий из комплекта файлов, а именно:
- фотографии проезда (при нарушении ПДД
– подборка снимков);
- файла цифровой подписи для данного пакета;
- XML файла в формате, принимаемом большинством систем обработки данных, установленных в ЦАФАП.
Формат XML файла в составе пакет выглядит следующим образом:

4. Методы и средства разработки программного обеспечения
Разработка специального программного обеспечения выполнена с помощью следующих средств и методов программирования: 1. GNU Compiler Collection – набор компиляторов для языков программирования C++.
2. Make – автоматизирована среда компиляции, сборки и компоновки
3. NVIDIA TensorRT – Среда оптимизирования, проверки и развертывания натренированных нейронных сетей.
4. Docker.io - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.
5. Caffe - среда для глубинного обучения.
6. NVIDIA CUDA Deep Neural Network (cuDNN) – библиотека обучения глубоких нейронных сетей.
5. Операционная система
СПО АПК разработано для работы на операционной системе Ubuntu Linux 18.ХХ
Рис.1. Структурная схема СПО «Stalker 1.1 beta»
Made on
Tilda