Xilinx published a project on their Wiki that uses their ZCU102 development board to demonstrate an efficient way to implement a Binary Neural Network (BNN) for Image Classification in the Programmable Logic (PL) part of an Zynq UltraScale+ MPSoC device.
Avnet recently announced their low cost Zynq UltraScale+ MPSoC board that complies with the 96boards consumer specification, and to my big surprise I saw that the BNN demo also works on the board.
This project describes the materials I used to get the demo to run on the Ultra96 board.
The most important part is to prepare the SD card that boots the demo on the Ultra96 board. I used a Windows 7 based laptop but the Xilinx Wiki describes both the Linux and Windows methods on how to write the image to the sd card.
The project files and image require a registration at Xilinx.
After writing the image to the micro SDcard and placing this in to the board you can connect the webcam, monitor and power supply to the Ultra96 board as well.
I tested a Dell and an Asus DisplayPort monitor and both worked. For controlling the demo a mouse is needed. Optionally you can connect an USB keyboard as well, but this is not required.
If the board boots and the demo is started, you can select if the demo uses pictures of road situations with traffic signs or if it should use the camera as an input for the images.
Also there is an option to start the demo for 4K or FullHD depending on the camera an monitor you use. I only used the HD option.
Furthermore you can select the SW only version of the BNN without the FPGA acceleration. I will need more than a minute to complete one classification, so be patient.