Understanding .ini files and GUI objects

Discussions related to the 1.36.x series of ZoneMinder
Post Reply
tlundste
Posts: 19
Joined: Sun Nov 15, 2020 3:41 am

Understanding .ini files and GUI objects

Post by tlundste »

Questions about my test config, trying to learn ML and ZM and how zm_detect.py works. I've been all over readthedocs, but still can't figure out based on what's there what the answers are (yet... not giving up).

In my test zoneminder 1.36.x user interface, the first camera is labeled as "Monitor - Front Door - HiRes (1)". The second camera is the same camera, just the low-res feed from it... "Monitor - Front Door (2)".
In objectconfig.ini for the ML aspect of it... are those entries supposed to be... "[monitor-1]" and "[monitor-2]" or some strings relevant to the names above?

I understand from other threads that when zm_detect.py is initiated by the server processes, it takes some sort of default settings for most variables... and those settings can be overridden as a default, or at each camera (monitor) from within objectconfig.ini. I think that's right. If I'm wrong, let me know.


I am also trying to test and understand at the command line level.

Code: Select all

root@270ccccf8ee0:/config/hook# sudo -u www-data /var/lib/zmeventnotification/bin/zm_detect.py -c /etc/zm/objectconfig.ini -e 2548 -m monitor-1
[ WARN:0] global /root/opencv/modules/dnn/src/dnn.cpp (1442) setUpNet DNN module was not built with CUDA backend; switching to CPU
[s] detected:person:99% car:83% --SPLIT--{"labels": ["person", "car", "car", "car"], "boxes": [[242, 202, 322, 426], [418, 277, 484, 309], [428, 266, 454, 280], [362, 272, 412, 284]], "frame_id": "snapshot", "confidences": [0.9923852682113647, 0.8343825936317444, 0.44217103719711304, 0.31473708152770996], "image_dimensions": {"original": [1080, 1920], "resized": [450, 800]}}
I am trying and apparently failing to override some settings.
1. The "resized" image that shows the detected objects is very small compared to the size of the original. I found a "resize=800" in the objectconfig.ini. I changed it to a resize=no... no luck. Changed it back and added a resize=no to a monitor stanza with no luck, as well, but I'm not sure if I have that stanza correct anyway.
2. What is the correct string to put in the [monitor-x] header for the cameras... just the number? or some alpha string relevant to the friendly name in the GUI.
3. When I run zm_detect.py (see above for command and output), I found a switch to specify a monitor... -m. Is the correct syntax -m 1? or -m <some string relevant to the monitor name>? or -m monitor-1?
4. Where can I find a list of detectable object types (person, car, truck, dog, cat, llama, etc)?
5. I understand I can override that list of objects-to-detect and locate using the object_detection_pattern variable in objectconfig.ini... and I also assume I can override it at the specific camera (monitor) level.. maybe it'll start working when I get that [monitor-x] stanza configured correctly. I've copied the monitor-999 example, and tried to customize it by getting it to wait 5 seconds before analyzing, but not sure if I am doing it correctly or not (the #my driveway is from the original example, and I assume it is comment only, and not used programmatically; correct me if I am wrong about that).

Code: Select all

[monitor-1]
# my driveway
match_past_detections=no
wait=5
object_detection_pattern=(person|car|truck|dog|cat)
resize=no 
Any help / assistance is greatly appreciated. I'm starting to understand more about this thing. As I learn more, I bet the readthedocs will start to make more sense.
Post Reply