Add the ability to ignore stationary objects
It might be useful to remember the last position of an object and then ignore it if it hasn't moved. This will likely require some sort of threshold as DeepStack is unlikely to give the same co-ordinates every single time.
This would allow a car parking on the driveway to only trip the alerts the first time it appears on the driveway and then stops.
Definitely need this feature. I got an alarm every single day at midday about a water tap the camera sees and synoai tells me it's a human with 80% probability
So I think implementation would be something like:
- Store bounding box coordinates and classification type after each notification
- Before sending a new notification, check against previous within some small variance threshold
- Ignore if too similar, succeed if not or too much time has passed
I forked and pushed my current changes
Process is:
- Store a Contains Zone Z1 a little bigger than a prediction P1 and associate P1 with it.
- When that Z1 matches a new prediction P2, create a Zone a little smaller than P1 and ensure that is contained within P2 (to avoid accidently matching different size predictions). If it is, ignore the prediction.
- If not matched, remove Z1.
- If Z1 was matched multiple times, report it once as a valid prediction to trigger a notification outlining where the object was.
Couple changes I think it needs:
- Automatic time based re-check - with a parked car it tends to first detect the person walking to the car, not the car moving. And by the time DelayAfterSuccess expires there may mot be any new movement to trigger another check (which would show the object was gone). An automatic action set DelayAfterSuccess after the last detection whenever any temporary Zone exists would address that.
- Time based absence detection - the outline it creates when the item disappears might be better served by a time based criteria (say DelayAfterSuccess also) rather than a 1 time counter.
- Maybe a different label on the "object has gone away" notification and outline.
Any camera motion will confuse this but it gets back on track rather quickly.