This guide provides a step-by-step workflow for adding Ground Control Points (GCPs) to Polycam scans using CloudCompare. Ground control points allow you to georeference your scan data to real-world coordinates, improving accuracy and enabling integration with survey-grade data.
Why Ground Control Points Matter
Ground control points serve as reference markers with known, accurate coordinates (typically from GPS or total station surveys). By aligning your Polycam scan to these control points, you can:
- Correct for GPS drift or offset in your scan
- Match your scan to real-world coordinate systems
- Improve overall positional accuracy
- Enable accurate measurements and comparisons
Prerequisites
CloudCompare
FreeFree and open-source 3D point cloud processing software
Polycam Scan
RequiredExported in .ply or .las format
Ground Control Points
RequiredMinimum 3 GCPs (5-7 recommended for best results)
Ground Control Point Requirements
Recommended Setup
- Use 5-7 GCPs for optimal results (minimum of 3 required)
- Distribute GCPs around the perimeter and throughout the center of your scan
- Place GCPs at different elevations when possible
- Each GCP must be clearly identifiable in your Polycam scan
Step-by-Step Workflow
1Prepare Your Data
Export your Polycam scan:
- From Polycam, export your scan in .ply or .las format
- These formats preserve point cloud data and are well-supported by CloudCompare
Prepare your GCP coordinate file:
-
Choose one of these file formats:
-
Text file (.txt):
-
Without color:
X Y Z -
With color (optional):
X Y Z R G B - Use spaces to separate values
-
Without color:
-
CSV file (.csv):
-
Without color:
X,Y,Z -
With color (optional):
X,Y,Z,R,G,B - Use commas to separate values
-
Without color:
- Color values: RGB 0-255 for easy identification in CloudCompare
-
Text file (.txt):
- Label each GCP for easy reference (e.g., GCP1, GCP2, GCP3)
Example Format:
| GCP ID | X (Easting) | Y (Northing) | Z (Elevation) | Notes |
|---|---|---|---|---|
| GCP1 | 3310421.880 | 6859844.890 | 462.700 | North corner marker |
| GCP2 | 3310445.230 | 6859867.120 | 463.145 | South corner marker |
| GCP3 | 3310467.340 | 6859823.450 | 461.892 | East corner marker |
2Import Your Polycam Scan into CloudCompare
- Open CloudCompare
- Go to File > Open or drag and drop your Polycam scan file
-
CloudCompare may prompt you about a coordinate shift:
- If your coordinates have large values (e.g., UTM coordinates like 3310421, 6859844), accept the global shift
- Large coordinates = values in the hundreds of thousands or millions
- This shift maintains precision during processing by moving data closer to origin (0,0,0)
- Your point cloud will appear in the 3D viewer
- Check the DB Tree panel (left side) - your scan should be listed there
3Import or Input Your Ground Control Points
Option A: Import GCP File
- Go to File > Open and select your GCP coordinate file
-
Choose the appropriate import format:
- For text files: Use the ASCII import wizard
- Specify that columns represent X, Y, Z coordinates
- GCPs will appear as a small point cloud in the DB Tree
Tip: Color Code Your GCPs
For easier identification, add RGB color values to your GCP coordinate file before importing:
- Add three additional columns for Red, Green, Blue values (0-255)
- Use bright, contrasting colors like bright red (255, 0, 0), yellow (255, 255, 0), or cyan (0, 255, 255)
-
Example format:
X Y Z R G B
Example with color:
# GCP1 (North corner) - Bright Red
3310421.880 6859844.890 462.700 255 0 0
# GCP2 (South corner) - Bright Yellow
3310445.230 6859867.120 463.145 255 255 0
CloudCompare will automatically apply these colors when you import the file.
Option B: Manual Input During Alignment
- You can input GCP coordinates directly in the Align tool (next step)
- Useful if you only have a few GCPs or prefer to enter them as you pick points
4Start the Alignment Process
If you imported GCPs (Option A):
- Select BOTH your Polycam scan AND the GCP point cloud in the DB Tree (hold Ctrl/Cmd to select multiple)
- Go to Tools > Registration > Align (point pairs picking)
-
A dialog will appear asking you to designate roles:
- Reference (won't move): Your GCP coordinates
- Aligned (will move): Your Polycam scan
- Click OK to proceed
If you're using manual input (Option B):
- Select only your Polycam scan in the DB Tree
- Go to Tools > Registration > Align (point pairs picking)
- The Align tool will open directly (no role dialog)
- You'll input GCP coordinates manually in the next step
5Pick Corresponding Point Pairs
In this step, you'll identify matching locations between your scan and your GCP coordinates.
For Each Ground Control Point:
-
Input the Reference GCP coordinate:
- In the Align tool dialog, look for the "Reference" table (right side)
- Click the pencil icon (for manual coordinate input)
- Enter the X, Y, Z coordinates for GCP1
- Click OK
- A marker labeled "R" (Reference) will appear
-
Pick the corresponding point in your Polycam scan:
- In the 3D viewer, locate where GCP1 physically appears in your scan
- Click directly on that point in your scan
- A marker labeled "A" (Aligned) will appear
- This point will be added to the "Aligned" table (left side)
-
Repeat for all GCPs:
- Continue with GCP2, GCP3, etc.
- Always maintain the same order (if you input GCP2 coordinates as the reference, pick GCP2 location in the scan)
- After picking 3 point pairs, CloudCompare will show an initial RMS error value
Tips for Accurate Point Picking:
- If you color-coded your GCPs, toggle their visibility to help locate them in your scan
- Zoom in closely to the GCP location before clicking
- Use the rotation tools to view the point from multiple angles
- If your GCP is a physical marker (checkerboard, sphere), try to click the center
- You can remove and re-pick points if needed using the "X" icon next to each point
6Configure Alignment Settings
Important: Choose Your Scale Option
Locate the "Adjust Scale" checkbox in the lower part of the Align dialog
☐ Leave UNCHECKED (Rigid Alignment) when:
- Your Polycam scan scale is already accurate and you trust the internal measurements
- You only need positional/rotational correction
☑ CHECK (Non-Rigid Alignment) when:
- You're unsure about Polycam scan scale accuracy
- You want the scan to match design models or survey data exactly
- GPS drift may have affected overall scale
- Note: This may cause dimensions to change slightly
Click the "Align" button to preview the alignment - your scan will move to match the GCPs.
7Evaluate Alignment Quality
Check the RMS (Root Mean Square) Error:
- After you click "Align", the total RMS value will appear in the Console log at the bottom of the screen
- Individual point errors for each GCP are shown in the Align window
- Lower RMS values indicate better alignment
- The RMS value represents the average error between your picked points and their target positions
What RMS Means:
- RMS is a statistical measure of alignment quality
- It calculates the average distance between where each GCP should be and where it actually ended up after alignment
- For example: If your RMS is 0.02m, the average error across all your GCPs is about 2 centimeters
- Compare your RMS to the accuracy of your survey equipment (e.g., if your GCPs were surveyed with 2cm accuracy, aim for similar or better RMS)
Review Individual Point Errors:
- Each point pair shows its individual error contribution
- Look for outliers (points with much higher errors than others)
-
If one GCP has significantly higher error than the others:
- Verify you picked the correct location
- Check if GCP coordinates are correct
- Consider removing and re-picking that point
Tips for Improvement:
- Add more GCPs for better constraint
- Re-pick any points with high individual errors
- Try both with and without "Adjust Scale" to compare results
- If RMS is much higher than your survey equipment accuracy, investigate potential issues
8Apply the Alignment
- Once you're satisfied with the RMS error, click the green checkmark (✓) to apply
-
CloudCompare will display a final report showing:
- Final RMS error
- Transformation matrix applied
- Scale factor (if scale adjustment was enabled)
9Optional Fine-Tuning with ICP
ICP (Iterative Closest Point) is an automatic alignment tool that matches thousands of points between your scan and a reference model. While GCP alignment uses 3-7 manually picked points, ICP fine-tunes the alignment by comparing the entire surfaces.
If you have a reference model or design surface, you can further refine alignment:
- Make sure your georeferenced Polycam scan is roughly aligned to the reference
- Select both the Polycam scan and reference model
- Go to Tools > Registration > Fine Registration (ICP)
-
Designate:
- Reference: Your design model or reference scan
- Aligned: Your georeferenced Polycam scan
-
Set parameters:
- Adjust Scale: Check if needed
- Final Overlap: Estimate what % of points overlap (e.g., 70% if most areas match)
- Click OK to run ICP
- Review the final RMS - it will be calculated across thousands of points instead of just your GCP count
10Verify and Export
Verification Steps:
- Use the Measure tool to check known distances in your scan
- Compare measurements against survey data or design dimensions
- Visually inspect alignment with any reference models
- Check that the alignment makes sense relative to your GCP accuracy expectations
Export Your Georeferenced Scan:
- Select your aligned Polycam scan in the DB Tree
- Go to File > Save
-
Choose your output format:
- .las/.laz - Standard for point clouds, preserves coordinates
- .e57 - Industry standard with rich metadata
- .ply - Versatile, works well with many software tools
- .xyz - Simple ASCII format
-
Important: Make note of any global shift that was
applied
- Check Edit > Edit Global Shift on your aligned cloud
- Document these values for future reference
- When importing into other software, you may need to reverse this shift