cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MicroZed Chronicles: Hands On with the Kria KV260 Vision AI Starter Kit

xtech-blogs
Xilinx Employee
Xilinx Employee
0 0 414

Editor’s Note: This content is republished from the MicroZed Chronicles, with permission from the author.

 

If you missed the announcements and my recent blog, Xilinx now offers a range of production-ready system on modules (SOM) named Kria. These SOMs contain a custom Zynq UltraScale+ MPSoC and are designed to enable you to hit the ground running on day one and take the same elements into production. This is one of the key benefits of using SOMs.

Kria Vision AI Starter Kit.png

This is where the Kria Vision AI Starter Kit shines because it is designed to enable you start creating vision and vision-based AI applications that can then be taken forward to the production system.

The Kria Vision AI Starter Kit supports a range of interfaces that are commonly used in vision-based systems including USB, MIPI, HDMI and DisplayPort.

Getting up and running with the Kria Vision AI Starter Kit is amazingly simple. There is no need to create Vivado and PetaLinux designs. Instead, we can download the SD card image from the Kria getting started web page. Following these simple instructions will enable us to get started using designs available on the Xilinx Kria app store.

Let’s look at what we need to do to get the board up and running and using the smart camera application. To do this, we will need a display which supports HDMI or DisplayPort and an ethernet connection which connects to the internet in addition to the Kria Vision AI Starter Kit

Once we have the SD card image written and inserted into the SOM, the next step is to connect the USB and MIPI cameras, your display, and ethernet. We also need to connect a USB UART cable back to our computer. It is through this link that a terminal will be used to configure and load in applications.

Kria KV260.jpg

Once the SOM has booted, the first thing we need to do is login. The user name is PetaLinux and the password is set when we first log in. 

Kria petalinux.png

Once we are logged into the SOM, the first step is to enable root privileges. 

login.png

Logged in and with the privileges enabled, the final step before we load an application is to ensure we are connected to the internet. The easiest way to do this is to ping 8.8.8.8 and ensure you see a response. This is the google DNS.

To get an application from the Xilinx Kria app store, we can use the xmutil utility. Running sudo xmutil getpkgs will list the three applications on the app store which are currently available free of charge.

xmutil getpkgs.png

To get started with the SOM, we are going to use the smartcam application. This can be installed on to the card using the command sudo dnf install packagegroup-kv260-smartcam.noarch. When prompted, answer Y to install.

sudo dnf install packagegroup-kv260-smartcam.noarch.png

This might take a few minutes depending on your internet speed.  

Once completed, the next step is to list the applications which are currently running. Use the command sudo xmutil listapps. You will notice the default dp application is loaded.

listapps 1.png

To load the smart camera applications, we first unload the running application with the command sudo xmutil unloadapp. Running the listapps command immediately afterwards to see the currently running applications will now show no running applications.

listapps.png

We can load in the application by the using the command sudo xmutil loadapp kv260-smartcam. This will load the application into the SOM but not yet run it.

xmutil loadapp kv260-smartcam.png

 

To run the application, we need to tell the application the video source MIPI or USB and the output target e.g. DP / RTSP or File.  

sudo smartcam --usb 0 -W 1920 -H 1080 -r 30 --target dp

When I ran the application using the USB camera, I got the following output on my display.

smartcam app.jpg

Getting the Kria Vision AI Starter Kit up and running was remarkably simple. Now I want to take a look at how we can create our own applications and start working with custom applications.