Cargando…
A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm
The histogram of oriented gradients is a commonly used feature extraction algorithm in many applications. Hardware acceleration can boost the speed of this algorithm due to its large number of computations. We propose a hardware–software co-design of the histogram of oriented gradients and the subse...
Autores principales: | , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
MDPI
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7584040/ https://www.ncbi.nlm.nih.gov/pubmed/33023233 http://dx.doi.org/10.3390/s20195655 |
_version_ | 1783599517492314112 |
---|---|
author | Ghaffari, Sina Soleimani, Parastoo Li, Kin Fun Capson, David W. |
author_facet | Ghaffari, Sina Soleimani, Parastoo Li, Kin Fun Capson, David W. |
author_sort | Ghaffari, Sina |
collection | PubMed |
description | The histogram of oriented gradients is a commonly used feature extraction algorithm in many applications. Hardware acceleration can boost the speed of this algorithm due to its large number of computations. We propose a hardware–software co-design of the histogram of oriented gradients and the subsequent support vector machine classifier, which can be used to process data from digital image sensors. Our main focus is to minimize the resource usage of the algorithm while maintaining its accuracy and speed. This design and implementation make four contributions. First, we allocate the computationally expensive steps of the algorithm, including gradient calculation, magnitude computation, bin assignment, normalization and classification, to hardware, and the less complex windowing step to software. Second, we introduce a logarithm-based bin assignment. Third, we use parallel computation and a time-sharing protocol to create a histogram in order to achieve the processing of one pixel per clock cycle after the initialization (setup time) of the pipeline, and produce valid results at each clock cycle afterwards. Finally, we use a simplified block normalization logic to reduce hardware resource usage while maintaining accuracy. Our design attains a frame rate of 115 frames per second on a Xilinx(®) Kintex(®) Ultrascale(™) FPGA while using less hardware resources, and only losing accuracy marginally, in comparison with other existing work. |
format | Online Article Text |
id | pubmed-7584040 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
publisher | MDPI |
record_format | MEDLINE/PubMed |
spelling | pubmed-75840402020-10-29 A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm Ghaffari, Sina Soleimani, Parastoo Li, Kin Fun Capson, David W. Sensors (Basel) Article The histogram of oriented gradients is a commonly used feature extraction algorithm in many applications. Hardware acceleration can boost the speed of this algorithm due to its large number of computations. We propose a hardware–software co-design of the histogram of oriented gradients and the subsequent support vector machine classifier, which can be used to process data from digital image sensors. Our main focus is to minimize the resource usage of the algorithm while maintaining its accuracy and speed. This design and implementation make four contributions. First, we allocate the computationally expensive steps of the algorithm, including gradient calculation, magnitude computation, bin assignment, normalization and classification, to hardware, and the less complex windowing step to software. Second, we introduce a logarithm-based bin assignment. Third, we use parallel computation and a time-sharing protocol to create a histogram in order to achieve the processing of one pixel per clock cycle after the initialization (setup time) of the pipeline, and produce valid results at each clock cycle afterwards. Finally, we use a simplified block normalization logic to reduce hardware resource usage while maintaining accuracy. Our design attains a frame rate of 115 frames per second on a Xilinx(®) Kintex(®) Ultrascale(™) FPGA while using less hardware resources, and only losing accuracy marginally, in comparison with other existing work. MDPI 2020-10-02 /pmc/articles/PMC7584040/ /pubmed/33023233 http://dx.doi.org/10.3390/s20195655 Text en © 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). |
spellingShingle | Article Ghaffari, Sina Soleimani, Parastoo Li, Kin Fun Capson, David W. A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm |
title | A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm |
title_full | A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm |
title_fullStr | A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm |
title_full_unstemmed | A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm |
title_short | A Novel Hardware–Software Co-Design and Implementation of the HOG Algorithm |
title_sort | novel hardware–software co-design and implementation of the hog algorithm |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7584040/ https://www.ncbi.nlm.nih.gov/pubmed/33023233 http://dx.doi.org/10.3390/s20195655 |
work_keys_str_mv | AT ghaffarisina anovelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT soleimaniparastoo anovelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT likinfun anovelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT capsondavidw anovelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT ghaffarisina novelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT soleimaniparastoo novelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT likinfun novelhardwaresoftwarecodesignandimplementationofthehogalgorithm AT capsondavidw novelhardwaresoftwarecodesignandimplementationofthehogalgorithm |