Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
sbts-install
Discontinued Installs StalkedByTheState over the sbts-base system to build a home and business security appliance on NVIDIA Jetson series computers.
I believe you can trigger recording with mqtt, so you could make an automation for it. You could try to bump this https://github.com/blakeblackshear/frigate/issues/2590#issue.... You could even try to use ai to write the feature.
There's only been one incident where I would have liked continuous, I've tweaked events to be more than enough.
I found motion detection to be the easy part when building my NVR. I just used trial and error and scipy filters and eventually found something I'm happy with.
Handwriting a GST pipeline is pretty much what I did. I start with frame differences(I only decode the keyframes that happen every few seconds, so motion detection has to work in a single frame to have good response time).
Then I do a greyscale erosion to suppress small bits of noise and prioritize connected regions.
After that I take the average value of all pixels, and I subtract it, to suppress the noise floor, and also possibly some global uniform illumination changes.
Then I square every pixel, to further suppress large low intensity background noise stuff, and take the average of those squares.
NVR device code(In theory this can be imported and run from a few like python script), but it needs some cleanup and I've never tried it outside the web server.
https://github.com/EternityForest/iot_devices.nvr/blob/main/...
GST wrapper utilities it uses, motion detection algorithms at top:
https://github.com/EternityForest/scullery/blob/master/scull...
My CPU object detection is OK, but the public, fast, easy to run models and my limited understanding of them is the weak point. I wound up doing a bunch of sanity check post filters and I'm sure it could be done much better with better models and better pre/post filtering.
I found motion detection to be the easy part when building my NVR. I just used trial and error and scipy filters and eventually found something I'm happy with.
Handwriting a GST pipeline is pretty much what I did. I start with frame differences(I only decode the keyframes that happen every few seconds, so motion detection has to work in a single frame to have good response time).
Then I do a greyscale erosion to suppress small bits of noise and prioritize connected regions.
After that I take the average value of all pixels, and I subtract it, to suppress the noise floor, and also possibly some global uniform illumination changes.
Then I square every pixel, to further suppress large low intensity background noise stuff, and take the average of those squares.
NVR device code(In theory this can be imported and run from a few like python script), but it needs some cleanup and I've never tried it outside the web server.
https://github.com/EternityForest/iot_devices.nvr/blob/main/...
GST wrapper utilities it uses, motion detection algorithms at top:
https://github.com/EternityForest/scullery/blob/master/scull...
My CPU object detection is OK, but the public, fast, easy to run models and my limited understanding of them is the weak point. I wound up doing a bunch of sanity check post filters and I'm sure it could be done much better with better models and better pre/post filtering.
I use StalkedByTheState (https://github.com/hcfman/sbts-install) with 15 cameras all being evaluated with an NVIDIA GPU with large model yolov6 and matches double checked with large yolov7. Practically never get a false positive in a complex environment and never get a miss. The port to the Orin series still needs to be completed though.