When estimating the object’s pose, you usually deal with keypoint detection. It can met in various situations like facial recognition to align the face based on pose estimation or action recognition to estimate the actions and analyze them.
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.
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.
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.
Media Pass-Through allows copying the incoming video stream to output without transcoding. The use of the feature is beneficial if the pipeline does not use draw functionality or it occupies a separate pipeline in a chain.
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.
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.
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.
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.
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.