How to Install Face API SDK on Linux
Prerequisites
To install the Face SDK, you need to have a 64-bit version of one of these following platforms:
- Ubuntu 20.04+
- Debian 11+
- Red Hat Enterprise Linux 8.5+ (including all binary-compatible RHEL alternatives)
Note that the Face SDK Web API is supported on the x86_64
and (amd64)
architectures.
SDK vs OS Support
Available Packages
The Face SDK Web API service is available in two configurations - CPU/GPU, and distributed via the following packages:
- face-rec-service-cpu
- face-rec-service-gpu
GPU package prerequisites
- Install CUDA 11.8.0. Find the basic installation instructions in the NVIDIA CUDA documentation. Read on for more detailed instructions.
- Install NVIDIA graphics drivers (version >= 520.61.05). You can install drivers on your Linux system along with packages mentioned above or use the NVIDIA Driver Installation Guide.
- Install cuDNN 8.9.7. Find the step-by-step instructions on how to install cuDNN in the NVIDIA cuDNN Installation Guide.
Installing Over Older Version
When upgrading the SDK, it's important to consider how the new version will handle the existing configuration files.
In the command line, if you select Y
or I
during installation, the configuration files are updated to use the new Face SDK version. However, the old .env
file is preserved and renamed to .env.dpkg-old
.
If N
or O
(default installation) is selected, the old .env
file is used to configure the new version, and the new file is saved under the name .env.dpkg-dist
. The option D
displays the difference between the files, while Z
launches shell.
To automate the installation process, the following command can be used:
yes I | sudo dpkg -i face-rec-service-cpu-5.2.deb
When installing the rmp package, the old configuration file .env
is preserved, and the new file is saved as .env.rpmnew
. You can configure the new version without losing any previous changes.
Basic Installation
Install using the repository
To set up the repository, update the apt
package index and install packages to allow apt
using the repository over HTTPS:
sudo apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Add the Regula official GPG key:
curl -fsSL https://downloads.regulaforensics.com/repo/ubuntu/regula.gpg | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/regula.gpg --import
curl -fsSL https://downloads.regulaforensics.com/repo/debian/regula.gpg | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/regula.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/regula.gpg
Use the following command to set up the stable repository:
sudo add-apt-repository \
"deb [arch=amd64] https://downloads.regulaforensics.com/repo/ubuntu \
$(lsb_release -cs) \
stable"
sudo add-apt-repository \
"deb [arch=amd64] https://downloads.regulaforensics.com/repo/debian \
$(lsb_release -cs) \
stable"
Update the apt
package index and install the latest version of the SDK, or go to the next step to install a specific version:
sudo apt-get update
sudo apt-get install face-rec-service-cpu
sudo apt-get install face-rec-service-gpu
To install a specific version of the SDK, list the available versions in the repo, then select and install the required version.
a. List the versions available in your repo:
apt-cache madison face-rec-service-cpu
apt-cache madison face-rec-service-gpu
b. Install a specific version using the version string from the second column:
sudo apt-get install face-rec-service-cpu=<VERSION>
sudo apt-get install face-rec-service-gpu=<VERSION>
To set up the repository, install the yum-utils
package (which provides the yum-config-manager
utility) and set up the stable repository.
sudo yum update
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://downloads.regulaforensics.com/repo/centos/regula.repo
Install the latest version of the SDK or go to the next step to install a specific version:
sudo yum install face-rec-service-cpu
sudo yum install face-rec-service-gpu
To install a specific version of the SDK, list the available versions in the repo, then select and install the required version.
a. List the versions available in your repo:
sudo yum list face-rec-service-cpu --showduplicates | sort -r
sudo yum list face-rec-service-gpu --showduplicates | sort -r
b. Install a specific version by its fully qualified package name:
sudo yum install face-rec-service-cpu-<VERSION>
sudo yum install face-rec-service-gpu-<VERSION>
Installing from a package
Note
Regula packages require the following dependencies to be installed before the SDK is downloaded: debconf (>= 0.2.26), libusb-1.0-0 (>= 2:1.0.20), udev, pcscd, libccid.
Open Regula download page and download the .deb file for the SDK version you want to install:
wget https://downloads.regulaforensics.com/repo/ubuntu/pool/stable/f/face-rec-service-cpu/<package>.deb
wget https://downloads.regulaforensics.com/repo/ubuntu/pool/stable/f/face-rec-service-gpu/<package>.deb
Open Regula download page and download the .deb file for the SDK version you want to install:
wget https://downloads.regulaforensics.com/repo/debian/pool/stable/f/face-rec-service-cpu/<package>.deb
wget https://downloads.regulaforensics.com/repo/debian/pool/stable/f/face-rec-service-gpu/<package>.deb
Install the SDK:
sudo dpkg -i <package>.deb
Note
Regula packages require the following dependencies to be installed before SDK is downloaded: libusb, pcsc-lite, libX11.
Open Regula download page and download the .rpm file for the SDK version you want to install:
wget https://downloads.regulaforensics.com/repo/centos/x86_64/stable/Packages/<package>.rpm
Install the SDK:
sudo rpm -ivh <package>.rpm
Set license
To access all the capabilities of the Face Web API, you need to set a license.
To obtain the production license or get purchasing information, please submit an inquiry and our sales team will contact you shortly.
Note
Make sure that the regula.license
file is located at your user's home directory "$HOME/regula.license".
1. Copy the regula.license
file to the following folder:
sudo cp -ar ~/regula.license /opt/regula/face-rec-service/extBin/unix/
2. Restart the Face Web API service:
sudo systemctl restart face-rec-service.service
Advanced Installation
Advanced setup allows you to use the Liveness module, Identification module or both.
1. To use Face liveness, you should install and configure a database from the supported list and an S3-compatible object storage. Also, you need to specify FaceApi parameters for a database and storage via a YAML file, see the Configuration page for details.
2. Using the Face Identification module or Full Functionality is possible only with container`s method installation. Refer to the corresponding installation guides: Face Identification and Full Functionality.
Face liveness
Database
Below is an example how to install and configure PostgreSQL.
Refer to the Install PostgreSQL for Linux platforms.
Configure PostgreSQL:
# Add user `postgres` to sudo group:
sudo adduser postgres sudo
# Switch to the `postgres` user:
sudo su - postgres
# Create a DB user `regula` with an example password 'Regulapasswd#1':
createuser regula -d -P
# Create a DB `regula_db`:
createdb regula_db -O regula
Storage
You can use your existing S3 compatible object storage or use local file system storage as in our example.
FaceApi
Edit the config.yaml
file located at the /opt/regula/face-rec-service
folder and set parameters:
service:
storage:
type: "fs"
database:
connectionString: "postgresql://regula:Regulapasswd#1@127.0.0.1:5432/regula_db"
liveness:
enabled: true
ecdhSchema: "default"
hideMetadata: false
sessions:
location:
folder: "data/faceapi-sessions"
Restart the Face Web API service:
sudo systemctl restart face-rec-service.service
Verify Face Web API Service:
sudo systemctl status face-rec-service
Database
Below is an example how to install and configure PostgreSQL.
Refer to the Install PostgreSQL for Linux platforms
Configure PostgreSQL:
# Add user `postgres` to wheel group
sudo usermod -aG wheel postgres
# Switch to the `postgres` user
sudo su - postgres
# Create a DB user `regula` with an example password 'Regulapasswd#1':
createuser regula -d -P
# Create a DB `regula_db`
createdb regula_db -O regula
Storage
You can use your existing S3 compatible object storage or use local file system storage as in our example.
FaceApi
Edit the config.yaml
file located at the /opt/regula/face-rec-service
folder and set parameters:
service:
storage:
type: "fs"
database:
connectionString: "postgresql://regula:Regulapasswd#1@127.0.0.1:5432/regula_db"
liveness:
enabled: true
ecdhSchema: "default"
hideMetadata: false
sessions:
location:
folder: "data/faceapi-sessions"
Restart the Face Web API service:
sudo systemctl restart face-rec-service.service
Verify Face Web API Service:
sudo systemctl status face-rec-service