ObjectBlurStage: Privacy-Focused Live Blurring of Detected Objects #893
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
This pull request introduces a new ObjectBlurStage for rpicam-apps. The stage provides real-time blurring of detected objects based on their COCO class names, making it easy to anonymize specific objects (like faces, persons, or license plates) directly during video recording or streaming.
Key Features:
Blurs detected objects based on configurable COCO class names (e.g., "person", "cup", "wine glass").
Three blur algorithms: pixelate (fast), gaussian (smooth), median (noise reduction).
All parameters (blur type, strength, box expansion) are configurable via JSON.
Works seamlessly with hailo_yolo_inference or other detection stages providing object_detect.results.
Enables clean privacy-focused recordings without visible bounding boxes.
Includes English and German documentation and sample configuration files.
Why?
Privacy protection and object anonymization are increasingly important for video recordings. This stage enables automatic, real-time blurring of sensitive objects without post-processing, which is especially useful for surveillance systems, public installations, or content that needs to comply with privacy regulations.
Notes:
Requires OpenCV (opencv-postproc library).
Depends on a detection stage providing object_detect.results
metadata (e.g., hailo_yolo_inference).
Supports 80 COCO object classes for flexible use cases.
Demo: See the example video below showing the blur effect in action.
Watch Demo Video