Building Computer Vision Applications Using Artificial Neural Networks : With Step-by-Step Examples in OpenCV and TensorFlow with Python
معرفی کتاب «Building Computer Vision Applications Using Artificial Neural Networks : With Step-by-Step Examples in OpenCV and TensorFlow with Python» نوشتهٔ 余英时، (1930- ) و Ansari, Shamshad، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2020. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Apply computer vision and machine learning concepts in developing business and industrial applications using a practical, step-by-step approach. The book comprises four main sections starting with setting up your programming environment and configuring your computer with all the prerequisites to run the code examples. Section 1 covers the basics of image and video processing with code examples of how to manipulate and extract useful information from the images. You will mainly use OpenCV with Python to work with examples in this section. Section 2 describes machine learning and neural network concepts as applied to computer vision. You will learn different algorithms of the neural network, such as convolutional neural network (CNN), region-based convolutional neural network (R-CNN), and YOLO. In this section, you will also learn how to train, tune, and manage neural networks for computer vision. Section 3 provides step-by-step examples of developing business and industrial applications, such as facial recognition in video surveillance and surface defect detection in manufacturing. The final section is about training neural networks involving a large number of images on cloud infrastructure, such as Amazon AWS, Google Cloud Platform, and Microsoft Azure. It walks you through the process of training distributed neural networks for computer vision on GPU-based cloud infrastructure. By the time you finish reading Building Computer Vision Applications Using Artificial Neural Networks and working through the code examples, you will have developed some real-world use cases of computer vision with deep learning. What You Will Learn · Employ image processing, manipulation, and feature extraction techniques · Work with various deep learning algorithms for computer vision · Train, manage, and tune hyperparameters of CNNs and object detection models, such as R-CNN, SSD, and YOLO · Build neural network models using Keras and TensorFlow · Discover best practices when implementing computer vision applications in business and industry · Train distributed models on GPU-based cloud infrastructure Who This Book Is For Data scientists, analysts, and machine learning and software engineering professionals with Python programming knowledge. Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Chapter 1: Prerequisites and Software Installation Python and PIP Installing Python and PIP on Ubuntu Installing Python and PIP on macOS Installing Python and PIP on CentOS 7 Installing Python and PIP on Windows virtualenv Installing and Activating virtualenv TensorFlow Installing TensorFlow PyCharm IDE Installing PyCharm Configuring PyCharm to Use virtualenv OpenCV Working with OpenCV Installing OpenCV4 with Python Bindings Additional Libraries Installing SciPy Installing Matplotlib Chapter 2: Core Concepts of Image and Video Processing Image Processing Image Basics Pixels Pixel Color Grayscale Color Coordinate Systems Python and OpenCV Code to Manipulate Images Program: Loading, Exploring, and Showing an Image Program: OpenCV Code to Access and Manipulate Pixels Drawing Drawing a Line on an Image Drawing a Rectangle on an Image Drawing a Circle on an Image Summary Chapter 3: Techniques of Image Processing Transformation Resizing Translation Rotation Flipping Cropping Image Arithmetic and Bitwise Operations Addition Subtraction Bitwise Operations AND OR NOT XOR Masking Splitting and Merging Channels Noise Reduction Using Smoothing and Blurring Mean Filtering or Averaging Gaussian Filtering Median Blurring Bilateral Blurring Binarization with Thresholding Simple Thresholding Adaptive Thresholding Otsu’s Binarization Gradients and Edge Detection Sobel Derivatives (cv2.Sobel() Function) Laplacian Derivatives (cv2.Laplacian() Function) Canny Edge Detection Contours Drawing Contours Summary Chapter 4: Building a Machine Learning–Based Computer Vision System Image Processing Pipeline Feature Extraction How to Represent Features Color Histogram How to Calculate a Histogram Grayscale Histogram RGB Color Histogram Histogram Equalizer GLCM HOGs LBP Feature Selection Filter Method Wrapper Method Embedded Method Model Training How to Do Machine Learning Supervised Learning Unsupervised Learning Model Deployment Summary Chapter 5: Deep Learning and Artificial Neural Networks Introduction to Artificial Neural Networks Perceptron How a Perceptron Learns Multilayer Perceptron Why MLP? What Is Deep Learning? Deep Learning or Multilayer Perceptron Architecture Activation Functions Linear Activation Function Sigmoid or Logistic Activation Function TanH/Hyperbolic Tangent Rectified Linear Unit Leaky ReLU Scaled Exponential Linear Unit Softplus Activation Function Softmax Feedforward Error Function Regression Loss Function Binary Classification Loss Function Multiclass Classification Loss Function Optimization Algorithms Gradient Descent Local and Global Minima Learning Rate Regularization Stochastic Gradient Descent SGD for Distributed and Parallel Computing SGD with Momentum Adaptive Gradient Algorithm (Adagrad) RMSProp Adaptive Moment (Adam) Backpropagation Introduction to TensorFlow TensorFlow Installation How to Use TensorFlow Tensor Variable Constant Our First Computer Vision Model with Deep Learning: Classification of Handwritten Digits Model Evaluation Overfitting Underfitting Evaluation Metrics Hyperparameters TensorBoard Experiments for Hyperparameter Tuning Saving and Restoring Model Save Model Checkpoints During Training Manually Save Weights Load the Saved Weights and Retrain the Model Saving the Entire Model Retraining the Existing Model Using a Trained Model in Applications Convolution Neural Network Architecture of CNN How Does CNN Work Convolution Pooling/Subsampling/Downsampling Max Pooling Average Pooling Summary of CNN Concepts Training a CNN Model: Pneumonia Detection from Chest X-rays Chest X-ray Dataset Code Structure CNN Model Training Pneumonia Prediction Examples of Popular CNNs LeNet-5 AlexNet VGG-16 Summary Chapter 6: Deep Learning in Object Detection Object Detection Intersection Over Union Region-Based Convolutional Neural Network Fast R-CNN Faster R-CNN Region Proposal Network Fast R-CNN Mask R-CNN Backbone RPN Output Head What Is the Significance of the Masks? Mask R-CNN in Human Pose Estimation Single-Shot Multibox Detection SSD Network Architecture Multiscale Feature Maps for Detection Anchor Boxes and Convolutional Predictors for Detection Default Boxes and Aspect Ratios Training Matching Strategy Training Objective Choosing Scales and Aspect Ratios for Default Boxes Hard Negative Mining Data Augmentation Nonmaximum Suppression SSD Results YOLO YOLO Network Design Limitations of YOLO YOLO9000 or YOLOv2 YOLOv3 Comparison of Object Detection Algorithms Comparison of Architecture Comparison of Performance Training Object Detection Model Using TensorFlow TensorFlow on Google Colab with GPU Accessing Google Colab Connecting to the Hosted Runtime Selecting a GPU Hardware Accelerator Creating a Colab Project Setting the Runtime Environment for TensorFlow and Model Training Downloading the Oxford-IIIT Pet Dataset Generating TensorFlow TFRecord Files Downloading a Pre-trained Model for Transfer Learning Configuring the Object Detection Pipeline Executing the Model Training Exporting the TensorFlow Graph Downloading the Object Detection Model Visualizing the Training Result in TensorBoard Detecting Objects Using Trained Models Installing TensorFlow’s models Project Code for Object Detection Training a YOLOv3 Model for Object Detection Installing the Darknet Framework Downloading Pre-trained Convolutional Weights Downloading an Annotated Oxford-IIIT Pet Dataset Preparing the Dataset Configuring the Training Input Configuring the Darknet Neural Network Training a YOLOv3 Model How Long the Training Should Run Final Model Detecting Objects Using a Trained YOLOv3 Model Installing Darknet to the Local Computer Python Code for Object Detection Summary Chapter 7: Practical Example: Object Tracking in Videos Preparing the Working Environment Reading a Video Stream Loading the Object Detection Model Detecting Objects in Video Frames Creating a Unique Identity for Objects Using dHash Using the Hamming Distance to Determine Image Similarity Object Tracking Displaying a Live Video Stream in a Web Browser Installing Flask Flask Directory Structure HTML for Displaying a Video Stream Flask to Load the HTML Page Flask to Serve the Video Stream Running the Flask Server Putting It All Together Summary Chapter 8: Practical Example: Face Recognition FaceNet FaceNet Neural Network Architecture Input Images Deep CNN Face Embedding Triplet Loss Function Triplet Selection Training a Face Recognition Model Checking Out FaceNet from GitHub Dataset Downloading VGGFace2 Data Data Preparation Model Training Evaluation Developing a Real-Time Face Recognition System Face Detection Model Classifier for Face Recognition Face Alignment Classifier Training Face Recognition in a Video Stream Summary Chapter 9: Industrial Application: Real-Time Defect Detection in Industrial Manufacturing Real-Time Surface Defect Detection System Dataset Google Colab Notebook Data Transformation Training the SSD Model Exporting the Model Model Evaluation Prediction Real-Time Defect Detector Image Annotations Installing VoTT Create Connections Create a New Project Create Class Labels Label the Images Export Labels Summary Chapter 10: Computer Vision Modeling on the Cloud TensorFlow Distributed Training What Is Distributed Training? Data Parallelism Model Parallelism TensorFlow Distribution Strategy MirroredStrategy CentralStorageStrategy MultiWorkerMirroredStrategy Cluster Configuration Dataset Sharding Fault Tolerance TPUStrategy ParameterServerStrategy OneDeviceStrategy TF_CONFIG: TensorFlow Cluster Configuration An Example TF_CONFIG Example Code of Distributed Training with a Parameter Server Steps for Running Distributed Training on the Cloud Distributed Training on Google Cloud Signing Up for GCP Access Creating a Google Cloud Storage Bucket Creating the GCS Bucket from the Web UI Creating the GCS Bucket from the Cloud Shell Launching GCP Virtual Machines SSH to Log In to Each VMs Uploading the Code for Distributed Training or Cloning the GitHub Repository Installing Prerequisites and TensorFlow Running Distributed Training Distributed Training on Azure Creating a VM with Multiple GPUs on Azure Installing GPU Drivers and Libraries Creating virtualenv and Installing TensorFlow Implementing MirroredStrategy Running Distributed Training Distributed Training on AWS Horovod How to Use Horovod Creating a Horovod Cluster on AWS Horovod Cluster Running Distributed Training Installing Horovod Running Horovod to Execute Distributed Training Summary Index Apply computer vision and machine learning concepts in developing business and industrial applications using a practical, step-by-step approach. The book comprises four main sections starting with setting up your programming environment and configuring your computer with all the prerequisites to run the code examples. Section 1 covers the basics of image and video processing with code examples of how to manipulate and extract useful information from the images. You will mainly use OpenCV with Python to work with examples in this section. Section 2 describes machine learning and neural network concepts as applied to computer vision. You will learn different algorithms of the neural network, such as convolutional neural network (CNN), region-based convolutional neural network (R-CNN), and YOLO. In this section, you will also learn how to train, tune, and manage neural networks for computer vision. Section 3 provides step-by-step examples of developing business and industrial applications, such as facial recognition in video surveillance and surface defect detection in manufacturing. The final section is about training neural networks involving a large number of images on cloud infrastructure, such as Amazon AWS, Google Cloud Platform, and Microsoft Azure. It walks you through the process of training distributed neural networks for computer vision on GPU-based cloud infrastructure. By the time you finish reading Building Computer Vision Applications Using Artificial Neural Networks and working through the code examples, you will have developed some real-world use cases of computer vision with deep learning. You will: · Employ image processing, manipulation, and feature extraction techniques · Work with various deep learning algorithms for computer vision · Train, manage, and tune hyperparameters of CNNs and object detection models, such as R-CNN, SSD, and YOLO · Build neural network models using Keras and TensorFlow · Discover best practices when implementing comp uter vision applications in business and industry · Train distributed models on GPU-based cloud infrastructure
دانلود کتاب Building Computer Vision Applications Using Artificial Neural Networks : With Step-by-Step Examples in OpenCV and TensorFlow with Python