COMPUTER VISION AND ARTIFICIAL INTELLIGENCE WITH BATTERIES INCLUDED

Built for people: quickly build computer vision and video analytics pipelines, unleashing the power of Nvidia DeepStream with Python
Give Savant a Shot
To help novice users to dive into Savant, we have prepared a ready-to-use example, which one can download, build and launch. This simple pipeline uses the standard Nvidia PeopleNet model to detect persons and their faces in the video; the faces are blurred with the integrated OpenCV CUDA functionality. There is also a tracker that helps reduce the flickering of boxes.

GPU-accellerated Human Detection, Tracking, and Blurring with Savant
QUICK START
System requirements.

git clone https://github.com/insight-platform/Savant.git
cd Savant/samples/peoplenet_detector
git lfs pull

# if x86
../../utils/check-environment-compatible && docker compose -f docker-compose.x86.yml up

# if Jetson
../../utils/check-environment-compatible && docker compose -f docker-compose.l4t.yml up

# open 'rtsp://127.0.0.1:554/stream' in your player
# or visit 'http://127.0.0.1:888/stream/' (LL-HLS)

1
Explore Demos
Dive into Savant with the tutorial published on Medium, and other demos explaining how to use Savant and adapters to build a video pipeline that detects people and their faces, tracks them, and blurs faces.
2
Share Your Ideas
We use GitHub Discussions and Discord to exchange ideas. Let us know your questions and suggestions there. We are really interested and looking forward to communication.
3
Custom Services
If you would like to acquire custom services, contact us by e-mail.

FEATURES

Savant is packed with features needed for advanced computer vision and video analytics pipelines

🚀 High Performance

Savant is designed to be fast: it works on top of DeepStream - the fastest SDK for video analytics. Even the heavyweight segmentation models can run in real-time on Savant.

🌐 Edge and Data Center

The framework supports running the pipelines on Nvidia's edge devices (Jetson Family) and data center devices (Tesla, Quadro, etc.) with minor or zero changes.

❤️ Cloud-Ready

Savant pipelines run in Docker containers. We provide images for x86+dGPU and Jetson hardware.

Low Latency and High Capacity Processing

Savant can be configured to execute a pipeline in real-time, skipping data when running out of capacity or in high capacity mode, which guarantees the processing of all the data, maximizing the utilization of the available resources.

🤝 Ready-To-Use API

A pipeline is a self-sufficient service communicating with the world via high-performance streaming API.

📁 Advanced Data Protocol

The framework universally uses a common protocol based on Protocol Buffers for both video and metadata delivery. The protocol is highly flexible, allowing video-related information alongside arbitrary structures useful for IoT and 3rd-party integrations.

⏱ OpenTelemetry Support

Precisely instrument pipelines with OpenTelemetry: a unified monitoring solution. You can use sampled or complete traces to balance the performance and precision. The traces can span from edge to core to business logic through network and storage because the Savant protocol supports their propagation.

📊 Prometheus Support

Savant pipelines can be instrumented with Prometheus: a popular monitoring solution. Prometheus is a great choice for monitoring the pipeline's performance and resource utilization.

🧰 Client SDK

We provide Python-based SDK to interact with Savant pipelines (ingest and receive data). It enables simple integration with 3rd-party services. Client SDK is integrated with OpenTelemetry providing programmatic access to the pipeline traces and logs.

🧘 Development Server

Software development for vanilla DeepStream is a pain. Savant provides a Development Server tool, which enables dynamic reloading of changed code without pipeline restarts. It helps to develop and debug pipelines much faster.

🔀 Dynamic Sources Management

In Savant, you can dynamically attach and detach sources and sinks to the pipeline without reloading. The framework resiliently handles situations related to source/sink outages.

🏹 Handy Source and Sink Adapters

The communication interface is not limited to Client SDK: we provide several ready-to-use adapters, which you can use "as is" or modify for your needs.

🎯 Dynamic Parameters Ingestion

Advanced ML pipelines may require information from the external environment for their work. The framework enables dynamic configuration of the pipeline with in-protocol attributes, Etcd, or custom integrations.

🖼 OpenCV CUDA Support

Savant supports custom OpenCV CUDA bindings, enabling operations on DeepStream's in-GPU frames with a broad range of OpenCV CUDA functions.

🔦 PyTorch Support

Savant supports PyTorch, one of the most popular ML frameworks. It enables the developer to use custom or ready-to-use PyTorch models from PyTorchHub.

🔢 CuPy Support

CuPy is a NumPy-like library for GPU-accelerated computing. It enables the developer to implement custom CUDA-enable functions in Python.

↻ Rotated Detection Models Support

Savant helps to deal with the models resulting in bounding boxes rotated relative to a video frame (oriented bounding boxes). For example, it is often the case with bird-eye cameras observing the underlying area from a high point.

🐍 Python

Python support is a crucial language for data science and ML. We support Python in inferencing pipelines. Developers can use it to implement flexible processing for metadata and even customize framework runtime if required.
About Us
We develop high-performance video inferencing pipelines and train neural networks.
The In-Sight team is an ML/AI department of Bitworks Software. We develop custom high-performance AI/CV applications for various industries providing full-cycle processes, including but not limited to data labeling, model evaluation, training, pruning, quantization, validation, verification, pipeline development, and CI/CD. We mainly focus on Nvidia hardware (both data center and edge).

We have developed Savant to democratize Nvidia DeepStream and make it available to ML and CV engineers. We use it ourselves to deliver flexible production-ready video analytics pipelines to our customers as quickly as possible.

To acquire custom services, contact us by e-mail.