Skip to content
Voro
  1. Image
  2. Analyze

Optical Flow

Optical Flow estimates horizontal and vertical motion across a moving image using NeuFlow. It runs the model at a selected inference size, then resizes the vector field to the input image dimensions.

Place Optical Flow under Analyze in the Image view and connect footage to in. Inspect preview to see motion direction and strength.

Connect flow to Blur, select Directional or Warp, and set that preset’s Units to Pixels with both Field Centers at zero. Start with a small effect amount.

  • in is the source image sequence.
  • flow carries signed horizontal and vertical displacement in input-image pixels, multiplied by Flow Scale.
  • preview draws the vectors as colour.
  • motion reports mean horizontal motion, mean vertical motion, mean speed, angle and moving fraction.
  • Model selects the NeuFlow checkpoint.
  • Inference Short Edge sets the model resolution. Refine Iterations sets refinement work per frame.
  • Cut Sensitivity sets the frame-change threshold that starts a new motion segment.
  • Temporal Smoothing blends new vectors with earlier ones.
  • Flow Scale multiplies both the vectors and reported motion channels. Preview Gain only changes the drawn visualization.
  • Reset clears temporal history before the next frame.

Start with lower inference detail and increase it only if the motion field needs it. Large image ports still require output processing, so their size alone does not establish a frame rate. Reset after a source change if motion from the earlier sequence persists.

Inputs

  • in image required
    RGBA

Outputs

  • flow image
    2 channels
  • preview image
    RGBA
  • motion image
    5
Model (Modelpath) Str op('optical_flow').par.Modelpath

NeuFlow checkpoint selected from the Voro model store.

Default:
neuflow_sintel.pth
Inference Short Edge (Modelsize) Menu op('optical_flow').par.Modelsize

Short-edge resolution used for optical-flow inference.

Default:
432
Options:
288, 432, 576, 720
Refine Iterations (Iterations) Int op('optical_flow').par.Iterations

Number of NeuFlow refinement iterations per accepted frame.

Default:
4
Range:
1 to 8
Cut Sensitivity (Cutsuppress) Float op('optical_flow').par.Cutsuppress

Normalized frame-change threshold that starts a new motion segment.

Default:
0.15
Range:
0 to 1
Temporal Smoothing (Smoothing) Float op('optical_flow').par.Smoothing

Blends new flow with the previously accepted motion field.

Default:
0.3
Range:
0 to 1
Flow Scale (Flowscale) Float op('optical_flow').par.Flowscale

Multiplies flow vectors and the reported motion channels.

Default:
1
Range:
-10 to 10
Preview Gain (Previewgain) Float op('optical_flow').par.Previewgain

Adjusts motion magnitude brightness in the color-wheel preview.

Default:
1
Range:
0 to 10
Reset (Reset) Pulse op('optical_flow').par.Reset

Clears temporal history before the next frame.

Default:
None