Перейти к содержанию

Python-модуль передачи данных во внешние системы#

В CARS Stream передача информации о детектировании ТС и ГРЗ во внешние системы (CARS API, CARS Analytics) происходит посредством python-модуль «callback_manager.py».

Данные обрабатываются методом «process_callback». Данная функция принимает набор детекций и распознаваний в формате ключ-значение.

Пример ответа в формате JSON:

{
                    'trackId' (int): 12,
                    'vehicleData' (dict): {
                        'licensePlate' (str): 'H919CH40',
                        'licensePlateScore' (double): 0.999257,
                        'vehicleType' (str): 'B',
                        'vehicleTypeScore' (double): 0.999257,
                        'vehicleEmergencyType' (str): 'not_emergency',
                        'vehicleEmergencyTypeScore' (double): 0.98,
                        'carBrand' (str): 'Kia',
                        'carBrandModel' (str): 'Cerato',
                        'carBrandModelScore' (double): 0.999257,
                        'country' (str): 'RUS',
                        'countryScore' (double): 0.997342,
                        'carImg' (numpy.ndarray, optional): [...],
                        'licensePlateImg' (numpy.ndarray, optional): [...],
                    },
                    'detections' (list(dict)): [{
                        'frameId' (int): 12,
                        'x' (int): 1282,
                        'y' (int): 1390,
                        'width' (int): 200,
                        'height' (int): 120,
                    }, ...],
                    'operation' (str): 'recogn_update',
         }

Блоки «trackId» и «vehicleData» включают в себя общую информацию о ТС и ГРЗ.

Описание полей «trackId» и «vehicleData» приведено в Таблице 12.

Таблица 12. Описание полей «trackId» и «vehicleData»

Поле Значение Тип
trackId Идентификатор трека Int
licensePlate Символы ГРЗ String
licensePlateScore Точность определения данных ГРЗ Double
vehicleType Тип ТС String
vehicleTypeScore Точность определения типа ТС Double
vehicleEmergencyType Принадлежность к экстренному транспорту String
vehicleEmergencyTypeScore Точность распознавания типа экстренной службы Double
carBrand Марка ТС String
carBrandModel Модель ТС String
carBrandModelScore Точность распознавания марки и модели ТС Double
country Страна принадлежности ГРЗ String
countryScore Точность распознавания страны Double
carImg Изображение ТС в виде numpy массива numpy.ndarray
licensePlateImg Изображение ГРЗ в виде numpy массива numpy.ndarray

Блок «detections» включает в себя информацию о положении ТС и ГРЗ на кадре.

Описание полей «detections» приведено в Таблице 13.

Таблица 13. Описание полей «detections»

Поле Значение Тип
frameId Идентификатор BBox ТС Int
x x координата BBox Int
y y координата BBox Int
width Ширина BBox Int
height Высота BBox Int

Поле «operations» включает в себя тип производимой операции.

Описание возможных значений поля «operations» приведено в Таблице 14.

Таблица 14. Описание возможных значений «operations»

Значение Описание Тип
recogn_update Лучший кадр текущего трека String
track_end Событие окончания трека String