Видеодетекция лиц: findface-video-manager и findface-video-worker

Примечание

Компонент findface-video-worker поставляется в пакетах с ускорением на CPU (findface-video-worker-cpu) и GPU (findface-video-worker-gpu).

В этом разделе:

Функции findface-video-manager

Сервис findface-video-manager является частью модуля видеодетекции лиц и используется для непосредственного управления детекцией лиц на видео.

Сервис findface-video-manager взаимодействует с findface-video-worker следующим образом:

  • Обеспечивает findface-video-worker настройками и списком видеопотоков для обработки. Для этого он выдает findface-video-worker так называемое job-задание, задачу на обработку видео, которая содержит параметры конфигурации и сведения о видеопотоке.

  • В распределенной системе распределяет видеопотоки (job-задания) по свободным экземплярам findface-video-worker.

Примечание

Параметры конфигурации, передаваемые через job-задания, имеют больший приоритет, чем аналогичные параметры в файле конфигурации findface-video-manager.

Для работы findface-video-manager требуется установленный сервис ETCD. ETCD представляет собой стороннее программное обеспечение, реализующее распределенное хранилище ключей findface-video-manager. Используется в качестве координационной службы в распределенной системе, обеспечивая отказоустойчивость работы видеодетектора лиц.

Полный список функций:

  • конфигурирование параметров видеодетектора лиц,

  • управление списком видеопотоков для обработки,

  • управление видеодетекцией лиц.

Функции findface-video-worker

Компонент findface-video-worker (на CPU/GPU) является частью модуля видеодетекции лиц и служит для обнаружения лиц «на лету» в видеопотоке или видеофайле. Он поддерживает большинство видеоформатов и кодеков, которые могут быть декодированы FFmpeg.

Сервис findface-video-worker взаимодействует с сервисами findface-video-manager и findface-facerouter следующим образом:

  • По запросу findface-video-worker получает от findface-video-manager job-задание с настройками и списком видеопотоков для обработки.

  • Сервис findface-video-worker отправляет полученные нормализованные изображения лиц вместе с полными кадрами и метаданными, такими как рамка вокруг лица, ID камеры и время детекции, в сервис findface-facerouter для дальнейшей обработки.

Полный список функций:

  • обнаружение лиц на видео,

  • извлечение нормализованных изображений лиц,

  • поиск наилучшего изображения лица,

  • дедупликация кадров с лицом (только один кадр на каждое событие распознавания лица).

При обработки видео findface-video-worker последовательно использует следующие алгоритмы:

  • Детектор движения. Данный алгоритм позволяет снизить потребление ресурсов, поскольку детектор лиц включается только по движению в кадре.

  • Детектор лиц. Алгоритм детектирует, отслеживает и захватывает лица на видео. Может работать одновременно с несколькими лицами в кадре. С помощью встроенной нейронной сети выполняет поиск кадра с лучшим изображением лица. Как только лучшее изображение найдено, отправляет его в компонент findface-facerouter.

Подбор лучшего изображения лица может быть выполнен в одном из следующих режимов:

  • Режим реального времени

  • Буферный режим

Режим реального времени

В режиме реального времени findface-video-worker начинает отправлять в компонент findface-facerouter изображения лица сразу после появления лица в поле зрения видеокамеры.

  • Если параметр rt-perm=True, детектор лиц выбирает лучший кадр в течение каждого из последовательных промежутков времени, равных rt-delay, и отправляет его в findface-facerouter.

  • Если rt-perm=False, детектор лиц выбирает лучшее изображение лица динамически:

    1. Сначала оценивается качество изображения лица. Если оно превышает некое предустановленное пороговое значение, то лицо отправляется в findface-facerouter.

    2. Порог повышается после каждой отправки изображения лица в findface-facerouter. Каждый раз, когда детектор лиц получает изображение того же лица лучшего качества, оно отправляется.

    3. При исчезновении лица из поля зрения видеокамеры снова устанавливается пороговое значение по умолчанию.

По умолчанию режим реального времени отключен (параметр realtime=false в файле конфигурации /etc/findface-video-manager.conf).

