Privacy Masking Injection in Milestone Live Video Feeds.

Context

Our system processes live video streams to assist operators in monitoring specific environments. To ensure compliance with privacy regulations and protect individuals’ identities, we aim to integrate a privacy mask directly into the camera feeds displayed in Milestone. The goal is to ensure that operators only see the processed feed with facial blurring applied in real-time.

Proposed Solution

We are exploring different approaches to implement privacy masking within the video streams, ensuring seamless integration into Milestone:

  • Injecting a Privacy Mask (Blur) into the Camera Feed:
    • Implement real-time face detection and apply a blur mask over detected faces before the feed is displayed in Milestone.
    • The processed feed, with the privacy mask applied, should be the only version available to operators, ensuring compliance with privacy policies.
    • The system should handle multiple concurrent streams without affecting usability.
  • Technical Integration with Milestone:
    • Evaluate whether privacy masking should be applied at the camera source level (before reaching Milestone) or via a middleware processing layer that sits between the camera and Milestone’s VMS.
    • Ensure that the privacy mask persists regardless of camera switching by operators within the Milestone dashboard.

Operational Considerations

  • Camera Switching: Operators frequently switch between different camera feeds within Milestone. The privacy masking must remain consistent across all active streams, ensuring no unprocessed feed is displayed.
  • Performance and Latency: Applying real-time face blurring should be optimized to minimize latency while maintaining high-quality video playback. The solution should be tested under different workloads to validate its impact on system performance.
  • Scalability: The approach should support multiple streams simultaneously without significantly increasing processing overhead.
  • Compliance & Security: The implementation should align with data protection regulations, ensuring that raw, unmasked video feeds are not exposed where privacy enforcement is required.

Request for Recommendations

We are looking for guidance on the most effective approach to inject privacy masking into Milestone Live Video Cameras, considering:

  • The best method to inject the privacy masking into the Milestone platform.

Any recommendations or insights on implementing this within the Milestone ecosystem would be highly valuable.

To achieve your goal, you would need to configure two camera streams in XProtect: one with the blurring applied to the video feed and another with the original, unmodified video for investigation and evidence purposes.

You could implement a middleware processing layer to handle both the unmodified and modified camera streams.

Milestone offers a product that could be highly relevant for this setup. The Milestone AI Bridge is an API gateway designed to integrate intelligent video analytics applications with the Milestone XProtect Video Management System (VMS). It enables these applications to access video streams, process them, and return events, metadata, and video back into the VMS.

I believe the AI Bridge could be an ideal solution for your requirements. You can read more about it here. - https://www.milestonesys.com/support/for-developers/integrate-with-xprotect/

Note: XProtect includes a privacy masking feature that operates on fixed cameras, consistently blurring or hiding the same part of the image. You can read more about it here. However, based on my understanding, the built-in privacy masking will not meet your specific requirements. It seems you are looking for a more advanced, intelligent privacy masking solution. Nonetheless, I wanted to mention the existing feature for completeness.

Hello Bo!

Thank you for the suggestion and for your attention; it was crucial to the development process.

We are currently using AI Bridge to perform object detection on a specific camera feed, and the system is already fully functional. The next step in our implementation is to apply privacy masking to the detected objects based on their coordinates.

Could you provide guidance on the most suitable approach to apply a blur effect exclusively to the detected objects, ensuring that the rest of the video remains unaffected?

Looking forward to your recommendations.

Best regards,

João Brito | DeepNeuronic

Hi João,

As discussed in the call, you can use the extended properties of the bounding boxes metadata to draw a box filled with solid colour. Here’s more info about those extended properties: Introduction to metadata.

Hope this clears things up,

Jaume