Skip to content

Dynamic semantic AOIs

Dynamic AOIs represent semantic regions whose geometry changes over time, such as objects in video, scrolling interfaces, animated recommendations, or moving labels.

DynamicAOIKeyframe stores a stable AOI identity, semantic label, timestamp, rectangular geometry, confidence, source, and optional model/version metadata. A track is the ordered set of keyframes sharing one aoi_id.

interpolate_dynamic_aoi() performs linear interpolation only when the requested timestamp is bracketed by two observed keyframes and the keyframe interval does not exceed max_gap_ms. It never extrapolates before the first or after the last observed keyframe. This prevents an object track from silently persisting after evidence for its location has ended.

map_fixations_to_dynamic_aois() evaluates each timestamped fixation against the geometry valid at that instant. It preserves the selected AOI identity, label, confidence, source, model name/version, and effective geometry timestamp. Overlap resolution is explicit (highest_confidence, smallest_area, or first).

Detector/tracker backends implement the DynamicAOIProvider protocol. The core package therefore does not bind dynamic AOIs to one computer-vision library. CallableDynamicAOIProvider can wrap a research team's local detector/tracker while retaining the same downstream mapping API.

Dynamic AOIs remain proposals until validated. Empirical work should report frame-level detection and tracking error, fixation-assignment agreement with expert AOIs, temporal-gap sensitivity, and failure cases such as occlusion, scrolling discontinuities, and object re-identification errors.