Papers › libHOG: Energy-Efficient Histogram of Oriented Gradient Computation

libHOG: Energy-Efficient Histogram of Oriented Gradient Computation

15 Sep 2015ITSC 2015 9archive 2025-07-28

Forrest Iandola, Matthew Moskewicz, Kurt Keutzer

Histogram of Oriented Gradients (HOG) features are the underlying representation in automotive computer vision applications such as collision avoidance and lane keeping. In these applications, we have observed that HOG feature computation is often a slow and energy-intensive component of the overall pipeline. In this paper, we focus on reducing both the time taken and the energy used for computing Felzenszwalb HOG features. We achieve our results though a combination of reduced precision, SIMD parallelism, algorithmic changes, and outer-loop parallelism. In particular, we address a bottleneck in histogram accumulation by phrasing the problem as a gather instead of the (traditional) scatter. Additionally, we explore the tradeoffs of using L1 instead of L2 norms to compute gradients, which enables smaller operands and more SIMD parallelism. Overall, we are able to compute multiresolution HOG pyramids at 70fps for 640x480 images on a multicore CPU. This is a 3.6x speedup over the best known HOG implementation and a 29x speedup over the popular voc-release5 HOG code. This is also a 3.6x - 22x reduction in energy per frame compared to previous HOG implementations. Our open-source implementation is available for download.

PaperPDFCode

Code

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Tasks

Collision AvoidanceObject Detection

1 archive task tag without a task page not shown.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections