Savant Samples Catalog

This document provides a comprehensive overview of all available Savant samples. Each sample demonstrates specific computer vision and video processing capabilities using different models, adapters, and platform configurations.

Note

Platform support is indicated as follows:

  • X86 + L4T: Both x86 and Jetson (L4T) platforms supported

  • X86 only: Only x86 platform supported

  • L4T only: Only Jetson (L4T) platform supported

When not specified, the sample is implemented only for X86 platform by some reason.

Computer Vision and AI Samples

Face Detection and Analysis

Age Gender Recognition

Platform Support: X86 + L4T

Main Features:

  • Face detection using YOLOv8-Face model with 5 face landmarks (eyes, nose, mouth)

  • Age and gender estimation for detected faces

  • Face orientation calculation using landmarks

  • Face tracking with Nvidia Tracker

Auxiliary Features:

  • Image preprocessing for model input

  • Real-time and capacity processing modes

  • Performance benchmarking support

Adapters Used:

Link: Age Gender Recognition

Face ReID

Platform Support: X86 + L4T

Main Features:

  • Facial recognition and re-identification using YOLOv8-Face and AdaFace models

  • Face gallery indexing and matching

  • Doorbell security system demonstration

Auxiliary Features:

  • Index builder for face gallery management

  • Face preprocessing and feature vector extraction

  • HNSWLIB-based face matching

Adapters Used:

Link: Face ReID

People Detection and Tracking

PeopleNet Detector

Platform Support: X86 + L4T

Main Features:

  • Person and face detection using Nvidia PeopleNet model

  • GPU-accelerated face blurring with OpenCV CUDA

  • Body-face matching and tracking

Auxiliary Features:

  • Real-time and capacity processing modes

  • Flickering reduction with simple tracker

  • Performance benchmarking

Adapters Used:

Link: PeopleNet Detector

Traffic and Line Crossing Analysis

Traffic Meter

Platform Support: X86 + L4T

Main Features:

  • Pedestrian line crossing detection and counting

  • Multiple detector model support (PeopleNet, YOLOv8m, YOLOv8s)

  • Direction-aware crossing detection

  • Grafana dashboard integration

Auxiliary Features:

  • DeepStream-Yolo integration

  • Graphite metrics storage

  • Real-time dashboard visualization

Adapters Used:

Link: Traffic Meter

Intersection Traffic Meter

Platform Support: X86 + L4T

Main Features:

  • Vehicle crossing detection at city intersections (cars, trucks, buses)

  • Polygon-based intersection area definition

  • YOLOv8 model for vehicle detection

  • Multi-source and multi-polygon counting

Auxiliary Features:

  • DeepStream-Yolo integration

  • Grafana dashboard with metrics visualization

  • Graphite storage backend

Adapters Used:

Link: Intersection Traffic Meter

Fisheye Line Crossing

Platform Support: X86 + L4T

Main Features:

  • Line crossing detection for fisheye camera footage

  • YOLOv7 OBB (Oriented Bounding Box) detector

  • Similari tracking library integration

  • Rotated bounding box detection

Auxiliary Features:

  • Grafana dashboard integration

  • Multi-source line crossing analytics

  • Performance benchmarking

Adapters Used:

Link: Fisheye Line Crossing

Area Object Counting

Platform Support: X86 + L4T

Main Features:

  • People counting within user-defined areas

  • Multi-area simultaneous monitoring

  • Real-time area occupancy display

Auxiliary Features:

  • Configurable area definitions

  • Real-time visualization

  • Multi-source processing

Adapters Used:

Link: Area Object Counting

Object Detection and Classification

License Plate Recognition

Platform Support: X86 + L4T

Main Features:

  • Car detection using YOLOv8 models

  • License plate detection using Nvidia LPD model

  • License plate text recognition using Nvidia LPR model

  • Vehicle and plate tracking

Auxiliary Features:

  • Multi-stage detection pipeline

  • US license plate dictionary support

  • Performance benchmarking

Adapters Used:

Link: License Plate Recognition

Nvidia Car Classification

Platform Support: X86 + L4T

Main Features:

  • Car detection and tracking

  • Multi-attribute classification (type, color, make)

  • Reproduces deepstream-test2 functionality

Auxiliary Features:

  • Multiple classification models

  • Track ID visualization

  • Performance benchmarking

Adapters Used:

Link: Nvidia Car Classification

RT-DETR R50 Demo

Platform Support: X86 + L4T

Main Features:

  • Object detection using RT-DETR model

  • Real-time detection transformer architecture

  • DeepStream-Yolo integration

Auxiliary Features:

  • ONNX model format support

  • Performance optimization

  • Real-time processing capability

Adapters Used:

Link: RT-DETR

Advanced Computer Vision

YOLOv8 Instance Segmentation

Platform Support: X86 + L4T

Main Features:

  • Person instance segmentation using YOLOv8-seg model

  • GPU and CPU converter options

  • Complex model output processing

Auxiliary Features:

  • CuPy GPU acceleration support

  • NumPy/Numba CPU processing

  • cv2.cuda.GpuMat rendering

  • Performance optimization options

Adapters Used:

Link: YOLOv8 Segmentation

Keypoint Detection

Platform Support: X86 + L4T

Main Features:

  • Human body keypoint detection using YOLOv8n-pose model

  • 17-point body pose estimation

  • Real-time pose visualization

Auxiliary Features:

  • Ultralytics model integration

  • ONNX export pipeline

  • Performance benchmarking

Adapters Used:

Link: Keypoint Detection

NanoSAM

Platform Support: X86 + L4T

Main Features:

  • Object segmentation using NanoSAM model

  • Point-based object identification

  • Custom model input handling

  • Multi-object color-coded segmentation

Auxiliary Features:

  • Four-point interactive segmentation

  • Gradient mask visualization

  • Custom pyfunc integration

  • TensorRT engine customization

Adapters Used:

Link: NanoSAM

Image Processing and Enhancement

AnimeGAN

Platform Support: X86 only

Main Features:

  • Anime-style image transformation using AnimeGANv2

  • Hayao Miyazaki anime style application

  • Video style transfer

Auxiliary Features:

  • PyTorch to ONNX conversion pipeline

  • ONNX model simplification

  • Frame replacement demonstration

Adapters Used:

Link: AnimeGAN

Super Resolution

Platform Support: X86 only

Main Features:

  • Video super-resolution using NinaSR models

  • 360p to 1080p upscaling demonstration

  • Multiple scale factor support (2x, 3x, 4x)

Auxiliary Features:

  • TorchSR model integration

  • Lightweight neural network approach

  • Quality enhancement visualization

Adapters Used:

Link: Super Resolution

OpenCV CUDA Background Removal

Platform Support: X86 + L4T

Main Features:

  • Real-time background removal using OpenCV CUDA MOG2

  • High-performance processing (500+ FPS capability)

  • GPU-accelerated background segmentation

Auxiliary Features:

  • Hardware acceleration optimization

  • Real-time and capacity processing modes

  • Performance benchmarking

Adapters Used:

Link: OpenCV CUDA Background Removal

Panoptic Driving Perception

Platform Support: X86 + L4T

Main Features:

  • Driving scene understanding using YOLOP model

  • Object detection and semantic segmentation

  • PyTorch inference in Savant

  • GPU memory interaction demonstration

Auxiliary Features:

  • Torch hub integration

  • Multi-task learning approach

  • Real-time driving analysis

Adapters Used:

Link: Panoptic Driving Perception

Streaming and Adapter Samples

Source Adapters

MJPEG USB Camera

Platform Support: X86 + L4T

Main Features:

  • USB camera MJPEG stream capture

  • Low-latency compressed video streaming

  • Hardware acceleration support

Auxiliary Features:

  • NVJPEG hardware acceleration on Jetson

  • Software/hardware-assisted decoding on X86

  • Configurable camera parameters

Adapters Used:

Link: MJPEG USB Camera

Multiple RTSP Streams

Platform Support: X86 + L4T

Main Features:

  • Multiple RTSP stream ingestion

  • Multiplexed stream processing

  • PeopleNet model processing on multiple streams

Auxiliary Features:

  • Stream multiplexing demonstration

  • Multi-source processing pipeline

  • LL-HLS output support

Adapters Used:

Link: Multiple RTSP

Multiple GigE Vision Cameras

Platform Support: X86 + L4T

Main Features:

  • GigE Vision camera integration

  • Multiple camera stream processing

  • Raw RGBA and HEVC-encoded frame support

  • GigE Vision Source Adapter demonstration

Auxiliary Features:

  • Stream control API

  • Multi-format camera support

  • Real-time multi-camera processing

Adapters Used:

Link: Multiple GigE

RTSP Camera Compatibility Test

Platform Support: X86 + L4T

Main Features:

  • RTSP camera compatibility testing

  • FFmpeg and Retina RTSP adapter variants

  • NVDEC and NVENC integration testing

  • Camera compatibility validation

Auxiliary Features:

  • RTCP Sender Reports support (Retina adapter)

  • Cross-stream synchronization testing

  • Multiple adapter variant testing

Adapters Used:

Link: RTSP Camera Compatibility Test

AWS Kinesis Integration

Platform Support: X86 + L4T

Main Features:

  • Kinesis Video Stream integration

  • Frame export/import pipeline

  • MongoDB metadata storage

Auxiliary Features:

  • Cloud streaming capabilities

  • Metadata synchronization

  • AWS service integration

Adapters Used:

Link: AWS Kinesis

Processing Control and Flow

Conditional Video Processing

Platform Support: X86 + L4T

Main Features:

  • Conditional processing based on Etcd parameters

  • Dynamic processing enable/disable

  • PeopleNet-based conditional encoding

Auxiliary Features:

  • Etcd-based source control

  • Tag-based processing pipeline

  • DrawFunc and encoder control

Adapters Used:

Link: Conditional Video Processing

Buffer Adapter Demo

Platform Support: X86 + L4T

Main Features:

  • Buffer adapter functionality demonstration

  • Load spike simulation and handling

  • Frame buffering and dropping strategies

Auxiliary Features:

  • Prometheus metrics integration

  • Grafana dashboard visualization

  • Performance monitoring

Adapters Used:

Link: Buffer Adapter

Auxiliary Streams

Platform Support: X86 + L4T

Main Features:

  • Multiple resolution stream generation

  • Auxiliary stream demonstration

  • Frame scaling to different resolutions

Auxiliary Features:

  • Multi-resolution output (360p, 480p, 720p)

  • Encoder optimization

  • Upscaling demonstration

Adapters Used:

Link: Auxiliary Streams

Data Integration and APIs

Kafka-Redis Adapter

Platform Support: X86 + L4T

Main Features:

  • Kafka-Redis adapter demonstration

  • Frame content storage in KeyDB/Redis

  • Metadata storage in Kafka

  • Pub-sub architecture implementation

Auxiliary Features:

  • KeyDB alternative to Redis

  • Message broker integration

  • Distributed processing support

Adapters Used:

Link: Kafka-Redis Adapter

Key-Value API

Platform Support: X86 only

Main Features:

  • Embedded Key-Value store demonstration

  • REST API access to KV store

  • WebSocket subscription support

Auxiliary Features:

  • HTTP API integration

  • Real-time data subscription

  • Protobuf serialization support

Adapters Used:

Link: Key-Value API

Source Adapter with JSON Metadata

Platform Support: X86 + L4T

Main Features:

  • JSON metadata integration with video sources

  • External metadata injection

  • Metadata-video synchronization

Auxiliary Features:

  • Custom metadata handling

  • JSON format support

  • Synchronized processing

Adapters Used:

Link: Source Adapter with JSON Metadata

Development and Testing Tools

Template Sample

Platform Support: X86 + L4T

Main Features:

  • Complete development template for custom Savant modules

  • Basic pipeline with dev features

  • Client SDK demonstration

Auxiliary Features:

  • Docker Compose and devcontainer setup

  • Jaeger tracing integration

  • PyFunc and DrawFunc templates

  • Hot-reload development workflow

Adapters Used:

Link: Template

Bypass Model

Platform Support: X86 + L4T

Main Features:

  • Identity model for preprocessing troubleshooting

  • Data preprocessing demonstration

  • Model input/output comparison

Auxiliary Features:

  • PyTorch to ONNX conversion

  • Aspect ratio maintenance

  • Preprocessing visualization

Adapters Used:

Link: Bypass Model

Pipeline Watchdog

Platform Support: X86 only

Main Features:

  • Pipeline monitoring and watchdog functionality

  • Random processing delays simulation

  • Pipeline health monitoring

Auxiliary Features:

  • Configurable delay parameters

  • Sink monitoring capabilities

  • Reliability testing

Adapters Used:

  • Custom sink monitoring via Client SDK

Link: Pipeline Watchdog

Telemetry and Monitoring

OpenTelemetry Example

Platform Support: X86 + L4T

Main Features:

  • OpenTelemetry integration demonstration

  • Distributed tracing with Jaeger

  • Performance monitoring and debugging

Auxiliary Features:

  • TLS support for telemetry collection

  • Span instrumentation examples

  • Error tracking and visualization

  • Custom telemetry collection

Adapters Used:

Link: Telemetry

Router Demo

Platform Support: X86 + L4T

Main Features:

  • Stream routing demonstration

  • Multi-sink pipeline routing

  • Keyframe-based routing logic

Auxiliary Features:

  • Screenshot generation

  • Video archiving

  • Frame filtering

Adapters Used:

Link: Router

Specialized Processing

Pass-Through Processing

Platform Support: X86 + L4T

Main Features:

  • Minimal processing pipeline demonstration

  • Frame pass-through without modification

  • Pipeline overhead measurement

Auxiliary Features:

  • Performance baseline establishment

  • Minimal latency processing

  • Throughput optimization

Adapters Used:

Link: Pass-Through Processing

Original Resolution Processing

Platform Support: X86 + L4T

Main Features:

  • Processing at original video resolution

  • No scaling or resolution changes

  • Native resolution handling

Auxiliary Features:

  • Resolution preservation

  • Quality maintenance

  • Performance optimization

Adapters Used:

Link: Original Resolution Processing

Source Shaper Sample

Platform Support: X86 + L4T

Main Features:

  • Video source shaping and preprocessing

  • Frame rate and resolution control

  • Source adaptation demonstration

Auxiliary Features:

  • Dynamic source modification

  • Frame rate adjustment

  • Resolution scaling

Adapters Used:

Link: Source Shaper Sample

Getting Started

To explore any of these samples:

  1. Prerequisites: Ensure your environment is properly configured by running:

    git clone https://github.com/insight-platform/Savant.git
    cd Savant
    git lfs pull
    ./utils/check-environment-compatible
    
  2. Visit the sample page for detailed instructions and configuration options.

Performance Notes

  • First-time execution: Many samples require model compilation to TensorRT engines, which can take 10-40 minutes depending on the model complexity

  • Platform optimization: Samples are tested for their supported platforms with appropriate hardware acceleration

For detailed information about each sample, including specific setup instructions and configuration options, please visit the individual sample links provided above.