Hands-On Java Deep Learning for Computer Vision
eBook - ePub

Hands-On Java Deep Learning for Computer Vision

Implement machine learning and neural network methodologies to perform computer vision-related tasks

Klevis Ramo

  1. 260 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Hands-On Java Deep Learning for Computer Vision

Implement machine learning and neural network methodologies to perform computer vision-related tasks

Klevis Ramo

Book details
Book preview
Table of contents
Citations

About This Book

Leverage the power of Java and deep learning to build production-grade Computer Vision applications

Key Features

  • Build real-world Computer Vision applications using the power of neural networks
  • Implement image classification, object detection, and face recognition
  • Know best practices on effectively building and deploying deep learning models in Java

Book Description

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 book 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

Who this book is for

This book is for data scientists, machine learning developers and deep learning practitioners with Java knowledge who want to implement machine learning and deep neural networks in the computer vision domain. You will need to have a basic knowledge of Java programming.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Hands-On Java Deep Learning for Computer Vision by Klevis Ramo in PDF and/or ePUB format, as well as other popular books in Informatik & Computer Vision & Mustererkennung. We have over one million books available in our catalogue for you to explore.

Information

Year
2019
ISBN
9781838552138

Introduction to Computer Vision and Training Neural Networks

In this chapter, we will introduce the topic of computer vision and focus on the computer vision state and its applications. By learning to train neural networks with the help of deep learning, we will understand the parallels between the human brain and a neural network by representing the network in a computer system. To optimize our training results, we will also look at effective training techniques and optimization algorithms, which will dramatically decrease the neural network training time, enabling us to have deeper neural networks trained with more data. We will put all of these optimization techniques or parameters together and give a systematic process for accurately choosing their values.
Additionally, we will learn to organize data and the application that we will be creating. At the end of this chapter, we will take a closer look at how a computer perceives vision and images and how to enable a neural network to actually predict many classes.
The chapter will cover the following topics:
  • The computer vision state
  • Exploring neural networks
  • The learning methodology of neural networks
  • Organizing data and applications
  • Effective training techniques
  • Optimizing algorithms
  • Configuring the training parameters of the neural network
  • Representing images and outputs
  • Building a handwritten digit recognizer

The computer vision state

In this section, we will look at how computer vision has grown over the past couple of years into the current field of computer vision we have today. As mentioned before, the progress in the field of deep learning is what propelled computer vision to advance.
Deep learning has enabled a lot of applications that seemed impossible before. These include the following:
  • Autonomous driving: An algorithm is able to detect the location of pedestrians and other cars, helping to make decisions about the direction of the vehicle and avoid accidents.
  • Face recognition and smarter mobile applications: You may already have seen phones that can be unlocked using facial recognition. In the near future, we could have security systems based on this; for example, the door of your house may be unlocked by your face or your car may start after recognizing your face. Smart mobile applications with fancy features such as applying filters and grouping faces together have also improved drastically.
  • Art generation: Even generating art will be possible, as we will see during this book, using computer vision techniques.
What is really exciting is that we can use some of these ideas and architectures to build applications.

The importance of data in deep learning algorithms

The main source of knowledge for deep learning algorithms is data. Therefore, the quality and the amount of data greatly affects the performance of every algorithm.
For speech recognition, we have a decent amount of data, considering the complexity of the problem. Although the dataset for the images has dramatically improved, having a few more samples will help achieve better results for image recognition. On the other hand, when it comes to object detection, we have less data due to the complexity in the effort of marking each of the objects with a bounding box as shown in the diagram.
Computer vision is, in itself, a really complex problem to solve. Imagine having a bunch of pixels with decimal values, and from there, you have to figure out what they represent.
For this reason, computer vision has developed more complex techniques, larger and more complex architectures, and also a lot of parameters to tune. The rule is such that the less data you have, the more hacks are needed, the more engineering or manual creation of features is required, and the architectures tend to grow complex. On the other hand, if you have more data, the deep learning algorithm tends to do well, and hand-engineering the data becomes a whole lot easier, which means we don't have to tune the parameters and the network architectures stay simple.
Throughout this book, we'll look at several methods to tackle computer vision challenges, such as transfer learning using well-known architectures in literature and opera. We will also make good use of open source implementations. In the next section, we'll start to understand th...

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. About Packt
  4. Contributor
  5. Preface
  6. Introduction to Computer Vision and Training Neural Networks
  7. Convolutional Neural Network Architectures
  8. Transfer Learning and Deep CNN Architectures
  9. Real-Time Object Detection
  10. Creating Art with Neural Style Transfer
  11. Face Recognition
  12. Other Books You May Enjoy