Буферный режим

Буферный режим требует меньший объем дискового пространства по сравнению с режимом реального времени, поскольку для каждого лица компонент findface-video-worker отправляет только одно изображение из трека, но наивысшего качества.

Буферный режим включен по умолчанию (параметр overall=true в файле конфигурации /etc/findface-video-manager.conf).

Настройка видеодетекции лиц

Настройка видеодетектора лиц выполняется через следующие файлы конфигурации:

  1. Файл конфигурации компонента findface-video-manager /etc/findface-video-manager.conf:

    listen: 127.0.0.1:18810
    etcd:
      endpoints: 127.0.0.1:2379
      dial_timeout: 3s
    kafka:
       enabled: false
       endpoints: 127.0.0.1:9092
    master:
      lease_ttl: 10
      self_url: 127.0.0.1:18811
      self_url_http: 127.0.0.1:18811
    rpc:
      listen: 127.0.0.1:18811
      heart_beat_timeout: 4s
    router_url: http://127.0.0.1:18820/v0/frame
    exp_backoff:
      enabled: false
      min_delay: 1s
      max_delay: 1m0s
      factor: 2
      flush_interval: 2m0s
    ntls:
      enabled: false
      url: http://127.0.0.1:3185/
      update_interval: 1m0s
    prometheus:
      jobs_processed_duration_buckets:
      - 1
      - 30
      - 60
      - 500
      - 1800
      - 3600
      - 21600
      - .inf
    job_scheduler_script: ''
    stream_settings:
      ffmpeg_params: []
      md_threshold: 0.002
      md_scale: 0.3
      fd_frame_height: -1
      uc_max_time_diff: 30
      uc_max_dup: 3
      uc_max_avg_shift: 10
      det_period: 8
      realtime: false
      npersons: 4
      disable_drops: false
      tracker_threads: 4
      parse_sei: false
      image_arg: photo
      additional_headers: []
      additional_body: []
      api_timeout: 15000
      api_ssl_verify: true
      post_uniq: true
      min_score: -2
      min_d_score: -1000
      realtime_dly: 500
      realtime_post_perm: false
      rot: ''
      roi: ''
      draw_track: false
      send_track: 0
      min_face_size: 0
      max_face_size: 0
      overall: true
      only_norm: false
      max_candidates: 0
      jpeg_quality: 95
      ffmpeg_format: ''
    stream_settings_gpu:
      play_speed: -1
      filter_min_quality: -2
      filter_min_face_size: 1
      filter_max_face_size: 8192
      normalized_only: false
      jpeg_quality: 95
      overall_only: true
      use_stream_timestamp: false
      ffmpeg_params: []
      router_timeout_ms: 15000
      router_verify_ssl: true
      router_headers: []
      router_body: []
      start_stream_timestamp: 0
      imotion_threshold: 0
      rot: ''
      roi: ''
      realtime_post_interval: 1
      realtime_post_every_interval: false
      ffmpeg_format: ''
      disable_drops: false
    

Пользовательская настройка findface-video-manager выполняется с использованием следующих параметров:

Опция

Описание

router_url

IP-адрес и порт сервера findface-facerouter, который получает обнаруженные лица из от findface-video-worker. Значение по умолчанию: http://127.0.0.1:18820/v0/frame.

etcd -> endpoints

IP-адрес и порт сервиса etcd. Значение по умолчанию: 127.0.0.1:2379.

ntls -> enabled

Если true, компонент findface-video-manager отправляет в компонент findface-video-worker задания только на обработку того количества видеокамер, которое указано в лицензии. Значение по умолчанию: false.

ntls -> url

IP-адрес и порт сервера findface-ntls. Значение по умолчанию: http://127.0.0.1:3185/.

Вы также можете использовать следующие параметры:

Примечание

В разделе файла stream_settings (-gpu) вы найдете настройки, общие для всех видеопотоков. Настройки определенного потока, переданные в job-задании, имеют приоритет над настройками в файле конфигурации (см. Job-задания).

Опция CPU

Опция GPU

Описание

additional_body

router_body

Массив дополнительных полей в POST-запросе с изображением лица в формате [“ключ=значение”]. По умолчанию дополнительные поля не передаются.

additional_headers

router_headers

Массив дополнительных заголовков в POST-запросе с изображением лица в формате [“ключ=значение”]. По умолчанию дополнительные заголовки не передаются.

api_ssl_verify

router_verify_ssl

Включает/отключает проверку подписи SSL-сертификата при взаимодействии по https findface-video-worker с компонентом findface-facerouter. Значение по умолчанию: true. Если false, может быть принят самоподписанный сертификат.

api_timeout

router_timeout_ms

Время ожидания в миллисекундах ответа от компонента findface-facerouter на API-запрос компонента findface-video-worker. Если время ожидания истекло, регистрируется ошибка. Значение по умолчанию: 15000.

disable_drops

disable_drops

Включает/отключает отправку в компонент findface-facerouter всех подходящих лиц без пропусков. По умолчанию, если findface-video-worker не обладает достаточными ресурсами для обработки всех кадров с лицами, он отбрасывает некоторые из них. Если данная опция активна, findface-video-worker помещает лишние кадры в очередь, чтобы обработать их впоследствии. Значение по умолчанию: false.

draw_track

Н/п

Включает рисование в bbox следа от движения лица. Значение по умолчанию: false.

fd_frame_height

Н/п

Размер кадра для детектора лиц в пикселях. Кадр должен быть уменьшен при больших разрешениях камеры, отображении лиц крупным планом, а также при чрезмерной загрузке процессора — для снижения потребления системных ресурсов. Убедитесь, что размер лиц после уменьшения превышает значение параметра min-face-size. Значение по умолчанию: -1 (отрицательные значения соответствуют исходному размеру). Оптимальные значения для уменьшения нагрузки: 640-720.

ffmpeg_format

ffmpeg_format

Передает формат FFMPEG (mxg, flv и т. д.), если он не может быть автоматически определен.

ffmpeg_params

ffmpeg_params

Список ffmpeg-параметров видеопотока со значениями в виде массива ключ=значение: [“rtsp_transpotr=tcp”, .., “ss=00:20:00”]. Полный список параметров на сайте FFMPEG. Значение по умолчанию: параметры не указаны.

image_arg

Н/п

Определяет имя аргумента с изображением лица, отправляемым в API-запросе. Значение по умолчанию: photo.

jpeg_quality

jpeg_quality

Качество сжатия исходного кадра в JPEG. Значение по умолчанию: 95 % от исходного размера.

max_face_size

filter_max_face_size

Определяет максимальный размер лица в пикселях. Лица большего размера не отправляются. Значение по умолчанию: 0 (фильтр выключен).

md_scale

Н/п

Размер кадра для детектора движения относительно исходного размера от 0 до 1. Кадр должен быть уменьшен при больших разрешениях камеры, отображении лиц крупным планом, а также при чрезмерной загрузке процессора — для снижения потребления системных ресурсов. Убедитесь, что размер кадра после масштабирования больше значения min-face-size. Значение по умолчанию: 1 (исходный размер).

md_threshold

imotion_threshold

Минимальная интенсивность движения, которая будет регистрироваться детектором движения. Пороговое значение определяется эмпирически. Реперные точки: 0 = детектор выключен, 0.002 = значение по умолчанию, 0.05 = минимальная интенсивность слишком высока, чтобы зарегистрировать движение.

min_score

filter_min_quality

Минимальное значение качества изображения лица, отправляемого компонентом findface-video-worker в компонент findface_facerouter (findface-security в стандартной конфигурации FindFace Security). Значение определяется эмпирически: отрицательные рациональные числа до 0. Реперные точки: 0 = наиболее качественные лица, -1 = хорошее качество, -2 = удовлетворительное качество, -5 = последующее распознавание лиц может быть неэффективным. Значение по умолчанию: -2.

min_face_size

filter_min_face_size

Определяет минимальный размер лица в пикселях. Лица меньшего размера не отправляются. Значение по умолчанию: 0 (фильтр выключен).

min_d_score

Н/п

Максимальное отклонение отправляемого лица от положения анфас (определяется эмпирически: отрицательные числа до 0). Реперные точки: -3.5 = слишком большие углы поворота, распознавание лиц может быть неэффективным, -2.5 = удовлетворительное отклонение, -0.05 = близко к положению анфас, 0 = анфас. Значение по умолчанию: -1000.

npersons

Н/п

Максимальное количество лиц, одновременно отслеживаемых детектором лиц. Влияет на производительность. Значение по умолчанию: 4.

only_norm

normalized_only

Включает/отключает отправку только нормализованных лиц без исходных кадров. Значение по умолчанию: false.

overall

overall_only

Буферный режим. Отправлять для лица один кадр наилучшего качества. Значение по умолчанию: true.

Н/п

play_speed

Если меньше нуля, то скорость не ограничивается. В остальных случаях поток читается со скоростью play_speed. Не применимо для потоков с камер видеонаблюдения.

post_uniq

Н/п

Включает функцию дедупликации лиц, т. е. отправку только нескольких лиц, принадлежащих одному человеку, из множества захваченных в течение определенного промежутка времени. В этом случае, если findface-video-worker отправляет лицо и затем захватывает еще одно в течение периода времени uc-max-time-diff, и если расстояние между лицами не превышает значение uc-max-avg-shift, findface-video-worker оценивает их схожесть. Если лица схожи и общее количество схожих лиц в течение периода времени uc-max-time-diff не превышает число uc-max-dup, findface-video-worker отправляет второе лицо. Иначе, второе лицо не отправляется. Значение по умолчанию: true.

realtime

Н/п

Включает/отключает режим реального времени детектора лиц. Значение по умолчанию: false.

realtime_dly

realtime_post_interval

Только для режима реального времени. Если realtime_post_perm=True, период времени в миллисекундах, в течение которого детектор лиц выбирает лучший кадр и отправляет его в компонент findface-facerouter. Если realtime_post_perm=False, максимальный период времени в миллисекундах между двумя последовательными отправками одного и того же лица, но в улучшенном качестве. Значение по умолчанию: 500.

realtime_post_perm

realtime_post_every_interval

Только для режима реального времени. Включает отправку лучшего кадра в течение периода времени realtime_dly. Если false, лучший кадр ищется динамически и realtime_dly представляет собой максимальный период времени между двумя последовательными отправками одного и того же лица, но в улучшенном качестве. Значение по умолчанию: false.

roi

roi

Включает отправку на Сервер лиц, обнаруженных только внутри интересующей области WxH+X+Y. По умолчанию область не задана.

rot

rot

Включает детектирование и отслеживание лиц только внутри заданной прямоугольной области WxH+X+Y. Используйте данную опцию, чтобы уменьшить нагрузку на findface-video-worker. По умолчанию область не задана.

send_track

Н/п

Включает отправку в компонент findface-facerouter вместе с bbox следа от движения лица в виде массива координат точек центра bbox. Значение по умолчанию: 0 (массив координат не отправляется). Параметр принимает целое положительное число – количество точек в следе.

Н/п

start_stream_timestamp

Прибавлять указанное количество секунд к временным меткам из потока.

tracker_threads

Н/п

Количество тредов отслеживания для детектора лиц. Данное значение должно быть меньше или равно значению параметра npersons. Оптимально, когда они равны. Если количество тредов отслеживания меньше, чем максимальное количество отслеживаемых лиц, потребление ресурсов уменьшается, однако также уменьшается и скорость отслеживания. Значение по умолчанию: 1.

uc_max_time_diff

Н/п

Только если post-uniq: true (включена функция дедупликации лиц). Максимальный период времени в секундах, в течение которого схожие лица рассматриваются как лица одного человека. Значение по умолчанию: 30.

uc_max_dup

Н/п

