Building Vitis-AI Sample Applications on Certified Ubuntu 20.04 LTS for Xilinx Devices
This page provides instructions for building the Vitis-AI Library (v1.3.2) sample applications from source on a ZCU10x evaluation board or KV260 kit running Certified Ubuntu 20.04 LTS for Xilinx Devices.
This flow has been tested with the Ubuntu 22.04 image on the ZCU102 using Vitis AI 2.5. Changes are noted in the steps below.
Table of Contents
Introduction
Building the Vitis AI library sample applications is straightforward. The steps below provide an easy-to-follow set of steps to build them yourself.
Install the Necessary Packages
Before building the sample applications, install the required dependency packages:
$ sudo apt -y update
$ sudo apt -y install libopencv-dev
$ sudo apt -y install libgoogle-glog-dev |
For Ubuntu 22.04, the following additional packages are required:
$ sudo apt -y install vitis-ai-library
$ sudo apt -y install libjson-c-dev
Get the Source Code
All of the source code is available on the Xilinx GitHub. After you clone the Vitis AI repository, switch to the v1.3.2 tag. Make sure you’re in your home directory before cloning.
$ cd ~
$ git clone https://github.com/Xilinx/Vitis-AI.git
$ cd Vitis-AI
$ git checkout tags/v1.3.2 |
For Vitis AI 2.5, use tags/v2.5
Build the Application Code
Depending on which sample application you want to build, switch to the sample application directory and build it using the provided script build.sh.
In releases of the repository prior to version 1.4, the paths for opencv4 in the build.sh
script are incorrect. This will be fixed in Vitis AI 1.4.
For sample applications other than facedetect
, be sure to update the build.sh script to include the necessary opencv4
include path before building. This can be done quickly with the following command:
$ sed -i 's/-std=c++17/-std=c++17 -I\/usr\/include\/opencv4/g' build.sh
For example, in order to build the facedetect
sample application:
Download a Model
The sample applications require a compatible machine learning model in order to run. Refer to the readme
file in the application directory to determine which models are compatible with each sample application. The models are available for download at http://xilinx.com as part of the Xilinx Model Zoo. To find download link for the model you need, use the table below:
Board | Model filename | Notes |
---|---|---|
zcu102/4/6 | <model name>-zcu102_zcu104-r1.3.1.tar.gz | Compatible with the OOB bitstreams provided with the Certified Ubuntu Images |
kv260 | <model name>-DPUCZDX8G_ISA0_B3136_MAX_BG2-1.3.1-r241.tar.gz | Compatible with Accelerated Application firmware from the 2020.2.2 KV260 Release |
For example, to download the densebox_640_360 model for the zcu102 and extract in the home directory:
Run the Sample Application
The sample applications can take input from either a jpeg image or a USB Camera. HDMI input is not supported by the sample apps.
There are three ways to specify the model
Place the model directory in
/usr/share/vitis_ai_libray/models/
and use the model name (ex: densebox_640_360)Place the model directory in the current directory and use the model name
Directly reference the
.xmodel
file (shown above)
Sample Images and Videos
Vitis AI provides a test image archive that can be download to the target and used to run the tests above. To download the sample image package, and extract them to the samples directory in your home directory, use the following commands:
To use these images and file lists, change into the subdirectory of the test you want to run, and execute the test app from there. For example, to use the facedetect sample images, you should run your test from the ~/samples/facedetect directory.
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy