{'fraction_non_alphanumeric': 0.020903010033444816, 'fraction_numerical': 0.010869565217391304, 'mean_word_length': 5.045454545454546, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Framework to Benchmark CNNs (FaBCNN) for Processing Real-Time HD Video Streams on FPGAs

The deployment of Convolutional Neural Networks (CNNs) on resource-constrained edge devices for inference is challenging due to its computation, memory, energy, and bandwidth requirements. To address these issues, FPGAs are commonly used to implement CNNs because of their high flexibility and low power consumption. This paper proposes a methodology that provides a technique to benchmark CNNs using HDMI input and output in real-time with 720p high definition (HD) resolution. This methodology can be utilized in a classroom set up to teach CNN and computer vision fundamentals. To illustrate the effectiveness of the proposed methodology, several object detection and image classification CNNs were deployed on the Xilinx ZCU104 FPGA board. Video is provided to the FPGA in real-time from an HDMI input source. The output of a given CNN is converted to an HDMI stream and displayed on a separate monitor at 720p HD resolution. The experimental results show that this methodology can perform object detection and image classification on real-time video at speeds of around 10 FPS and 30 FPS, respectively.