Train Adapt Optimize (TAO) Toolkit is a Python-based AI toolkit for taking purpose-built pre-trained AI models and customizing them with your own data. TAO adapts popular network architectures and backbones to your data, allowing you to train, fine tune, prune, and export highly optimized and accurate AI models for edge deployment.
Pre-trained models accelerate the AI training process and reduce costs associated with large scale data collection, labeling, and training models from scratch. Transfer learning with pre-trained models can be used for AI applications in smart cities, retail, healthcare, industrial inspection, and more.
Build end-to-end services and solutions for transforming pixels and sensor data to actionable insights using TAO DeepStream SDK and TensorRT. These models are suitable for object detection, classification, and segmentation.
Object detection is a popular computer vision technique that can detect one or multiple objects in a frame. Object detection will recognize the individual objects in an image and place bounding boxes around the object. This model card contains pre-trained weights for Deformable DETR object detection networks trained on the COCO dataset to facilitate transfer learning through TAO Toolkit.
The models in this instance are object detectors that take color (RGB) images as input and produce bounding boxes and classes as output. There are two different types of feature extractors for Deformable DETR, namely ResNet50 and GCViT-Tiny. The backbone networks are classification networks that were pre-trained on the ImageNet dataset.
This model was trained using the Deformable DETR entrypoint in TAO. The training algorithm optimizes the network to minimize the localization and confidence loss for the objects.
Deformable DETR was trained on the COCO 2017 dataset. The COCO dataset contains 118K training images and 5K validation images and corresponding annotation files. The annotation contains bounding boxes for 80 object categories.
We test the Deformable DETR model on the COCO 2017 validation dataset.
The key performance indicator is the mean average precision (mAP) following the standard evaluation protocol for object detection. The KPI for the evaluation data are reported below.
model | precision | mAP | mAP50 | mAP75 | mAPs | mAPm | mAPl |
---|---|---|---|---|---|---|---|
ddetr_resnet_50 | FP32 | 43.5 | 62.7 | 46.4 | 25.5 | 46.5 | 59.2 |
ddetr_gcvit_tiny | FP32 | 47.2 | 66.9 | 50.7 | 28.8 | 50.4 | 64.0 |
The inference is run on the provided model at FP16 precision. The inference performance is evaluated using trtexec
on Jetson AGX Xavier, Xavier NX, Orin, Orin NX and NVIDIA T4, and Ampere GPUs. The Jetson devices run at Max-N configuration for maximum GPU frequency. The performance shown here is inference-only performance. End-to-end performance with streaming video data might vary slightly depending on other bottlenecks in the hardware and software.
DDETR + RN50
Platform | BS | FPS |
---|---|---|
Jetson Orin Nano | 1 | 6.6 |
Orin NX 16GB | 1 | 9.6 |
AGX Orin 64GB | 4 | 25.8 |
A2 | 1 | 27.7 |
T4 | 1 | 46.5 |
A30 | 8 | 141 |
L4 | 1 | 107 |
L40 | 1 | 283 |
A100 | 32 | 296 |
H100 | 32 | 526 |
DDETR + GCViT-T
Platform | BS | FPS |
---|---|---|
Jetson Orin Nano | 1 | 3.6 |
Orin NX 16GB | 1 | 5.2 |
AGX Orin 64GB | 4 | 14.2 |
A2 | 1 | 17.9 |
T4 | 4 | 30.3 |
A30 | 8 | 87 |
L4 | 1 | 70 |
L40 | 1 | 182 |
A100 | 32 | 184 |
H100 | 32 | 317 |
These models need to be used with NVIDIA Hardware and Software. For Hardware, the models can run on any NVIDIA GPU including NVIDIA Jetson devices. These models can only be used with TAO Toolkit, DeepStream SDK or TensorRT.
The primary use case for these models is detecting objects in a color (RGB) image. The model can be used to detect objects from photos and videos using appropriate video or image decoding and pre-processing.
It is intended for training and fine-tune using Train Adapt Optimize (TAO) Toolkit and the users' dataset of object detection. High fidelity models can be trained to new use cases. A Jupyter notebook is available as a part of TAO container and can be used to re-train.
The model is also intended for easy edge deployment using DeepStream SDK or TensorRT. DeepStream provides facilities to create efficient video analytic pipelines to capture, decode, and pre-process the data before running inference.
B X 3 X 544 X 960 (B C H W)
Category labels (80 COCO) and bounding-box coordinates for each detected objects in the input image.
To use these models as pretrained weights for transfer learning, use the snippet below as atemplate for the model
and train
component of the experiment spec file to train a Deformable DETR model. For more information on the experiment spec file, please refer to the TAO Toolkit User Guide.
train:
pretrained_model_path: /path/to/the/ddetr_resnet_50.pth
model:
backbone: resnet_50
train_backbone: True
num_feature_levels: 4
dec_layers: 6
enc_layers: 6
num_queries: 300
with_box_refine: True
dropout_ratio: 0.3
Documentation to deploy with DeepStream is provided in the "Deploying to DeepStream" chapter of the TAO User Guide.
Deformable DETR was trained on the COCO dataset with 80 object categories. Hence, the model may not perform well on different data distributions. We recommend further fine tuning on the target domain to get higher mAP.
This work is licensed under the Creative Commons Attribution NonCommercial ShareAlike 4.0 License (CC-BY-NC-SA-4.0). To view a copy of this license, please visit this link, or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
NVIDIA’s platforms and application frameworks enable developers to build a wide array of AI applications. Consider potential algorithmic bias when choosing or creating the models being deployed. Work with the model’s developers to ensure that it meets the requirements for the relevant industry and use case, that the necessary instructions and documentation are provided to understand error rates, confidence intervals, and results, and that the model is being used under the conditions and in the manner intended.