Application Demos

This chapter describes how to set up a test environment and to run the application demos. There are two application demos provided within the Vitis™ AI Library. Here, we take ZCU102 board as the test platform.

Demo Overview

There are two application demos provided within the Vitis AI Library. They use the Vitis AI Library to build their applications. The codes are stored in Vitis-AI/demo/Vitis-AI-Library/apps/segs_and_roadline_detect and Vitis-AI/demo/Vitis-AI-Library/apps/seg_and_pose_detect.

segs_and_roadline_detect is a demo that includes multi-task segmentation network processing, vehicle detection and road line detection. It simultaneously performs 4-channel segmentation and vehicle detection and 1-channel road lane detection.

seg_and_pose_detect is a demo that includes multi-task segmentation network processing and pose detection. It simultaneously performs 1-channel segmentation process and 1-channel pose detection.

Note: To achieve the best performance, the demos use the DRM (Direct Render Manager) for video display. Log in the board using ssh or serial port and run the demo remotely. If you do not want to use DRM for video display, set “USE_DRM=0” in the compile option.

Demo Platform and Setup

Demo Platform

Hardware
Software

DPU Configuration & Dev Tool Used

  • 3xB4096 @281 MHz
  • Vivado 2021.1, Vitis AI Library v1.4

Demo Setup Illustration

Figure 1: Demo Setup

Demo 1: Multi-Task Segmentation + Car Detection and Road Line Detection

Target Application

ADAS/AD

AI Model, Performance, and Power

FPN
512x288, 4ch, 20fp
VPGNET
640x480, 1ch, 56fps
20W @ ZU9EG

Build and Run the Demo

Build the demo in the host and copy the program to the target board.

cd Vitis-AI/demo/Vitis-AI-Library/apps/segs_and_roadline_detect
bash -x build.sh
scp segs_and_roadline_detect_x segs_and_roadline_detect_drm root@IP_OF_BOARD:~/

To use OpenCV display, run the following command:

./segs_and_roadline_detect_x seg_512_288.avi seg_512_288.avi seg_512_288.aviseg_512_288.avi lane_640_480.avi -t 2 -t 2 -t 2 -t 2 -t 3 >/dev/null 2>&1

If you want to use DRM display, please connect to the board using SSH and run the following command:

./segs_and_roadline_detect_drm seg_512_288.avi seg_512_288.avi seg_512_288.avi
seg_512_288.avi lane_640_480.avi -t 2 -t 2 -t 2 -t 2 -t 3 >/dev/null 2>&1
Note:
  1. The video files are in the vitis_ai_library_r1.4.0_video.tar.gz. Download the package from here.
  2. Due to limitations of the Docker environment, the Multi-task demos cannot run in the DRM mode on Cloud devices.

Demo Picture

Figure 2: Segmentation and Roadline Detection Demo Picture

Demo 2: Multi-Task Segmentation+Car Detection and Pose Detection

Target Application

  • ADAS/AD
  • Smartcity

AI Model, Performance, and Power

FPN
960x540, 1ch, 30fps
Openpose
960x540, 1ch, 30fps
20W @ ZU9EG

Build and Run the Demo

Build the demo in the host and copy the program to the target board.

cd Vitis-AI/demo/Vitis-AI-Library/apps/seg_and_pose_detect
bash -x build.sh
scp seg_and_pose_detect_x seg_and_pose_detect_drm root@IP_OF_BOARD:~/

To use OpenCV display, run the following command:

#./seg_and_pose_detect_x seg_960_540.avi pose_960_540.avi -t 4 -t 4 >/dev/null 2>&1
If you want to use DRM display, please connect to the board using SSH, and run the following command:
#./seg_and_pose_detect_drm seg_960_540.avi pose_960_540.avi -t 4 -t 4 >/dev/null 2>&1
Note:
  1. The video files are in the vitis_ai_library_r1.4.0_video.tar.gz. Download the package from here.
  2. Due to limitations of the Docker environment, the Multi-task demos cannot run in the DRM mode on Cloud devices.

Demo Picture

Figure 3: Segmentation and Pose Detection Demo Picture