{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/libhog-energy-efficient-histogram-of-oriented","title":"libHOG: Energy-Efficient Histogram of Oriented Gradient Computation","arxiv_id":null,"date":"2015-09-15","proceeding":"ITSC 2015 9","authors":["Forrest Iandola","Matthew Moskewicz","Kurt Keutzer"],"abstract":"Histogram of Oriented Gradients (HOG) features\r\nare the underlying representation in automotive computer vision\r\napplications such as collision avoidance and lane keeping. In these\r\napplications, we have observed that HOG feature computation\r\nis often a slow and energy-intensive component of the overall\r\npipeline. In this paper, we focus on reducing both the time\r\ntaken and the energy used for computing Felzenszwalb HOG\r\nfeatures. We achieve our results though a combination of reduced\r\nprecision, SIMD parallelism, algorithmic changes, and outer-loop\r\nparallelism. In particular, we address a bottleneck in histogram\r\naccumulation by phrasing the problem as a gather instead of\r\nthe (traditional) scatter. Additionally, we explore the tradeoffs\r\nof using L1 instead of L2 norms to compute gradients, which\r\nenables smaller operands and more SIMD parallelism. Overall,\r\nwe are able to compute multiresolution HOG pyramids at 70fps\r\nfor 640x480 images on a multicore CPU. This is a 3.6x speedup\r\nover the best known HOG implementation and a 29x speedup\r\nover the popular voc-release5 HOG code. This is also a 3.6x -\r\n22x reduction in energy per frame compared to previous HOG\r\nimplementations. Our open-source implementation is available\r\nfor download.","url_abs":"http://forrestiandola.com/publications/libHOG_ITSC15.pdf","url_pdf":"http://forrestiandola.com/publications/libHOG_ITSC15.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"libhog-energy-efficient-histogram-of-oriented","repo_url":"https://github.com/forresti/libHOG","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":null,"task_name":"CPU"},{"task_slug":"collision-avoidance","task_name":"Collision Avoidance"},{"task_slug":"object-detection","task_name":"Object Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}