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
.
listen: 127.0.0.1:18411
extraction-api:
timeouts:
connect: 5s
response_header: 30s
overall: 35s
idle_connection: 10s
extraction-api: http://127.0.0.1:18666
storage-api:
timeouts:
connect: 5s
response_header: 30s
overall: 35s
idle_connection: 10s
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: ''
- master: http://127.0.0.1:8103/v2/
slave: ''
- master: http://127.0.0.1:8104/v2/
slave: ''
limits:
url-length: 4096
deny-networks: 127.0.0.0/8,192.168.0.0/16,10.0.0.0/8,::1/128,fe00::/8
body-image-length: 33554432
allow-return-facen: false
cache:
type: memcache
inmemory:
size: 16384
memcache:
nodes:
- 127.0.0.1:11211
timeout: 100ms
redis:
network: tcp
addr: localhost:6379
password: ''
db: 0
timeout: 5s
normalized-storage:
type: webdav
enabled: true
webdav:
upload-url: http://127.0.0.1:3333/uploads/
timeouts:
connect: 5s
response_header: 30s
overall: 35s
idle_connection: 10s
s3:
endpoint: ''
bucket-name: ''
access-key: ''
secret-access-key: ''
secure: true
region: ''
public-url: ''
operation-timeout: 30
Пользовательская настройка 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-запрос. |
|
Путь в WebDAV nginx, по которому в компонент findface-upload будут отправляться исходные изображения, миниатюры и нормализованные изображения лиц. |