findface-sf-api

Компонент findface-sf-api представляет собой сервис, реализующий HTTP API основного функционала ядра FindFace (обнаружение и распознавание лиц, при этом сами операции обнаружения и распознавания лиц выполняются компонентом findface-extracton-api). Взаимодействует с базой биометрических данных Tarantool через компонент findface-tarantool-server, а также с компонентами findface-extraction-api (обнаружение и распознавание лиц) и findface-upload (хранилище исходных изображений и артефактов работы ядра FindFace).

Для обнаружения лица на фотографии в компонент findface-sf-api должен быть отправлен API-запрос, передающий данную фотографию в виде файла или URL. Данный запрос затем перенаправляется в компонент findface-extraction-api.

При наличии в системе видеодетектора лиц (присутствует в FindFace Security) компонент findface-sf-api получает данные об обнаруженных лицах вместе с правилами их обработки от компонента findface-facerouter и затем выполняет полученные директивы (например, сохраняет лица в определенную галерею базы данных).

Примечание

В FindFace Security, функции findface-facerouter выполняет сервис findface-security.

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

  • реализация HTTP API по части обнаружения и распознавания лиц (операции выполняются findface-extraction-api),
  • сохранение лиц в базу биометрических данных (через сервис findface-tarantool-server),
  • сохранение исходных изображений, миниатюр и нормализованных изображений лиц на веб-сервере nginx (через сервис findface-upload).
  • обеспечение взаимодействия всех компонентов системы.

Настройка компонента findface-sf-api выполняется через файл конфигурации /etc/findface-sf-api.ini.

cache:
  inmemory:
    size: 16384
   memcache:
    nodes:
    - 127.0.0.1:11211
    timeout: 100ms
  redis:
    addr: localhost:6379
    db: 0
    network: tcp
    password: ''
    timeout: 5s
  type: memcache
extraction-api:
  extraction-api: http://127.0.0.1:18666
  timeouts:
    connect: 5s
    idle_connection: 10s
    overall: 35s
    response_header: 30s
limits:
  allow-return-facen: false
  body-image-length: 33554432
  deny-networks: 127.0.0.0/8,192.168.0.0/16,10.0.0.0/8,::1/128,fe00::/8
  url-length: 4096
listen: 127.0.0.1:18411
normalized-storage:
  enabled: true
  s3:
    access-key: ''
    bucket-name: ''
    endpoint: ''
    operation-timeout: 30
    public-url: ''
    region: ''
    secret-access-key: ''
    secure: true
  type: webdav
  webdav:
    timeouts:
      connect: 5s
      idle_connection: 10s
      overall: 35s
      response_header: 30s
    upload-url: http://127.0.0.1:3333/uploads/
storage-api:
  max-idle-conns-per-host: 20
  shards:
  - master: http://127.0.0.1:8101/v2/
    slave: ''
   - master: http://127.0.0.1:8102/v2/
    slave: ''
  timeouts:
    connect: 5s
    idle_connection: 10s
    overall: 35s
    response_header: 30s

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

Параметр Описание
extraction-api -> extraction-api IP-адрес и порт сервера findface-extraction-api.
storage-api -> shards -> master IP-адрес физического сервера с мастером шарда findface-tarantool-server.
storage-api -> shards -> slave IP-адрес физического сервера с репликой шарда findface-tarantool-server.
limits -> body-image-length Максимальный размер в байтах изображения, передаваемого через API-запрос.
upload_url Путь в WebDAV nginx, по которому в компонент findface-upload будут отправляться исходные изображения, миниатюры и нормализованные изображения лиц.