Support Website Contact Support Blog

[Pix4DMapper] [Desktop] Optimizing step 1; does order matter?

When optimizing step 1, does the order of operations matter?


For example, we have a project where after step 1. the camera optimization is poor (10%), and the matching needs to be improved with MTPs. We have GCPs.

Should we process step 1., then load optimized camera parameters and rematch and reoptimize until we get good camera optimization in the quality report, and then work on matching with MTP’s? OR should we match MTPs first, reoptimize, then work on the camera parameters?

Or does it not matter what order operations are done for step 1? 

Does it matter if GCPs are added first before processing step 1, or can we process step 1, then add the GCPs/MTPs and work on camera optimization?


I never mess with camera optimization and just let Pix4D do its thing automatically.

You can add MTP/GCP either before or after Step 1 as I haven’t seen a difference either way…except the extra time to re-optimize (no rematch necessary).  In your particular project with GCPs, I wouldn’t think MTPs are needed if the mission planning was proper with good overlap and good coverage of GCPs.

I agree with Adam. You really don’t need MTP’s if you’ve done flight planning properly. I’m always taking a lot extra pictures just to be sure.

I’ve done plenty of projects with GCP’s and now I’m adding them almost always after processing step 1. it’s just way easier to mark them using raycloud. I don’t care about the extra time it takes to reoptimize the project.

Adam, the project was over partially snow-covered terrain, so there are a number of areas with poor matches despite 85% overlap of images. We tried to add MTP’s near those areas to improve matching. Maybe I misunderstand the purpose of MTPs.


We have had some projects with poor camera optimization after step 1, and have used the pix4d instructions for loading optimized parameters and reoptimizing and rematching. This has worked for us to improve camera optimization results in the quality report.


After trying it a couple ways, I see that adding GCPs and MTPs after step 1 and reoptimizing seems to work fine.

Hi there, 

I would use the “load optimized” button for the internal camera parameters only if the camera is not in our camera database yet and if you would like to create a new camera model for it. This involves adding Manual Tie Points (MTPs) as references and do some iterations until the optimization does not change anymore. The MTPs are like a reference that can be used in the optimization, that’s why I would suggest adding them before optimizing the parameters. The detailed procedure is described in this article: 

If the camera is in the camera database and there is a large difference between initial and optimized parameters, it is tempting to “load optimized” parameters to reduce the percentage displayed in the quality report…the problem with that is that you were able to remove the flag in the quality report, but the software has ended its optimisation at the same camera parameters. The percentage displayed is just smaller because the optimized parameters from the previous trial was already close to that “optimum”, i.e. nothing changed from when there was a large difference in the camera parameters. 

If the camera model from the Pix4D camera database is used, I would take a different approach to reduce the difference between initial and optimized parameters. In some cases, the optimization of parameters can have more than one optimal result: one close to the initial parameters and one further away. This often happens with DJI cameras. In that case, you can use the “All Prior” option in Process > Processing Options > 1. Initial Processing > Calibration > Internal Parameters Optimization.

There can also be other reasons for large differences in the camera parameters, depends a bit on the case, but the above hints should help in a majority of them. 

As for the order in which Ground Control Points (GCPs) should be added. I generally add them after step 1. Initial Processing, because it’s easier to mark them. Then, just make sure to click Process > Reoptimize. Otherwise they are not taken into account. Note: you can also add them before step 1 in the Basic Editor, but I’d only use it if there is no other option. 

Hope it helps!