I created a small annotation tool : I run your model and can add/move/remove/resize/change bounding boxes. Since I also annotated videos (sampled at 4 fps), I found that many video frames are actually motion blurred and that the model had trouble detecting zones in those cases. I use an adaptative threshold to lower the entry for bb with the same class that were near the same location on the previous frame. That way when you correct an image for a frame, the model usually can keep track of it even when it wouldn't normally do so.
I found my videos/images on reddit, on public threads. I'm not sure if you would be ok with that, just tell me.
I've added some features for myself that can be tuned/remove later :
- elliptical censored zones,
- iddling mode (when no sensitive classes are detected for a while, the app goes dormant, only sampling the monitor at 0.5 fps and disabling expensive gpu paths. A detection of a sensitive content trigger the app within those 2 seconds so you can peak before censor comes up, which is a drawback.
- progressive censorship over time : censor starts light and gets heavier and heavier, not having any activity makes its slowly back to it's initial state.
Also I might not have implement the same solution as you : I perform desktop windows composition myself on gpu, run detection, pixelation and display a full screen overlay with the original window censored. With that approach there is always a perfect synchronisation between what is displayed and the censor mask but it might be challenging to reach higher fps. What it is your approach?