3.3 Using Survey Data in PFTrack


This document is part of Level 3. Advanced Matchmoving Strategies in PFTrack of The Pixel Farm Training Academy’s PFTrack course. Find out more and register for the next available live class.

When survey data is available from the location of a shoot, feature tracks can have a specific 3D position (survey coordinates) even before solving for camera motion. PFTrack’s Survey Solver node utilises these survey coordinates to estimate the camera motion.

Even when 3D tracker positions are initially unknown, you may be able to generate survey coordinates if appropriate data from the set is available, such as a LIDAR scan or a geometric model of the set, survey photos or a solved camera viewing the same scene.

This article provides an overview of how to use these different kinds of survey data in the Survey Solver node.


01. The Survey Solver Node

02. Using Survey Coordinates

– Entering Survey Coordinates

– Coordinates Matter

– Solving the Camera

03. Generating Survey Coordinates from LIDAR

Importing LIDAR Data

– Attaching Trackers to LIDAR Points

04. Generating Survey Coordinates from Solved Cameras

Defining 3D Positions

– Solving the Camera

– Generating Survey Coordinates from Survey Photos

05. Generating Survey Coordinates from a Geometric Model

06. Conclusion

Tutorial Footage

To learn this tutorial you will need to download and use the footage below.

Footage: PFTClocktower.zip


01. The Survey Solver Node

The Survey Solver node is used to solve for camera motion when 3D coordinates are known for specific features of the scene, or in cases where such coordinates can be generated. 3D coordinates can be obtained in many ways, ranging from measuring features on location to LIDAR scans, survey photos or a geometric model of (parts of) the set.

The Survey Solver node is usually used in combination with User Track nodes, rather than Auto Tracks, to ensure that trackers coincide with known 3D positions.

02. Using Survey Coordinates

One of the most straightforward and low-tech ways of getting survey coordinates from a set would be to measure the location of specific (trackable) features in a shared coordinate system.

Entering Survey Coordinates

If survey coordinates are available, they can be assigned to trackers in the Survey Solver’s Trackers tab.

By providing an Uncertainty value where precise measurements might not have been possible, you allow the Survey Solver to deviate from the survey coordinates in order to get a better result.

You can also specify multiple survey coordinates in an ASCII file to use in the Survey Solver. The screenshot below shows the contents of such a file:

Coordinates Matter

When using survey coordinates from external sources, make sure to specify the correct coordinate system to allow PFTrack to convert them correctly into its internal left-handed system.

Solving the Camera

Once a sufficient number of 3D positions have been assigned to trackers, the camera can be solved in the usual way by clicking Solve All.

03. Generating Survey Coordinates from LIDAR

Another way to assign 3D coordinates to trackers is to attach them to a LIDAR data point.

Importing LIDAR Data

LIDAR data can be imported into the Survey Solver node by clicking the Import button in the node’s LIDAR tab.

Attaching Trackers to LIDAR Points

Once LIDAR data has been imported, trackers can be attached to LIDAR points to generate survey coordinates. Select a tracker in the Trackers tab, then click the Attach button to attach the tracker to LIDAR. Navigate to the corresponding LIDAR point in a perspective or orthographic view, then click with the left mouse button to attach the tracker to the point.

Repeat these steps for as many trackers as possible. Once you have survey coordinates for a number of trackers, you can track the clip by clicking Solve All.

04. Generating Survey Coordinates from Solved Cameras

Note: The following example uses the PFTClocktower1 and PFTClocktower2 clips from the Level 2. Extended Matchmoving in PFTrack class, which are available for download above. PFTClocktower1 has been solved using auto tracks and a Camera Solver node, PFTClocktower2 will be solved using survey coordinates generated from PFTClocktower1.

If you already have a solved camera viewing the same scene, it can be used to generate survey coordinates for further cameras. Connect the solved camera to as an additional input (not the first input) to the Survey Solver node and make sure the Already solved checkbox for that camera is checked.

Defining 3D Positions

To assign a 3D position for a tracker, select the tracker and switch to the already solved clip. Click Set Position and place the tracker in a suitable frame.

Once you have placed the tracker in two or more frames its position in the solved clip will be triangulated and the tracker’s survey coordinates and uncertainty value updated accordingly.

Solving the Camera

Once enough 3D positions have been generated, you can click Solve All. The primary camera will then be solved into the same coordinate system as the already solved one.

Generating Survey Coordinates from Survey Photos

Instead of using an already solved moving camera to generate survey coordinates for a clip, you could also follow the steps outlined in this chapter using a solved scene created from still images.

However, with the Photo Survey and Scene Solver nodes, PFTrack has dedicated tools to solve moving cameras with the help of survey photographs.

05. Generating Survey Coordinates from a Geometric Model

During the Level 3. Advanced Matchmoving Strategies in PFTrack live class, a geometric model of a structure on set has been used to generate survey coordinate.

The model must be imported into the Survey Solver node from either an Autodesk FBX 2010, Open Alembic or Wavefront OBJ file, and aligned with the camera in one frame.

Survey coordinates can then be created for trackers that would lie on the geometric object’s surface. Select the appropriate trackers and click Generate Survey to obtain 3D positions for the trackers. Then click Solve All to solve the camera motion.

06. Conclusion

This document provided an outline of how survey coordinates can be generated and used in PFTrack’s Survey Solver node. Knowing 3D positions of trackers before the camera has been solved can provide shortcuts for many tasks in matchmoving. For example, as there is only one mathematical solution to making 3D positions match the 2D trackers, the scene is automatically oriented to the survey coordinate system.

Related Posts

2.2 Creating a Triangular Mesh from Still Images

In the Extended Matchmoving in PFTrack class we have used PFTrack’s photogrammetry tools to help us solve multiple camera motions into a single scene. These tools can also be used to create textured triangular meshes. This tutorial will walk you through the necessary steps to create a mesh from the scene created in the live training.

Read More

1.2 Tracking Trees in PFTrack

The Introduction to Matchmoving in PFTrack class explained the necessary steps to get from a fresh install of PFTrack to getting a solved camera, testing it and orienting the scene. This article serves as an overview of the steps that have been covered.

Read More

Tracking 360º Equirectangular Clips in PFTrack

In this tutorial, you are going to track and solve an equirectangular panorama using PFTrack’s new spherical tracking toolset…

Read More

2.1 Solving Multiple Cameras Into a Single Scene

When tracking multiple shots from the same location, it is often important that every shot shares the same coordinate system. This way we can ensure that key locations are identical independent of which camera solve is worked on. A straightforward way to ensure a shared coordinate system for multiple cameras is to track and solve them into the same scene in PFTrack.

Read More
Share This

Share This Post On: