element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Blog Vitis-AI 1.4 Flow for Avnet Vitis platforms
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: albertabeef
  • Date Created: 20 Oct 2021 6:05 PM Date Created
  • Views 2110 views
  • Likes 2 likes
  • Comments 0 comments
  • ultra96v2
  • ultrazed-ev starter kit
  • ai at the edge
  • artificial intelligence
  • xilinx
  • edge ai
  • ultrazed-eg
  • designed by avnet
  • vitis-ai
  • ultrazed-eg-iocc
  • ultrazed ev
  • vitis
Related
Recommended

Vitis-AI 1.4 Flow for Avnet Vitis platforms

albertabeef
albertabeef
20 Oct 2021

Avnet is working on Vitis 2021.1 platforms for several of their hardware platforms.

Thanks to this work, I was able to port Vitis-AI 1.4 on the following platforms:

  • Ultra96-V2 Development Board
  • UltraZed-EV SOM (7EV) + FMC Carrier Card
  • UltraZed-EG SOM (3EG) + IO Carrier Card

 

Vitis-AI 1.4 Flow for Avnet Vitis platforms

For access to the pre-built SD card images, as well as instructions on how to rebuild these images, please refer to the following:

http://avnet.me/vitis-ai-1.4-project

image

 

Enjoy !

 

 

Bonus Content

 

As a bonus to the Element14 community, I wanted to also share how I created the animated image of the point cloud 3D demonstration.

 

The code for this project is one of the benefits of the Xilinx Developer Program.

     https://developer.xilinx.com/

 

If you are not registered in the Xilinx Developer Program, you can do it now at the following link:

     https://developer.xilinx.com/en/developer-program.html

 

Once registered, navigate to the "Demos & Designs" tab, where you can find the source for several application examples, including "Point Cloud 3D detection".

     https://www.xilinx.com/developer/products/vitis-ai.html#demos

 

 

As of this writing, the "Point Cloud 3D detection" demo was only provided for Vitis-AI 1.3, but we will modify it for use with Vitis-AI 1.4.

 

Download the "pp_3d_detect.tar.gz" archive, and copy to the SD card of the Ultra96-V2 board.

 

The "pp_3d_detect.tar.gz" archive contains many files (.*) which are not useful. I recommend extracting the archive with the --exclude argument to prevent extracting these unwanted files.

 

root@u96v2-sbc-base-2021-1:~# tar xvzf  ppdemo1216.tar.gz --exclude='.*'
root@u96v2-sbc-base-2021-1:~# cd ppdemo1216/

 

Several modifications need to be made for use with 2021.1 and Vitis-AI 1.4.

 

The first is to modify the demo.cpp source file to change one of the headers from iostream to fstream:

 

//#include <iostream>
#include <fstream>

 

The second is to modify the build.sh script to change the c++ version and to define OPENCV_FLAGS for the new opencv version:

 

#g++ -std=c++11 -I. -o demo demo.cpp -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_imgcodecs -lopencv_highgui -lvitis_ai_library-pointpillars  -lvart-util -pthread -lglog

result=0 && pkg-config --list-all | grep opencv4 && result=1
if [ $result -eq 1 ]; then
OPENCV_FLAGS=$(pkg-config --cflags --libs-only-L opencv4)
else
OPENCV_FLAGS=$(pkg-config --cflags --libs-only-L opencv)
fi

g++ -std=c++17 -I. ${OPENCV_FLAGS} -o demo demo.cpp -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_imgcodecs -lopencv_highgui -lvitis_ai_library-pointpillars  -lvart-util -pthread -lglog

 

With these changes made, we can build the application.

 

root@u96v2-sbc-base-2021-1:~/ppdemo1216# source ./build.sh

 

Refer to the readme.txt for instructions for launching the application with the provided images and LIDAR data.

 

On the Ultra96-V2 and UltraZed-EG platforms, it is recommended to reduce the monitor resolution to prevent the display controller from starving while the DPU is running, which results in glitches on the screen.

 

root@u96v2-sbc-base-2021-1:~# xrandr --output DP-1 --mode 800x600

root@u96v2-sbc-base-2021-1:~# cd ~/dpu_sw_optimize/zynqmp/
root@u96v2-sbc-base-2021-1:~/dpu_sw_optimize/zynqmp# ./zynqmp_dpu_optimize.sh
Auto resize ext4 partition ...
Start QoS config ...

root@u96v2-sbc-base-2021-1:~/dpu_sw_optimize/zynqmp# cd ~/ppdemo1216

 

 

To display the images with 3D annotations, use the following command:

 

root@u96v2-sbc-base-2021-1:~/ppdemo1216# ./demo ./ppd/vlist.txt ./ppd/ 1

 

To display the images with 3D annotations, use the following command:

 

root@u96v2-sbc-base-2021-1:~/ppdemo1216# ./demo ./ppd/vlist.txt ./ppd/ 2

 

 

On the UltraZed-EV platform, use the following command to view both:

 

root@u96v2-sbc-base-2021-1:~/ppdemo1216# ./demo ./ppd/vlist.txt ./ppd/ 3

 

 

 

Regards,

 

Mario Bergeron.

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube