Forum

Author Topic: Work Flow for GCP  (Read 93184 times)

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14839
    • View Profile
Re: Work Flow for GCP
« Reply #30 on: March 29, 2018, 03:30:34 PM »
Hello Marija,

Ok, understood. Yes, rough mesh generation can be skipped, as it is mentioned for the user convenience, when placing GCPs.

The optimization parameters that you are using also seems to be fine for the project.
Best regards,
Alexey Pasumansky,
Agisoft LLC

Marija

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Work Flow for GCP
« Reply #31 on: March 29, 2018, 05:41:13 PM »
Hello Alexey,

I turn on Adaptive camera model fitting and try to finish my project again.
I export it in dxf and for some points there is difference in few mm and in another 20cm. But when I am marking my GCP on pictures, I am looking that the Error is the smallest as it can be (around 0.01 or 0.009). Error is happening sometimes in the middle (where overlap is good) and sometimes where overlap is bad.
Which parameters I have to check and make it smaller to have better result?
What is minimum tolerance of marker errors?
What about Camera error? When I turn camera off before building pointcloud, does it can affect my accuracy on some points.

Thanks,
Marija

Marija

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Work Flow for GCP
« Reply #32 on: April 03, 2018, 12:54:26 PM »
Dear Alexey,

Can you, please advise about errors also?
What is the tolerance?

Kind regards,
Marija

n@sk

  • Jr. Member
  • **
  • Posts: 89
    • View Profile
Re: Work Flow for GCP
« Reply #33 on: April 13, 2018, 04:47:33 AM »
Hi geomaticist,

Here is something that might be of interest for you:
 
Quote
Survey precision under direct georeferencing could be 2–3 times better than from GCP-control.
James et al 2017 (EARTH SURFACE PROCESSES AND LANDFORMS)

James et al have done some extensive research on marker precision. Their work suggests that photogrammetric models based on 'air control points' with cm accuracy are more accurate than models that have been processed using traditional GCPs at cm accuracy.


Hi SAV

I apologise for the partial deconstruction of some of your posts but I read them all in one go and I felt that I had to make some comments, so I am just  leaving this here for future reference (even though the post diverged slightly off topic and was hijacked by Marija).

I think that replacing the term "precision" with "accuracy" is misleading.
James et al. reiterate the notion that a free bundle adjustment minimises the trace of the a posteriori covariance matrix (precision).
(Also, don't forget that their results are primarily based on computer simulations.)
The accuracy of the result will be unavoidably affected by the accuracy of the GCP coords, even if minimal constraints are used;
however, X cm on the ground are approximately X cm on the ground, whereas propagating X cm in the air to the ground will not only depend on the flying height and the imaging configuration but also on the quality of the interior orientation parameters.
As we are talking about non-metric cameras within a self-calibrating bundle adjustment, projective compensation should be expected and can potentially affect the "internal consisteny" of the result even if one is not interested in absolute georeferencing.

Hi geomaticist,

Using cm accuracy air control points allows you to achieve the same accuracy compared to cm accuracy ground control points. Theoretically it might be even more accurate because you generally have many more air control points (= number of images) then you would have ground control points.

I've done some tests where I first estimated the accurate location of geotagged UAV imagery based on cm accuracy ground control points. Then I used the estimated geolocation of the pictures (cm accuracy) and removed all ground control points from the project and tried to reconstruct the scene without them. The resulting model had basically the same cm accuracy as the one that used GCPs. You can do the same test yourself  ;)

If you are on a limited budget, you might be better off sticking to the 'traditional' workflow using cm-accuracy ground control points.

Regards,
SAV

I do not doubt the fact that you got the same results, as you explained that you re-ran the project from scratch,
but I would argue that the only reason why you did get these results was because you already had the GCP values and were able to initialise the bundle adjustment with reliable approximate values in order for it to happily converge within a few iterations.

At some stage, however, it becomes a 'philosophical' question, IMO. The Earth is a quite dynamic system that changes over time. For example Australia is moving NE by about 7cm each year (!!!). One should be aware of such 'natural error' that needs to be considered as well.

I think in the end it boils down to the project requirements. For some, the absolute accuracy is not crucial. For example, if I simply want to calculate a volume of an object (e.g, stockpile), I don't really care if the whole survey is off to the E/N/S or W by a few meters. As long as it is properly scaled and internally consistent, it will deliver the correct measurements/results.

ad 2) Note that your before/after point clouds will only be accurately aligned if you surveyed your ground control points at high accuracy (i.e., using and RTK GPS). If that's not the case, you could align your point clouds in CloudCompare using ICP before computing the cut/fill volumes. Details here: http://www.cloudcompare.org/doc/wiki/index.php?title=ICP

The "philosophical" question that you describe is taken care of by the realisation of the terrestrial reference frames, unless of course the drone continuously records images all year long! :-)
Based on your most recent post, I understand that you appreciate the importance of GCPs and that the ICP is the last resort, especially in the dynamically changing environment of a quarry.
Unfortunately, ground control and check points for almost normal blocks of almost flat areas are not a "tradition" but a necessity, if metric accuracy is required.

regards
« Last Edit: April 13, 2018, 04:53:01 AM by n@sk »

gto234

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: Work Flow for GCP
« Reply #34 on: April 19, 2018, 01:04:41 PM »
8. Verify and link markers to images (use FILTER BY MARKERS by right clicking on GCP). Because the acquired images and the markers now have the same coordinate reference system, it should be easy to find and mark your GCPs in your images. Mark each GCP in 3-6 images. That should be sufficient. When finished, press the UPDATE button in the reference pane.
Hi SAV,
regarding your excellent workflow I would like to ask about step 8.
You say "Mark each GCP in 3-6 images.That should be sufficient."
What if I have a 500 photos dataset in which every GCP is on 20+ images (double grid mission)? Which of them should I choose? In my tests I see that choosing different pictures for GCP's leads to different final accuracy.
Should I choose the photos that the GCP is close to the center or to the edges of the photos?
Is it better to link the GCP's to ALL the pictures that is spotted?
Is the final model affected if I choose every GCP in 3-6 images instead of 10+ images that usually every GCP is on?
Thanks in advance.

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Work Flow for GCP
« Reply #35 on: April 20, 2018, 06:47:09 AM »
Hi gto234,

I would normally choose pictures where the GCPs have the best visibility and sharpness. After selecting each GCP on 3 - 6 images, you can check PhotoScan's suggestions for these GCPs in other images (grey flags). If there are a few flags that are not aligned with your GCPs visible in the imagery, then adjust them too.

Regards,
SAV

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Work Flow for GCP
« Reply #36 on: April 20, 2018, 07:42:41 AM »
Hi n@ask,

Thanks for pointing out the 'inconsistencies'. I agree, precision and accuracy are NOT the same.

Accuracy is quite a complex topic when it comes to SfM MVS workflows. There are many factors that play a role. As you pointed out, the GSD (that is controlled by your chosen lens & camera as well as the distance to the object) has an important influnce on your accuracy. A larger GSD will lead to a lower accuracy.

Moreover, as pointed out by James et al (2014), the additional collection of oblique imagery instead of nadir only (convergent imaging geometries) is able to reduce the error in self-calibrating image networks where the interior orientation parameters are acquired during processing (bundle adjustment). This means that accuracy is also influenced by camera orientation. There are many other factors that ultimately control accuracy (e.g., rolling shutter, image quality, ...)

Quote
I do not doubt the fact that you got the same results, as you explained that you re-ran the project from scratch,
but I would argue that the only reason why you did get these results was because you already had the GCP values and were able to initialise the bundle adjustment with reliable approximate values in order for it to happily converge within a few iterations.

I get your point, but I actually added a random X, Y and Z error of 1-4cm to all camera locations to avoid this problem. The resulting model using 'air control points' only had the same accuracy as the one with ground control points. I think that the much larger number of air control points (one for each picture) compared to traditional ground control points helps to 'optimise' the camera and scene geometries and therefore delivers reliable and useful results.
I have also discussed this topic with surveyors; ground truthing using traditional GCPs is a good option to make sure that surveying results are correct and accurate. I personally always make use of ground control (if only) for QC validation.

Nevertheless, there have been a number of studies and white papers that suggest that high accuracy datasets are achievable without any ground reference information by using an UAV with RTK/PPK capabilities  (e.g., https://www.questuav.com/wp-content/uploads/2017/07/DATAhawk-PPK-Accuracy-Assessment-and-Validation-v1.1.pdf).

Quote
The "philosophical" question that you describe is taken care of by the realisation of the terrestrial reference frames, unless of course the drone continuously records images all year long! :-)

The Earth is dynamically changing every day, but terrestrial reference frames are not. They are updated only when the error gets too high, as far as I know. Here is a description of the newly implemented reference frame for Australia GDA 2020 with some interesting information. http://www.ga.gov.au/scientific-topics/positioning-navigation/geodesy/datums-projections/gda2020


All the best.

Regards,
SAV




« Last Edit: April 23, 2018, 10:22:34 AM by SAV »

geomaticist

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Work Flow for GCP
« Reply #37 on: October 13, 2018, 04:15:38 AM »
SAV


Just commenting in regard to the 'air control'. We have done the same test you suggested to simulate having rkt or ppk positions. And got the same results you mention. So now we are in the process of sorting out how to get PPK on our drones. I know this is already figured out - but there is not yet some good 'how to' out there.

Main reason for this reply is to add our experience as evidence. We ran raw imagery with proved up positions (by imputing it back into the images after a GCP process.) We used EXIF TOOL for anyone interested. Anyhow it worked as expected. The whole point is what happens when you feed in more precise photo positions. Well you really do seem to get equivalent precise results. So then ground control is really more of a check and not part of the process. Which will be better, of course.

So on to air control. Once I sort out how to do it I will post a video or a write up. There just does not yet seem to be one out there. Even though a lot of products are set up to use this method.

JMR

  • Hero Member
  • *****
  • Posts: 502
    • View Profile
Re: Work Flow for GCP
« Reply #38 on: October 13, 2018, 11:01:13 AM »
Drobit PPK system: https://www.youtube.com/playlist?list=PL_cDdjQPbX1ELtrW_3AixwvckbSGFKtYL

This thee videos show how we work with Photoscan and DROBIT, the PPK system that we have created. It has been adopted by Airbus for a R&D project, and also by some mining and surveying firms. If you want more info plus contact me.

3dfriend

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Work Flow for GCP
« Reply #39 on: August 19, 2019, 03:08:54 PM »



hi SAV
thank you for your great workflow which i followed step by step.
still as a "total error" i have
2.06.. m for control points and
1.66.. m for check points

because i have no GNSS collecting gear, i have picked the data of the ground control points of a online gis browser (maps.zh.ch) and copied the WGS84 coordinates to the corresponing markers in my survey.

i took among others manhole covers visible in my photos as well in the GIS browser. when clicking in the GIS browser on such a "target" it will give me the coordinates which i transfered then to the correspining marker.
do you think this may causing the error? the swiss survey enginees have a good reputation when it comes to precision...
thank you for your opinion about that
Martin

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Work Flow for GCP
« Reply #40 on: August 20, 2019, 04:58:20 AM »
Hi Martin,

If you can identify and mark 'FIXPUNKTE' instead of manholes in your aerial imagery you should be able to improve the overall accuracy because in maps.zh.ch these seem to have more accurate coordinates (e.g., N 2685744.558) associated with them when compared to a 'standard selections' which seem to be rounded to the full m (e.g., N 2685744). I assume this rounding is also applied to WGS84 lat long.

Also check if your GCPs are properly distributed throughout the area and that you have them checked / ticked when running OPTIMISE.
Also double-check if image quality and overlap are both sufficient.

All the best.

Regards,
SAV





hi SAV
thank you for your great workflow which i followed step by step.
still as a "total error" i have
2.06.. m for control points and
1.66.. m for check points

because i have no GNSS collecting gear, i have picked the data of the ground control points of a online gis browser (maps.zh.ch) and copied the WGS84 coordinates to the corresponing markers in my survey.

i took among others manhole covers visible in my photos as well in the GIS browser. when clicking in the GIS browser on such a "target" it will give me the coordinates which i transfered then to the correspining marker.
do you think this may causing the error? the swiss survey enginees have a good reputation when it comes to precision...
thank you for your opinion about that
Martin

3dfriend

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Work Flow for GCP
« Reply #41 on: August 22, 2019, 07:46:01 PM »
many thanks SAV!
i did now what you sugested which much better results now. since i flew in 60m altitude. the bolts in the ground are not visible. so i had to go back and identify them. now with only 3 "fixpunkte" accuracy is better then 10cm (0.096)

SAV

  • Hero Member
  • *****
  • Posts: 710
    • View Profile
Re: Work Flow for GCP
« Reply #42 on: August 22, 2019, 08:31:16 PM »
Hi Martin,

Great to hear that it worked and that you were able to improve your overall accuracy.

Regards,
SAV


many thanks SAV!
i did now what you sugested which much better results now. since i flew in 60m altitude. the bolts in the ground are not visible. so i had to go back and identify them. now with only 3 "fixpunkte" accuracy is better then 10cm (0.096)

dpitman

  • Full Member
  • ***
  • Posts: 246
    • View Profile
Re: Work Flow for GCP
« Reply #43 on: July 04, 2020, 05:00:25 AM »
..removed.
« Last Edit: July 04, 2020, 05:59:56 AM by dpitman »

Tonci992

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: Work Flow for GCP
« Reply #44 on: August 27, 2020, 02:27:20 PM »
Hi geomaticist,

Here is what I think is the 'best practice workflow' to process UAV survey datasets with highly accurate ground control points (surveyed using cm accuracy RTK GPS). Note that this is my 'optimised' workflow for imagery acquired by DJI drones (Inspire 1, Phantom 4 Pro, Mavic Pro).

1. Import Photos

2. Manually remove images that are obvious 'outliers' (e.g., images that have been taken before take off etc)

3. Convert GPS coordinates of your geotagged images (WGS84) to match the coordinate system of your ground control points (GCPs) which will be imported later. Note that the altitude information stored in the EXIF data of imagery acquired by DJI drones is the relative altitude from the point of take off and not the absolute/real world altitude. Here are 3 ways to fix this issue: http://www.agisoft.com/forum/index.php?topic=4986.msg38769#msg38769

4. Estimate image quality. Disable all images that have an image quality below 0.7

5. Generate masks if necessary (for example, if you don't want to include cars or other moving objects). Optional.

6. Align photos (quality HIGH, pair preselection: REFERENCE, key point limit: 40,000, tie point limit: 4,000, adaptive camare model fitting: YES). Note that you do not need to run the image alignment process twice if you follow this workflow.

7. Import list of ground control points (also include the X/Y/Z accuracy values)

8. Verify and link markers to images (use FILTER BY MARKERS by right clicking on GCP). Because the acquired images and the markers now have the same coordinate reference system, it should be easy to find and mark your GCPs in your images. Mark each GCP in 3-6 images. That should be sufficient. When finished, press the UPDATE button in the reference pane.

9. Assuming that you have a sufficient number (~8 or more)  of high accuracy ground control points, uncheck all images in the reference pane and also uncheck a few GCPs (20 to 30%) in order to use them as check points instead of control points. This will give you a better measure of the 'real accuracy' of your dataset. Note that the layout/distribution of GCPs is very important (as pointed out by JMR). If you have been able to correct the EXIF altitude information for all your cameras (see point 3), then you do not have to uncheck the cameras in the reference pane. They can be used as reference as long as the right camera accuracy settings (leave default 10m) have been chosen.

10. Clean sparse point cloud (EDIT > GRADUAL SELECTION). Remove all points with high reprojection error (choose a value below 1, I suggest to use 0.5-0.8 ) and high reconstruction uncertainty (try to find the 'natural threshold' by moving the slider).

11. Adjust your bounding box

12. Optimize camera alignment (magic wand button)

13. Build dense cloud (I would normally choose HIGH or MEDIUM quality, but it depends on what you want to do with the data and on your hardware including CPU, GPU and RAM)

14. Build mesh (not needed if you just want a DEM and/or orthophotograph)

15. Build texture (not needed if you just want a DEM and/or orthophotograph)

16. Build DEM (from dense cloud)

17. Build Orthomosaic based on DEM

DONE  8)


I hope that makes your life a little easier.

Regards,
SAV

Hello i just wanted to ask is this the same workflow 3 years after you wrote it, or is there something new now?

Im using the same workflow for a long time and im just asking if theres mb something new, improved?

Thank you in advance