Book Image

Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA

By : Bhaumik Vaidya
Book Image

Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA

By: Bhaumik Vaidya

Overview of this book

Computer vision has been revolutionizing a wide range of industries, and OpenCV is the most widely chosen tool for computer vision with its ability to work in multiple programming languages. Nowadays, in computer vision, there is a need to process large images in real time, which is difficult to handle for OpenCV on its own. This is where CUDA comes into the picture, allowing OpenCV to leverage powerful NVDIA GPUs. This book provides a detailed overview of integrating OpenCV with CUDA for practical applications. To start with, you’ll understand GPU programming with CUDA, an essential aspect for computer vision developers who have never worked with GPUs. You’ll then move on to exploring OpenCV acceleration with GPUs and CUDA by walking through some practical examples. Once you have got to grips with the core concepts, you’ll familiarize yourself with deploying OpenCV applications on NVIDIA Jetson TX1, which is popular for computer vision and deep learning applications. The last chapters of the book explain PyCUDA, a Python library that leverages the power of CUDA and GPUs for accelerations and can be used by computer vision developers who use OpenCV with Python. By the end of this book, you’ll have enhanced computer vision applications with the help of this book's hands-on approach.
Table of Contents (15 chapters)

Device properties of Jetson TX1 GPU

CUDA provides a simple interface to determine the capabilities of a GPU device, which is Tegra X1 present on a Jetson TX1 board. It is important to find out the properties of the device that will help in writing optimal programs for it. The program to find the properties of the device is available in the CUDA sample programs installed with JetPack in the home folder. You can also run the program we developed in the second chapter to find out the device properties.

The output of the program on an Nvidia Tegra X1 GPU is as follows:

The JetPack 3.3 installs the CUDA 9.0 runtime version. The global memory for the GPU device is around 4 GB, with a GPU clock speed of around 1 GHz. This clock speed is slower than the GeForce 940 GPU mentioned earlier in this book. The memory clock speed is only 13 MHz compared to 2.505 GHz on GeForce 940, which...