Choosing A Camera For Computer Vision Wise: Resolution, Image Quality, Lens and Software

Cameras play the most important role in computer vision projects. Often, the quality of the picture captured by a camera influences way more than the sophistication of the computer vision models used in the solution. The truth is that without a proper camera, implementing a state-of-the-art solution matching business needs is often impossible. For example, facial and optical character recognition applications require high-quality, expensive cameras to deliver a pixel-perfect image to the system. Often, computer vision engineers and product sponsors/owners do not understand the characteristics and meet the situation when the solution is not even possible in the wild.

Continue reading Choosing A Camera For Computer Vision Wise: Resolution, Image Quality, Lens and Software

Savant 0.4.8 is Out: A Bugfix Release

We released a minor update to Savant 0.4.x, including a bug fix found by a user. The bug concerns JSON/image/video sink adapters. The partial fix was implemented in 0.4.7.

The new release is available by the link.

Full Changelogv0.4.7…v0.4.8

Platform: DeepStream 6.4
JetPack (Jetson): 6.0

Docs: https://docs.savant-ai.io/v0.4.8/

dGPU Images:

docker pull ghcr.io/insight-platform/savant-deepstream:0.4.8-6.4
docker pull ghcr.io/insight-platform/savant-adapters-deepstream:0.4.8-6.4
docker pull ghcr.io/insight-platform/savant-adapters-gstreamer:0.4.8
docker pull ghcr.io/insight-platform/savant-adapters-py:0.4.8
docker pull ghcr.io/insight-platform/savant-deepstream-extra:0.4.8-6.4

Jetson Images:

docker pull ghcr.io/insight-platform/savant-deepstream-l4t:0.4.8-6.4
docker pull ghcr.io/insight-platform/savant-adapters-deepstream-l4t:0.4.8-6.4
docker pull ghcr.io/insight-platform/savant-adapters-gstreamer-l4t:0.4.8
docker pull ghcr.io/insight-platform/savant-adapters-py-l4t:0.4.8
docker pull ghcr.io/insight-platform/savant-deepstream-l4t-extra:0.4.8-6.4

Savant 0.4.1 is Out. Spotlight: Advanced Video Processing Features

Savant 0.4.1 continues 0.4.x release cycle, introducing several new features, multiple bug fixes, and sample updates. It is built on DeepStream 6.4 / JetPack 6.0 and widely tested on Jetson Orin Nano, Orin NX, Turing, Ampere, and Ada Lovelace discrete GPUs. In this release, we focused on testing problems that our customers and community users discovered in 0.4.0. Also, we developed an auxiliary watchdog service for pipeline health monitoring.

Continue reading Savant 0.4.1 is Out. Spotlight: Advanced Video Processing Features

Dump and Replay Video Traffic with Buffer Adapter

In video streaming applications, reproducing the results is crucial for quality estimation, troubleshooting, and code improvement. Unfortunately, it is not easy because data is streaming. Thus, developers need utilities that allow them to record traffic and replay it at the same rate and timing to simulate the real sources. Sometimes, developers can use video files instead of live sources like RTSP or USB cameras.

Continue reading Dump and Replay Video Traffic with Buffer Adapter

Auxiliary Video Stream Support In Savant

Savant recently made a massive step towards hardware-accelerated video transcoding and composition. Previous versions did not allow users to produce auxiliary or custom video streams inside modules, which made it difficult to create customized dashboards, change video resolution, or build video compositions, like 2×2 video walls composing four streams in a single image.

Continue reading Auxiliary Video Stream Support In Savant

Savant 0.4.0: Advanced Adapters, Developer Tools, Video Archiving and Re-Streaming

Savant 0.4.0 is out. This release focuses on system usability, interfacing, advanced computer vision, and video analytics. It is based on the state-of-the-art DeepStream 6.4. Savant moves towards the frontier of creating omnipresent computer vision and video analytical systems working in hybrid mode on the edge and in the data centers.

Unlike commonly used computer vision frameworks like PyTorch, TensorFlow, OpenVINO/DlStreamer, and DeepStream, Savant offers its users not only inference and image manipulation tools but also advanced architecture for building distributed edge/datacenter computer vision applications communicating over the network. Thus, Savant users focus on computer vision but do not reinvent the wheel, productizing their pipelines. So, what is new in Savant v0.4.0?

Continue reading Savant 0.4.0: Advanced Adapters, Developer Tools, Video Archiving and Re-Streaming

Working With Dynamic Video Sources in Savant

It is difficult to work efficiently with multiple video sources in a computer vision pipeline. The system must handle their connection, disconnection, and outages, negotiate codecs, and spin corresponding decoder and encoder pipelines based on known hardware features and limitations.

That is why Savant promotes plug-and-play technology for video streams, which takes care of the nuances related to source management, automatic dead source eviction, codec negotiation, etc. Developers do not care about how the framework implements that – just attach and detach new sources on demand.

The article demonstrates how to dynamically attach and detach sources to a pipeline with plain Docker.

To fully understand how Savant works with adapters, please first read the article related to the Savant protocol in the documentation. In this article, we will show how to connect and disconnect a source from a running module without diving into how it works internally.

In our samples, we use the “docker-compose” to simplify the execution and help users quickly launch the code. However, this often causes misunderstandings among those who do not understand Docker machinery well. So, let us begin by “decomposing” a sample. Savant supports Unix domain sockets and TCP/IP sockets for component communication, and we will try both.

Continue reading Working With Dynamic Video Sources in Savant

Savant 0.3.11

We are happy to announce a new release of Savant – 0.3.11. This release is 100% API compatible with 0.2.11 but is built on DeepStream 6.4 and JetPack 6.0 DP. Thus, it does not support the Jetson Xavier family. Both 0.3.x and 0.2.x branches are maintained under long-term support conditions. They do not receive new features, only bug fixes related to stable operation.

The upcoming 0.4.x branch, which will succeed 0.3.x, is developing all new functionality. The roadmap for 0.4.0 is here. The release focuses on better interaction with data sources and sinks.