Deep learning methods can achieve state-of-the-art results on challenging computer vision problems such as image classification, object detection, and face recognition.
In this new Ebook written in the friendly Machine Learning Mastery style that you’re used to, skip the math and jump straight to getting results.
With clear explanations, standard Python libraries (Keras and TensorFlow 2), and step-by-step tutorial lessons, you’ll discover how to develop deep learning models for your own computer vision projects.
Author(s): Jason Brownlee
Series: Machine Learning Mastery
Edition: 1.4
Publisher: Independently Published
Year: 2019
Language: English
Pages: 544
Copyright
Contents
Preface
Introductions
Welcome
I Foundations
Introduction to Computer Vision
Overview
Desire for Computers to See
What Is Computer Vision
Challenge of Computer Vision
Tasks in Computer Vision
Further Reading
Summary
Promise of Deep Learning for Computer Vision
Overview
Promises of Deep Learning
Types of Deep Learning Network Models
Types of Computer Vision Problems
Further Reading
Summary
How to Develop Deep Learning Models With Keras
Keras Model Life-Cycle
Keras Functional Models
Standard Network Models
Further Reading
Summary
II Image Data Preparation
How to Load and Manipulate Images With PIL/Pillow
Tutorial Overview
How to Install Pillow
How to Load and Display Images
How to Convert Images to NumPy Arrays and Back
How to Save Images to File
How to Resize Images
How to Flip, Rotate, and Crop Images
Extensions
Further Reading
Summary
How to Manually Scale Image Pixel Data
Tutorial Overview
Sample Image
Normalize Pixel Values
Center Pixel Values
Standardize Pixel Values
Extensions
Further Reading
Summary
How to Load and Manipulate Images with Keras
Tutorial Overview
Test Image
Keras Image Processing API
How to Load an Image with Keras
How to Convert an Image With Keras
How to Save an Image With Keras
Extensions
Further Reading
Summary
How to Scale Image Pixel Data with Keras
Tutorial Overview
MNIST Handwritten Image Classification Dataset
ImageDataGenerator Class for Pixel Scaling
How to Normalize Images With ImageDataGenerator
How to Center Images With ImageDataGenerator
How to Standardize Images With ImageDataGenerator
Extensions
Further Reading
Summary
How to Load Large Datasets From Directories with Keras
Tutorial Overview
Dataset Directory Structure
Example Dataset Structure
How to Progressively Load Images
Extensions
Further Reading
Summary
How to Use Image Data Augmentation in Keras
Tutorial Overview
Image Data Augmentation
Sample Image
Image Augmentation With ImageDataGenerator
Horizontal and Vertical Shift Augmentation
Horizontal and Vertical Flip Augmentation
Random Rotation Augmentation
Random Brightness Augmentation
Random Zoom Augmentation
Extensions
Further Reading
Summary
III Convolutions and Pooling
How to Use Different Color Channel Ordering Formats
Tutorial Overview
Images as 3D Arrays
Manipulating Image Channels
Keras Channel Ordering
Extensions
Further Reading
Summary
How Convolutional Layers Work
Tutorial Overview
Convolution in Convolutional Neural Networks
Convolution in Computer Vision
Power of Learned Filters
Worked Example of Convolutional Layers
Extensions
Further Reading
Summary
How to Use Filter Size, Padding, and Stride
Tutorial Overview
Convolutional Layer
Problem of Border Effects
Effect of Filter Size (Kernel Size)
Fix the Border Effect Problem With Padding
Downsample Input With Stride
Extensions
Further Reading
Summary
How Pooling Layers Work
Tutorial Overview
Pooling Layers
Detecting Vertical Lines
Average Pooling Layer
Max Pooling Layer
Global Pooling Layers
Extensions
Further Reading
Summary
IV Convolutional Neural Networks
ImageNet, ILSVRC, and Milestone Architectures
Overview
ImageNet Dataset
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
Deep Learning Milestones From ILSVRC
Further Reading
Summary
How Milestone Model Architectural Innovations Work
Tutorial Overview
Architectural Design for CNNs
LeNet-5
AlexNet
VGG
Inception and GoogLeNet
Residual Network or ResNet
Further Reading
Summary
How to Use 1x1 Convolutions to Manage Model Complexity
Tutorial Overview
Convolutions Over Channels
Problem of Too Many Feature Maps
Downsample Feature Maps With 1x1 Filters
Examples of How to Use 1x1 Convolutions
Examples of 1x1 Filters in CNN Model Architectures
Extensions
Further Reading
Summary
How To Implement Model Architecture Innovations
Tutorial Overview
How to implement VGG Blocks
How to Implement the Inception Module
How to Implement the Residual Module
Extensions
Further Reading
Summary
How to Use Pre-Trained Models and Transfer Learning
Tutorial Overview
What Is Transfer Learning?
Transfer Learning for Image Recognition
How to Use Pre-Trained Models
Models for Transfer Learning
Examples of Using Pre-Trained Models
Extensions
Further Reading
Summary
V Image Classification
How to Classify Black and White Photos of Clothing
Tutorial Overview
Fashion-MNIST Clothing Classification
Model Evaluation Methodology
How to Develop a Baseline Model
How to Develop an Improved Model
How to Finalize the Model and Make Predictions
Extensions
Further Reading
Summary
How to Classify Small Photos of Objects
Tutorial Overview
CIFAR-10 Photo Classification Dataset
Model Evaluation Test Harness
How to Develop a Baseline Model
How to Develop an Improved Model
How to Finalize the Model and Make Predictions
Extensions
Further Reading
Summary
How to Classify Photographs of Dogs and Cats
Tutorial Overview
Dogs vs. Cats Prediction Problem
Dogs vs. Cats Dataset Preparation
Develop a Baseline CNN Model
Develop Model Improvements
Explore Transfer Learning
How to Finalize the Model and Make Predictions
Extensions
Further Reading
Summary
How to Label Satellite Photographs of the Amazon Rainforest
Tutorial Overview
Introduction to the Planet Dataset
How to Prepare Data for Modeling
Model Evaluation Measure
How to Evaluate a Baseline Model
How to Improve Model Performance
How to Use Transfer Learning
How to Finalize the Model and Make Predictions
Extensions
Further Reading
Summary
VI Object Detection
Deep Learning for Object Recognition
Overview
What is Object Recognition?
R-CNN Model Family
YOLO Model Family
Further Reading
Summary
How to Perform Object Detection With YOLOv3
Tutorial Overview
YOLO for Object Detection
Experiencor YOLO3 for Keras Project
Object Detection With YOLOv3
Extensions
Further Reading
Summary
How to Perform Object Detection With Mask R-CNN
Tutorial Overview
Mask R-CNN for Object Detection
Matterport Mask R-CNN Project
Object Detection With Mask R-CNN
Extensions
Further Reading
Summary
How to Develop a New Object Detection Model
Tutorial Overview
How to Install Mask R-CNN for Keras
How to Prepare a Dataset for Object Detection
How to Train Mask R-CNN Model for Kangaroo Detection
How to Evaluate a Mask R-CNN Model
How to Detect Kangaroos in New Photos
Extensions
Further Reading
Summary
VII Face Recognition
Deep Learning for Face Recognition
Overview
Faces in Photographs
Process of Automatic Face Recognition
Face Detection Task
Face Recognition Tasks
Deep Learning for Face Recognition
Further Reading
Summary
How to Detect Faces in Photographs
Tutorial Overview
Face Detection
Test Photographs
Face Detection With OpenCV
Face Detection With Deep Learning
Extensions
Further Reading
Summary
How to Perform Face Identification and Verification with VGGFace2
Tutorial Overview
Face Recognition
VGGFace and VGGFace2 Models
How to Install the keras-vggface Library
How to Detect Faces for Face Recognition
How to Perform Face Identification With VGGFace2
How to Perform Face Verification With VGGFace2
Extensions
Further Reading
Summary
How to Perform Face Classification with FaceNet
Tutorial Overview
Face Recognition
FaceNet Model
How to Load a FaceNet Model in Keras
How to Detect Faces for Face Recognition
How to Develop a Face Classification System
Extensions
Further Reading
Summary
VIII Appendix
Getting Help
Computer Vision Textbooks
Programming Computer Vision Books
Official Keras Destinations
Where to Get Help with Keras
How to Ask Questions
Contact the Author
How to Setup Python on Your Workstation
Overview
Download Anaconda
Install Anaconda
Start and Update Anaconda
Install Deep Learning Libraries
Further Reading
Summary
How to Setup Amazon EC2 for Deep Learning on GPUs
Overview
Setup Your AWS Account
Launch Your Server Instance
Login, Configure and Run
Build and Run Models on AWS
Close Your EC2 Instance
Tips and Tricks for Using Keras on AWS
Further Reading
Summary
IX Conclusions
How Far You Have Come