Commit Graph

62 Commits

Author SHA1 Message Date
Nick
045aac8933
Add object filter ratio (#2952)
* Add object ratio config parameters

Issue: #2948

* Add config test for object filter ratios

Issue: #2948

* Address review comments

- Accept `ratio` default
- Rename `bounds` to `box` for consistency
- Add migration for new field

Issue: #2948

* Fix logical errors

- field migrations require default values
- `clipped` referenced the wrong index for region, since it shifted
- missed an inclusion of `ratio` for detections in `process_frames`
- revert naming `o[2]` as `box` since it is out of scope!

This has now been test-run against a video, so I believe the kinks are
worked out.

Issue: #2948

* Update contributing notes for `make`

Issue: #2948

* Fix migration

- Ensure that defaults match between Event and migration script
- Deconflict migration script number (from rebase)

Issue: #2948

* Filter objects out of ratio bounds

Issue: #2948

* Update migration file to 009

Issue: #2948
2022-04-10 08:25:18 -05:00
Blake Blackshear
395c16300d deregister based on max_frames setting 2022-02-18 21:18:26 -06:00
Blake Blackshear
ff19cdb773 refactor stationary config into section 2022-02-18 21:18:26 -06:00
Blake Blackshear
e78662b924 fix the bounding box calculation position at 10 2022-02-18 21:18:26 -06:00
Blake Blackshear
5a2e395352 selectively increment position changes 2022-02-18 21:18:26 -06:00
Blake Blackshear
3e90f3032c make stationary_threshold configurable 2022-02-18 21:18:26 -06:00
Blake Blackshear
d78dc2388c increment motionless_count 2022-02-18 21:18:26 -06:00
Blake Blackshear
7e7d70aa5b avoid extra tracking work on stationary frames 2022-02-18 21:18:26 -06:00
Blake Blackshear
dd1cf4d2ce use iou instead of centroid 2022-02-18 21:18:26 -06:00
Blake Blackshear
db369a5b7f require a position change to be an active object 2022-02-18 21:18:26 -06:00
Blake Blackshear
338e4004d4 improve method for determining position
compares the centroid to a history of bounding boxes
2022-02-18 21:18:26 -06:00
Blake Blackshear
75c8570913 reduce detection rate for stationary objects 2022-02-18 21:18:26 -06:00
Sean Vig
80f8256422 Improve handling of object matching
Use `np.unique` to determine the correct set of row/col pairs to iterate
over when doing the object matching without needing to track which rows
or columns have already been seen.  Add to some of the accompanying
documentation to clarify this algorithm.

Also fix what looks to be an erroneous early return, and change this to
a continue.
2021-05-22 08:04:38 -05:00
Blake Blackshear
39ff49e054 formatting cleanup 2021-02-25 07:01:57 -06:00
Blake Blackshear
3bc7cdaab6 configurable motion and detect settings 2021-01-26 21:40:33 -06:00
Blake Blackshear
41dd4447cc allow region to extend beyond the frame 2021-01-26 21:40:33 -06:00
Blake Blackshear
03c855ecbe sort imports 2021-01-26 21:40:33 -06:00
Blake Blackshear
d67a56d37e update events model 2021-01-26 21:40:33 -06:00
Blake Blackshear
acb75fa02d refactor and reduce false positives 2020-09-17 07:37:27 -05:00
Blake Blackshear
918386bdc1 use a random string in the object id instead of the index 2020-08-01 18:20:44 -05:00
Blake Blackshear
7383db60b0 save clips for tracked objects 2020-08-01 18:20:44 -05:00
Blake Blackshear
dfabff3846 dont change dictionary while iterating 2020-03-03 20:26:53 -06:00
Blake Blackshear
a3fa97dd52 ensure missing objects are expired even when other object types are in the frame 2020-03-03 20:26:53 -06:00
Blake Blackshear
1089a40943 cleanup old code 2020-03-03 20:26:53 -06:00
Blake Blackshear
80b9652f7a check plasma store and consolidate frame drawing 2020-03-03 20:26:53 -06:00
Blake Blackshear
569e07949f split into separate processes 2020-03-03 20:26:53 -06:00
Blake Blackshear
af247275cf make timestamp on snapshots configurable (fixes #88) 2020-02-22 09:03:00 -06:00
Blake Blackshear
169603d3ff attempt to fix regions in process key error 2020-02-22 09:03:00 -06:00
Blake Blackshear
cfffb219ae switch back to stretch for hwaccel issues 2020-02-22 09:03:00 -06:00
Blake Blackshear
3a66e672d3 notify mqtt when objects deregistered 2020-02-22 09:03:00 -06:00
Blake Blackshear
2aada930e3 fix multiple object type tracking 2020-02-22 09:03:00 -06:00
Blake Blackshear
d87f4407a0 switch everything to run off of tracked objects 2020-02-22 09:03:00 -06:00
Blake Blackshear
be5a114f6a group by label before tracking objects 2020-02-22 09:03:00 -06:00
Blake Blackshear
32b212c7b6 fix mask filtering 2020-02-22 09:03:00 -06:00
Blake Blackshear
634b87307f group by label before suppressing boxes 2020-02-22 09:03:00 -06:00
Blake Blackshear
1d4fbbdba3 update all obj props 2020-02-22 09:03:00 -06:00
Blake Blackshear
65579e9cbf add thread to write frames to disk 2020-02-22 09:03:00 -06:00
Blake Blackshear
49dc029c43 merge boxes by label 2020-02-22 09:03:00 -06:00
Blake Blackshear
10dc56f6ea revamp dockerfile 2020-02-22 09:03:00 -06:00
Blake Blackshear
cc2abe93a6 track objects and add config for tracked objects 2020-02-22 09:03:00 -06:00
Blake Blackshear
0c6717090c implement filtering and switch to NMS with OpenCV 2020-02-22 09:03:00 -06:00
Blake Blackshear
f5a2252b29 cleanup imports 2020-02-22 09:03:00 -06:00
Blake Blackshear
02efb6f415 fixing a few things 2020-02-22 09:03:00 -06:00
Blake Blackshear
5b4c6e50bc dedupe detected objects 2020-02-22 09:03:00 -06:00
Blake Blackshear
9cc46a71cb working dynamic regions, but messy 2020-02-22 09:03:00 -06:00
Blake Blackshear
be1673b00a process detected objects in a queue 2020-02-22 09:03:00 -06:00
Blake Blackshear
b6130e77ff label threads and implements stats endpoint 2020-02-22 09:03:00 -06:00
Blake Blackshear
480175d70f add color map to use different colors for different objects 2020-01-02 07:39:57 -06:00
Blake Blackshear
bee99ca6ff track and report all detected object types 2020-01-02 07:39:57 -06:00
Blake Blackshear
d899ef158e fix datestamp positioning 2019-12-08 16:03:23 -06:00