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

1.1 Tracking and Solving a Camera 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

2.3 Using Multiple Views to Solve Nodal Pans

There is one special kind of camera motion, that requires additional views to extract any kind of 3D: Nodal pans. This tutorial explains what nodal pans are and how they are different from other camera movements. After that we will use the same technique shown in the live session to add additional camera views of the same scene in order to obtain a real 3D result.

Read More

Shooting 360° Footage for Spherical Camera Tracking

We have recently embarked on a 360° adventure, and it has been eye-opening to say the least. Building up to the recent release of spherical tracking in PFTrack, we have been learning all there is to know about the world of 360°, from cameras and filming, to syncing…

Read More

Unity Project: Utilising PFTrack’s New Photogrammetry Toolset

The month of August was set aside for research and development within the walls of The Pixel Farm. New features have been added to PFTrack’s already powerful toolset, making the Photo Mesh node more versatile and more relevant to an unprecedented number of industries…

Read More
Share This

Share This Post On: