Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs
Machine-learning-based computer vision is increasingly versatile and being leveraged by a wide range of smart devices. Due to the limited performance/energy budget of computing units in smart devices, the careful implementation of computer vision algorithms is critical. In this paper, we analyze the...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2022-08-01
|
Series: | Applied Sciences |
Subjects: | |
Online Access: | https://www.mdpi.com/2076-3417/12/15/7801 |
_version_ | 1797414621658742784 |
---|---|
author | Jaehyun Song Hwanjin Jeong Jinkyu Jeong |
author_facet | Jaehyun Song Hwanjin Jeong Jinkyu Jeong |
author_sort | Jaehyun Song |
collection | DOAJ |
description | Machine-learning-based computer vision is increasingly versatile and being leveraged by a wide range of smart devices. Due to the limited performance/energy budget of computing units in smart devices, the careful implementation of computer vision algorithms is critical. In this paper, we analyze the performance bottleneck of two well-known computer vision algorithms for object tracking: object detection and optical flow in the Open-source Computer Vision library (OpenCV). Based on our in-depth analysis of their implementation, we found the current implementation fails to utilize Open Computing Language (OpenCL) accelerators (e.g., GPUs). Based on the analysis, we propose several optimization strategies and apply them to the OpenCL implementation of object tracking algorithms. Our evaluation results demonstrate the performance of the object detection is improved by up to 86% and the performance of the optical flow by up to 10%. We believe our optimization strategies can be applied to other computer vision algorithms implemented in OpenCL. |
first_indexed | 2024-03-09T05:36:03Z |
format | Article |
id | doaj.art-d5176203241f4cda9575d35dc9a786a0 |
institution | Directory Open Access Journal |
issn | 2076-3417 |
language | English |
last_indexed | 2024-03-09T05:36:03Z |
publishDate | 2022-08-01 |
publisher | MDPI AG |
record_format | Article |
series | Applied Sciences |
spelling | doaj.art-d5176203241f4cda9575d35dc9a786a02023-12-03T12:29:25ZengMDPI AGApplied Sciences2076-34172022-08-011215780110.3390/app12157801Performance Optimization of Object Tracking Algorithms in OpenCV on GPUsJaehyun Song0Hwanjin Jeong1Jinkyu Jeong2College of Information and Communication Engineering, Sungkyunkwan University, Suwon 16419, KoreaCollege of Information and Communication Engineering, Sungkyunkwan University, Suwon 16419, KoreaCollege of Information and Communication Engineering, Sungkyunkwan University, Suwon 16419, KoreaMachine-learning-based computer vision is increasingly versatile and being leveraged by a wide range of smart devices. Due to the limited performance/energy budget of computing units in smart devices, the careful implementation of computer vision algorithms is critical. In this paper, we analyze the performance bottleneck of two well-known computer vision algorithms for object tracking: object detection and optical flow in the Open-source Computer Vision library (OpenCV). Based on our in-depth analysis of their implementation, we found the current implementation fails to utilize Open Computing Language (OpenCL) accelerators (e.g., GPUs). Based on the analysis, we propose several optimization strategies and apply them to the OpenCL implementation of object tracking algorithms. Our evaluation results demonstrate the performance of the object detection is improved by up to 86% and the performance of the optical flow by up to 10%. We believe our optimization strategies can be applied to other computer vision algorithms implemented in OpenCL.https://www.mdpi.com/2076-3417/12/15/7801GPUOpenCLOpenCVoptimizationkernel occupancy |
spellingShingle | Jaehyun Song Hwanjin Jeong Jinkyu Jeong Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs Applied Sciences GPU OpenCL OpenCV optimization kernel occupancy |
title | Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs |
title_full | Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs |
title_fullStr | Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs |
title_full_unstemmed | Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs |
title_short | Performance Optimization of Object Tracking Algorithms in OpenCV on GPUs |
title_sort | performance optimization of object tracking algorithms in opencv on gpus |
topic | GPU OpenCL OpenCV optimization kernel occupancy |
url | https://www.mdpi.com/2076-3417/12/15/7801 |
work_keys_str_mv | AT jaehyunsong performanceoptimizationofobjecttrackingalgorithmsinopencvongpus AT hwanjinjeong performanceoptimizationofobjecttrackingalgorithmsinopencvongpus AT jinkyujeong performanceoptimizationofobjecttrackingalgorithmsinopencvongpus |