How the solver computes a solution
 
 
 

Read this section if you’re curious how the solver does its work and want a better understanding of each step in the solve: Start, Continue, Refine, and Finish. (A good time to read this is while you’re waiting for the solver to compute.)

In general, the solver treats match moving as numerous equations and variables. Each 2D track point on each frame sets up two equations (for X and Y) and three variables (X, Y, Z). Plus, there are numerous variables for the camera movement, variables for focal length, and more equations if you use constraints.

To complete the equations, the solver uses mathematical analysis to find the set of values that best satisfies the unknown variables. There is usually no unique solution because there are more equations than variables.

If the solver performed this process on every frame, the number of equations and variables would be enormous. To make the process more manageable and accurate, the solver reduces the number of frames to carefully chosen root frames. Once the root frames are solved, the solver then extrapolates the solution for all other frames.

When choosing root frames, the solver tries to represent the motion of the camera so that there are more root frames when the camera is moving and fewer when it is not. The root frame selection process involves totalling the movement of track points, which implies the amount of camera movement.

Measuring success

The solver measures the success of the mathematical analysis by checking how well the 3D points align with 2D track positions, as viewed through the virtual camera. The solver reports the average pixel difference between 2D and 3D points in the Overall Pixel Slip field on the Solve control panel.

Start and Continue

During the Start phase, the solver creates three guesses for each root frame by projecting track points onto planes placed at different angles. The solver then optimizes each guess. Optimization is a mathematical approach for finding a set of values that most closely satisfies the unknown variables in the equations. (It’s a sophisticated method of trial and error.) Optimization continues until the solver converges on an initial solution. Converging means the solver has found a close solution or detects a failure to progress. Either way, it passes it’s best solution on to the Refine step.

If the solver cannot converge based on the initial guesses, it creates more guesses, and if they fail to converge, the Start phase eventually stops. However, you can tell the solver to create more guesses by clicking Continue.

Refine

In this step, the solver further optimizes the converged solution to make sure it is as accurate as possible. This process is done in preparation for the Finish step, when the solution is extrapolated from root frames to all frames.

Finish

After the Start and Refine steps, you should have a reasonably accurate solution, but it is only solved on the root frames. The solver must then extrapolate the solution for all other frames. It does this by solving and optimizing the same equations at each frame using the root frame solution as an initial guess. This process continues until all frames have optimized values for the equations, resulting in 3D locators and camera positions for all frames.

Smoothing and Filtering

As part of the Finish step, the solver also performs smoothing and filtering. These processes address potential camera motion problems that are inherent with solving on just root frames. With root frames, the solver can only consider track points in isolation, without considering the position of the camera on adjacent frames. This situation can create unwanted roughness and noise in the camera motion.

The first process, smoothing, corrects for shifts in the camera’s motion curves caused by track points appearing or disappearing within the camera’s view. If a point’s visibility changes between root frames, the solver can’t factor it in until the Finish step, which causes a discontinuity. Smoothing counteracts this effect by adjusting the curve before and after the frames where track point visibility changes. You can control the extent of smoothing in the Smoothing Interval setting on the Solve control panel. For more information, see Adjust the Smoothing Interval.

Filtering corrects for unwanted jitter in your camera move solution. Jitter can occur around frames where the solution to the solver’s equations is mathematically ambiguous or uncertain. The root frame solve process tends to amplify these ambiguities, creating jitter in the camera’s motion. Filtering finds the frames with ambiguous equations and applies a strong filter to those areas in the camera curves. You can control the amount of filtering in the Filter Level control on the Solve control panel. For more information, see Adjust the Filter Level.

Registration

If you only use track points, the solver cannot compute the absolute size of a scene or how it’s oriented. The scene could be a house or a doll house and could be tilted on it’s side or facing upright; the solver wouldn’t know.

To resolve these ambiguities, the solver takes your survey constraints and runs a registration process. Registration means orienting the entire solution as a whole without changing the structure. As a result, the camera and 3D points appear shifted or scaled within the perspective view, but when viewed from the camera, the 3D points appear in the same place.

Registration occurs as part of the Start and Refine steps by introducing more equations to be optimized. There is also a separate Registration step. This step lets you iteratively add survey constraints and see the results on the whole solution. It also lets you process Registration only constraints (see Using Registration only).

Summary

All of the input you give the solver becomes equations and variables. The solver’s task is to "hunt" for a set of values for the variables that best satisfies the equations. Most of the hunting occurs in the Start step and, optionally, the Continue step. The other steps are intended to make a close solution more accurate.