Перейти к основному содержимому
Версия: 2.9.0 (последняя)

Отправка сырых данных трекинга

OMNI Agent позволяет отправлять сырые данные трекинга лиц и силуэтов людей во внешние системы.

Поддерживаемые протоколы:

  • MQTT.
    • Данные будут отправляться на MQTT топик <default_mqtt_topic> \ <тип сырых данных>. Например, events\body_tracking

Спецификация сырых данных

Обнаружение и трекинг силуэтов (body_tracking)
{
// информация об источнике видеопотока
"stream_name":"rtsp://user:password@your/stream/path",
"stream_title":"your_title",
"stream_uuid":"3325d094-2e01-4199-931d-876200ed5b68",
"__positional_camera_index":0,
"camera_status":2,
"camera_status_msg":"CAMERA_OK",
"camera_type":"native",

// информация о кадре
"timestamp_millisec":1720777422166,
"camera_frame_data": {
"frame_index":5457,
"timestamp_microsec":1720777422166462,
"timestamp_millisec":1720777422166
},
"image": {
"color_space":"BGR",
"dtype":"uint8_t",
"format":"NDARRAY",
"shape":[1080,1920,3]
},
"is_benchmark_frame":false,

// информация об отслежваемых объектах в кадре
"objects":[
{
"bbox": [0.3569, 0.5603, 0.5064, 1.0],
"class":"body",
"confidence":0.6813,
"id":2,
"object_id":"4165cad2-49b6-40ce-a4f5-44eb363a4080"
}
]
}
Потеря силуэта (body_lost)
{
// информация об источнике видеопотока
"stream_name":"rtsp://user:password@your/stream/path",
"stream_title":"your_title",
"stream_uuid":"3325d094-2e01-4199-931d-876200ed5b68",
"__positional_camera_index":0,
"camera_status":2,
"camera_status_msg":"CAMERA_OK",
"camera_type":"native",

// информация о кадре
"timestamp_millisec":1720777422166,
"camera_frame_data": {
"frame_index":5457,
"timestamp_microsec":1720777422166462,
"timestamp_millisec":1720777422166
},
"image": {
"color_space":"BGR",
"dtype":"uint8_t",
"format":"NDARRAY",
"shape":[1080,1920,3]
},
"is_benchmark_frame":false,

// информация о потерянных объектах
"objects":[
{
"class":"body",
"id":9,
"object_id":"1299150a-3927-4474-8ffb-fde7b36a5eb1"
}
]
}
Обнаружение и трекинг лиц (face_tracking)
{
// информация об источнике видеопотока
"stream_name":"rtsp://user:password@your/stream/path",
"stream_title":"your_title",
"stream_uuid":"3325d094-2e01-4199-931d-876200ed5b68",

// информация о кадре
"timestamp_millisec":1720777422166,
"camera_frame_data": {
"frame_index":5457,
"timestamp_millisec":1720777422166
},
"image": {
"color_space":"BGR",
"dtype":"uint8_t",
"format":"NDARRAY",
"shape":[1080,1920,3]
},
"is_benchmark_frame":false,

// информация об отслеживаемых лицах в кадре
"objects":[
{
"__full_frame_bbox":[0.5796875,0.436111,0.615625,0.511111],
"__index":0,
"angles":{
"pitch":-56.2355,
"roll":4.3686,
"yaw":36.3418
},
"bbox":[0.5796875,0.436111,0.615625,0.511111],
"class":"face",
"confidence":1.0,
"detection_meta": {
"confirmed":1,
"good_face_size":1,
"good_light_and_blur":-1
},
"id":16175631120106950574,
"is_weak":true,
"quality":-1292.4166,
"visibility_score":0.9879
}
]
}
Потеря лица (face_lost)
{
// информация об источнике видеопотока
"stream_name":"rtsp://user:password@your/stream/path",
"stream_title":"your_title",
"stream_uuid":"3325d094-2e01-4199-931d-876200ed5b68",

// информация о кадре
"timestamp_millisec":1720779397441,
"camera_frame_data": {
"frame_index":64664,
"timestamp_millisec":1720779397441
},
"image": {
"color_space":"BGR",
"dtype":"uint8_t",
"format":"NDARRAY",
"shape":[1080,1920,3]
},
"is_benchmark_frame":false,

// информация о потерянных объектах лиц
"hashed_face_id":12542825825967542253,
"objects":[
{
"__full_frame_bbox":[0.9140625,0.5453703,0.9401041,0.58518518],
"angles":{
"pitch":-12.0049,
"roll":84.8848,
"yaw":27.7249
},
"bbox":[0.9140625,0.5453703,0.9401041,0.58518518],
"class":"face",
"confidence":1.0,
"id":12542825825967542253,
"quality":-1480.1163,
"visibility_score":0.8565
}
]
}

Настройка отправки по MQTT

  1. Настройте отправку процессов по MQTT, как описано в разделе Процессы и события

  2. В файле config/run_params.json в объекте mqtt_settings добавьте массив enable_task_types с перечислением нужных типов сырых данных. Доступны следующие типы:

    • body_tracking - обнаружение и отслеживание силуэта человека;
    • body_lost - потеря ранее отслеживаемого силуэта человека;
    • face_tracking - обнаружение и отслеживание лица человека;
    • face_lost - потеря ранее отслеживаемого лица человека.

    Пример конфигурации для отправки face_tracking и face_lost:

    "mqtt_settings": {
    "enable_task_types": [
    "face_tracking", "face_lost"
    ],
    // другие поля
    }