Temporal Action Recognition

Temporal action recognition assigns a label to a clip or stream segment by using appearance, motion, and ordering. It is weaker than temporal localization, which must also find boundaries, but stronger than image classification because the label may depend on change over time. A serve, fall, swipe, or handshake is often a trajectory, not a single pose.

Encode, aggregate, classify

A common model encodes frame or clip features , aggregates them, and predicts a class:

The aggregator may be temporal averaging, max pooling, a recurrent model, 3D convolution, or video-transformer attention. Two-stream models implement the same classification goal with separate appearance and motion logits.

flowchart LR
  Frames[Frame or clip features] --> Encoder[Per-frame encoder]
  Encoder --> Aggregate[Temporal aggregation]
  Aggregate --> Classifier[Clip classifier]
  Classifier --> Label[Action label]

Worked example

Suppose a five-frame clip has class logits for three possible actions:

frameclass 0class 1class 2strongest cue
10.20.10.0weak background evidence
20.30.20.1weak background evidence
30.11.60.2action cue appears
40.01.80.1action cue peaks
50.21.00.0action cue fades

Mean pooling gives logits and softmax probabilities , so class 1 wins. Max pooling gives logits and probabilities , so class 1 wins more confidently because one brief interval was highly discriminative. That behavior is helpful for short actions and dangerous when a single noisy frame can spike a class logit.

Caveats

Clip labels hide boundary errors: a model can classify a video correctly while firing late. Random frame sampling can miss short events, and averaging can erase the order distinction described in spatial and temporal modelling. Report per-duration and per-viewpoint slices, not only top-1 accuracy.

References