Two-Stream Models

Two-stream video models split recognition into an appearance stream and a motion stream. The appearance stream usually consumes RGB frames; the motion stream consumes optical flow or stacked frame differences. This design made action recognition practical before end-to-end 3D convolutional networks and video transformers became common.

Appearance and motion streams

If and are class logits, late fusion combines them as

The streams are complementary: RGB sees objects and scene context, while flow emphasizes motion direction and speed. A basketball court and a person holding a ball help, but the jump-shot label depends on the temporal motion that temporal action recognition must capture.

flowchart LR
  RGB[RGB frames] --> Spatial[Appearance stream]
  Flow[Optical flow] --> Temporal[Motion stream]
  Spatial --> Fuse[Late fusion]
  Temporal --> Fuse
  Fuse --> Pred[Action prediction]

Worked fusion example

The RGB stream may prefer the scene/object class while the flow stream prefers the action class. With , the fused logits are

streamclass 0 probabilityclass 1 probabilityclass 2 probabilitypredicted class
RGB only0.6520.2170.1320
flow only0.1700.6900.1391
fused0.3630.4780.1581

The fused prediction is class 1 because the motion evidence is strong and slightly upweighted. The table is also the failure mode: if optical flow is noisy, late fusion can confidently move the prediction away from the RGB evidence.

Caveats

Two-stream systems inherit the cost and errors of optical-flow estimation. They also fuse late unless designed otherwise, so they may miss interactions where appearance and motion must be interpreted jointly. Modern architectures often absorb motion learning into 3D kernels or attention, but two-stream baselines remain useful when motion is the decisive cue.

References