I have 8 APTI IP cameras with 2-3 Mpx resolution and working with APTI NVR (everything wired with ethernet cables). Software which is installed on the NVR has motion detection option, but it works really poor and i have many false notifications while there is no movement or lack of notifications while there is a real movement (no matter how i try to configure its sensitivity). Firstly, I was wondering about frigate-hass or something like that to detect people/cars etc, but it would require really hardware… But is there a possibility to connect cameras to HA and just handle motion detection onboard of Rasbperry Pi? I don’t want HA to save videos, because NVR will do it continuosly, but snapshots with notifications would be great. Do you have any experience with that?
Hey, you could use Motion Eye. But without thermal imaging, you will always have false positive. At least that is my experience. I have build some counter logic arround the motion eye alarm, which reduces the false positives…
If you want more or less reliable detection from cameras, then you need to use machine learning. There’s just no way around this. That means using something like Deepstack, Frigate, DOODS, etc. Under the hood they’re all pretty much the same and use a pretrained neural net for person detection. And that is a very performance heavy operation. Using a Pi to do that for a single camera (and without an additional tensor processing unit like the Coral) is bad enough. Doing it for 8 is impossible.
So either switch to more powerful hardware or rely on a different motion detection technology (PIRs, radar, lidar, etc).
The cameras support rtsp. Shinobi records all the time 24/7 to an attached 2TB hard drive.
The cameras can be easily integrated into Home Assistant - Foscam - Home Assistant They also have built in person detection that can be triggered to turn on and off through home assistant with the camera.enable_motion_detection service. Its honestly pretty good with not that many false alarms.
To create a motion detection sensor, I made an input boolean for motion and then I set that up with Node Red to respond to an FTP image being uploaded from the camera to Node red. (The Foscam G2 can upload to an FTP server when motion is detected).
As Tamsy mentioned, it won’t use that much in practice. But it’s a performance demanding task you’re asking for.
If electricity use is of concern, you may want to think about doing this differently. Don’t do continuous person detection on all cameras 24/7. Install some PIR sensors next to the cameras. When a PIR triggers, then get one or several still image shots from the affected camera(s) and run a ML model on them to confirm that the motion was indeed from a person. Hybrid on-demand approaches like that will dramatically lower the performance needed and may even work on a Pi if there’s not too much motion around each camera.