Houdini 20.0 Nodes Geometry nodes

Texture Optical Flow geometry node

An operator that uses computer vision to track movement between two textures embedded as two-dimensional volumes.

On this page

Overview

Optical flow is the pattern of apparent motion of image objects between two consecutive frames caused by the movement of the objects or the movement of the camera. This node performs dense optical flow between a source image and a goal image. The images are input as two-dimensional volumes. The output is another two-dimensional volume containing the direction vectors of the flow. This works best if goal volume is a slight variation on the source volume. An example is if they are created from the pixel data of adjacent frames of a video.

Parameters

Source Group

A list of volume primitives to use from the first input. If blank, the node uses all volumes in the input.

Note

You should have the same number of volumes from each input.

Goal Group

A list of volume primitives to use from the second input. If blank, the node uses all volumes in the input.

Note

You should have the same number of volumes from each input.

Output Name

Group name for volume primitive.

Method

Farneback

A standard algorithm for computing dense optical flow over a pair of images. It compares neighboring regions of pixels to estimate motion vectors using a successively refined pyramid scheme.

Optical Flow - Method Farneback

Blurring Window Radius

The radius of the window to blur the displacement in each iteration. Higher values smooth out motion more.

Use Gaussian Filter

The slower but more accurate Gaussian calculations instead of the default box filter.

Pyramid Levels

Higher values help track larger displacements but takes longer to compute.

Pyramid Scale

The ratio size of each pyramid layer to the next one. Higher values help track larger displacements but takes longer to compute.

Iterations

The number of iterations of refinement at each layer in the pyramid. Higher numbers give more precise motion but takes longer to compute.

Approximation Window Radius

The size of a window around each voxel to approximate the voxels as polynomials. Higher values may smooth over noise by approximating larger areas, but may take longer to compute.

Smoothness Degree

The degree of the polynomials to approximate the voxels. Higher values may smooth over noise by approximating larger areas, but may take longer to compute.

Optical Flow - Method DIS

Patch Size

The size of an image patch for matching (in pixels). Th default 8-by-8 patches works in most cases.

Patch Stride

The stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow quality.

Finest Scale

The finest level of the pyramid the flow is computed (zero level corresponds to the original image resolution). The final flow is obtained by bilinear upscaling.

Gradient Descent Iterations

The maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases.

Smoothness Weight

The weight of the smoothness term. Higher values may improve the smoothness of the final flow.

Color Constancy Weight

The weight of the color constancy term. Higher values may improve accuracy of the flow with respect to the values at each texture element.

Gradient Constancy Weight

The weight of the gradient constancy term. Higher values may improve accuracy of the flow with respect to the gradients of the values at each texture element.

Variational Refinement Iterations

Number of fixed point iterations of variational refinement per scale. Set to zero to disable variational refinement completely. Higher values will typically result in more smooth and high-quality flow.

Use Mean Normalization

Controls the mean-normalization of patches when computing patch distance. On by default as it provides a quality boost because of increased robustness to illumination variations. Turn off if your sequence doesn’t contain any changes in illumination.

Use Spatial Propagation

Control the spatial propagation of good optical flow vectors. On by default as it can help recover from major errors from the coarse-to-fine scheme by the DIS optical flow algorithm. When off, can make the output flow field smoother.

Inputs

Source Image

The source volume(s). The node computes displacements from values in this volume to corresponding values in the second input.

Goal Image

The goal volume(s). The node computes displacements from values in the first input to corresponding values in this volume.

Examples

TextureOpticalFlowBasicExample Example for Texture Optical Flow geometry node

This example demonstrates how to use the Texture Optical Flow node with some example image data.

See also

Geometry nodes