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

Data Capture for Photogrammetry: The Spooky Asset Project

This Halloween we were getting into the swing of things, as the winter nights draw closer we felt like spreading some spook! The best way to do this was by using PFTrack’s comprehensive photogrammetry toolset to create some quality assets. The project was a good…

Read More

PFTrack: Auto Track and Camera Solve

In this tutorial, you will learn how to solve for the camera motion in the tutorial clip, and then test the resulting scene so that it is ready for exporting. You are going to solve the motion of the camera in the tutorial clip, using trackers that have been…

Read More

PFTrack: Geometry Tracking

In this tutorial you are going use PFTrack’s Geometry Track node to track the performance of an actress. Instead of tracking points, the Geometry Track node uses a triangular mesh model of the object that is being tracked. This can be useful when it is not possible or…

Read More

3.1 Using Geometry to Solve a Camera in PFTrack

Providing PFTrack with as much information as possible from the set of a shoot can help get a good result more easily. The amount of information you could use can range from which camera and lens has been used, to the distance of specific features from the camera in a frame to a LIDAR scan or a set of photos of the location, to geometric models of structures on set.

Read More
Share This

Share This Post On: