Optimizing Motion Detection For Security Cameras

Smart security cameras (including video doorbells) deliver their benefits by detecting things happening that we want to be aware, recording them, and alerting us when something is going down. This capability is dependent on various sensors and video processing features that often result in a, sometimes confusing, collection of app settings.

Getting your camera app settings right will make the difference between a useful, rewarding camera experience, and an unreliable and annoying mess.

It’s important to understand the various features your camera app offers and how they impact one another so you can get the most out of the system. Unfortunately, every app does things differently, offers different features and controls, and even names these things their own way. We can, however, define these features in more generic terms to help break it down, and their impacts are largely the same from one system to another.

Most of these things are software features run either on the camera itself or by a backend system like a cloud service or local hub device, so their effectiveness will vary from one brand to the next - or even one model to the next. As such, fine tuning these settings can be a matter of trial and error, so I like to use a methodology to dial these in to avoid too much messy around.

Determine what we have to work with

The first thing I like to do is go through the app and figure out exactly what is on offer (and where to find it). This will make things easier as to fine tune the settings. Allowing for different naming and app layouts, we are looking for something that fits these four options:

  • Motion Sensitivity

    This setting is the most basic, but not always available, and simply tells the camera how much motion it should pay attention too. This will help to ignore small movements, like blowing grass, small birds, and the like. Lower settings can reduce noise and spammy event recording, but the range at which the camera will trigger can also be reduced in some apps. Higher settings can reduce battery life on wireless cameras due to having to the camera being triggered more often.

  • Motion Frequency

    Not always present in every app, this option controls how long the camera will wait before allowing motion to trigger a new event. The intention here is to prevent sending multiple notification for the same activity over a short period of time. The downside is that it can then miss activity you want recorded, or multiple events in a short time span. Higher settings can also decrease battery life on wireless cameras due to increased recording.

  • Motion Zones

    Also called Activity Zones, these are an important control for reducing unwanted notifications. By defining the area that you want the camera to pay attention to you can cut out parts of the view that would cause problems, like large shrubs. You can also cut out areas that you don’t want to be notified about, like the street, depending on the camera placement.

  • Object Detection

    This is more of a suite of features that vary considerably by camera. It may be called ‘Record When’, ‘Activity Type’, ‘Smart Alerts’ or some other name. Whatever the name, it defines what type of object we want to trigger and activity. Most cameras will have ‘Person’ or ‘Human’ detection, others will also offer packages, vehicles, or animals. This is also an important feature for controlling how much we record and, more importantly, what we get alerts about.

Eufy app screenshot of motion settings

Eufy app motion settings

Ring app screenshot showing motion settings

Ring app motion settings

Apple Home app screenshot of camera motion settings

Apple Home camera settings

Set up a baseline configuration

With the available features understood, I now like to set up a baseline configuration. Why not leave the defaults? Because those are balanced around battery life and reduced notification spam. They’re not likely to be what is going to give the best experience for my specific situation, and probably not yours either.

To reduce the amount of back and forth we need to do in the various settings, I do the following up front:

  1. Set motion sensitivity and frequency to maximum.

  2. Create a base motion zone. This can be the whole camera view, but you can probably define it a bit more depending on your camera placement. There’s likely to be some part of the frame you don’t care about, so cut that out now.

  3. Enable object detection (whatever it’s called) but set it to record everything, for now. We need this to determine the accuracy of the detection system.

A Note on Motion Zones

When cutting areas out of a motion zone keep in mind that we're dealing with a 2D view from the camera. It's not aware of depth, so if you cut something out in the background, anything in front of that will also be ignored.

Some cameras will recognize objects partially in the zone, others will ignore anything not completely in the zone. You'll have to test and find out which in your case. Use with caution.

Editing a motion zone in the Ring app

Ring app motion zone editor

Tuning the configuration

This step will likely have to occur over several days and involves adjusting individual settings to reduce the noise to an acceptable level. The objective is not zero false positives, because that will likely mean you’re missing some valid events instead.

Where the individual settings land is going to vary by brand based on how effective those features are in each case, especially the object detection behavior. Good object detection makes things a lot easier as we can rely on it to do a lot of the heavy lifting in terms of filtering out the noise.

Tuning is an iterative process that requires adjusting for these three conditions:

  • Recording too many non-person events

    This is only a concern if you’re running on battery power or can’t limit notifications to ‘person only’. None of the object detection algorithms are super accurate, just good-enough for quick filtering. If you’re getting too many motion triggers that are not identified as a specific object type, we need to turn down the sensitivity OR adjust the motion zone around the offending object.

  • False positive person events

    I’ve found that the person detection algorithms almost universally get fooled by laundry or even just towels blowing in the breeze. Sometimes large shrubs can also fool them into thinking there is a person present. Use the motion zones to cut these out. Cut as little as possible, or even just do some actual pruning. I have a camera next to a fence with a climbing plant on it. Sometimes a shoot grows out in front of the camera and triggers it constantly. It’s sometimes easier just to cut off the problem growth.

  • Too many notifications from one event

    If you find the camera sending multiple notifications for the same activity, turn down the motion frequency setting (if available). Do this gradually as it can affect your testing of the other settings. You may want to leave this to the end when you’re mostly comfortable with what’s being picked up.

Final steps

Once the detection accuracy is about where I want it, it’s time to set the object detection feature to only send notifications when defined types are detected. For battery powered cameras I’ll then start to dial back the sensitivity (if it’s an option) to improve run time. Do this gradually and monitor for missed events.

If you have the option, you can set it to still record everything to help catch anything the algorithm misses, but this can run down batteries much faster if it’s triggering too much. Adjust the sensitivity down further or turn off non-specific motion recording. Not every app will allow defining recording and notification filters separately. In that case just restrict motion detection to humans (and other types as relevant). You’ll just have to pay more attention to possible missed events during tuning.

You’ll likely have to make occasional further adjustments to motion zones over time as the impact of seasons (light and shadows), weather and plant growth become apparent.

By setting things up to catch as much as possible at first, and then dialing things back to cut out the noise, I find it’s easier to get to the optimal configuration for reliable motion detection and minimal spam with the least messing around.

David Mead

David Mead is an IT infrastructure professional with over 20 years of experience across a wide range of hardware and software systems, designing and support technology solutions to help people solve real problems. When not tinkering with technology, David also enjoys science fiction, gaming, and playing drums.

Previous
Previous

Quick And Dirty Bookshelf Smart Lighting

Next
Next

Motion Triggers vs Continuous Recording