Stream Optimization for Real-Time Object Detection
Alexander Nuccitelli, Alexander Kelley, Darin Peries, Easton Havemann, James Shepherd
Dr. Ritchey
Problem Definition
Sandia National Labs has been working on a temporal frequency analysis (TFA) algorithm for real-time object detection, specifically for detecting drones. Our project seeks to optimize this algorithm on an FPGA to achieve 30 FPS on a resolution of 1280 x 720.
Why a TFA algorithm?
A TFA algorithm can be used to detect small and fast moving objects that cannot be picked up by an edge detecting algorithm like a convolutional neural network. In addition, a TFA algorithm excels at picking up objects with constant frequencies.
Why an FPGA?�A field programmable gate array (FPGA) accelerator card
had advantages over both CPU’s and GPU’s.
Methodology
Before improvements were made, a formal code review of the the unoptimized FPGA code was performed. Key areas which impacted performance were found.
Increasing parallelization in FFTs via unrolling
Improving memory performance
Additional Features
Outcomes
A performance analysis was conducted, comparing image size and number of video inputs in order to judge the algorithms capabilities.
Overall our optimizations were extremely successful, increasing overall performance massively. At a resolution of 360 x 640, a speed up of ~40 was found. When processing two streams at once, our algorithm saw a decrease to roughly half its original performance. This is due to the fact that the FPGA is limited to calculating only 8 pixels per clock cycle, so increasing the amount of frames to be processed will cause a decrease in performance. When increasing image size, FPS decreases inversely. This is because image size and frame time are linearly related, and FPS is the inverse of frame time.
Impact
With our improvements, the algorithm can be run in real time on larger video inputs with higher frame rates. This expands the possible use cases for the FPGA implementation of the algorithm.
References
Figure 3. Graph of Performance Relative to Image Size
Figure 1. TFA Algorithm Flowchart
Acknowledgements
Thank you very much to Aaron McMullan and Zach Khan from Sandia National Labs, and Dr. Ritchey for their help with this project.
Figure 4. Graph of Performance of Different Implementations
Engineering Analysis
After completion of the algorithm, a full analysis was performed in order to compare our optimizations to the original algorithm, as well as understand and test the full capabilities of the system.
Figure 2. Comparison of Different Frequencies
25 Hz
5 Hz
Booth Number: 465