aupera-tile-360x180

Aupera Facial Recognition Solution

Aupera Facial Recognition Solution is end-to-end commercially deployable solution for facial recognition in the field. Equipped with Aupera proprietary Best-in-Class trained AI model, it has been in field deployment by Tier-1 customers for Smart Building Management, Smart City and Smart Retail Applications. The solution features high accuracy achieved by agile FPGA computing platforms on the edge, ensuring data privacy and sovereignty for end customers. The solution includes full software stack and trained AI model, which can be deployed within minutes after license being activated. 

Vendor: Aupera

Last Update: February 23, 2021

Size: 1.40 G

Container Version: fr_u30_v2.0.1 _v2.9.3b112

Try or Buy

Obtain an entitlement to evaluate or purchase this product.


Begin a free trial and run the application example below.


Deployment Options

This application is containerized and can be easily run in a few minutes in the cloud, or on-premises.

On Premises
Alveo U30
View & Buy Product
  • Xilinx Runtime: 2020.1.2.6.0 or 2020.1.2.6.655
  • Target Platform: U30_Rel_v0.9

 


Start Evaluation

Follow the instructions based on your deployment method.

Alveo U30

1.

Obtain an Account Access Key

An access key is required to authenticate a user and grant them access to the application based on their entitlements.  To obtain your account access key, follow these steps:

  • Login to the Xilinx App Store Portal
  • Click the button labeled "Manage Account" to view entitlements.
  • Click the "Access Key" link on the left side menu
  • Click the "Create an Access Key" button.
  • Download the resulting file "cred.json" to /tmp/cred.json

Note:  The resulting access key will enable all entitlements within your account.  If you have not yet obtained entitlements from the "TRY OR BUY" section above, you must do so before following these steps for generating your access key.


1.1 Xilinx Appstore account

  1. Setup a Xilinx Appstore account (https://appstore.xilinx.com/ -> Manage Account).
  2. Purchase the Aupera Facial Recognition product from the Xilinx Appstore, a free trial is also available. The product can be purchased with a floating or node-locked license.
    Please note: Each U30 board contains 2 devices and therefore consumes 2 nodes to be fully utilized.
  3. At least one cred.json file (access key) must be created for your account (Manage Account -> Access Key -> Create an Access Key -> Download JSON). This file identifies your account to the Appstore during runtime and will be used in install procedure later.

1.2 Node-Locked License

  1. Node-locked license configuration file is license_conf/nodelocked/conf.json.
  2. To use a node-locked license purchased from the store, the U30 must be connected to the internet during runtime to generate a license file. After the license file is generated for the first time, it can unlock the DRM protection while offline and will only work for the specific FPGA’s DNA it was generated for.

1.3 Floating License / Free Trial

  1. Floating license / free trial configuration file is license_conf/floating/conf.json.
  2. A floating license purchased from the store can be used immediately. A floating license cannot be used while offline.

1.4 Cloud based free Evaluation

  1. Cloud based free evaluation of Aupera’s Face Recognition Solution on U30 is available on demand. Please contact sales@auperatech.com for free evaluation package.

2.

Host Setup

The Xilinx Runtime (XRT) host application is supported on Ubuntu 18.04.  With sudo access, use the following command to download and run the setup script:

2.1 Clone GitHub Repository for Xilinx Base Runtime

    git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git

cd Xilinx_Base_Runtime

2.2 Run the Host Setup Script

    ./host_setup.sh -v 2020.1 --skip-shell-flash

3.

U30 Face Recognition Docker Installation

3.1 Prerequisites

  1. One U30 board with two xcu30 devices.
  2. One x86 Ubuntu 18.04 machine supports one PCIe x8 as dual x4 or PCIe x16 as 4x4 bifurcation for U30 This document will call this computer as the “X86_Host_Computer”
  3. Install Aupera released face recognition docker image using docker pull command ‘docker pull hubxilinx/auperatech_face_recog_alveo_u30’ in X86_Host_Computer.
  4. One windows machine hosts client software, for operation interaction and results viewing. This document will call this computer as the “Windows_Client_PC”

3.2 Procedure

Install Aupera Face Recognition Docker image

a. Prepare essential software and other related packages:

    $sudo apt update;sudo apt install make build-essential nfs-kernel-server docker docker-containerd docker.io
$sudo service rpcbind restart
$sudo service nfs-kernel-server restart

b. Pull Docker image and check:

    $docker pull xilinxpartners/aupera_face_recognition:2.0.1
$docker images aupera_face_recognition

c. Copy firmware and driver from Docker image

    $docker create --name <CONTAINER_NAME> xilinxpartners/aupera_face_recognition:2.0.1 bash
$docker cp <CONTAINER_NAME>:/root/driver <NFS_ABS_PATH>
$docker cp <CONTAINER_NAME>:/root/firmware <NFS_ABS_PATH>

Here <CONTAINER_NAME> is a user defined container name, like face, <REPOSITORY>:<TAG> is the repository name, like aupera_face_recognition:2.0.1, <NFS_ABS_PATH> is local directory where firmware and driver will copied to, like /opt/aupera/face-recognition.


3.3 Install U30 firmware

a. Source XRT env and check the current XRT version.
Currently XRT version 2.6.655 or 2.6.0 are required for the firmware installation.

    $cd /opt/xilinx/xrt/ 
$source setup.sh
$ xbutil --version
XCLMGMT: 2.6.655

b. Run lspci command to validate the U30 board seen by the OS

    $sudo lspci -d 10ee:
07:00.0 Processing accelerators: Xilinx Corporation Device 503d (rev 02)
07:00.1 Processing accelerators: Xilinx Corporation Device 503c (rev 02)
08:00.0 Processing accelerators: Xilinx Corporation Device 503d (rev 02)
08:00.1 Processing accelerators: Xilinx Corporation Device 503c (rev 02)

Two devices and four functions will be found by the OS if the card is successfully installed.


c. Flash the U30 board using XRT xbmgmt utility:

    $sudo /opt/xilinx/xrt/bin/xbmgmt flash --shell --card <card_id> --path <binfile>.bin

Where, <card_id> is the BDF ID read from lspci, like 07:00.1, and <binfile> is the file name of the Aupera firmware QSPI flash dump file in the directory <NFS_ABS_PATH>/firmware/. After completion, flash another one with the second card_id (like 08:00:1) read from lspci and the same flash dump file.


d. After flash, cold reboot server, please do not use ‘sudo poweroff’ or ‘sudo reboot’ command.


4.

Install U30 driver

    $cd <NFS_ABS_PATH>/driver
$sudo ./install.sh

5.

Run Docker

a. Setup Environment Variables

    $source <(curl -s https://raw.githubusercontent.com/Xilinx/Xilinx_Base_Runtime/master/utilities/xilinx_docker_setup.sh)

b. Docker Run

    $docker run -dit --name <CONTAINER_NAME> $XILINX_DOCKER_DEVICES -v <NFS_ABS_PATH>:<NFS_ABS_PATH> -e NFS_ABS_PATH=<NFS_ABS_PATH> -p 56108:56108 <REPOSITORY>:<TAG> bash


An example of the command line:
$docker run -dit --name face $XILINX_DOCKER_DEVICES -v /opt/aupera/face-recognition/:/opt/aupera/face-recognition/ -e NFS_ABS_PATH=/opt/aupera/face-recognition/ -p 56108:56108 aupera_face_recognition:2.0.1 bash


c. Refer to above section 1 to generate a license file (cred.json) and choose a configuration file (conf.json), copy them to <NFS_ABS_PATH>/drm.


d. Start Face Recognition service

    $docker container exec -it <CONTAINER_NAME> bash start.sh

An example of the command line:
$docker container exec -it face bash start.sh


6.

Install the client software on Windows_Client_PC

Detailed instructions please refer to the section 5 of Aupera_FR_U30_User guide.


7.

Perform the Test

Connect camera to setup live streaming or upload video clips for testing.

Detailed instructions please refer to the section 5.5 QA 3 and 4 of Aupera_FR_U30_User guide.


8.

Results

Once you complete above setting, you should be able to click ‘View Live Result’ on the in the Aupera’s Windows Client Software and view the face recognition result.