Privacy masking — filled bbox rendering via external postprocessor
AnsweredSubject: Privacy masking — filled bbox rendering via external postprocessor
We are building a face-privacy postprocessor using the NX AI Integration SDK. The processor receives face bounding boxes from the AI Manager and we want the NX client to render those regions as filled/blended rectangles (privacy mask style) rather than standard bbox outlines.
Specifically, we need to know:
Is there an object type ID, metadata attribute, or rendering hint that causes the NX client to render a bbox as a filled overlay instead of an outline?
Does the NX client support a "privacy mask" rendering mode for object types declared in external_postprocessors.json?
Is ReceiveImage: true a supported field in external_postprocessors.json? The face-privacy example README references it but it is not in the SDK documentation — does it give write access to the display frame?
If pixel-level modification is not possible through the postprocessor, what is the recommended SDK path to programmatically redact face regions in the video displayed to the client?
-
Hi Arnaud Bastide,
Please find the answer below.
1.Is there an object type ID, metadata attribute, or rendering hint that causes the NX Nx client to render a bbox as a filled overlay instead of an outline?
No, I don’t think we have such feature supported at the moment. All kind of objects are default use line-boundary-box.
2. Does the NX Nx client support a “privacy mask” rendering mode for object types declared in external_postprocessors.json?
Unfortunately we don't have a way to blur/redact faces in a stream at the moment. However, as the requests come increasingly, this feature has been discussed recently.
3. Is ReceiveImage: true a supported field in external_postprocessors.json? The face-privacy example README references it but it is not in the SDK documentation — does it give write access to the display frame?
In
external_postprocessors.jsonit supportsReceiveInputTensorfield which if true, the postprocessor will receive the input image. ( But this is not write access, changes to this image will not affect the stream itself. i.e. the original stream will be transparent )
4. If pixel-level modification is not possible through the postprocessor, what is the recommended SDK path to programmatically redact face regions in the video displayed to the client?
The best (possibly) to do is to use a postprocessor to host its own RTSP stream, and add that stream to the VMS.
i.e. your stream → [ agent/Middleware/Own RTSP server → Post Processor ] → Stream to Mediaserver
The postprocessor can then edit the stream in whichever way it wants. To ensure privacy, the original stream can then be password protected. A hacky solution, but possible.
Thanks.
0
Please sign in to leave a comment.
Comments
1 comment