Introduction to Multi-step Solving

< Previous | Contents | Manuals Home | Boris FX | Next >

Introduction to Multi-step Solving

Phases offer a way to direct the solver to create complex multi-step solving processes that can help produce higher-quality solves, or solves on more difficult shots.

We'll provide an introduction to this with a zoom shot. In this case, the shots begins at one field of view, holds a while, zooms out to a wider field of view, then bumps

back in to a slightly tighter field of view. Here is the graph editor's view of the zoom channel and zoom velocity.


image

As you can see in the velocity curve frames 0-80, there is some jitter in the zoom while the zoom is actually stationary. This is to be expected, as matchmoving is a measurement process, but suppose we would like to eliminate it. If we were to filter the zoom, we would unduly affect the frames where the zoom is active. We could animate the filter frequency and strength for a while, but there is a simpler approach.

The Flatten FOV phase will compute the average field of view over a range of frames and replace the original FOV with that average, with several blend frames at the in and out point. (There is a similar script.)

We create a Solve phase, connect it to a Flatten FOV phase, and configure the Flatten FOV phase.


image

It will average frames 0 to 74 with a 3-frame transition at frame 74. Note: there should be no Blend at frame 0 since that is the start of the shot. We have run it, and the Flatten Phase has automatically computed the average FOV and stored it in the Manual FOV parameter for reference also. The graph editor now looks like this:


image

As you can see, the velocity curve is perfectly flat during the first part of the shot. There is no jitter there at all. That was pretty good, let's do it again!


image

We've added on two additional Flatten FOV phase, and configured one for the middle section of the shot, frames 98-111, and the last for frames 123-176.

Hint: it is easiest to position the current time at the desired start or end frame, then click the respective Set 'in' frame or Set 'out' frame button.

As a result, the FOV channel is very flat, except when it is changing:


image


This is good, but it's not the end of the story. We have a very clean FOV track now, but we want a consistent solve: the camera path and tracker positions that correspond to the smooth zoom trajectory, not the jiggly one. We need to refine the full solution to reflect the changed field of view channel.

We don't want the FOV channel to change further, since we've cleaned it up, so we add a Set Lens Mode phase that changes the Lens mode from Zoom to Known @ Solved. The "@ Solved" part means that we want to use the incoming solved FOV channel as the "known" value that will be used for the later solve.

We don't need to completely redo the solve, a Refine will do, so we add a Set Solver Mode phase and set its solver mode to Refine. As you can see, the controls on the main user interface have corresponding phases that allow you to change the settings at any point in a whole pipeline of solver phases.

To actually run the second solve, we add a Solve phase with a final Autoplace for good measure. The result looks like this:


image

But wait, there's more! If we solve this scene a second time, it will behave a little unexpectedly. You can see that when you consider what happens at Phase1.

Since Phase1 has no actual input, it takes its inputs from the scene—which is already configured for a Known Lens and Refine mode. The later solve won't reproduce what happened the first time.

Because of this circularity, we need to pay some attention to what we have changed, and effectively "put it back" at the beginning of the solve.

The phase "Clean Start" helps with this. It clears any existing solve data (from the phase pipeline) and resets any Refine solver modes back to Automatic (or Refine Tripod back to Tripod).

We also need to set the Lens mode back to the Zoom lens mode that we want used for the initial solve.

To add these two phases, click in the empty portion of the phase view to unselect all the phases, then create the Clean Start and then Set Lens Mode. This will ensure that these two are not wired to the final solve. Instead, drag from the output pin of the Set Lens Mode to the Input pin of the Phase1 solve, creating a wire. Here's the final collection:


image

Although we have a fair number of steps, most of them don't do very much:

Clean up before we get started

Set the lens mode to Zooming

Do an initial solve, producing a somewhat jittery zoom track

Flatten out the initial non-zooming section

Flatten out the middle non-zooming section

Flatten out the final non-zooming section

Set the lens mode to Known (@Solved)

Set the solver mode to Refine

Do the final solve, corresponding to the flattened zoom track.

If we change some of the tracking data, say, we can easily rerun this process.

Furthermore, we can right-click and select Library/Save Phase File and write this preconfigured set of phases into our phase library (or somewhere else) so that in the future we can easily bring it in to solve a similar shot (after adjusting the frame ranges of the Flatten FOV phases).

©2024 Boris FX, Inc. — UNOFFICIAL — Converted from original PDF.