Abstract

One of the commonly-used feature extraction algorithms in computer vision is the histogram of oriented gradients. Extracting the features from an image using this algorithm requires a large amount of computations. One way to boost the speed is to implement this algorithm on field programmable gate arrays, to benefit from flexible designs such as parallel computing. In this paper, we first, provide a summary of the steps of the histogram of oriented gradients algorithm. We then survey the implementation techniques of the histogram of oriented gradients on field-programmable gate arrays in the past decade. We group the different techniques into four main categories and analyze various enhancement methods in each category. The first group is the optimization of the algorithm computation which involves the steps of input selection, magnitude calculation, orientation and bin assignment, and normalization. The second category is data manipulation techniques which include numerical representation, data flow modification, and memory optimization. The third group contains modified features based on the histogram of oriented gradients and their hardware implementation, and the fourth one is the implementations in hardware-software co-design of the algorithm. We compare the different implementations using a speed metric called pixels per clock cycle, and resource utilization. Finally, we provide design summary tables for efficient implementation with respect to the speed metric, accuracy, and resource utilization.

Highlights

  • One of the most well-known feature extraction algorithms in computer vision is the histogram of oriented gradients (HOG)

  • Observations and Conclusions: Multi-scale detection, which means using different sizes of the image to extract features, requires extra hardware resources for resizing the input image and buffering it inside the Field Programmable Gate Arrays (FPGAs). It should only be used if the accuracy is application dependent or there are varying sizes of the object of interest in the image; otherwise, single-scale detection is faster than multi-scale detection

  • In section B, the methods that contribute to data path optimization of the HOG algorithm are surveyed

Read more

Summary

INTRODUCTION

One of the most well-known feature extraction algorithms in computer vision is the histogram of oriented gradients (HOG). HOG has shown outstanding detection capacity, it is computationally expensive and requires extensive operations to extract the features of a single frame Due to this large amount of computation, its software implementation on a stand-alone Central Processing Unit (CPU) may not meet performance expectations. A few of them have reported on power consumption while others have assumed that implementation on an FPGA consumes less power than GPUs and CPUs, and is naturally of lower power In this survey, we discuss the different techniques and methods of implementing the HOG algorithm on FPGA. We group these methods into four main categories based on different techniques to enhance HOG implementation.

THE HOG ALGORITHM
DATA MANIPULATION TECHNIQUES
NUMERICAL REPRESENTATION
CORRELATION OF HOG FEATURES
Findings
HISTOGRAM OF SIGNIFICANT GRADIENTS
DISCUSSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call