Void Sentry
An AI-driven, real-time Sentry Turret platform leveraging asynchronous I/O and computer vision to deliver high-precision autonomous motion tracking on resource-constrained embedded hardware.
Loading...
Searching...
No Matches
tracking::DetectorConfig Struct Reference

Motion detector tunables. Defaults are tuned for an indoor scene 1-3 m away. More...

#include <tracking_types.h>

Public Attributes

int diff_threshold = 20
 |gray - background| above this is foreground
 
int bg_shift = 4
 background cells learn 1/2^bg_shift of the difference per frame (1/16)
 
int fg_shift = 7
 foreground cells learn 1/2^fg_shift (1/128): no trails, slow absorption
 
int fg_age_limit = 34
 
float scene_change_fraction = 0.35f
 raw foreground above this fraction of the grid (+ mean shift)
 
int scene_change_mean_shift = 25
 
int warmup_frames = 17
 
int min_blob_cells = 2
 smaller blobs are dropped (rejects isolated noise cells)
 
int max_blobs = kMaxBlobs
 keep at most this many, largest first (clamped to kMaxBlobs)
 

Detailed Description

Motion detector tunables. Defaults are tuned for an indoor scene 1-3 m away.

Member Data Documentation

◆ fg_age_limit

int tracking::DetectorConfig::fg_age_limit = 34

after this many consecutive foreground frames (~2 s) a cell learns at bg_shift again, so ghosts of a wrong background clear quickly

◆ scene_change_mean_shift

int tracking::DetectorConfig::scene_change_mean_shift = 25

...and only if |frame mean - background mean| also exceeds this (gray levels); a big close object barely moves the mean (auto-exposure)

◆ warmup_frames

int tracking::DetectorConfig::warmup_frames = 17

frames (~1 s) after a (re)seed with no blobs; the background copies the frame each of them, so exposure settling and lamp afterglow are absorbed


The documentation for this struct was generated from the following file: