How To Count People In Polygonal Areas with Savant

In an era where data-driven decisions are paramount, the ability to accurately count and monitor people in specific areas has become invaluable. Nvidia’s PeopleNet neural network offers a solution for this. Aside from PeopleNet, other models can be used like the representatives of the YOLO family. As a component of Nvidia’s DeepStream SDK, which specializes in AI-driven video analytics, PeopleNet boasts training on extensive datasets, ensuring high precision in detecting individuals even in intricate or densely populated scenes.

Continue reading How To Count People In Polygonal Areas with Savant

Facial ReID Demo Update: Index Builder Now Uses ClientSDK

Savant ClientSDK is a toolkit that enables the building of simple bridges between applications and Savant. With a simple Pythonic interface, ClientSDK helps developers ingest images into the pipeline and retrieve computer vision results from it. The SDK is available in both synchronous and asynchronous modes and tightly integrated with OpenTelemetry and logging subsystems allowing developers to associate ingested data with tracing information and logged messages.

In the project template, ClientSDK demonstrates how to use it; the Kafka/Redis source and sink adapters are also implemented with ClientSDK classes.

Client SDK enables not only sending frames with metadata but also supports control flow messages like EOS or Shutdown. Shutdown capability makes ClientSDK ideal in situations when the pipeline needs to be finalized after data processing. One such case represents the ReID index builder used in the Facial ReID demo. It feeds the pipeline with images to build the database. When all images are sent, it needs to cause the completion of the pipeline; and it does it by sending the Shutdown message.

The code is pretty straightforward and easy to understand. Before ClientSDK, we used the file source adapter and there was no good way to shut down the compose bundle after the index was ready. Now, it can be done in a simple and standardized way.

How To Do Car License Plate Recognition With YOLOv8 And LPD/LPR Models From Nvidia NGC

In the realm of computer vision, the ability to recognize and read license plates from vehicles is a significant advancement. This technology has numerous applications, from traffic management to security and surveillance. Three prominent models that have made this possible are YOLOv8 and the License Plate Detection/Recognition (LPD/LPR) models from Nvidia NGC.

Continue reading How To Do Car License Plate Recognition With YOLOv8 And LPD/LPR Models From Nvidia NGC

Ten Reasons To Consider Savant For Your Computer Vision Project

This article answers the question of why you may find it beneficial to use Savant instead of DeepStream, OpenVino, PyTorch, or OpenCV in your next computer vision project. It is not an easy question, because computer vision is a tough field with many caveats and difficulties. You start with finding a way to make certain things doable from the quality point of view, but later you also need to serve the solution commercially efficiently, processing data in real-time rather than pathetic 2 FPS on hardware worth like a Boeing wing.

Continue reading Ten Reasons To Consider Savant For Your Computer Vision Project

Crafting Scalable Computer Vision: Video Analytics with Kafka and KeyDB

There are two types of computer vision applications around us: the first ones deliver rapidly fast, instant image or video processing to signal about critical situations like car accidents, people in danger zones, or serious outages in factories; others handle data on demand or in a delayed manner to deliver the knowledge at scale. Those two kinds have in common that they process video data, but their differences are too significant to ignore.

Continue reading Crafting Scalable Computer Vision: Video Analytics with Kafka and KeyDB

Approaches On How To Surpass Real-Time Video Analytics Challenges

Real-time video analytics is a hot topic today. Needless to say, visual information is essential for us: it is estimated that about 80–90% of the information we receive comes through our sense of sight. Moreover, the human visual system is remarkably efficient at processing a vast amount of information; our visual processing centers are highly adept at interpreting and organizing visual information, allowing us to make sense of the world around us quickly and efficiently.

Continue reading Approaches On How To Surpass Real-Time Video Analytics Challenges

How To Run Real-Time Vehicle Traffic Analysis With YOLOV8, Graphite And Grafana

The pipeline calculates vehicles passing from a source edge to a destination edge and sends statistics to Grafana for visualization. The user configures a per-cam traffic metering zone with a polygonal area and labels its lines with assigned tags for metering traffic passing through them.

Continue reading How To Run Real-Time Vehicle Traffic Analysis With YOLOV8, Graphite And Grafana

Dynamic AI Pipeline Parameters Reconfiguration With Etcd In Savant Framework

Computer vision and artificial intelligence inference pipelines often begin as straightforward, statically defined conveyers, but soon begin to require additional heuristics to optimize their performance and adapt to real-life conditions. Let us consider several situations which may require pipelines to be reconfigured dynamically. We will not cover the cases that require parameters applied for good: as they can be passed to the pipeline through environment variables or configuration files.

Continue reading Dynamic AI Pipeline Parameters Reconfiguration With Etcd In Savant Framework

RocksQ – a New Blazingly Fast Persistent Queue For Python

Image from Shutterstock Photobank

When developing Savant, we create auxiliary technologies that can be used in other projects. We would like to share with you a new project developed by the Savant team – RocksQ. We needed a high-performance persistent queue to buffer video frames and metadata in situations when the receiving party is out of order. Previously, we used persist-queue, a Pythonic persistent queue on top of Sqlite. However, it is obviously an overhead to use a full-scale embedded SQL database just for queueing.

Continue reading RocksQ – a New Blazingly Fast Persistent Queue For Python