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 |