Keeping Percept Growth in Check

For every 5th frame the percepts are filtered so that only the ones with the most merges, and the earliest and latest time are kept for each region. Every 20th frame, regions are merged such that the contained percepts are concatenated, and then filtered. This will work well enough for NFF.

Progress towards NFF

The plot above shows the exponential increase in the number of background percepts created by the system (and the corresponding increase in processing time per frame). I thought I could throw some away with a threshold to keep things in check, but even when throwing away all percepts that have been merged less than the mean number of merges, things still go out of control. Seems the only reasonable choice is to put in the density calculation and throw away percepts that are already well represented by a particular location in the feature space. Unfortunately that means figuring out the feature space distribution stuff. I suppose I’ll start with location in frame and see how well that works.

Foreground Segmentation

After all this effort on background segmentation here is a first early image of segmented foreground regions. There is no merging in this code, just the foreground percepts shown in the locations they were captured from multiple frames.