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 VitisAI Library. Here, we take ZCU102 board as the test platform.

Demo Overview

There are two application demos provided within the Vitis AI Libray. They use the AI Library to build their applications. The codes are stored in ~/Vitis-AI/Vitis-AI-Library/overview/demo/segs_and_roadline_detect and ~/Vitis-AI/Vitis-AI-Library/overview/demo/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 @281MHz
  • Vivado 2020.1, AI Library r1.2

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, 20fps
  • 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/Vitis-AI-Library/overview/demo/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.2.0_video.tar.gz. Please download the package from here.
  2. Due to the limitation of Docker environment, the Multi-Task demos cannot run in DRM mode on the 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/Vitis-AI-Library/overview/demo/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 via 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.2.0_video.tar.gz. Please download the package from here.
  2. Due to the limitation of Docker environment, the Multi-Task demos cannot run in DRM mode on the cloud devices. T

Demo Picture

Figure 3: Segmentation and Pose Detection Demo Picture