Use Multiple Extraction Models within a Single extraction-api Instance
Starting from version 12.240830, FindFace Server allows using multiple attribute extraction models on the installations with a single extraction-api instance. This functionality can be employed in user liveness verification scenarios, e.g., when users register on a certain platform from various devices. Considering a user device type (e.g., a mobile phone, a laptop camera), you can now configure a neural network model that will be used for liveness recognition. Along with the default model, you can now configure a variant.
In this section, we will cover configuration of models for the face_liveness attribute. Use this instruction as an example to configure models for other attributes if needed.
Important
The sf-api service will not work with any variants of *_emben models other than default. Even if you set up a variant for an *_emben extractor, the sf-api service will only send feature vectors extracted by the default model in to the Tarantool gallery.
To start using multiple face_liveness extraction models on a single extraction-api instance installation, configure the extraction-api.yaml file.
In this section:
Configure face_liveness Extraction Models in the extraction-api.yaml
In the extraction-api.yaml file, specify a variant for each model of the face_liveness attribute. Do the following:
Open the
extraction-api.yamlconfiguration file.sudo vi /path/to/ffserver-12.240830.2/configs/extraction-api.yaml
Locate
extractors→face_liveness. The default configuration will look like this:GPU
extractors: max_batch_size: 1 models: face_liveness: default: model: faceattr/faceattr.liveness_web.v1.gpu.fnk ...
CPU
extractors: max_batch_size: 1 models: face_liveness: default: model: faceattr/faceattr.liveness_web.v1.cpu.fnk ...
Specify a variant for each model of the
face_livenessattribute, e.g.,mobileandpvn. A variant name is limited to lowercase letters, digits and an underscore. Specify a corresponding neural network model for each variant:GPU
extractors: models: face_liveness: default: model: faceattr/faceattr.liveness_web.v1.gpu.fnk mobile: model: faceattr/faceattr.liveness_mobile.hart.gpu.fnk pvn: model: faceattr/liveness.pvn.v2.gpu.fnk ...
CPU
extractors: models: face_liveness: default: model: faceattr/faceattr.liveness_web.v1.cpu.fnk mobile: model: faceattr/faceattr.liveness_mobile.hart.cpu.fnk pvn: model: faceattr/liveness.pvn.v2.cpu.fnk ...
Once configuration is complete, specify the liveness_variant parameter in the HTTP API requests to liveness-api.