Forum

Author Topic: Placing markers increase camera erros after calibration  (Read 1345 times)

aag_frei

  • Newbie
  • *
  • Posts: 3
    • View Profile
Placing markers increase camera erros after calibration
« on: July 22, 2021, 05:12:32 PM »
To whom it may concern,

I have several data set of pictures taken with a DJI drone at different heights and dates which I add to the project and have an acceptable error. However, as soon as I place the markers and optimize allignment, the cameras error rockets.

I have tried fixing the f value in the camera calibration menu since in the adjusted tab it was twice what it was in the initial tab, but that did not help.

Does anyone know why does that happen and how to fix it?

Thank you in advance!

andyroo

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
Re: Placing markers increase camera erros after calibration
« Reply #1 on: July 22, 2021, 08:18:59 PM »
For accurate error estimates and apportionment between GCP and camera positions it is important to make sure that your error estimates for each are accurate. If the defaults for camera and GCP error are used (10m and 0.005m I think) then your GCPs will be much much more strongly weighted than your camera positions. For a good consumer grade system (not sure of DJI), the camera error might be 3m, or maybe 3/6 (xy/z) - I have no idea about the vertical. Similarly for a good consumer handheld GPS. Your error estimates will only be accurate, and your positions optimized, if you use accurate values for the camera and GCP error.

Also I'm assuming both camera and GCP are checked in the reference pane.

Finally, for projects where you can't constrain either the camera or the GCP accuracy very well (say you only have access to consumer GPS), if you can accurately measure the distance between two points you can create a scalebar - and you can assign accuracy values to that too. If you have several of these that are at different angles this can improve accuracy too.

aag_frei

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Placing markers increase camera erros after calibration
« Reply #2 on: July 23, 2021, 05:34:54 PM »
Hi! Thank you for your help! It actually works perfectly fine when I align the cameras at lowest accuracy. However, the problem persists when i align the pictures at high accuracy.

General setup:
-DJI Mavic 2 Pro, Camera calibration f fixed, in the Reference Pane Yaw, Pitch and Roll fixed to 20, 0, 0 (because it adds some strange values for yaw if I don't set it up manually).
-14 GCPs, measured with a Leica dGNSS via Sapos.
-Reference Accuracy: Markers 0.1m, Cameras 4m and 10°.

Workflow:
1. Add images to chunk, fix Yaw (20, from our flight plan), Pitch (0 - straight down?), Roll (0).
2. Fix f in camera calibration (4256).
3. Add & place markers.
4. Align photos with/without markers checked (I tried both, but both results in high errors). Without markers, only the cameras, the error for the cameras is fine. When checking the markers and actualizing, the errors of the cameras increase.
5. Optimize cameras... but same error.

Attached screenshots:
1. Reference pane without markers
2. Reference pane with markers
3. Errors without markers
4. Errors with markers


Paulo

  • Hero Member
  • *****
  • Posts: 932
    • View Profile
Re: Placing markers increase camera erros after calibration
« Reply #3 on: July 23, 2021, 06:44:01 PM »
hi aag_frei,

it seems the drone flew always facing in same direction (yaw = 20 deg) i.e. not turning when changing flight line (going forward on 1st line, backward on 2nd line, etc..) and this causes heavy correlation between internal parameters (f,cx,cy) and external  orientation....see https://www.agisoft.com/forum/index.php?topic=9820.msg58262#msg58262.
From https://agisoft.freshdesk.com/support/solutions/articles/31000158119-what-does-camera-calibration-results-mean-in-metashape- tutorial:
Quote
We recommend to review the adjusted values for the cx, cy, b1 and b2 parameters in the Camera Calibration dialog. If the values for the parameters are too large (hundreds or more for cx, cy and tens or more for b1, b2), then it may be reasonable to re-align the data set having these parameters fixed.
Usually the values for cx and cy are around a couple dozens of pixels (or less), as the values are measured from the center of the image. And the values for b1 and b2 are usually not more than a few units.
If the values are hundreds or even thousands - it indicates that the estimation of the calibration parameters is probably incorrect. Sometimes it may be related to the flight mission specifics, for example, if the camera is not rotated by 180 degrees on the neighboring flight lines. You can try to fix the mentioned parameters and re-align the data set having "adaptive camera model fitting" option disabled.
If you could show the adjusted camera parameters in Camera Calibration window to see if you have some unrealistic values for cx, cy....

You may have to fix f,cx,cy in initial alignment to get a result.... and then in final adjustment you may unfix....

Also in final optimizaton, I would deselect all cameras as their accuracy (consumer grade airborne GPS) is not great compared to markers and DJI drones have a history of storing wrong altitude (from your info, the drone flew around 25 m AGL which is very unlikely as it corresponds to 0.6 cm GSD).... But if markers were correctly determined using Leica dGNSS via SAPOS RS or VRS, you should get final errors on markers at the cm level not the dm or m level from your current results...

Hope maybe this gets you further along...

PS. you can look at camera.photo.meta["DJI/RelativeAltitude"] to see at what Altitude AGL the project was flown... In example attached the drone was flying at 120 m AGL with an altitude ASL of 138 m....
« Last Edit: July 25, 2021, 03:56:57 PM by Paulo »
Best Regards,

Paul Pelletier,
Surveyor

c-r-o-n-o-s

  • Jr. Member
  • **
  • Posts: 89
    • View Profile
Re: Placing markers increase camera erros after calibration
« Reply #4 on: July 23, 2021, 07:58:05 PM »
There are many sources of error...
Is the rolling shutter correction activated?