Home · Lab · Tracking & Matchmove

TR1 Pick a feature to track

Good features, pattern and search boxes, reading the error curve

Tracking & Matchmove · ~8 min · Free

1 The idea

A point track follows one small patch of the plate from frame to frame. It only holds if that patch is easy to find again: contrast in two directions, nothing that looks the same nearby, and never covered during the shot.

Click a few spots and watch the feature strength (corner) readout, set the Pattern box and Search sliders, then press Track. Compare the two curves in the graph: the tracker’s match error, which a tracker can see, and the true error, which you normally can’t.

2 Hands-on

Task: place a tracker on a good feature and track all 48 frames with the true error at most 1.5 px on every frame.

Compare the feature strength of a few spots before you press Track. If the true error spikes or climbs, scrub to that frame and look at what sits inside the pattern box, and whether the search box is big enough for the camera shake.

SkyVFX Lab · TR1interactive · 1001

3 Deep dive

What a good feature looks like

The tracker looks for the pattern inside the search box on the next frame. If the pattern looks the same all around, like flat sand or sky, many places match almost equally well and the track drifts.

A long straight edge only fixes position across the line. A corner, a cross or a textured rock edge has contrast in two directions, so it locks both x and y. It also has to stay in frame, with nothing like the drone passing in front, for the whole shot.

SpotUsable?Why
Flat sandPoorMatches everywhere, drifts
SkyPoorAlmost no contrast
Straight ridge lineWeak along the lineContrast in one direction
Textured rock edgeGoodContrast in two directions
Cross markerGood, if never coveredTwo directions and unique nearby

Pattern box and search box

The inner box is the pattern, the patch the tracker has to find. The outer box is the search area, how far the pattern may have moved since the last frame. In this shot a static point moves up to about 3.5 px between frames, so the search box needs that much room around the pattern.

A bigger pattern has more detail to match, but once it takes in background at another depth, that part moves differently through parallax and pulls the track off.

SettingSymptom
Search too smallLoses the feature or jumps to a wrong match on hard shake
Search too bigMore chance of a look-alike inside the box
Pattern too smallToo little detail, easy to confuse
Pattern too bigDrags in background at another depth

Reading the two curves

The tracker’s error only says how much the best match looks like the pattern. The true error is the distance from where the feature really is, taken from the render’s 3D data. On a real shot you only get the first curve.

A spike means the tracker jumped to a wrong match on that frame; a steady climb means it is sliding off the feature. Here the cross marker with the default boxes peaks at about 0.26 px of true error, while flat sand reaches about 7 px.

The red, yellow and green that Nuke’s Tracker shows reflect how well the patch matches, so they share the match error’s blind spot: a good-looking match can still sit in the wrong place.

A low match error means the patch looks alike, not that it’s in the right place.

Confirm with a stabilise

The main check for any track is to stabilise the plate on it, zoom in and scrub fast back and forth. A good track keeps the feature standing still; if it wanders or jitters, the track isn’t there yet.

A stabilised view is resampled by a different sub-pixel amount on every frame, so edges can shimmer from filtering rather than track error; it errs on the strict side. Make the final call on the un-stabilised result in motion.

  1. 1Track
  2. 2Stabilise on the track
  3. 3Zoom in
  4. 4Scrub fast back and forth
  5. 5Final call un-stabilised, in motion

Prepare the plate first

Denoise before tracking and pre-render the result for a cleaner track. The blue channel is usually the noisiest, so you can leave it out of the track.

If markers start the shot out of focus, track backwards from the in-focus end. Before trusting an automatic track on new frames, run it on frames that already have a trusted track and compare.

Test any new tracking method on frames where you already know the answer.

4 In real work

In Nuke

  1. Denoise the plate and pre-render it; track on that render.
  2. Tracker: add a track on the feature, size the pattern (inner) and search (outer) boxes, and leave blue out if it’s noisy.
  3. Track forwards, or backwards from the in-focus end, and look for jumps in the curves.
  4. In the Tracker’s Transform tab set transform to stabilize (or export a stabilising Transform), zoom the viewer in and scrub fast.
  5. Don’t judge the track from the Tracker’s red, yellow and green colouring alone.

Common mistakes → the fix

  • ✗ Tracking flat sand or sky✓ Pick a spot with contrast in two directions, like a rock corner or a cross.
  • ✗ Picking a feature that the drone flies in front of later, or that leaves frame✓ Scrub the whole shot before choosing and make sure the feature is visible on every frame.
  • ✗ A search box smaller than the handheld shake per frame✓ Enlarge the search box to cover the largest per-frame move.
  • ✗ Trusting the coloured error alone✓ Stabilise on the track, zoom in and scrub fast.
  • ✗ A pattern box that takes in background at another depth, or an offset track to a feature at a different depth✓ Keep the pattern on one depth, and only offset to a feature at the same depth.

Before you send the shot

  • The tracked feature is visible on every frame: never covered, never out of frame.
  • The error curve has no spike and no steady climb.
  • Stabilised on the track, zoomed in and scrubbed fast, the feature stands still.
  • The pattern box holds only one depth.
  • The final call was made on the un-stabilised result in motion.

5 Check yourself

One question to check yourself

Which spot makes the best point-track feature?

What you learned

🔒 Answer the question above and this card opens

More questions

1. The track is lost only on the frames where the camera shakes hardest. What’s the most likely cause?

2. The tracker’s error is low on every frame. What do you do before using the track?

Where the numbers come from: A 48-frame handheld shot (640×360) rendered in Blender (Cycles) through our desert set, with a green screen on a pole and a drone flying across. Frame 1 is the still plate’s camera. Every true position comes from the scene’s own 3D (truth.json, dist.f32). The tracker is a teaching version (normalised cross-correlation against the frame-1 pattern, sub-pixel by a parabola fit), not Nuke’s Tracker; the true error comes from the render’s own 3D data.