AT 309 Week 14: Pix4D Part 3
Introduction
The last lab involved processing four datasets through Pix4Dmapper. The last lab for the semester continues with image processing, but this time we are processing three of those datasets again. The difference is that these datasets are going to be processed with ground control points. GCPs are important for providing accurate geolocation data in geospatial projects.
Steps and Requirements for Processing GCPs
There are multiple ways that GCPs can be processed in Pix4Dmapper, depending on the case.
How to Insert GCPs into Projects
Method A
For this lab, method A was used to add GCPs to the projects.
1. Obtain GCPs measurements in the field or through other sources.
2. Add / Import the GCPs with the GCP/MTP Manager without marking them
3. On the Menu bar, click View > Processing. The Processing bar appears at the bottom of the Main Window.
4. Select 1. Initial Processing and deselect 2. Point Cloud and Mesh and 3. DSM, Orthomosaic and Index
5. Click Start.
6. Once Initial Processing is completed, mark the GCPs with the rayCloud.
7. Click Process > Reoptimize.
8. (optional) Regenerate the Quality Report by clicking Process > Generate Quality Report.
These are the steps for processing GCPs in method A.
One thing to note is that the processing is done in two parts. First, users add the GCPs and do initial processing. Once initial processing is complete, GCPs are marked in rayCloud. After GCPs are marked, the project needs to be reoptimized before 2) Point Cloud and Mesh and 3) DSM, Orthomosaic, and Index processing can start.
GCP Requirements
Pix4D requires a minimum of three GCPs per project, but recommends five to ten GCPs.
Each GCP needs to appear in at least two images.
Additionally, GCPs need to be placed evenly along the landscape and away from the edge of a project. GCPs placed on the edge will not be visible in many images.
The only dataset, from the last lab, that was not processed here is the XT2 Thermal imagery.
Analyzing the GCP Data
Before opening the project in Pix4Dmapper, the GCP data was analyzed.
Point
number |
X
variance |
Y
variance |
Z
variance |
1 |
1.8 |
0.5 |
1.4 |
2 |
0.4 |
0.3 |
1.1 |
3 |
1.1 |
0.3 |
0.7 |
4 |
0.7 |
1.2 |
1.8 |
5 |
0.9 |
0.8 |
2.5 |
6 |
22.3 |
10.7 |
14.1 |
There were two GCP files. The table above was created from data in the first file. Analyzing this table revealed that GCP 6 has more variance than any of the other points. This could lead to inaccuracies in the data. When processing starts later, GCP 6 will be removed.
There was also coordinate system information in this file. The Geographic Coordinate System is NAD83 (2011). The projected coordinate system is NAD83 (2011) / UTM Zone 16N. The ESPG code and Geoid model are 6319 and Geoid 12b.
The other file had the same file name as the first, but "simple" was attached to the end.
Point Number |
Northing (m) |
Easting (m) |
Orthometric Height (m) |
1 |
4477345.537 |
495456.779 |
207.807 |
2 |
4477359.994 |
495524.189 |
207.959 |
3 |
4477306.233 |
495533.993 |
207.091 |
4 |
4477263.912 |
495497.022 |
206.041 |
5 |
4477232.496 |
495444.918 |
205.558 |
6 |
4477290.755 |
495426.667 |
207.932 |
The simple file was the one used for adding GCP data in this lab. The table above is the XYZ data for that file.
Mavic 2 Pro
The GCP data was added through the "Import GCPs..." option in the GCP/MTP Manager. Default coordinate systems were changed to the coordinates the GCPs were in. Initial processing began.
Marking GCP 1 in rayCloud (Mavic 2 Pro) |
After the five GCPs were marked, the project was reoptimized. Additionally, GCP 6 was added briefly for analysis. Before GCPs are marked, GCP images will show users the general location where the GCP should be. This is marked by a blue circle. GCP 6 was unable to be located in any of the images so it may have been placed along the edge of the project. GCP 6 was then removed and the remaining processing was completed.
Final Map with GCPs Marked (Mavic 2 Pro) |
The green circles are the GCPs. When trying to locate GCP 6, I thought I might have mistaken GCP 6 for GCP 1. I changed the marks for these GCPs and ran the processing again. Looking at the top right area of the image, there is a blue circle with a green line. This shows that GCP 6 is marked in the wrong location which helped me conclude that GCP 6 is not visible.
GCP Name |
Accuracy XY/Z
[m] |
Error X [m] |
Error Y [m] |
Error Z [m] |
Projection
Error [pixel] |
Verified/Marked |
1 (3D) |
0.020/ 0.020 |
0.006 |
-0.002 |
0.012 |
0.962 |
4/4 |
2 (3D) |
0.020/ 0.020 |
-0.016 |
0.016 |
-0.040 |
0.681 |
4/4 |
3 (3D) |
0.020/ 0.020 |
0.010 |
-0.010 |
0.036 |
1.237 |
4/4 |
4 (3D) |
0.020/ 0.020 |
-0.011 |
0.024 |
-0.016 |
0.552 |
4/4 |
5 (3D) |
0.020/ 0.020 |
-0.000 |
-0.013 |
-0.000 |
0.817 |
4/4 |
Mean [m] |
|
-0.002001 |
0.003084 |
-0.001703 |
|
|
Sigma [m] |
|
0.009787 |
0.014365 |
0.025776 |
|
|
RMS Error [m] |
|
0.009989 |
0.014692 |
0.025832 |
|
|
Marking GCP 3 in rayCloud (XT2 RGB) |
This dataset only had 15 images so there were less images to choose from in GCP marking.
Quality Report Georeferencing Issue (bottom row) |
The georeferencing row tells users if GCP data was used. It also describes any accuracy problems. The issue here was that the RMS error was around 4 meter.
RMS Error |
The blue circle mentioned earlier came into play here. Looking at the rayCloud, I noticed that some of the GCP marks (green circle) far away from their respective blue circles.
GCP Mark Matching |
This is about how close the two points should be to each other. Replacing the marks reduced the RMS error to a point where the 2) and 3) processing could be completed.
Final Map with GCPs Marked (XT2 RGB) |
GCP Name |
Accuracy XY/Z [m] |
Error X [m] |
Error Y [m] |
Error Z [m] |
Projection Error [pixel] |
Verified/Marked |
1
(3D) |
0.020/
0.020 |
-0.035 |
0.013 |
-0.049 |
0.548 |
4
/ 4 |
2
(3D) |
0.020/
0.020 |
-0.015 |
-0.034 |
0.049 |
0.878 |
3 / 3 |
3
(3D) |
0.020/
0.020 |
0.010 |
-0.025 |
0.049 |
0.656 |
4
/ 4 |
4
(3D) |
0.020/
0.020 |
0.020 |
0.028 |
0.058 |
0.742 |
4
/ 4 |
5
(3D) |
0.020/
0.020 |
-0.011 |
0.003 |
-0.032 |
0.750 |
4
/ 4 |
Mean
[m] |
|
-0.006244 |
-0.002611 |
0.015214 |
|
|
Sigma
[m] |
|
0.019583 |
0.023234 |
0.045722 |
|
|
RMS
Error [m] |
|
0.020555 |
0.023380 |
0.048186 |
|
|
Marking GCP 5 in rayCloud (A6000) |
After initial processing and GCP marking were done, the quality report was generated to see if there were any issues. The RMS error came up again, but this time the RMS error was 1.8 meters. When placing the GCP marks for this project, I did not make sure the marks were accurately place. This led to the RMS error.
Accurately Marking the GCPs (A6000) |
As the GCPs were marked again, the RMS error gradually went down. This shows the importance of accurate GCP marks. If the marks are not close enough to each other, the GCPs cannot be used in processing. Zooming in as much as possible made it easier to put the marks square in the middle of the GCPs.
Final Map with GCPs Marked (A6000) |
GCP Name |
Accuracy XY/Z
[m] |
Error X [m] |
Error Y [m] |
Error Z [m] |
Projection Error
[pixel] |
Verified/Marked |
1 (3D) |
0.020/ 0.020 |
-0.003 |
-0.006 |
0.065 |
0.309 |
4 / 4 |
2 (3D) |
0.020/ 0.020 |
0.017 |
0.016 |
-0.066 |
0.094 |
4 / 4 |
3 (3D) |
0.020/ 0.020 |
0.010 |
-0.007 |
-0.051 |
0.299 |
4 / 4 |
4 (3D) |
0.020/ 0.020 |
-0.009 |
-0.001 |
-0.002 |
0.272 |
4 / 4 |
5 (3D) |
0.020/ 0.020 |
0.018 |
0.037 |
0.223 |
0.234 |
4 / 4 |
Mean [m] |
|
0.006654 |
0.007866 |
0.033874 |
|
|
Sigma [m] |
|
0.010623 |
0.016672 |
0.105284 |
|
|
RMS Error [m] |
|
0.012534 |
0.018434 |
0.110599 |
|
|
Comments
Post a Comment