Book Image

Hands-On Computer Vision with Detectron2

By : Van Vung Pham
5 (4)
Book Image

Hands-On Computer Vision with Detectron2

5 (4)
By: Van Vung Pham

Overview of this book

Computer vision is a crucial component of many modern businesses, including automobiles, robotics, and manufacturing, and its market is growing rapidly. This book helps you explore Detectron2, Facebook's next-gen library providing cutting-edge detection and segmentation algorithms. It’s used in research and practical projects at Facebook to support computer vision tasks, and its models can be exported to TorchScript or ONNX for deployment. The book provides you with step-by-step guidance on using existing models in Detectron2 for computer vision tasks (object detection, instance segmentation, key-point detection, semantic detection, and panoptic segmentation). You’ll get to grips with the theories and visualizations of Detectron2’s architecture and learn how each module in Detectron2 works. As you advance, you’ll build your practical skills by working on two real-life projects (preparing data, training models, fine-tuning models, and deployments) for object detection and instance segmentation tasks using Detectron2. Finally, you’ll deploy Detectron2 models into production and develop Detectron2 applications for mobile devices. By the end of this deep learning book, you’ll have gained sound theoretical knowledge and useful hands-on skills to help you solve advanced computer vision tasks using Detectron2.
Table of Contents (20 chapters)
1
Part 1: Introduction to Detectron2
4
Part 2: Developing Custom Object Detection Models
12
Part 3: Developing a Custom Detectron2 Model for Instance Segmentation Tasks
15
Part 4: Deploying Detectron2 Models into Production

Deploying custom Detectron2 models

The previous section described the model formats and respective runtimes for PyTorch. It also used simple models for illustration purposes. This section will focus on deploying custom Detectron2 models into server environments using the techniques described in the previous section. This section will first describe the main export utilities that Detectron2 provides to support exporting its models. It will then provide the code to export a custom Detectron2 model into TorchScript using the tracing and scripting approaches.

Detectron2 utilities for exporting models

Detectron2 provides a wrapper class called TracingAdapter, which helps wrap a Detectron2 model and supports exports using the tracing method. Detectron2 models take rich inputs and also produce rich outputs (i.e., they can be dictionaries or objects). Conversely, the tracing function (torch.jit.trace) takes tensors as inputs/outputs. Therefore, this adapter class helps flatten the inputs...