AI Based Object Redaction - Overview - Architecture

From RidgeRun Developer Wiki


Index






Librrobjectredaction is a versatile C++ library created for AI-driven object detection and redaction. Its design ensures compatibility across various platforms and harnesses available hardware accelerators for optimal performance.

The following diagram presents a general overview of the architecture.



In the next diagram, you will see a more detailed but still general overview of the design.

The interfaces abstracting hardware specifics are highlighted in blue, while the concrete implementations of those interfaces for the particular hardware are depicted in green.



The library can be divided into 5 main blocks:

  • Backend: The backend serves as the primary gateway to the library, abstracting distinct hardware accelerators (CPU, GPU, or others). Its responsibility is to provide an Algorithm and Model suitable for execution on the designated accelerator, as well as managing the buffers utilized by these components.
  • Redaction: This module is in charge of the implementation of the different stages of the redaction: conversion, detection, tracking and, redaction.
  • Model: This module abstracts the specific detection model. It could be any detection but in the current implementation, we provide a Face Detection model.
  • Tracker: This is a work in progress
  • Buffer: This module is in charge of holding the data used in the different stages.
Note
As of today, the library has support for NVIDIA-based platforms such as Jetson and X86. If any other platform needs to be supported, it can be easily done by creating new instances of the blocks in green.
Note
If a different detection model needs to be implemented (detecting objects, license plates, and others) is as easy as adding a new implementation of IModel.

Please refer to the API Documentation for detailed documentation.


Index