Pix4D catch data processing noises in DSM

I am trying to process iPad Pro Pix4D Catch data (photogrammetry plus LiDAR) that was captured using the device’s GPS in WGS 1984. I’m using Pix4D Matic software for processing. When I process the data without georeferencing, it generates a dense point cloud (around 117,260,000 points), a good orthomosaic , and a DSM. However, when I try processing it by georeferencing with around 5 control points 4 at the corner and 1 at the middle using the NAD 1983 (2011) Texas South + NAVD 88 coordinate system, I notice some noise in the data, a significantly reduced point cloud (around 121,035 points), and the DSM and orthomosaic contain holes and noise


. What could be the possible reason for this?

I kept every setting as default except for generating high dense point cloud and used fusion of Lidar and photogrammetry in both.

Hi @spandey1

That’s weird indeed. Can you please share the quality report and log file of your project? This may help to better understand what’s happening.

Beach_Scan_georef_second-quality_report.pdf (3.7 MB)

Attached is the processing report and log file is in the following link:

Thank you for your assistance.

BeachScan_Project_2024-08-02_09-54-quality_report.pdf (2.7 MB)
The quality report of same project without georeferencing.

Thanks for sharing both quality reports.

At first glance, here are the things I noticed:

  • The camera positions plot seems to show that the initial and optimized cameras are really far away from each other. They should be more or less at the same place though, could there be something off with easting/northing that were in the wrong order for GCPs?
  • There are only 4 GCPs marked and the marks do not seem to be reliable, you can check that in the “Verified/Marked” column. The reprojection errors are really high too, seeming to indicate that something is off (note: no step seems to be outdated (i.e. in orange at the end), so it’s not a question of using reoptimize to take marks into account. As the project is on a beach and the target look really similar, I’m wondering whether the right images were marked for each target. Can you please double check?
  • Same for checkpoints, I’d recommend to check the marks and to add more marks on them:
  • I’d recommend to make sure there is a clearly visible number on the targets (hard to see based on the quality report), so that it’s easier to mark them correctly.

That should already help?

Thank you for your reply.

I realized something after reading the following blog:

The initial camera position is far off because the data was captured using an iPad Pro (Wi-Fi only) in a remote location without Wi-Fi access. I discovered that the iPad Pro (Wi-Fi) has a digital compass (iBeacon microlocation) but lacks a GPS/GNSS module. Wi-Fi-only models can only infer their location based on a database lookup of neighboring Wi-Fi networks or the geographic location of a public IP address.

When I captured the data, the device assumed the location was a null island (0, 0).

Regarding the GCPs, I verified them using ArcGIS Pro in the local coordinate system, and they are correctly aligned. I also double-checked each target in the correct order by visualizing the initial position and marking the location of each.

I tried processing the data again following your guidance, but I’m still encountering the data gaps, as shown in the attached report.

Could the distance between the initial and optimized locations be the sole reason for this issue? However, I believe that distance shouldn’t impact the results this significantly.
Beach_Scan_georef_second-quality_report.pdf (3.4 MB)

Okay, that explains why we saw a difference between the initial and optimized positions when there were GCPs.

It’s weird though that the issue persists, looking at the last report, I see you marked some more images and the total errors decreased, but we’re still not there…

Looking at the GCPs and CPs, I see that there are still a lot of marks that seem to be unverified (circled in black) and high reprojection errors. This seems to indicate that either there are wrong marks, in that case you’d need to correct how they’re marked in the images (zooming in before marking usually helps), or there are not enough marks from different points of views to the same GCP. For the latter, you can select a GCP and check the rays that go to it, ideally, there are yellow rays (it means you marked the point in the image) coming from all directions, which means it should better minimize the error.

There may still be an issue related to the coordinate reference system and the geotags…the best in this case would be that we can set the coordinate reference system of the images to “arbitrary CRS” and remove the geotags of the images if needed too, so that they do not have an influence on the processing. Those are two developments that we still need to address, I hope to have them by end of Q1 2025 though. That doesn’t help for right now…I’ll reach out to to coordinate reference experts in the team to see if they have a suggestion.

Okay, so here is the information I got from the CRS specialist:

Texas is around 100 deg west and 30 deg north. The distortion of 0,0 in EPSG:6585 is about 11%, and the meridian convergence (the angle between north and Y axis) is about 44 degrees (and you are lucky, because transverse mercator is much worse in that particular case).
Setting the CRS of the project to Texas South and projecting the cameras from null island will produce… bad data.

We definitely need to look into this on our side, e.g. by not sending data to null island when there is no GPS in PIX4Dcatch. That said, right now, a workaround would be to strip the images of its geotags and then try again. I haven’t done this recently, but I know there are command line applications such as exiv2 and exiftools that may be of help

EDIT: you can use: exiftool “-gps*=” FILENAME

One more idea, how about you use the “Offset camera positions” in the camera table, you select all cameras and then you offset them to be closer to Texas (instead of the Null island) with right click > offset camera positions. Then the issues in the coordinate transformations should be much lower.

I tried offsetting the camera position to a nearby location within Texas, near my study area, using coordinates of 27.1728 latitude, 97.3697 longitude, and an ellipsoidal height of 0 m. However, it ended up placing the cameras in an unfamiliar position in Asia. Could this be a bug, or is there something else I might be overlooking?

You may be missing the “-” in front of the longitude? i.e. -97 instead of +97

We have a few ideas on how to fix this in the future, but we’d need the dataset to make some experiments. Would you be willing to share the data with us? (images, project, GCPs,…)

Yeah, I was missing the negative in longitude. This resolved the issue, although the initial orientation is in different direction. The calibration solved the issue. Thank you for your coordination.

I was using the data for research purposes, but I can share it for experimental purposes since I have additional data captured in a similar manner. Georeferencing might be challenging because all the targets are identical, so I used ArcGIS Pro, along with camera positions and image numbers, to verify the GCPs. Since this is a public community blog, I can share the data privately via email or another secure method.