Cattle Detection: Throughput Tests

April 12, 2022    Xilinx Kria FPGA

Cattle Detection: Throughput Tests

After the Adaptive computing Challenge, I’ve been looking for a new project to keep me busy. Looking back at the Cattle Detection entry for ACC I feel there is a viable open-source opportunity to make a difference in the way Cattle is managed. So I’ve decided to build on my project entry and transform it from a concept to an open-source building block.

Validating Throughput

After the Adaptive computing Challenge, I’ve been looking for a new project to keep me busy. Looking back at the Cattle Detection entry for ACC I feel there is a viable open-source opportunity to make a difference in the way Cattle is managed. So I’ve decided to build on my project entry and transform it from a concept to an open-source building block.

My first step for this project is to work out theoretical frame rates for the KV260. Allowing me to scale my project according to the capabilities of the FPGA. There is little point in adding functionality when the latency is the bottleneck!

Block Design

For my test used a test pattern generator to generate the footage for the VDMA as shown in the image and then used the PYNQ framework to mock up a quick script to configure and run the tests.

Block Design

The Results

For the test, I ran the VDMA read in Async mode for 10000 cycles giving the VDMA time to settle and give a more accurate reading. The result was really promising, registering a throughput of 637FPS on 640x480p.

480p test

Even when I tested at 1080P I was still able to get an average of 84 FPS!

1080p test

But for a more realistic throughput test I used 320x320, this is 320 s the average pixel number for TF_COCO. Which for now, will be the main AI dataset used for detection.

1080p test

These are theoretical values but this test gives you an idea of the power of this FPGA. FPGA will always be limited by the frame rate for the camera and post processing that will occur.

comments powered by Disqus