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 |