Keywords: motion detection, sensitivity, alarmed pixels, filtered, blobs, percentage
Earlier today I solved a problem with zoneminder not detecting any motion in blob mode. It was frustrating, so I'm posting the solution here for others.
Problem:
No matter how low I set the lower limit in "blob" detection mode, zoneminder would not generate an alarm. Modect was on for that camera. I went out in front of the camera and jumped up and down. It was possible to watch a live feed, but no alarms were generated and no events were recorded.
Solution:
I was able to solve the problem by reducing the alarmed pixels and filtered pixels settings. The key is that in order for an alarm to be generated, the relevant frame must satisfy the alarmed pixels setting AND the filtered pixels setting AND the blob setting. I was under the impression that frames satisfying the alarmed pixels setting OR the filtered pixels setting OR the blob setting would generate an alarm, and this wasn't true. Lowering the alarmed and filtered pixels settings caused ZM to generate alarms as I would expect.
Troubleshooting steps:
The path to the solution started when I found the entry in the FAQ having to do with motion detection not working. In particular, I enabled diagnostic images as explained in this link: http://www.zoneminder.com/wiki/index.ph ... tic_Images . Once I did that, restarted zoneminder, and ran 'ls' in the directory containing the live diagnostic images for the camera with the problem, I noticed that not all of the images noted in the FAQ were present. I saw only diag-r.jpg and diag-d.jpg, and sometimes diag-1-1.jpg would appear for a moment and then disappear later. Once, I briefly saw diag-r.jpg, diag-d.jpg, diag-1-1.jpg, diag-1-2.jpg, diag-1-3.jpg, and diag-1-4.jpg all in the directory at once. When that happened, I guessed that zoneminder wasn't performing each of the analysis types listed in the configuration for each frame, and then it became clear that each analysis serves as a gateway to the next one. That is, if the specified number of raw alarmed pixels aren't present, it not only doesn't generate an alarm but it also terminates analysis for that frame without giving the filtered pixels or blob pixels settings a chance to be applied.
Hope this helps someone.