OpenCV 내장 CPU 및 GPU 함수를 이용한 DNN 추론 시간 복잡도 분석

Performance Analysis of DNN inference using OpenCV Built in CPU and GPU Functions

  • 박천수 (성균관대학교 컴퓨터교육과)
  • 투고 : 2022.02.24
  • 심사 : 2022.03.25
  • 발행 : 2022.03.31

초록

Deep Neural Networks (DNN) has become an essential data processing architecture for the implementation of multiple computer vision tasks. Recently, DNN-based algorithms achieve much higher recognition accuracy than traditional algorithms based on shallow learning. However, training and inference DNNs require huge computational capabilities than daily usage purposes of computers. Moreover, with increased size and depth of DNNs, CPUs may be unsatisfactory since they use serial processing by default. GPUs are the solution that come up with greater speed compared to CPUs because of their Parallel Processing/Computation nature. In this paper, we analyze the inference time complexity of DNNs using well-known computer vision library, OpenCV. We measure and analyze inference time complexity for three cases, CPU, GPU-Float32, and GPU-Float16.

키워드

참고문헌

  1. Velasco-Montero, Delia, et al. "Performance analysis of real-time DNN inference on Raspberry Pi." Real-Time Image and Video Processing, vol. 10670, pp. 10670F-1-9, 2018.
  2. Shalini, K., et al. "Comparative analysis on Deep Convolution Neural Network models using Pytorch and OpenCV DNN frameworks for identifying optimum fruit detection solution on RISC-V architecture." IEEE Mysore Sub Section International Conference (MysuruCon), pp. 738-743, 2021.
  3. Xiang, Yecheng, and Hyoseung Kim, "Pipelined data-parallel CPU/GPU scheduling for multi-DNN real-time inference." IEEE Real-Time Systems Symposium (RTSS). pp. 392-405, 2019.
  4. Xiaoyun Wang, et al. "Accelerating DNN Inference with GraphBLAS and the GPU." IEEE High Performance Extreme Computing Conference (HPEC), pp. 1-6, 2019.
  5. https://en.wikipedia.org/wiki/OpenCV
  6. https://learnopencv.com/deep-learning-with-opencvsdnn-module-a-definitive-guide/
  7. Adrian Kaehler and Gary Bradski. "Learning OpenCV 3: computer vision in C++ with the OpenCV library." O'Reilly Media, Inc., 2016.
  8. Hangun, Batuhan, and Onder Eyecioglu. "Performance comparison between OpenCV built in CPU and GPU functions on image processing operations." International Journal of Engineering Science and Application, vol. 1, no. 2, pp. 34-41, 2017.
  9. Ali Farhadi and Joseph Redmon. "Yolov3: An incremental improvement." Computer Vision and Pattern Recognition, vol. 1804, pp. 1-6, 2018.
  10. Bochkovskiy, Alexey, Chien-Yao Wang, and Hong-Yuan Mark Liao. "Yolov4: Optimal speed and accuracy of object detection." arXiv preprint arXiv:2004.10934, 2020.
  11. https://github.com/AlexeyAB/darknet
  12. C. Y. Wang, A. Bochkovskiy, and H. Y. H. Liao. "Scaled-yolov4: Scaling cross stage partial network." In Proceedings of the IEEE/cvf conference on computer vision and pattern recognition. pp. 13029-13038, 2021.
  13. P. Jiang, D. Ergu, F. Liu, Y. Cai, and B. Ma. "A Review of Yolo Algorithm Developments." Procedia Computer Science, pp. 1066-1073, 2022.