▶Book Description
Computer vision solutions are becoming increasingly common, making their way in fields such as health, automobile, social media, and robotics. This book will help you explore TensorFlow 2, the brand new version of Google's open source framework for machine learning. You will understand how to benefit from using convolutional neural networks (CNNs) for visual tasks.
Hands-On Computer Vision with TensorFlow 2 starts with the fundamentals of computer vision and deep learning, teaching you how to build a neural network from scratch. You will discover the features that have made TensorFlow the most widely used AI library, along with its intuitive Keras interface, and move on to building, training, and deploying CNNs efficiently. Complete with concrete code examples, the book demonstrates how to classify images with modern solutions, such as Inception and ResNet, and extract specific content using You Only Look Once (YOLO), Mask R-CNN, and U-Net. You will also build Generative Adversarial Networks (GANs) and Variational Auto-Encoders (VAEs) to create and edit images, and LSTMs to analyze videos. In the process, you will acquire advanced insights into transfer learning, data augmentation, domain adaptation, and mobile and web deployment, among other key concepts.
By the end of the book, you will have both the theoretical understanding and practical skills to solve advanced computer vision problems with TensorFlow 2.0
▶What You Will Learn
- Create your own neural networks from scratch
- Classify images with modern architectures including Inception and ResNet
- Detect and segment objects in images with YOLO, Mask R-CNN, and U-Net
- Tackle problems in developing self-driving cars and facial emotion recognition systems
- Boost your application’s performance with transfer learning, GANs, and domain adaptation
- Use recurrent neural networks for video analysis
- Optimize and deploy your networks on mobile devices and in the browser
▶Key Features
- Discover how to build, train, and serve your own deep neural networks with TensorFlow 2 and Keras
- Apply modern solutions to a wide range of applications such as object detection and video analysis
- Learn how to run your models on mobile devices and webpages and improve their performance
▶Who This Book Is For
If you’re new to deep learning and have some background in Python programming and image processing, like reading/writing image files and editing pixels, this book is for you. Even if you’re an expert curious about the new TensorFlow 2 features, you’ll find this book useful.
While some theoretical explanations require knowledge in algebra and calculus, the book covers concrete examples for learners focused on practical applications such as visual recognition for self-driving cars and smartphone apps.
▶What this book covers
- Chapter 1, Computer Vision and Neural Networks, introduces you to computer vision and deep learning, providing some theoretical background and teaching you how to implement and train a neural network for visual recognition from scratch.
- Chapter 2, TensorFlow Basics and Training a Model, goes through TensorFlow 2 concepts related to computer vision, as well as some more advanced notions. It introduces Keras—now a submodule of TensorFlow—and describes the training of a simple recognition method implemented with these frameworks.
- Chapter 3, Modern Neural Networks, presents CNNs and explains how they have revolutionized computer vision. This chapter also introduces regularization tools and modern optimization algorithms that can be used to train more robust recognition systems.
- Chapter 4, Influential Classification Tools, provides theoretical details and practical code to expertly apply state-of-the-art solutions—such as Inception and ResNet—to the classification of images. This chapter also explains what makes transfer learning a key concept in machine learning, and how it can be performed with TensorFlow 2.
- Chapter 5, Object Detection Models, covers the architecture of two methods to detect specific objects in images—You Only Look Once, known for its speed, and Faster R-CNN, known for its accuracy.
- Chapter 6, Enhancing and Segmenting Images, introduces autoencoders and how networks such as U-Net and FCN can be applied to image denoising, semantic segmentation, and more.
- Chapter 7, Training on Complex and Scarce Datasets, focuses on solutions to efficiently collect and preprocess datasets for your deep learning applications. TensorFlow tools that build optimized data pipelines are presented, as well as various solutions to compensate for data scarcity (image rendering, domain adaptation, and generative networks such as VAEs and GANs).
- Chapter 8, Video and Recurrent Neural Networks, covers recurrent neural networks, presenting the more advanced version known as the long short-term memory architecture. It provides practical code to apply LSTMs to action recognition in video.
- Chapter 9, Optimizing Models and Deploying on Mobile Devices, details model optimization in terms of speed, disk space, and computational performance. It goes through the deployment of TensorFlow solutions on mobile devices and in the browser, using a practical example.
- Appendix, Migrating from TensorFlow 1 to TensorFlow 2, provides some information about TensorFlow 1, highlighting key changes introduced in TensorFlow 2. A guide to migrate older projects to the latest version is also included. Finally, per-chapter references are listed for those who want to dive deeper.