How to manually calibrate uncalibrated Cameras in the rayCloud

When an image is not calibrated during step 1. Initial Processing, it can be manually calibrated using the rayCloud.

 
Note: The manual calibration should be done for a small amount of images. The procedure of manually calibrating many images can be time consuming and is not recommended. If many images were not calibrated automatically, it is better to find the cause of the problem: Quality Report Help.

In order to calibrate an image, enough keypoints of that image need to be matched accurately with other images of the project. Each keypoint that is matched in at least two images allows the generation of a 3D point. One uncalibrated image is not calibrated because no matches with other images were found or because no matches have been labeled as accurate. Therefore, in order to calibrate this image, new matches between it and calibrated images need to be defined manually.

In order to manually calibrate a camera:

1. On the Menu bar, click View > rayCloud.
2. Click on an uncalibrated camera in the rayCloud.
3. On the right sidebar, in the section Selection, the points corresponding to the selected camera are displayed on the image with:

    • Red cross: Automatic keypoints that are not matched with any keypoint of other images.
    • Orange cross: Automatic keypoints which are very likely to be matched accurately with keypoints of other images.
    • Yellow cross: GCPs, Check Points or Manual Tie Points marked on the selected image are considered to be Inliers.
    • Pink cross: GCPs, Check Points or Manual Tie Points marked on the selected image but considered to be outliers.

The section Tie Points displays all the tie points that are marked on the selected camera.

4. Double click a red or an orange cross. The selected cross becomes purple.

 
Note: It is recommended to use points well distributed in the image rather than located on the same area.

5. Each red and orange cross represents a keypoint and is associated to a 3D point that has a high probability to match it. The section Images displays a list of images where this keypoint could be visible using the associated 3D point. The keypoint is marked using an orange cross with an orange circle. The projection of the 3D point in those images is displayed with a green cross.

If the proposed points in the images correspond to the keypoint in the uncalibrated camera, this keypoint can be matched with those of the images by pressing the button Connect to Τie Point tie_point_create.png. This creates a new Manual Tie Point using the marked images.  

connect_to_tie_point.png

 
Tip: The higher the number of images in which the point might be visible, the easier it will be to validate the match and calibrate the camera. Use the slider on the right of the uncalibrated image to change the minimum number of images in which a keypoint is visible. Only the keypoints that appear in the number of images selected appear on the uncalibrated image.

6. Each time a match is added, the camera position is re-estimated. This new position is used to project existing 3D points into the selected image. If the reprojection error between these projected 3D points and the existing keypoints is low, a keypoint is labeled as being accurate and is called an Inlier. Those inliers are displayed as orange crosses.
7. Connect other existing points tie_point_create.png (at least 3) and / or define new Manual Tie Points tie_point_add.png(at least 3). 

 
Important: The Manual Tie Points should be marked on the uncalibrated image and at least 2 calibrated images. It should not be marked only on uncalibrated images.

8. Press Calibrate to calibrate the camera.

 
Important: The Calibrate button gets enabled when:
  • The image has at least 20 inliers.
  • All manually marked points (MTPs) are inliers.

10. If the new camera position and orientation are good, click Process > Rematch and Optimize.

Was this article helpful?
24 out of 40 found this helpful

Article feedback (for troubleshooting, post here)

4 comments

  • Daniel Moller

    Please, be clear on how to:

    1 - attach newly added points to the uncalibrated image  

    2 - remove one of the orange points that is completely wrong

    3 - make the manually added points become inliers so they define the calibration (got 20 points corretly marked that are considered outliers)

    4 - add tie points to calibrate images where there aren't any automatic tie points

    ----------------

    I've been comparing Pix4D with Photoscan, and Photoscan can correctly calibrate photos of a peer (lots of water) without any human intervention, while Pix4D is getting completely nuts.

    I thought of using Pix4D's manual tie points, masks, and all the other edit options to have an improved result, but sadly I can't even calibrate the cameras.

    Edited by Daniel Moller
  • Holden (Pix4D)

    Hi Daniel. I think that the issue may be due to something more fundamental and that manually calibrating images may not be the best solution. Can you open a support request and attach a quality report for a project that you are using for testing? Mention me by name and I should be able to pick it up and give you a hand. 

  • Daniel Moller

    The issue is too much water in the photos with relatively tiny fixed structures. The system marks most of its automatic tiepoints on the water.

    After struggling for a while, I managed to have a reasonable calibration, but I needed:

    - Double image size in step 1 configuration  

    - Lots of manual tie points (to compete with the water areas in which the system incorrectly creates lots of automatic tie points)

    For my own questions:

    1 - Attach newly added points to the uncalibrated image

    • If the target image is open, clicking on the image after clicking on "add new tie point" should mark the new point in blue  
    • If the target image is not open, click to close the current image (if there is any image open), click the existing tie point on the ray cloud, sort the images by name on the list that will appear, find the image you want and mark the tie point on it.   
    • If the image doesn't appear in the list mentioned above, open the basic GCP editor in the GCP Manager window. The images will certainly appear there

    2 - remove one of the orange points that is completely wrong

    This seems impossible in the current version of the program (4.3.31)

    But having enough manual tie points will result in a better calibration anyway

    3 - Make the manually added points become inliers so they define the calibration

    This might be hard and will not always work. But incorrectly calibrated images surrounding the target will count. They must be uncalibrated together with the target image so they don't incorrectly say your points are outliers.

    If it doesn't work, create the points anyway. At the end of the process rerun step 1 entirely. The newly created points will participate and generate better calibration in the end. Try to add the manual tie points far from each other and avoid putting them in planes with different heights.

    4 - Add tie points to calibrate images where there aren't any automatic tie points

    If the image doesn't have a single automatic tie point, you won't have the "add new tie point" button enabled when the image is open.

    Close the image, create a new tiepoint outside of the "recalibration" feature, find the image in the list using one of the methods mentioned in question 2 above.

    Edited by Daniel Moller
  • Holden (Pix4D)

    Thanks for sharing your findings!

Please sign in to leave a comment.