Book Image

Mastering Computer Vision with TensorFlow 2.x

By : Krishnendu Kar
Book Image

Mastering Computer Vision with TensorFlow 2.x

By: Krishnendu Kar

Overview of this book

Computer vision allows machines to gain human-level understanding to visualize, process, and analyze images and videos. This book focuses on using TensorFlow to help you learn advanced computer vision tasks such as image acquisition, processing, and analysis. You'll start with the key principles of computer vision and deep learning to build a solid foundation, before covering neural network architectures and understanding how they work rather than using them as a black box. Next, you'll explore architectures such as VGG, ResNet, Inception, R-CNN, SSD, YOLO, and MobileNet. As you advance, you'll learn to use visual search methods using transfer learning. You'll also cover advanced computer vision concepts such as semantic segmentation, image inpainting with GAN's, object tracking, video segmentation, and action recognition. Later, the book focuses on how machine learning and deep learning concepts can be used to perform tasks such as edge detection and face recognition. You'll then discover how to develop powerful neural network models on your PC and on various cloud platforms. Finally, you'll learn to perform model optimization methods to deploy models on edge devices for real-time inference. By the end of this book, you'll have a solid understanding of computer vision and be able to confidently develop models to automate tasks.
Table of Contents (18 chapters)
1
Section 1: Introduction to Computer Vision and Neural Networks
6
Section 2: Advanced Concepts of Computer Vision with TensorFlow
11
Section 3: Advanced Implementation of Computer Vision with TensorFlow
14
Section 4: TensorFlow Implementation at the Edge and on the Cloud

Section 1: Introduction to Computer Vision and Neural Networks

In this section, you will develop your understanding of the theory as well as learn hands-on techniques about the application of a convolutional neural network for image processing. You will learn key concepts such as image filtering, feature maps, edge detection, the convolutional operation, activation functions, and the use of fully connected and softmax layers in relation to image classification and object detection. The chapters provide many hands-on examples of an end-to-end computer vision pipeline using TensorFlow, Keras, and OpenCV. The most important learning that you will take from these chapters is to develop an understanding and intuition behind different convolutional operations – how images are transformed through different layers of convolutional neural networks.

By the end of this section, you will be able to do the following:

  • Understand how image filters transform an image (chapter 1)
  • Apply various types of image filters for edge detection (chapter 1)
  • Detect simple objects using OpenCV contour detection and Histogram of Oriented Gradients (HOG) (Chapter 1)
  • Find the similarity between objects using Scale-invariant feature transform (SIFT), Local Binary Patterns (LBP) pattern matching, and color matching (chapters 1 and 2)
  • Face detection using the OpenCV cascade detector (chapter 3)
  • Input big data into a neural network from a CSV file list and parse the data to recognize columns, which can then be fed to the neural network as x and y values (chapter 3)
  • Facial keypoint and facial expression recognition (chapter 3)
  • Develop an annotation file for facial keypoints (chapter 3)
  • Input big data into a neural network from files using the Keras data generator method (chapter 4)
  • Construct your own neural network and optimize its parameters to improve accuracy (chapter 4)
  • Write code to transform an image through different layers of the convolutional neural network (chapter 4)

This section comprises the following chapters:

  • Chapter 1, Computer Vision and TensorFlow Fundamentals
  • Chapter 2, Content Recognition Using Local Binary Pattern
  • Chapter 3, Facial Detection Using OpenCV and CNN
  • Chapter 4, Deep Learning on Images