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.
– Entering Survey Coordinates
– Coordinates Matter
– Solving the Camera
– Importing LIDAR Data
– Attaching Trackers to LIDAR Points
– Defining 3D Positions
– Solving the Camera
– Generating Survey Coordinates from Survey Photos
To learn this tutorial you will need to download and use the footage below.
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:
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.
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.