Processing Pix4D Imagery with GCPs

Introduction:

In this lab, we continued to learn more about the software, Pix4D.  More specifically, we learned how to import ground control coordinate data into Pix4D.  Through this, we were able to understand how to set the coordinate system of the Ground Control Point (GCP) data and adjust the data in Pix4D using the GCP coordinate data.  The differences were then compared between the corrected and non-corrected data. In the end, we created a map using the high-resolution orthomosaic with detailed insets of the GCPs.  Before we get to that, the questions and answers below provide background that would be beneficial before continuing onto the project:

What are Ground Control Points (GCPs) and what do they accomplish?

  • Ground Control Points (GCPs) are points on the surface of the earth of known location used to geo-reference the imagery. It is used to correct any inaccuracy and errors with the location that images captured. This then accomplishes a higher quality and accuracy of the projects.

How do GCPs relate to the quality of the project?

  • GCPs relate to the quality of the project, as it is used to increase the accuracy of locations of the project.  This is essential when a company is paying for a high quality project, as they want the most accurate data possible.

What are the differences between checkpoints and GCPs?

  • GCPs are used to actually correct the errors and inaccuracies of the project, whereas the checkpoints simply shows the error. It is not typically used to correct the errors.

Methods:


The goal of this lab as mentioned in the introduction was to take pictures captured by a UAS and process the data, importing the GCPs this time.  This may sound similar to Lab #4, as that lab was processing the data without GCPs.  In this lab, however, it will include the entire area which consist of 53 images rather than the smaller subset of 21 images used in Lab #4.  These pictures used were provided to us from Dr. Hupy. The mission was once again of the Wolf Creek Paving Company’s property in Milwaukee, Wisconsin (As seen in Lab #3 and Lab #4).  This flight was flown on June 13th, 2017 by Peter Menet at an altitude of 70m.  An example of some of the pictures captured can be seen below in Figure 1: Example of Pictures Taken.  As a refresher, these pictures were taken using a Zenmuse X5 with rolling shutter which means that the camera takes a picture every second which will then be used to construct the point cloud.  It is important to mention again that this project, unlike like Lab #4, will be working with ground control points (GCPs).


Figure 1: Example of Pictures Taken


Once again, before starting this project, proper file management is key.  The same file structure was used as the previous labs that consist of three folders, a collection folder, processing folder, and analysis folder.  This can be seen in Figure 2: File Management.  If interested in learning more about this structure, here is a link to the previous lab talking about it.



 Figure 2: File Management


To start, Pix4D was opened, and a new project was created.  When doing this, the program prompts for the name of the project.  The name of every project should follow a similar format that includes the data, site, platform/sensor, altitude, and corrections.  For this project, it was named 061317_Wolf_X5_70m_GCP.  



Next, Pix4D will then ask you to select the images.  For this project, we selected the entire set of pictures (53 images) of the original area.  Once the photos are selected, it displays the image properties. A majority of the time, Pix4D will get all the settings right, but it is always best to double check and not trust the defaults.  For this instance, a few items had to be changed. One of the items was changing the shutter from a global shutter to a rolling shutter, as this is what the Zenmuse X5 uses.

The output coordinate system has to then be selected.  For this project, we used the WGS 84 UTM Zone 16. Next, the processing template has to then be selected.  The 3D Maps template was chosen. After that, the finish button was selected.

The project screen then appears and shows the flight and the image acquisition pattern. This will give you a preliminary indication of the quality.  If any unwanted images are displayed (not in the same general area typically), it will be able to be seen on this screen. For this project, all the images were good.  

It is important to test the quality of the images before spending all the time processing the data.  To do this, only 1. Initial Processing should be checked (uncheck 2. Point Cloud and Mesh and 3. DSM, Orthomosaic and Index).  After reviewing the processing options and unchecking steps 2 and 3, the initial processing can be done. Typically, this will take some time depending on the size of the project.  This lab took around 7 minutes and 56 seconds as seen in Figure 3: Quality Report.  It is important to point out that since the GCPs have not been imported yet, it shows under “Georeferencing” as “yes, no 3D GCP.”

Figure 3: Quality Report


The quality report will provide the information on the quality of the data accuracy and collection.  It is important to read this report thoroughly to ensure problems can be addressed before filly processing.  If it looks good, the rest of the processing can be done by checking 2. Point Cloud and Mesh and 3. DSM, Orthomosaic and Index.  Remember to uncheck 1. Initial Processing or it will repeat that step, wasting a lot of time.  After this has processed, a screen similar to the one in Figure 4: Completed Processing will appear.

Figure 4: Completed Processing

Once it has been processed, the GCPs can now be added in.  This is done by going to “Project” in the upper left and selecting the “GCP/MTP Manager.”  This will bring up the GCP/MTP Manager as can be seen in Figure 5: GCP/MTP Manager.  As can be seen, there is currently no GCPs added in.

Figure 5: GCP/MTP Manager

To import the GCPs, the “Import GCPs” button is selected.  The Import Ground Control Points dialogue box then appears which can be seen in Figure 6: Import Ground Control Points.  It is vitally important to remember that the coordinate order for GIS is Y,X,Z rather than the norm of XYZ, so this needs to be selected.  The massaged data can then be selected by selecting Browse. For this project, the text file was in two places along with the Metadata (one in the Collection folder and another copied into the the overall lab folder).  After that was selected, the OK was selected.

Figure 6: Import Ground Control Points

These GCPs can now be seen in the GCP/MTP Manager screen which can be seen in Figure 7: Imported GCPs.

Figure 7: Imported GCPs

These GCPs are also able to be seen in the map view as well, indicated by the blue crosses.  This can be seen in Figure 8: GCPs on Map.

