FPGA Accelerated Visual Search Engine


Moffett

Application Summary

Moffett AI offers a breakthrough Visual Search as a Service Solution architecture based on Sparse Processing on FPGAs for Face Identification and Visual Search which is widely used in surveillance, smart retail, social media and autonomous vehicles.

Moffett AI FPGA Accelerated Visual Search Engine and Service are ready made to accelerate Visual Search inference across a wide variety of industries and applications, such as surveillance, smart retail, content search, social media and autonomous vehicles, delivering an order of magnitude higher efficiency via reduced computational complexity and smaller network size, delivering up to 15 times lower cost compared to GPU based solutions.
 

Vendor Modified Size Container Version
Moffett Systems Inc November 26, 2020 1373 MB moffettai_sp_vs_accelerator

Deployment Options

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

Cloud Services
AWS
  • Xilinx Rumtime: 2019.1
  • Target Platform:  centos7
  • Instance Type:f1.2xlarge


 

Try or Buy

Obtain an Access Key for Evaluation or Purchase

Begin your free trial and run the code sample below.

View and purchase available pricing plans for this application.


Start Evaluation

Follow the instructions based on your deployment method.

AWS

1.

Obtain Evaluation Access Key

Login to the Xilinx Acceleration Application Store.

Create Access Key and Download it as “cred.json” File.


1.1 Create an instance from f1.2xlarge from community image "FPGA Dev AMI"


1.2 Choose "f1.2xlarge" as instance type

You can either run a single command or launch an interactive shell where you can run many commands.


1.3 Configure Instance Details as default

Add storage as default

Add tags as wish

Configure Security Group. You create new one or use one of default. Set the "type" is "SSH" and "source" is "anywhere"

Review and launch


Select an existing key pair or create a new key pair then save it as pem file for ssh suck like "aws.pem".


The "FPGA Development AMI" requires 8 vCPUs. You may need request AWS to increase your account limit from here https://console.aws.amazon.com/support/home?region=us-east-1#/case/create and choose "Service limit increase".

SSH to a jump point server: xcoengvm232180, xcoengvm232197, xsjengvm210134 or xsjengvm210190. Then "ssh -i aws.pem centos@[aws_instance_ip]". You can find ip from the right.


2.

Install and configure docker

    git clone https://github.com/MoffettSystem/Xilinx_Base_Runtime.git /home/centos/Xilinx_Base_Runtime
sudo -s source /home/centos/Xilinx_Base_Runtime/utilities/docker_install.sh
sudo systemctl start docker
sudo usermod -aG docker $USER

3.

Install AWS FPGA SDK

    AWS_FPGA_REPO_DIR=/home/centos/aws-fpga
git clone https://github.com/aws/aws-fpga.git $AWS_FPGA_REPO_DIR
source $AWS_FPGA_REPO_DIR/sdk_setup.sh

4.

Reboot the Instance


5.

Application Execution

Upload cred.jon file (get from step 1) to AWS instance in folder /opt/xilinx/cred.json. Then chmod 777 cred.json.

Execute following commands:
 

    git clone https://github.com/MoffettSystem/aws_visual_search.git /home/centos/aws_visual_search       
source /home/centos/aws_visual_search/utilities/moffett_run_docker_container.sh 


6.

Results

The app will go through all the images in the query folder: data/vsearch_sdk_demo/user_image/queries and it will return top 5 results for each query image.

Each result contains a pair of number including a matching image database index and its confidence score.