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.
Shamshad (Sam) Ansari works as President and CEO of Accure Inc, an artificial intelligence automation company that he founded. He has raised Accure from startup to a sustainable business by building a winning team and acquiring customers from across the globe. He has technical expertise in the area of computer vision, machine learning, AI, cognitive science, NLP, and big data. He architected, designed, and developed the Momentum platform that automates AI solution development. He is an inventor and has four US patents in the area of AI and cognitive computing.
Shamshad worked as a senior software engineer with IBM, VP of engineering with Orbit Solutions, and as principal architect and director of engineering with Apixio.
Section 11. Chapter 1: Prerequisite and Software Installation 1.1. Python and PIP 1.1.1. Installing Python and PIP on Ubuntu 1.1.2. Installing Python and PIP on Mac OS 1.1.3. Installing Python and PIP on CentOS 7 1.1.4. Installing Python and PIP on Windows 1.2. Virtualenv 1.2.1. Setup and activate virtualenv 1.3. Tensorflow 1.3.1. Installing Tensorflow 1.4. PyCharm IDE 1.4.1. Installing PyCharm 1.4.2. Configuring PyCharm to use virtualenv 1.5. OpenCV 1.5.1. Installing OpenCV 1.5.2. Installing OpenCV4 with Python bindings 1.6. Additional libraries 1.6.1. SciPy 1.6.2. Matplotlib
Chapter 2: Core Concepts of Image and Video Processing 1.7. Image processing 1.7.1. Image basics 1.7.2. Pixel 1.7.3. Pixel color 188.8.131.52. Grayscale 184.108.40.206. Color 1.7.4. Coordinate system 1.7.5. Python and OpenCV code to manipulate images 1.7.6. Program: loading, exploring and showing image 1.7.7. Program: OpenCV code to access and manipulate pixels 1.8. Drawing 1.8.1. Drawing a line on an image 1.8.2. Drawing a rectangle on an image 1.8.3. Drawing a circle on an image 1.9. Chapter summary 1.10. 2. Chapter 3: Techniques of Image Processing 2.1. Transformation 2.1.1. Resizing 2.1.2. Translation 2.1.3. Rotation 2.1.4. Flipping 2.1.5. Cropping 2.2. Image arithmetic and bitwise operations 2.2.1. Addition 2.2.2. Subtraction 2.2.3. Bitwise operations 220.127.116.11. OR 18.104.22.168. AND 22.214.171.124. NOT 126.96.36.199. XOR 2.3. Masking 2.4. Splitting and merging channels 2.5. Smoothing and blurring 2.6. Thresholding 2.7. Gradient and edge detection 2.8. Contours2.9. Chapter summary
Section 23. Chapter 4: Building Artificial Intelligence System For Computer Vision 3.1. Image processing pipeline 3.2. Feature extraction 3.2.1. Color histogram 3.2.2. GLCM 3.2.3. HOG 3.2.4. LBP 3.3. Feature selection 3.3.1. Filter 3.3.2. Wrapper 3.3.3. Embedded 3.3.4. Regularization 3.4. Chapter summary
4. Chapter 5: Artificial Neural Network for Computer Vision 4.1. Introduction to ANN 4.1.1. ANN topology 4.1.2. Hyperparameters 4.1.3. ANN model training using TensorFlow 4.1.4. Model evaluation 4.1.5. Model deployment 4.1.6. Use of trained model 4.2. Introduction to Convolution Neural Network (CNN)4.2.1. Core concepts of CNN4.2.2. Creating training set for CNN4.2.3. Training CNN model using TensorFlow 4.2.4. Inspecting CNN model and evaluating model fitness4.2.5. Using and deployment of trained model4.3. Introduction to Recurrent Neural Network (RNN) and long short-term Memory (LSTM)4.3.1. Core concepts of RNN and LSTM4.3.2. Creating training set for LSTM4.3.3. LSTM model training using TensorFlow4.3.4. Inspecting LSTM model and assessing fitness4.3.5. Deploying LSTM models in practice
Section 35. Chapter 6: Practical Example 1- Object Detection in Images 6. Chapter 7: Practical Example 2- Object Tracking in Videos 7. Chapter 8: Practical Example 3- Facial Detection 8. Chapter 9: Industrial Application - Realtime Defect Detection in Industrial Manufacturing
Section 49. Chapter 10: Training Machine Learning Model on the Cloud 9.1. Amazon AWS 9.2. Google Cloud Platform (GCP) 9.3. Microsoft Azure