Book description
Explore the potential of deep learning techniques in computer vision applications using the Python ecosystem, and build real-time systems for detecting human behavior
Key Features
- Understand OpenCV and select the right algorithm to solve real-world problems
- Discover techniques for image and video processing
- Learn how to apply face recognition in videos to automatically extract key information
Book Description
Computer Vision (CV) has become an important aspect of AI technology. From driverless cars to medical diagnostics and monitoring the health of crops to fraud detection in banking, computer vision is used across all domains to automate tasks. The Computer Vision Workshop will help you understand how computers master the art of processing digital images and videos to mimic human activities.
Starting with an introduction to the OpenCV library, you'll learn how to write your first script using basic image processing operations. You'll then get to grips with essential image and video processing techniques such as histograms, contours, and face processing. As you progress, you'll become familiar with advanced computer vision and deep learning concepts, such as object detection, tracking, and recognition, and finally shift your focus from 2D to 3D visualization. This CV course will enable you to experiment with camera calibration and explore both passive and active canonical 3D reconstruction methods.
By the end of this book, you'll have developed the practical skills necessary for building powerful applications to solve computer vision problems.
What you will learn
- Access and manipulate pixels in OpenCV using BGR and grayscale images
- Create histograms to better understand image content
- Use contours for shape analysis, object detection, and recognition
- Track objects in videos using a variety of trackers available in OpenCV
- Discover how to apply face recognition tasks using computer vision techniques
- Visualize 3D objects in point clouds and polygon meshes using Open3D
Who this book is for
If you are a researcher, developer, or data scientist looking to automate everyday tasks using computer vision, this workshop is for you. A basic understanding of Python and deep learning will help you to get the most out of this workshop.
Table of contents
- The Computer Vision Workshop
- Preface
- 1. Basics of Image Processing
- 2. Common Operations When Working with Images
-
3. Working with Histograms
- Introduction
- Introduction to Matplotlib
-
Histograms with OpenCV
- User-Selected ROI
- Exercise 3.03: Creating a Mask Image Using a User-Selected ROI
- A Comparison of Some Sample Histograms
- What Is Histogram Equalization?
- Exercise 3.04: Histogram Equalization of a Grayscale Image
- Contrast Limited Adaptive Histogram Equalization (CLAHE)
- Exercise 3.05: Application of CLAHE on a Grayscale Image
- Activity 3.01: Enhancing Images Using Histogram Equalization and CLAHE
- Exercise 3.06: Histogram Equalization in the BGR Color Space
- The Histogram Equalization of Color Images Using the HSV and LAB Color Spaces
- Exercise 3.07: Histogram Equalization in the HSV Color Space
- Exercise 3.08: Histogram Equalization in the LAB Color Space
- Activity 3.02: Image Enhancement in a User-Defined ROI
- Summary
-
4. Working with contours
- Introduction
-
Contours – Basic Detection and Plotting
- Exercise 4.01: Detecting Shapes and Displaying Them on BGR Images
- Exercise 4.02: Detecting Shapes and Displaying Them on Black and White Images
- Exercise 4.03: Displaying Different Contours with Different Colors and Thicknesses
- Drawing a Bounding Box around a Contour
- Area of a Contour
- Difference between Contour Detection and Edge Detection
- Hierarchy
- Contour Matching
- Summary
-
5. Face Processing in Image and Video
- Introduction
-
Introduction to Haar Cascades
- Using Haar Cascades for Face Detection
- Exercise 5.01: Face Detection Using Haar Cascades
- Detecting Parts of the Face
- Exercise 5.02: Eye Detection Using Cascades
- Clubbing Cascades for Multiple Object Detection
- Activity 5.01: Eye Detection Using Multiple Cascades
- Activity 5.02: Smile Detection Using Haar Cascades
- GrabCut Technique
- Summary
-
6. Object Tracking
-
Introduction
- Naïve Tracker
- Exercise 6.01: Object Tracking Using Basic Image Processing
- Non-Deep Learning-Based Object Trackers
- Kalman Filter – Predict and Update
- Meanshift – Density Seeking Filter
- CAMshift – Continuously Adaptive Meanshift
- The OpenCV Object Tracking API
- Object Tracker Summary
- Exercise 6.02: Object Tracking Using the Median Flow and MIL Trackers
- Installing Dlib
- Object Tracking Using Dlib
- Exercise 6.03: Object Tracking Using Dlib
- Activity 6.01: Implementing Autofocus Using Object Tracking
- Summary
-
Introduction
-
7. Object Detection and Face Recognition
- Introduction
-
Face Recognition
- Face Recognition Using Eigenfaces
- Principal Component Analysis
- Eigenfaces
- Exercise 7.01: Facial Recognition Using Eigenfaces
- Limitations of the Eigenface Method
- Fisherface
- Exercise 7.02: Facial Recognition Using the Fisherface Method
- Local Binary Patterns Histograms
- Exercise 7.03: Facial Recognition Using the LBPH Method
-
Object Detection
- Single Shot Detector
- MobileNet
- Exercise 7.04: Object Detection Using MobileNet SSD
- Object Detection Using the LBPH Method
- Exercise 7.05: Object Detection Using the LBPH Method
- Haar Cascades
- Exercise 7.06: Object Detection Using Haar-Based Features
- Activity 7.01: Object Detection in a Video Using MobileNet SSD
- Activity 7.02: Real-Time Facial Recognition Using LBPH
- Summary
-
8. OpenVINO with OpenCV
- Introduction
-
Exploring the OpenVINO Toolkit
- Components of the OpenVINO Toolkit
- Installing OpenVINO for Ubuntu
- OpenVINO as a Backend in OpenCV
- The Need for Pre-Trained Models
- OpenVINO Model Zoo
- Exercise 8.01: Downloading the Pedestrian and Vehicle Detection Model
- Model Specifications
- Image Transforms Using OpenCV
- Exercise 8.02: Image Preprocessing Using OpenCV
- Model Conversion Using Model Optimizer
- Summary
- Appendix
Product information
- Title: The Computer Vision Workshop
- Author(s):
- Release date: July 2020
- Publisher(s): Packt Publishing
- ISBN: 9781800201774
You might also like
book
Computer Vision in Vehicle Technology
A unified view of the use of computer vision technology for different types of vehicles Computer …
article
Why the Power of Technology Rarely Goes to the People
Throughout history, the advantages and costs of technological innovations have been unevenly distributed between the powerful …
book
Machine Vision Inspection Systems, Image Processing, Concepts, Methodologies, and Applications
This edited book brings together leading researchers, academic scientists and research scholars to put forward and …
article
Learn to Give Constructive Feedback
Communication is a multifaceted skill that facilitates the flow of information and collaboration in the workplace. …