Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA: Effective techniques for processing complex image data in real time using GPUs (Paperback)

Bhaumik Vaidya

買這商品的人也買了...

商品描述

Discover how CUDA allows OpenCV to handle complex and rapidly growing image data processing in computer and machine vision by accessing the power of GPU

Key Features

  • Explore examples to leverage the GPU processing power with OpenCV and CUDA
  • Enhance the performance of algorithms on embedded hardware platforms
  • Discover C++ and Python libraries for GPU acceleration

Book Description

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.

What you will learn

  • Understand how to access GPU device properties and capabilities from CUDA programs
  • Learn how to accelerate searching and sorting algorithms
  • Detect shapes such as lines and circles in images
  • Explore object tracking and detection with algorithms
  • Process videos using different video analysis techniques in Jetson TX1
  • Access GPU device properties from the PyCUDA program
  • Understand how kernel execution works

Who this book is for

This book is a go-to guide for you if you are a developer working with OpenCV and want to learn how to process more complex image data by exploiting GPU processing. A thorough understanding of computer vision concepts and programming languages such as C++ or Python is expected.

Table of Contents

  1. Introduction to CUDA and Getting Started with CUDA
  2. Parallel programming using CUDA C
  3. Threads,Synchronization and Memory
  4. Advanced concepts in CUDA
  5. Getting started with OpenCV with CUDA support
  6. Basic computer vision Operations using OpenCV and CUDA
  7. Object detection and tracking using OpenCV and CUDA
  8. Introduction to Jetson Tx1 development board and installing OpenCV on Jetson TX1
  9. Deploying computer vision applications on Jetson TX1
  10. Getting started with PyCUDA
  11. Working with PyCUDA
  12. Basic Computer vision application using PyCUDA

商品描述(中文翻譯)

發現CUDA如何讓OpenCV能夠處理複雜且快速增長的電腦和機器視覺圖像數據處理,通過訪問GPU的強大功能。

主要特點:
- 通過示例探索如何利用OpenCV和CUDA的GPU處理能力
- 提升嵌入式硬件平台上算法的性能
- 探索用於GPU加速的C++和Python庫

書籍描述:
計算機視覺正在革新各個行業,而OpenCV是最廣泛選擇的計算機視覺工具,因其能夠在多種編程語言中工作的能力。如今,在計算機視覺中,需要實時處理大型圖像,這對OpenCV本身來說很難處理。這就是CUDA的作用,它允許OpenCV利用強大的NVDIA GPU。本書詳細介紹了將OpenCV與CUDA集成用於實際應用的方法。

首先,您將了解使用CUDA進行GPU編程,這對於從未使用過GPU的計算機視覺開發人員來說是一個重要的方面。然後,您將通過一些實際示例來探索使用GPU和CUDA加速OpenCV。

一旦掌握了核心概念,您將熟悉在NVIDIA Jetson TX1上部署OpenCV應用程序,該平台在計算機視覺和深度學習應用中很受歡迎。本書的最後幾章介紹了PyCUDA,這是一個利用CUDA和GPU進行加速的Python庫,可以供使用Python的計算機視覺開發人員使用OpenCV。

通過閱讀本書,您將通過實踐方法增強計算機視覺應用程序。

您將學到什麼:
- 了解如何從CUDA程序中訪問GPU設備的屬性和功能
- 學習如何加速搜索和排序算法
- 在圖像中檢測線條和圓等形狀
- 探索使用算法進行物體跟踪和檢測
- 使用Jetson TX1上的不同視頻分析技術處理視頻
- 從PyCUDA程序中訪問GPU設備的屬性
- 了解內核執行的工作原理

本書適合對OpenCV有經驗並希望通過利用GPU處理來處理更複雜圖像數據的開發人員。需要對計算機視覺概念和C++或Python等編程語言有深入了解。目錄如下:

1. CUDA簡介和入門
2. 使用CUDA C進行並行編程
3. 线程、同步和內存
4. CUDA的高級概念
5. 開始使用支持CUDA的OpenCV
6. 使用OpenCV和CUDA進行基本的計算機視覺操作
7. 使用OpenCV和CUDA進行物體檢測和跟踪
8. Jetson Tx1開發板簡介和在Jetson TX1上安裝OpenCV
9. 在Jetson TX1上部署計算機視覺應用程序
10. 開始使用PyCUDA
11. 使用PyCUDA進行工作
12. 使用PyCUDA進行基本的計算機視覺應用程序