Figure 8: GCPs on Map

Next, the GCPs has to match the actual indicated GCP placed during the capture of the project.  This is done by clicking the RayCloud and then dropping down the GCPs / MTPs menu which can be seen in Figure 9: RayCloud with GCPs.

Figure 9: RayCloud with GCPs

Each GCP can be clicked and adjusted from here.  This can be seen in the bottom right and in Figure 10: View of GCPs Before Adjustment.

Figure 10: View of GCPs Before Adjustment

The GCP location has to be edited for each image.  The blue circle indicates the error present. The difference between the GCP and Non-GCP can really be seen with this adjustment process, as what was thought to be the GCP had major errors in the actual location of the GCP.  This difference can be seen in Figure 11: Error with GCP.  When it comes to adjusting the GCP, it is recommended that 3-4 images are to be used for each GCP.  Adjusting each image can be seen in Figure 12: Adjusting GCP, and it is done by clicking the location of the field marker.

Figure 11: Error with GCP

Figure 12: Adjusting GCP

After each GCP has been adjusted, as seen with GCP 102 in Figure 13: Adjustment of GCPs, the project can then be rematched and re-optimized.

Figure 13: Adjustment of GCPs

To rematch and optimize, it is selected from the “Process” drop-down.  It is important to ensure that the Initial Processing is unchecked. Once this is done, the Start button can be clicked.  This will take some time, but once it is completed, the Point Cloud and Mesh and DSM, Orthomosaic and Index will turn from red text to green text.  This can be seen in Figure 14: Reoptimization Complete.

Figure 14: Reoptimization Complete

The project has now been processed with GCPs.  A quality report will be produced similar to before in Figure 3: Quality Report, but it is important to notice that for Georeferencing there are 6 GCPs with the mean RMS error of 0.026 m.  This can be seen in Figure 15: Quality Report with GCPs.

Figure 15: Quality Report with GCPs

The processing times with and without GCPs can be found in both quality reports.  The processing time for the Orthomosaic without GCPs was 7 minutes and 52 seconds whereas the processing time for the Orthomosaic with GCPs was increased by 1 minute and 9 seconds, totaling 9 minutes and 1 second.  A full comparison and contrast can be made below in Figure 16: Processing Time without GCPs and Figure 17: Processing Time with GCPs.

Figure 16: Processing Time without GCPs

Figure 17: Processing Time with GCPs

These adjusted GCPs can be explored in the Point Cloud.  This can be seen in Figure 18: Point Cloud with Adjusted GCPs.

Figure 18: Point Cloud with Adjusted GCPs

The project has now been processed with Pix4D.  Now, the map can be created using ArcGIS Pro. To do so, a new project was created.  The folder connection of the data processed in Pix4D was added, and the orthomosaic was added in.  This orthomosaic does not have the GCPs marked in as is required. In order to do this, the Import GCPs tool from the Manage GCPs menu was selected.  The location of the GCP File has to be selected. In this case, it is called WolfPaving_UTM16_massaged. This can be seen in Figure 19: Massaged Data.

Figure 19: Massaged Data

In this text file, the order of the data is the name of the GCP, the X, the Y, and the Z.  It is important to once again point out that this should be flipped. This is why in Figure 20: Adding in GCPs, Field 3 is selected for X Field and Field 2 is selected for Y Field.

Figure 20: Adding in GCPs

After this, the GCPs have been added in.  This can be seen in Figure 21: GCPs Added In.

Figure 21: GCPs Added In


Although the GCPs have been added in, the default marker is a little hard to read.  Due to this, I changed the symbology to a red and black triangle.  The layout can now be added with this as the biggest map frame.  This now looks great, but we are missing a large part of this assignment.  The inset maps have to be made.  In order to do this, new maps have to be created.  Dr. Hupy showed us a little shortcut that expedites the process of having to import the orthomosaic into each map.  This is done by copying and pasting it from one map into all six new maps that will be used for the detail inset of the GCPs.  After this, I zoomed in and found all six GCPs using the first map I created with them showing.

The insets can now be added to the Layout tab.  This is done by clicking Map Frame and inserting it near the GCP.  This was done six times, and I ensured all of the insets were the same size.  To show the location the insets are showing, I added lines to better display this where it was of.  I then added all the necessary cartography components that makes it a map such as a title, metadata, compass, scale, key, and watermark.  This can be seen in Figure 22: Final Map.
Figure 22: Final Map

Discussion:

The GCPs relate to the data and the quality of it, as the ground control points are known locations that can be used to geo-reference and correct the imagery.  This can be seen in in Figure 11: Error with GCP.  The amount of error can be seen with this, as it is decent amount of distance from the actual GCP.


Figure 11: Error with GCP
It is also important to point out, that the GCPs corrected the elevation of the project from 306.54 MSL (without GCP) to 278.36 MSL (with GCPs). This is a huge difference when comparing the elevation of both.

Taking a look at the final map, it can be seen that insets can show a detailed view of a specific point.  The markers of the GCPs can be seen in this map whereas if these were not there, the marker on the ground could not be seen.  This can be seen in Figure 22: Final Map. This can be important if a client asks about the location of the GCPs used.

Figure 21: Final Map

Conclusion:

Ground Control Points can increase the level of accuracy of the data.  It can be used to correct the data if needed. Throughout this assignment, we had the opportunity to explore this and import them into our projects.  This can be extremely useful in the future when companies are paying a lot of money for the data that has to be accurate and precise. Now knowing the basics of Ground Control Points, I understand the importance of having these points in a project.

Comments

Popular posts from this blog

Using Arc Collector

Measure Ground Control as a SSoT for Mission Planning, Flight Records, and Maintaince of UAS

Building Maps with UAS Data