Although machine learning is an exciting world to explore, you may feel confused by all of its theoretical aspects. As a Java developer, you will be used to telling the computer exactly what to do, instead of being shown how data is generated; this causes many developers to struggle to adapt to machine learning.
The goal of this book is to walk you through the process of efficiently training machine learning and deep learning models for Computer Vision using the most up-to-date techniques. The course is designed to familiarize you with neural networks, enabling you to train them efficiently, customize existing state-of-the-art architectures, build real-world Java applications, and get great results in a short space of time. You will build real-world Computer Vision applications, ranging from a simple Java handwritten digit recognition model to real-time Java autonomous car driving systems and face recognition models.
By the end of this book, you will have mastered the best practices and modern techniques needed to build advanced Computer Vision Java applications and achieve production-grade accuracy.
What You Will Learn
-------------------
Discover neural Networks and their applications in Computer Vision
Explore the popular Java frameworks and libraries for deep learning
Build deep neural networks in Java
Implement an end-to-end image classification application in Java
Perform real-time video object detection using deep learning
Enhance performance and deploy applications for production
Author(s): Klevis Ramo
Series: .
Publisher: Packt
Year: 2019
Language: English
Pages: 253
Cover......Page 1
Title Page......Page 2
Copyright and Credits......Page 3
About Packt......Page 4
Contributor......Page 5
Table of Contents......Page 6
Preface......Page 9
Chapter 1: Introduction to Computer Vision and Training Neural Networks......Page 14
The importance of data in deep learning algorithms......Page 15
Exploring neural networks......Page 16
Building a single neuron with multiple outputs......Page 17
Building a neural network......Page 19
How does a neural network learn? ......Page 22
Learning neural network weights......Page 26
Updating the neural network weights......Page 32
Advantages of deep learning......Page 35
Organizing your data......Page 37
Bias and variance......Page 39
Computational model efficiency......Page 41
Effective training techniques......Page 44
Initializing the weights......Page 50
Activation functions......Page 51
Optimizing algorithms......Page 53
Configuring the training parameters of the neural network......Page 60
Representing images and outputs......Page 65
Multiclass classification......Page 68
Building a handwritten digit recognizer......Page 72
Testing the performance of the neural network......Page 74
Summary......Page 76
Chapter 2: Convolutional Neural Network Architectures......Page 77
What is edge detection?......Page 78
Vertical edge detection......Page 79
Horizontal edge detection......Page 85
Edge detection intuition......Page 86
Types of filters......Page 88
Basic coding......Page 90
Convolution on RGB images......Page 100
Working with convolutional layers' parameters......Page 106
Padding......Page 108
Stride......Page 109
Max pooling......Page 111
Average pooling......Page 113
Pooling on RGB images......Page 114
Building and training a Convolution Neural Network......Page 115
Why convolution?......Page 117
Improving the handwritten digit recognition application......Page 119
Summary......Page 126
Working with classical networks......Page 127
AlexNet......Page 128
VGG-16......Page 130
Deep network performance......Page 132
ResNet-50......Page 135
The power of 1 x 1 convolutions and the inception network......Page 136
Applying transfer learning......Page 142
Neural networks......Page 143
Building an animal image classification – using transfer learning and VGG-16 architecture......Page 146
Summary......Page 153
Resolving object localization......Page 154
Labeling and defining data for localization......Page 155
Object localization prediction layer......Page 157
Landmark detection......Page 159
Object detection with the sliding window solution......Page 161
Disadvantages of sliding windows......Page 164
Convolutional sliding window ......Page 166
Detecting objects with the YOLO algorithm......Page 171
Max suppression......Page 174
Anchor boxes......Page 177
Building a real-time video, car, and pedestrian detection application......Page 179
Architecture of the application......Page 180
YOLO V2-optimized architecture......Page 181
Coding the application......Page 182
Summary......Page 189
What are convolution network layers learning?......Page 190
Neural style transfer......Page 197
Minimizing the cost function......Page 199
Applying content cost function......Page 201
Applying style cost function......Page 204
How to capture the style......Page 205
Style cost function......Page 207
Building a neural network that produces art......Page 210
Summary......Page 222
Chapter 6: Face Recognition......Page 223
Face verification......Page 224
Face recognition......Page 225
One-shot learning problem......Page 227
Similarity function......Page 228
Differentiating inputs with Siamese networks......Page 229
Learning with Siamese networks......Page 233
Exploring triplet loss......Page 234
Choosing the triplets......Page 237
Binary classification......Page 238
Building a face recognition Java application......Page 240
Summary......Page 247
Other Books You May Enjoy......Page 248
Index......Page 251