Menu â–¾ â–´

🚀 Savant Computer Vision Framework v0.2.4 is out: More Rust-y than before, packed with New Samples and Features

After a grueling month, we've unleashed a new iteration of Savant, version 0.2.4, teeming with fresh capabilities and exemplars. This up-to-the-minute edition brings an enhanced feature set and more tools to speedily and dependably construct computer vision pipelines.

Fresh Demonstrations

Our conviction is that examples can communicate more than extensive explanations, hence our emphasis not just on crafting extensive guides, but on showcasing our features in an accessible manner.

In this release, we've added three fresh examples:

  • An Age/gender prediction example elucidates the use of YoloV5-Face, engagement with a custom model to predict age and gender, and advanced in-GPU affine transformations using OpenCV-CUDA and Python;
  • A Conditional video encoding example that demonstrates a pipeline that encodes a video stream only upon user request (in this sample, only when objects are detected by a model). It teaches how to conserve computing resources when footage is necessary under specific conditions;
  • A Multiple RTSP streams example presents a straightforward pipeline that manages two RTSP streams. It illustrates Savant's distinctive approach to dynamic stream processing, which is often overcomplicated by users.

Fresh Features

  • Conditional Drawing and Encoding to smartly reduce data traffic and utilize CPU/GPU resources;
  • An improved FFmpeg-based RTSP source adapter that outperforms its GStreamer-based counterpart for streams incorporating B-frames;
  • A versatile FFmpeg-based source adapter compatible with all inputs supported by FFmpeg.

Quality Assurance

  • We now monitor potential performance declines for every ticket merger, aimed at making Savant more efficient and not the other way around;
  • A shift from Python-based internals to Rust-based ones: we've developed a core functionality library, Savant-rs, which is meticulously tested. We're in the process of transitioning Python-based components to Rust-based ones to optimize Savant's performance and improve code quality.

Documentation

  • Detailed documentation of source and sink adapters;
  • Detailed instructions on image preprocessing in general documentation and a comprehensive sample (age/gender prediction);
  • Newly drafted guidelines on setting up the development environment in VS Code.

DeepStream 6.2 Bug Workaround

We've identified a bug impacting NVENC functionality on Jetson devices and reported it. DeepStream 0.6.2 is susceptible to this issue, where NVENC incorrectly orders encoded frames when the framerate isn't configured correctly. This problem occurs in RTSP or when frames are skipped based on specific conditions.

We've designed a workaround in Savant: we reorder the frames when required, and we hope Nvidia will provide a fix in the next DeepStream release.

What To Look Forward To In 0.2.5

Our forthcoming release will incorporate more Rust code to reduce GIL-dependency in the pipelines. Expect additional features related to dynamic pipeline configuration and edge-related development, along with three to four new examples that cover basic and advanced functionalities.

Posted by Ivan Kudriavtsev 2023-07-15

Log in to post a comment.

MongoDB Logo MongoDB