Только если post-uniq: true (включена функция дедупликации лиц). Максимальное количество лиц в течение периода времени uc-max-time-diff, которое отправляется в компонент findface-facerouter для одного человека. Значение по умолчанию: 3.

uc_max_avg_shift

Н/п

Только если post-uniq: true (включена функция дедупликации лиц). Определяет максимальное расстояние в пикселях, на котором схожие лица еще рассматриваются как лица одного человека. Значение по умолчанию 10.0.

Н/п

use_stream_timestamp

Если true, отправлять на сервер временные метки полученные из потока. Если false, отправлять текущие дату и время.

  1. Если вы выбрали пакет findface-video-worker-cpu с ускорением на CPU, используйте файл конфигурации /etc/findface-video-worker-cpu.ini:

    ## read streams from file, do not use VideoManager
    input =
    
    ## exit on first finished job, only when --input specified
    exit_on_first_finished = false
    
    ## batch size
    batch_size = 4
    
    ## http server port for metrics, 0=do not start server
    metrics_port = 0
    
    ## resize scale, 1=do not resize
    resize_scale = 1.000000
    
    ## maximum number of streams
    capacity = 10
    
    ## command to obtain videomanager's grpc ip:port
    mgr_cmd =
    
    ## videomanager grpc ip:port
    mgr_static = 127.0.0.1:18811
    
    ## ntls server ip:port
    ntls_addr = 127.0.0.1:3133
    
    ## debug: save faces to dir
    save_dir =
    
    ## minimum face size
    min_face_size = 60
    
    ## preinit detector for specified resolutions: "640x480;1920x1080"
    resolutions =
    
    ## worker labels: "k=v;group=enter"
    labels =
    
    ## use timestamps from SEI packet
    use_time_from_sei = false
    
    #------------------------------
    [streamer]
    #------------------------------
    ## streamer server port, 0=disabled
    port = 18999
    
    ## streamer url - how to access this worker on streamer_port
    url = ws://127.0.0.1:18999/stream/
    
    #------------------------------
    [liveness]
    #------------------------------
    ## path to liveness fnk
    fnk =
    
    ## liveness threshold
    threshold = 0.945000
    
    ## liveness internal algo param
    interval = 1.000000
    
    ## liveness internal algo param
    stdev_cnt = 1
    
    #------------------------------
    [send]
    #------------------------------
    ## posting faces threads
    threads = 8
    
    ## posting faces maximum queue size
    queue_limit = 256
    
    #------------------------------
    [tracker]
    #------------------------------
    ## max face miss duration, sec
    miss_interval = 1.000000
    
    ## overlap threshold
    overlap_threshold = 0.250000
    
    #------------------------------
    [models]
    #------------------------------
    ## path to detector fnk
    detector = /usr/share/findface-data/models/facedet/mtcnn.cpu.fnk
    
    ## path to quality fnk
    quality = /usr/share/findface-data/models/faceattr/quality.v0.cpu.fnk
    
    ## path to norm for quality fnk
    norm_quality = /usr/share/findface-data/models/facenorm/ant.v2.cpu.fnk
    
    ## path to norm200 fnk, for face send
    norm_200 = /usr/share/findface-data/models/facenorm/ant.v2.cpu.fnk
    
    ## path to norm_crop2x fnk, for face send
    norm_crop2x = /usr/share/findface-data/models/facenorm/crop2x.v2_maxsize400.cpu.fnk
    

    Если вы выбрали пакет findface-video-worker-gpu с ускорением на GPU, используйте файл конфигурации /etc/findface-video-worker-gpu.ini.

    ## cuda device number
    device_number = 0
    
    ## old gpu detector models directory
    models_dir = /usr/share/findface-gpudetector/models
    
    ## read streams from file, do not use VideoManager
    input =
    
    ## exit on first finished job, only when --input specified
    exit_on_first_finished = false
    
    ## batch size
    batch_size = 8
    
    ## http server port for metrics, 0=do not start server
    metrics_port =
    
    ## resize scale, 1=do not resize
    resize_scale = 1.000000
    
    ## maximum number of streams
    capacity = 30
    
    ## command to obtain videomanager's grpc ip:port
    mgr_cmd =
    
    ## videomanager grpc ip:port
    mgr_static = 127.0.0.1:18811
    
    ## ntls server ip:port
    ntls_addr = 127.0.0.1:3133
    
    ## debug: save faces to dir
    save_dir =
    
    ## minimum face size
    min_face_size = 60
    
    ## preinit detector for specified resolutions: "640x480;1920x1080"
    resolutions =
    
    ## worker labels: "k=v;group=enter"
    labels =
    
    ## use timestamps from SEI packet
    use_time_from_sei = false
    
    #------------------------------
    [streamer]
    #------------------------------
    ## streamer server port, 0=disabled
    port = 18999
    
    ## streamer url - how to access this worker on streamer_port
    url = ws://172.17.46.17:18999/stream/
    
    #------------------------------
    [liveness]
    #------------------------------
    ## path to liveness fnk
    fnk =
    
    ## liveness threshold
    threshold = 0.945000
    
    ## liveness internal algo param
    interval = 1.000000
    
    ## liveness internal algo param
    stdev_cnt = 1
    
    #------------------------------
    [send]
    #------------------------------
    ## posting faces threads
    threads = 8
    
    ## posting faces maximum queue size
    queue_limit = 256
    
    #------------------------------
    [tracker]
    #------------------------------
    ## max face miss duration, sec
    miss_interval = 1.000000
    
    ## overlap threshold
    overlap_threshold = 0.250000
    
    #------------------------------
    [models]
    #------------------------------
    ## path to detector fnk
    detector =
    
    ## path to quality fnk
    quality =
    
    ## path to norm for quality fnk
    norm_quality =
    
    ## path to norm200 fnk, for face send
    norm_200 = /usr/share/findface-data/models/facenorm/ant.v2.gpu.fnk
    
    ## path to norm_crop2x fnk, for face send
    norm_crop2x = /usr/share/findface-data/models/facenorm/crop2x.v2_maxsize400.gpu.fnk
    
    ## path to cache directory
    cache_dir =
    
    #------------------------------
    [video_decoder]
    #------------------------------
    ## decode video on cpu
    cpu = false
    

    Пользовательская настройка findface-video-worker на CPU/GPU выполняется с использованием следующих параметров:

    CPU

    GPU

    Описание

    ntls-addr

    IP-адрес и порт сервера findface-ntls.

    mgr-static

    IP-адрес сервера findface-video-manager, который обеспечивает findface-video-worker настройками и списком видеопотоков для обработки.

    capacity

    Максимальное количество видеопотоков, обрабатываемых findface-video-worker.

    mgr-exec

    Возможность подключить скрипт, описывающий динамическое изменение адреса компонента findface-videomanager-api (вместо mgr-static).

    labels

    Метки, по которым определяются правила обработки обнаруженных лиц компонентом findface-facerouter.

    Н/п

    fnk

    Путь к детектору живых лиц (Liveness).

    input

    Обрабатывать видеопотоки из файла, игнорируя данные потоков, поступающие от findface-video-manager.

    exit_on_first_finished

    (Только если указан input) Выйти после завершения первого job-задания.

    resize_scale

    Масштабировать видеокадры с заданным коэффициентом.

    save_dir

    (Для отладки) Сохранять обнаруженные лица в заданный каталог.

    min_face_size

    Минимальный обнаруживаемый размер лица.

    resolutions

    Предварительно инициализируйте findface-video-worker для конкретных разрешений, чтобы ускорить его работу.

    Н/п

    device_number

    Номер используемого GPU-устройства.

    Н/п

    models_dir

    Старый каталог с моделями GPU-детектора. В противном случае используйте данные из секции [models].

    Н/п

    cpu

    При необходимости декодировать видео на CPU.

