Skip to content

Improved motion detection algorithm (testing required)

edited November 2014 in SecuritySpy
Hi All,

We've been working on improving the motion detection algorithm in SecuritySpy and have posted a public beta for users to test. Anyone who would like to test this and report back on their experiences, this would be very helpful to us for refining this before the next update.

The new algorithm should be much more able to ignore movements such as swaying plants, snow and camera noise. So it should produce fewer false-positive recordings, while maintaining or improving the rate of true-positive recordings.

Before testing please reset the motion sensitivity for all cameras back to 50 (the middle of the sensitivity slider), as if you have changed this for the old algorithm your setting may not work well with the new one. 50 should work well in most cases, but please let us know if you find that you have to change this in order to get reliable motion detection (as we can tweak the default based on the feedback we get).

Many thanks in advance to all testers!


  • edited November 2014
    Good stuff. I will try this tonight for sure. Hopefully scheduling sensitivity settings are in there.
  • Hi Boomcha - scheduling different sensitivities is not there because the new algorithm is much more adaptive to changing situations, so this shouldn't be necessary. Let us know how you get on.
  • edited November 2014
    So far, it seems to be vastly improved. All cameras running at 50, light and dark. The change is welcomed and appreciated.
  • It rained over night. I spoke too soon. A downpour and spider webs were just too much, so I got many more false-positives than I wanted.
  • There are still some tweaks to be made. Please can you email us a few example false-positive video files so that I can run them through the algorithm and make appropriate changes? Please use WeTransfer if the files are large. Thanks.
  • That is certainly understandable. They're in your inbox.
  • I agree with the vastly improved, the sensitivity indicator is not all super jittery like it was before. I had mine at 56% (sorry for not being at 50% but I like to capture a little more action), and its much better because its not constantly on just for digital noise at night. I've actually just reduced it to 52% so that I can see what that is like. Looks good so far though.
  • BenBen
    edited November 2014
    Thank you both for testing. Great to see positive early results.

    I've just uploaded a new beta (3.4.3b6) that has some further improvements. Specifically, it will detect and filter out whole-frame changes caused by stuff like camera focus and exposure adjustments, and it will detect and filter out rain.

    CaliObserver - the new version now does not trigger on the false-positive rain videos you sent. Rain has quite a distinctive pattern of motion (short spikes that are spaced apart) so this is possible to detect and ignore. This should be a significant improvement.

    However, a couple of videos you sent feature blobs moving across the image - one appears to be a bug flying past the camera and another is a spider web with an out-of-focus water droplet moving around. Unfortunately these aren't possible to filter out without the risk of missing real motion, because their signature is very similar to movement that you will actually want to capture (people walking, cars passing etc.) The main problem is that it's dark and the camera's IR illumination is amplifying the effect of these small objects moving close to the camera. It's best to periodically clean your cameras of any dirt and debris, as these will understandably impair SecuritySpy's ability to correctly detect motion.

    Please let me know your feedback for the new beta.
  • It turns out I sent you a whole-frame false-positive just before I discovered your new beta. The camera in question is mounted on a tree and it was moving in the wind this morning. Downloaded the new beta and will continue testing.
  • Ben; i grabbed this also. After a day of sampling; I turned up the sensitivities to 60-65 on analog, and and 65-75 on IP cams. It's extremely windy in SoCal this weekend.
  • edited November 2014
    Looks like the beta (3.4.3b7) automatically sets all cameras to 50. I see significantly less "jitter" on the motion detection meters, but we'll see what tomorrow brings with daylight and shadows on the outdoor devices. Rain is forecast here for Wednesday onwards, so that'll be the test.

    Should we be resetting the "1s" or "2s" counters as well?

  • @CaliObserver - thanks for the additional files. The new beta does pass with all three files you sent without triggering. However the actual camera is moving up and down (you said it's mounted on a tree), which really isn't ideal for motion detection! You are still likely to get false positives, and you may find that some real motion is missed (as SecuritySpy will interpret the constant changes in the pixels as noise and will adjust its thresholds accordingly). Ideally you want the camera mounted on something that doesn't move.

    @DsrtRngr - Thanks for your feedback. Are you saying that you found some real events were missed, and you had to increase the sensitivity because of this? What beta version are you using (b5, b6, or b7)?

    @jtodd - Yes the new beta reset the sensitivity to 50 automatically when coming from an older version. I'd strongly recommend the 2s trigger time option to eliminate as many false-positives as possible. Please report back about how it performs, and if you can send movies of any false-positive detections that would be great.
  • Ben; I have 3.4.3.b.7. Motion set at 60-65 works for my set-up. I just reviewed last night's action and it seems to have picked up everything. One wide angle camera had a spiderweb dangling in front it, so that is the only false triggering.

    I have a driveway and sidewalk that is 8-10 meters from the house. We have people walk our block at midnight, and I use that as my baseline. If all 4 forward facing cameras get them, I feel confident that I didn't miss any action for the rest of the night. (2 analog, 1-QCN8001, 1-QCN8009).
  • @Ben - I realize it is not ideal to have a camera mounted to anything that moves, but the tree is pretty large, and the camera seldom moves. I got my first nighttime deer shot last night on that camera, so that is a definite improvement, now 3.4.3b7.
  • I downloaded the new version and there's a text block saying that the test has expired. I have rain issues at night and shadow issue in sunlight. I was hoping to see if the new software would help.
  • Hi @Juan - I've just resent your SecuritySpy license details to you, simply enter them into the new version. You shouldn't have had to re-enter these, if you continue to have problems with this please restart your Mac and try again.
  • @Ben - Does the beta override any sensitivity settings to 50 even though they're set higher?

    I have all of my cameras on 75 and even though it was windy yesterday I only got two false-positives because the large tree the camera is mounted on moved in addition to trees in the picture. Normally, with them set at 75, I would just get continuous motion capture, hundreds of files. In addition, I am capturing new shots of wildlife at night.
  • Thanks Ben got it. In my ignorance I try to run them both at the same time, as a comparative analysis but the Demo block pops up. No worries, it all works, just not as I imagined. I'll play with it a bit and send you any oddities I discover.
  • Ben; I'm experiencing fails to capture using 3.4.3.b7. A Q-see QCN-8004 on the driveway, set to 75 motion at night with good lighting captures people walking by, but an my pretty good analog, set to 80, but with crappy lighting failed the same situation. Another QCN-8009 with decent lighting, but wider angle and more distance, set to 75 also failed to capture. The 4th analog camera, set to 80 but closer to sidewalk did capture. So cameras that are close will get the scene, but wide angle or distance or shaded area will miss the capture, even with 80 setting.
  • following up; Email sent w/ photos. So far, I prefer the non-beta algorithm. Reason is that both versions, I still have to manually switch from day to night motion sensitivity settings. The beta adds a second problem: fail-to-capture.
  • Thanks for sending the example images @DsrtRngr. The problem here is the low definition at night - it's dark and the IR lights from the camera aren't strong enough to effectively illuminate the subject (the person walking). So the whole scene has rather low contrast and the lightness of the subject isn't that different from the lightness of the background.

    One of the improvements with the new algorithm is the fact that SecuritySpy is now measuring the amount of background noise on a per-pixel level, and using this to set a threshold (for example 4x this noise level) above which to count that pixel has having motion, when a larger change happens. However, this threshold wasn't being adjusted based on the sensitivity setting, so even at high sensitivities your motion wasn't consistently exceeding this threshold level.

    So I have just posted a new beta that does adjust this threshold based on the sensitivity setting. So you will find that at the higher sensitivities, more movement will be picked up as real motion, even in poor lighting conditions. So if you are able to test this one please let us know your results.

    However, this will certainly increase the chance of false-positive triggers. You will get better results with better lighting - for example installing an Infra-Red LED light panel to illuminate the scene at night (these are cheap and easy to install).
  • Thanks Ben. I will try the new Beta this weekend. The prior pics had the high sensitivity numbers PLUS 1-second delay. I will set tonight with 1-frame and same values.
  • The adjustments in the noise threshold in new version will help with your situation - I wouldn't recommend going all the way down to a 1-frame trigger time as this will increase false positive detections. 1 or 2 seconds would be much better.
  • Uhmmmm, Oh. New results emailed. 1-frame improved the captures, naturally, and there were more false captures, but not unreasonable. (beta .7).

    How about this for a "feature request"... on the camera settings window (ctrl-K), what if each camera setting had a radio button for "Windy" conditions. Then we could toggle back and forth between these histogram maps you're building. Likewise, there could be a separate one for day/night. ? Then, make them scriptable so day/night or windy/normal can be automated?
  • Update: Ben; b.8 doesn't seem like an improvement over the non-beta. I ran 5 of 6 cams at 1-second, and didn't capture anything but automobiles. #6 gate cam analog at 1-frame captured a coyote across the street (the cam with darkest shadows).
  • Hi All, I've just posted a new beta (b10) with a few tweaks. This is almost ready for release now so please give me any final feedback about this version when you've had a chance to test it.

    @DsrtRngr - the changes in b10 should help your situation, but the images you are getting from your cameras at night are simply too noisy and the people walking/jogging on the sidewalk are too far away and too dim to be captured reliably (specifically looking at your NE56 camera here). In the clip of the jogger you sent, he is virtually the same lightness as the background, and too far away to distinguish any details (clothing, facial features etc.) This isn't a specific problem with the camera itself - in fact the image is reasonably good, it's just that it's too wide angle to pick things up at such a distance with the insufficient lighting available. With a high sensitivity setting (70 or so) and a short trigger time, you should be able to capture such motion, but at the expense of a lot more false positives.
  • Hi All, the new version of SecuritySpy has now been released as an official update.

    Thank you all for your help with testing and sending example movies, this has been much appreciated and has all helped to significantly improve SecuritySpy.
Sign In or Register to comment.