This chapter guides you from the installation process of SmartFace Platform on Linux OS using docker images, through the quickstart of SmartFace Station and to the first identification of the person.
SmartFace Platform can run also on Windows and Nvidia Jetson devices with ARM architecture. If you are interested in installing SmartFace on Windows or Nvidia Jetson devices, visit these links:
Step 1 - Prepare your hardware
Requirements for the camera are as below:
type: any camera supporting The Real Time Streaming Protocol (RTSP) is sufficient,
resolution: FULL HD resolution is recommended.
SmartFace Platform for Linux is distributed in form of docker images. This form provides an easy way of deploying and scaling SmartFace with all the benefits of containerization. So, before deploying SF, you will need:
Linux OS distribution
- the deployment is limited only to Linux platforms that are supported by Docker technology. For more information see Docker Install documentation.
Docker version 20.10.0 and higher
- it is required that you have Docker engine and Docker CLI installed on your machine.
- for default deployment, it is required that you have Docker Compose installed on your machine. SmartFace Platform requires Docker Compose version 1.29.0 and higher.
Step 2 - Get your license
To obtain your license please follow these steps:
- Login to container registry on your device. The credentials are available in our Customer Portal:
docker login registry.gitlab.com -u <username> -p <password>
- Identify hardware ID (HWID) for your machine with command
docker run registry.gitlab.com/innovatrics/smartface/license-manager:3.2.7
This process works for native Linux. For WSL2 (e.g. Linux containers on Windows) you need a special license for which you need to contact our sales.
- Obtain the license for your HWID from our Customer Portal for product SmartFace
- Copy the license file
iengine.licto the root of this directory.
Step 3 - Deployment of SmartFace Platform
Before you start the deployment you need to manually perform following steps:
Download zip archive file containing docker-compose files, scripts and configuration files from our public GitHub repository.
Alternatively you can download the required files using the GIT by running command below in the desired location:
git clone https://github.com/innovatrics/smartface.git
Unzip downloaded files.
iengine.liclicense file to the directory with docker-compose file and scripts where run.sh script is located.
Login to the container registry using the provided credentials.
docker login registry.gitlab.com
Enter provided credentials
Now you can run the run.sh script deploying SmartFace Platform with a default configuration. Once the script is successfully finished all the services should be up and running.
Steps performed by the run.sh script
When you run the script on a machine with an empty docker engine (no previous images/containers), the script performs following steps:
Checks the presence of
iengine.licfile. If not present, the script ends.
Creates a docker network called
sf-network. This docker network is used by all other containers created by this script and enables containers to communicate with each other.
Sets up services from sf_dependencies that SmartFace Platform needs to run properly. Docker will check the presence of these images on local docker host. In case the images are not present, images are pulled from the container registry. The download can take up to several minutes.
Docker spawns containers from prerequisites images, for example:
- MSSQL/PGSQL database
- Minio NoSQL database
Parses SmartFace Version and registry information from
Creates MSSQL database named “SmartFace”.
Uses sf-admin image to perform database migration - creates required table structure and seeding the database. The image is pulled from the container registry if it is not present on the machine. This step will fail if the docker login was not performed correctly and script ends.
Executes the SmartFace Platform Docker Compose file. This results in SmartFace Platform services to be up and running on the machine. The execution does the following
Pulls SmartFace Platform images from container registry. The download can take up to several minutes.
Builds new SmartFace Platform images that will contain the provided license file. This is done using the license. Dockerfile which just adds a new layer containing the license file to an arbitrary existing image. This step can be replaced by mounting the license file to the containers.
Spawns containers from images, for example:
- camera service
- detector service
- extractor service
Uses the values from
.envfile to properly configure SmartFace Platform containers so everything works properly. To use this file to configure SmartFace Platform for different deployment than described here see docker documentation.
When the script finishes, SmartFace will be available to use on the local machine with all services up and running.
Step 4 - Run SmartFace Station
SmartFace Station is a web application which is dedicated to the access control and security use cases. Purpose of SmartFace Station is to display information about people who were authorized to pass the access point (turnstile, door, speed gate, ramp, etc.), alerts about failed attempts of unauthorized access, show face and pedestrian detection and identification.
After the installation of the SmartFace Platform, the SmartFace Station is accessible via web browser on the URL: http://<your_server_name>:8000/ (e.g. http://localhost:8000/)
The main screen of the SmartFace station for most security applications is the Security Dashboard, which displays a preview of two selected cameras (in our case we will be able to see preview of a single camera once it is setup) and a list of the latest security events.
More information about Smartface Station you can find here.
Security dashboard screen - camera preview (top section), recent events (bottom section)
Step 5 - Add your camera
The SmartFace Station allows you to set up and configure camera streams that will be processed by SmartFace Platform.
Set up new camera
Click on Configuration in the left menu panel.
Go to Camera settings section.
Click REGISTER CAMERA.
- Enter the Name and RTSP / Video source.
To create a new camera, click on ADD CAMERA.
Go to Camera settings section and Enable the camera, by switching on the toggle button next to the camera (once enabled it appears green).
Step 6 - Add yourself to watchlist
Go to Watchlists in the left panel.
Select ADD WATCHLIST.
- Type the name of your watchlist and confirm with CREATE WATCHLIST.
Upload a photo by dropping the photos directly onto the marked area or by choosing photo on your computer. You can also take photo (in this case your selfie) using the device built-in camera or a USB camera connected to your computer
After you uploaded photos of watchlist members, click NEXT.
- Type the FULL NAME for uploaded watchlist member. You may also add a note by specifying the NOTE field.
Specify the matching THRESHOLD and CONFIRM. For more information what is the matching threshold, see Matching
Step 7 - Set your Security dashboard
Go to the Security dashboard in the left menu.
Click on Camera preview settings
- For each camera you can choose left or right side, where the camera preview will be showed. For example the left side. For each side only one camera can be shown at the same time. Then go back to the Security dashboard.
- Click on Recent event setting
- Switch on your camera by clicking on the icon next to the name of your camera (it will appear green)
Step 8 - Your first identification
Go in front of your camera.
This is your first identification!
You are matched against to watchlist. Check out SmartFace Station. The match notification you can see in Security dashboard in Recent event settings section and also in History event page.
You can display notification detail by clicking on the notification.
Notification detail provides you more details about watchlist member (in this case it is information about you), for example: name, notes, age, gender and many other attributes. More about notifications, you can find here.
Your matchresult is also displayed in History event page.