We are thrilled to announce LibObjectRedaction, a state-of-the-art library designed to elevate the power of machine learning for object recognition and redaction functionalities. Designed for versatility, it is optimized to run seamlessly on GPU and CPU architectures. This flexibility not only maximizes performance but also ensures that our library can be integrated into different platforms such as NVIDIA Jetson and x86 computers.
In an era of rapid technological advancements, the need to balance innovation with privacy has become more critical than ever. LibObjectRedaction places a paramount emphasis on real-time privacy protection.
LIbObjectRedaction has two major components:
An object recognition system driven by open-source Open Neural Network Exchange (ONNX) machine learning models. This machine-learning component enables the library to achieve unparalleled accuracy in identifying and classifying objects with images or videos.
Privacy preservation takes an important stage through its robust object redaction capabilities. Leveraging the OpenCV library for CPU processing and NVIDIA performance primitives (NPP) library for GPU acceleration currently features a blurring effect as the primary redaction technique.
The following figure provides an overview of the library’s flow and capabilities. As input the library receives a video stream, a video source file, or images. As a primary step, the AI model performs object detection, applying an image effect to cover up the identified objects. Finishing this process the library outputs a video or image with blurred objects to conceal details.
When and why use Redaction?
Hide facial identity: Real-time privacy protection in edge-based video streaming and surveillance solutions is critical for some applications. LibObjectRedaction offers a face redaction algorithm as a comprehensive solution for concealing facial data information for safeguarding individuals' identities.
Hide critical information: Object redaction has an important role in safeguarding sensitive information as for example credit cards or license plates. Using redaction helps cover up video streams with critical data and helps mitigate the risk of identity theft, fraud, or unauthorized use.
Currently, only face detection models are supported. If a different detection model needs to be implemented (detecting objects, credit cards, license plates, and others) is as easy as adding a new implementation of an AI model.
Showcasing real-life face redaction
Take a look at the following demo video. It compares an original video of people with a redacted video of people's faces created with the FaceRedaction model.
LibObjectRedaction enhances the library's capabilities for seamless and efficient video processing by integrating a plugin using the GStreamer framework. This plugin offers elements to perform detection and redaction within the LibObjectRedaction framework. With this integration, the library offers users a more robust and flexible video processing for security applications.
The GStreamer plugin allows the user to manage different types of video sources and formats and smoothly connect to the LibObjectRedaction capabilities. A pipeline example to video stream with concealed facial details looks like this:
gst-launch-1.0 v4l2src ! nvvidconv ! queue ! rrfacedetector ! queue ! rrobjectredactor ! queue ! nvvidconv ! xvimagesink
Contact us to evaluate LibObjectRedaction. We offer trial versions, so you can first validate the functionality and make sure it meets your use-case requirements.
Find out more information in our developer's wiki: AI-Based Object Redaction.