The Solve That Drifts
A nine-second handheld shot at 1920x1080, 23.976 fps of a cafe interior needs a poster and a wall sign composited. The camera walks in, and in the final 20 frames the operator also nudged the zoom ring. An actor crosses the left third of frame between frames 96 and 158, and the right-hand wall carries a mirror. The 3D Camera Tracker returns a solve reporting 2.4 pixels of error, but the sign added on the wall visibly slides as the shot plays. The composite is due for review tomorrow.
1. What do you change about the plate and the analysis before solving again, and why?
Read the worked answer
Clean the input, not the output.
- Region of Interest first. Restrict the analysis to the wall and floor area and exclude the actor and the mirror. The actor is a moving object whose points corrupt the solve; the mirror is worse, because the reflected image moves with roughly double the parallax of the real wall and the solver will happily fit a geometry to it. Both must be outside the analyzed region, or at minimum must be deleted from the track points after analysis and the camera re-solved without re-analysing.
- Deal with the zoom before solving. The camera solve assumes one focal length for the shot. A zoom in the last 20 frames is a changing intrinsic that the solve cannot represent, so it either drags the whole solution or spikes the error at the end. Trim the work area to the pre-zoom range and solve that; handle the zoom separately with a planar track.
- Never retime or scale the plate before tracking. Track the original-resolution, untransformed layer. If the comp has to be scaled, precompose the tracked setup rather than scaling the footage underneath the camera data.
- Set the shot type and analysis depth honestly. A walking handheld is not a tripod pan. Choose the shot type that matches, enable the deeper analysis option for a difficult shot, and check the track point density on the wall you actually need.
The 2.4 pixels is an average reprojection figure across points. It tells you the solver fit its own points, not that the geometry is right.
2. How do you decide the solve is good enough, and how do you get the sign to sit on the wall rather than float?
Read the worked answer
Validation is visual and geometric, not numeric.
- Analyze, then place a temporary 3D object (a cube or numbers) and scrub the whole shot at 100%. It must stay welded to the plane through the entire move, including the first and last frames where errors usually appear.
- Check parallax plausibility: the distance between the recovered camera and the wall should match what your eye reads from the shot. A solve can have low error and a wrong scale.
- Look for a camera pop. If the recovered camera jumps at a point, the solve has split the shot.
- Delete stray track points on the actor, the mirror or specular highlights and re-solve. Too few good points is worse than a slightly higher error.
Placing the sign:
- Select three or more track points that genuinely lie on the wall plane, set the ground plane and origin from them, and create the null and camera.
- Parent the sign to that null so the sign inherits the solve rather than being hand-matched.
- Match perspective and edge softness: give the sign a slight blur, grain and a shadow or contact darkening. A perfectly sharp insert on a soft handheld plate is the giveaway.
- For a cast shadow, create the tracker's shadow catcher on the wall plane, add a light, and enable shadow acceptance on the catcher; without a light the catcher renders nothing.
- Keep the poster and sign in the same 3D comp as the plate and avoid nudging the plate afterwards, which invalidates the relationship between camera and layers.
3. The producer wants the zoom section kept with the sign visible through it. What is your plan, and what are you going to tell them about risk?
Read the worked answer
Split the shot at the zoom.
- Solve the camera on the pre-zoom segment. That solution is trustworthy and covers the majority of the nine seconds.
- For the zoom, use a planar tracker on the wall: track the poster plane through the push-in and export corner-pin or planar data, then either drive a 2D corner-pinned insert or use a 3D planar solve to recover a second camera for that segment.
- If a single continuous camera is required, solve two segments with overlapping frames and blend the added 3D content across the seam, hiding the transition behind motion blur or the actor's crossing.
- If the zoom is only a human nudge rather than a deliberate push, cutting the last 20 frames is by far the cheapest correct answer, and worth proposing before doing the hard work.
What I tell the producer:
- A zoom means the focal length changes, and a single-camera solve assumes it does not. Any single-solve result through the zoom will drift, and drift on a wall-mounted sign is the most visible failure mode there is.
- The pre-zoom section can be signed off today. The zoom section is a separate, riskier task, and I would rather deliver a clean cut than a sign that slides for 20 frames.
- If the zoom must stay, the schedule needs a planar-track pass with its own review, and the fallback is a 2D insert that is not tied to the solved camera.
Getting the ground plane right first also matters here: with a bad origin the sign looks correct in the middle of the shot and drifts at the extremes, which is exactly the symptom that started this.