Job-задания

Сервис findface-video-manager выдает findface-video-worker так называемое job-задание, задачу на обработку видео, которая содержит параметры конфигурации и сведения о видеопотоке.

Содержимое типичного job-задания показано в примере ниже.

curl http://127.0.0.1:18810/job/1 | jq
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                              Dload  Upload   Total   Spent    Left  Speed
 100  1771  100  1771    0     0   447k      0 --:--:-- --:--:-- --:--:--  576k
{
  "id": "1",
  "enabled": true,
  "stream_url": "rtmp://restreamer.int.ntl/cams/openspace",
  "labels": {},
  "router_url": "http://172.17.46.13/video-detector/frame",
  "single_pass": false,
  "stream_settings": {
    "ffmpeg_params": [],
    "md_threshold": 0.002,
    "md_scale": 0.3,
    "fd_frame_height": -1,
    "uc_max_time_diff": 30,
    "uc_max_dup": 3,
    "uc_max_avg_shift": 10,
    "det_period": 8,
    "realtime": false,
    "npersons": 4,
    "disable_drops": false,
    "tracker_threads": 4,
    "parse_sei": false,
    "image_arg": "photo",
    "additional_headers": [
      "Authorization=Token b612396adc3a6dd71b82b5fe333a0a30"
    ],
    "additional_body": [],
    "api_timeout": 15000,
    "api_ssl_verify": true,
    "post_uniq": true,
    "min_score": -2,
    "min_d_score": -1000,
    "realtime_dly": 500,
    "realtime_post_perm": false,
    "rot": "",
    "roi": "",
    "draw_track": false,
    "send_track": 0,
    "min_face_size": 0,
    "max_face_size": 0,
    "overall": true,
    "only_norm": false,
    "max_candidates": 0,
    "jpeg_quality": 95,
    "ffmpeg_format": ""
  },
  "stream_settings_gpu": {
    "play_speed": -1,
    "filter_min_quality": -2,
    "filter_min_face_size": 1,
    "filter_max_face_size": 8192,
    "normalized_only": false,
    "jpeg_quality": 95,
    "overall_only": false,
    "use_stream_timestamp": false,
    "ffmpeg_params": [],
    "router_timeout_ms": 15000,
    "router_verify_ssl": true,
    "router_headers": [
      "Authorization=Token b612396adc3a6dd71b82b5fe333a0a30"
    ],
    "router_body": [],
    "start_stream_timestamp": 0,
    "imotion_threshold": 0,
    "rot": "",
    "roi": "",
    "realtime_post_interval": 1,
    "realtime_post_every_interval": false,
    "ffmpeg_format": "",
    "disable_drops": true
  },
  "status": "INPROGRESS",
  "status_msg": "",
  "statistic": {
    "processed_duration": 14879,
    "faces_posted": 777,
    "faces_failed": 3,
    "faces_not_posted": 1206,
    "processing_fps": 18.816668,
    "frames_dropped": 0,
    "frames_processed": 0,
    "frames_imotion_skipped": 0,
    "decoding_soft_errors": 0,
    "job_starts": 56
  },
  "restream_url": "",
  "worker_id": "ffsec40_213ab8c0ed5d954e",
  "version": "bl068taaa7tcafrfsmq0"
}

Каждое job-задание имеет следующие параметры:

  • id: id job-задания.

  • enabled: статус активности.

  • stream_url: URL/адрес видеопотока или файла для обработки.

  • labels: метки, по которым будет осуществляться обработка обнаруженных лиц в компоненте findface-facerouter.

  • single_pass: если true (по умолчанию false), то не перезапускать обработку потока в случае ошибки.

  • router_url: IP-адрес и порт компонента findface-facerouter, на который компонент findface-video_worker будет отправлять обнаруженные лица для обработки.

  • stream_settings, stream_settings_gpu: параметры видеопотока, дублирующие параметры в файле конфигурации findface-video-manager (обладая при этом приоритетом).

  • status: статус job-задания.

  • status_msg: дополнительная информация о статусе job-задания.

  • statistic: статистика выполнения job-задания (продолжительность процесса обработки, количество отправленных и неотправленных лиц, кадровая частота обработки, количество обработанных и пропущенных кадров, время начала обработки и т. д.).

  • worker_id: id экземпляра findface-video-worker, выполняющего job-задание.