Название: Recent Advances in Computer Vision Applications Using Parallel Processing Автор: Khalid M. Hosny, Ahmad Salah Издательство: Springer Серия: Studies in Computational Intelligence Год: 2023 Страниц: 126 Язык: английский Формат: pdf (true), epub Размер: 26.5 MB
This comprehensive book is primarily intended for researchers, computer vision specialists, and high-performance computing specialists who are interested in parallelizing computer vision techniques for the sake of accelerating the run-time of computer vision methods. This book covers different penalization methods on different parallel architectures such as multi-core CPUs and GPUs. It is also a valuable reference resource for researchers at all levels (e.g., undergraduate and postgraduate) who are seeking real-life examples of speeding up the computer vision methods’ run-time.
Computer vision is one field that is considered compute-intensive. This is because the input can be an image or a video. As the input is of large size, then the computing/processing time is huge as well. In addition, deep learning methods are heavily used in the field of computer vision. Thus, utilizing the parallel architecture for improving the runtime of the computer vision methods is of great interest and benefit. Of note, the inputs of the computer vision methods are parallel-friendly. For instance, one image consists of a set of pixels. Those pixels can be divided into groups based on the number of available parallel resources and then each group of pixels is processed using one computational resource (e.g., CPU). Thus, the groups of pixels are processed in parallel. Similarly, the video input can be divided into frames, where each computational resource (e.g., CPU or GPU) handles a number of frames.
The book provides the readers with a comprehensive overview of principles, methodologies, and recent advances in utilizing parallel architectures for the sake of speeding up computer vision methods and algorithms. Parallel computing has become a popular topic in computer programming, and it’s shown to be essential when looking for high-performance option. The rapid progression of computer architectures (multi-core and many-core) toward a large number of cores demonstrates that parallelism is the preferred strategy for speeding up an operation. The graphics processing unit has played a crucial part in high speed computing throughout the previous decade (HPC) owing to its huge parallel computing power and low price. For the first time, super-computing has become cheap to everybody for the cost of a desktop computer. In this work, We take a look at parallel computing in general, as well as GPU computing particularly. Developing effective GPU-based parallel algorithms is not an easy process; there are a number of technological constraints that must be met in order to get the desired results.
CUDA (Compute Unified Device Architecture) was first published by Nvidia in 2007 and is now the most widely used proprietary framework. Nvidia defines CUDA as a platform that allows developers to “dramatically accelerate computer applications by harnessing the power of GPUs. Without any graphics programming experience, developers can use C, C++, Fortran, or Python to call CUDA. Furthermore, Nvidia’s CUDA Toolkit includes anything that a programmer wants to get started developing GPU-accelerated software that outperform their CPU-based rivals. Microsoft Windows, Linux, and macOS are all supported by the CUDA SDK. OpenGL, OpenCL, C++ AMP, Microsoft’s DirectCompute, and Compute Shaders are among the additional computational interfaces supported by the CUDA platform.
The authors in the first chapter proposed a generic method for parallelizing any fractional order moment on the parallel architecture of multi-core CPUs in the paper entitled “A Generic Multicore CPU Parallel Implementation for Fractional Order Digital Image Moments”. They proposed accelerating two well-known algorithms, namely, fractional polar cosine transform (Fr-PCT) and fractional polar sine transform (FrPST) on CPU core with 16 cores with the help of the OpenMP APIs. They managed to speed up the two algorithms by 15.9 times. In second chapter, the authors reviewed the recent advances in the topic of road inspection in the paper entitled “Computer-Aided Road Inspection: Systems and Algorithms”. The second chapter first compares the five most common road damage types. Then, 2D/3D road imaging systems are discussed. Finally, state-of-the-art machine vision and intelligence-based road damage detection algorithms are introduced.
Third chapter is entitled “Computer Stereo Vision for Autonomous Driving: Theory and Algorithms”. In this chapter, to enhance the trade-off between speed and accuracy, a computer stereo vision algorithm for hardware with limited resources is developed by the authors. The third chapter introduces the hardware and software components of the autonomous vehicle system. Following that, the authors go through four tasks for autonomous cars to perform in terms of perception, including (1) visual feature identification, description, and matching; (2) 3D information acquisition; (3) object detection and recognition; and (4) semantic picture segmentation. The concepts of parallel computing on multi-threading CPU and GPU are then described in depth. In Fourth chapter, the authors reviewed the recent advancements in the field of using GPU to accelerate visual object trackers in the paper entitled “A Survey on GPU-Based Visual Trackers”. In this chapter, Single Object Tracking (SOT) and Multiple Object Tracking (MOT) are categorized, summarized, and analyzed. Then, the authors discussed parallel computing applications for object tracking methods, and numerous techniques for evaluating the performance of parallel algorithms on parallel architectures.
In Fifth chapter, the authors proposed accelerating the copy-move forgery detection in digital images in the paper entitled “Accelerating the Process of Copy-Move Forgery Detection Using Multi-core CPUs Parallel Architecture”. Several copy-move forgery detection methods are introduced, but the fundamental problem with them is the huge runtime required to find the final region that was forged. This is because several intricate computational operations must be repeated. Using parallel architectures is one of the solutions that have been proposed to overcome this issue. Although there has been minimal study given in this direction, it is still in its early stages. The use of parallel architectures is exposed in this article. The authors considered different parallel methods to speed up the copy-move forgery detection process in order to address the issue of massive runtime. In this context, a novel Multi-core CPU-based Parallel Copy-Move Image Forgery Detection (PCMIFD) system is proposed by the authors. The proposed system has undergone testing on an 8-core multi-core CPU parallel architecture; the obtained results show that the proposed system managed to speed up the sequential copy-forgery algorithm by 7.4 times.
Finally, in Sixth chapter, the authors proposed reviewing the recent research works conducted using Raspberry Pi with multi-core CPU embedded systems or a cluster of Raspberry Pi to speed up the computer vision techniques. This chapter is entitled “Parallel Image Processing Applications Using Raspberry Pi”. Instead of using normal CPUs, a cluster of low-power embedded processors can reduce the electricity consumption. Because the portable cluster may be set up to keep running even if some of its nodes fail, it will be advantageous to employ a Raspberry Pi cluster for image processing applications that take a long time to complete. The authors of this paper give a general overview of how the Raspberry Pi is used in various parallel image processing applications across several industries.
Contnts: A Generic Multicore CPU Parallel Implementation for Fractional Order Digital Image Moments Computer-Aided Road Inspection: Systems and Algorithms Computer Stereo Vision for Autonomous Driving: Theory and Algorithms A Survey on GPU-Based Visual Trackers Accelerating the Process of Copy-Move Forgery Detection Using Multi-core CPUs Parallel Architecture Parallel Image Processing Applications Using Raspberry Pi
Скачать Recent Advances in Computer Vision Applications Using Parallel Processing