dicengine / dice

Digital Image Correlation Engine (DICe): a stereo DIC application that runs on Mac, Windows, and Linux
Other
350 stars 126 forks source link

Large RMS error stereo #329

Open BenWor opened 5 months ago

BenWor commented 5 months ago

I am using a custom calibration target (about 17 in x 22 in) and used 26 images to perform the stereo calibration. The calibration was successful, and all dots seem to be identified in all photos. However, the errors seem very large (RMS error = 1.15307 and AVG Epipoplar error = 1.59651). What could be the cause? Below is a link to a copy of the files in the working directory:

https://drive.google.com/drive/folders/1KU9w98_IBP_F_cH0NHzss3MNk8JCblAC?usp=share_link

-Should the focus be allowed to change from one picture to the next, or should it be locked during all calibration photos? -was the target not moved enough from one picture to the next? -does it matter that the origin of the target is in the bottom right corner of the photo instead of the bottom left corner? I could simply mirror the images -Are there too many or too few dots on the calibration target?

Thanks

Screenshot 2024-06-03 at 17 48 58 (3)

dicengine commented 5 months ago

The thing that stands out the most to me is that, as you noted, the target is in the lower right hand corner. This is likely messing up the orientation of the axes which follow a right-hand-rule convention. One simple way you could test if this is the case is by flipping the total pattern width/height and inner pattern width/heigh so that it's 5x7 instead of 7x5. The focus should not be adjusted during the calibration, that would throw things off too. Otherwise, the target looks great (dot size, etc.)

BenWor commented 5 months ago

Hi, I flipped the width/height of the target pattern options, but it was not able to identify the points, so I returned it so the width is always the larger of the two numbers. I retook the photos with better light, with a fixed focus on the speckle pattern (meaning the target is slightly out of focus), and added more photos (a total of 48). DICe only rejected one of the photos. However, my RMS error is still high at 1.06. I also tried mirroring all the images, but the RMS error did not change.

Do you have any other suggestions for things I could try?

Screenshot 2024-06-06 at 18 51 25 (3)

dicengine commented 5 months ago

It looks like the thresholding isn't doing a great job of isolating the dots. Are you using the most recent version of DICe: https://github.com/dicengine/dice/releases/tag/v3.0-beta.8? We made some changes to how the calibration segments the images that might do a better job.

BenWor commented 5 months ago

Thanks for looking into this. I couldn't tell what version of DICe I was using, so I uninstalled it and reinstalled the v3 beta 8 version from the link you provided. Something strange is that in the properties view, it says the program is V1.4.15, which seems strange (macOS Sonoma 14.4.1).

Screenshot 2024-06-07 at 15 28 55

I reran the program. All dots seem clear in almost all images, so I am assuming that means the auto thresholding is working. I got the same large RMS error of 1.06.

Screenshot 2024-06-07 at 15 45 39 (3)

Here is a link to the images I am using, which I converted from Canon Raw (CR3) to TIFF.

https://www.dropbox.com/scl/fo/p3b0vx71m3mov0dodqwp5/AO5bMo8NkfbhIYzqyoPzxYg?rlkey=v0dljwgj3k7mnyq8gysxzaze0&dl=0

Do you have any other ideas of things I could try?

dicengine commented 5 months ago

I still think having the coordinate system oriented in left-hand-rule instead of right-hand-rule might be messing things up. For example, in the way you have the axes, the cross product of the x and y axes is into the screen vs the way DICe is expecting the z-axis to be pointing out of the screen. Have you tried swapping the dimensions of the target in the newest version.

Regarding the version that shows in the Sonoma application info, I'm not sure how that is even set so you can likely ignore it.

BenWor commented 5 months ago

Thanks for following up with this.

When I switch the dimensions of the target by swapping the width and height, DICe is only able to identify 47 of the 63 dots (which seems to be a 7x7 grid minus the two special dots). See screenshot.

Screenshot 2024-06-10 at 12 00 22 (3)

I also tried mirroring all the images before giving them to DICe, so the images follow the correct sign convention. Similar to before, the program is able to identify all dots in all images, but the RMS error is still large at 1.06. See screenshot.

Screenshot 2024-06-10 at 12 15 58 (3)

I also ran DICe on a PC and got the same results as on the mac I have been using.

dicengine commented 5 months ago

Something else must be going wrong. Swapping the dimensions seems to be mostly working, but the errors for each of the image pairs is really high. Are you sure you don't have the left and right images swapped? Or can you post the cal.log file for the calibration?

BenWor commented 5 months ago

Thank you for continuing to work with me on this.

Indeed, in the screen shot above, when I mirrored the images I also should have switched the right camera to be the left camera. However, doing this did not seem to improve the results. Below I am showing a screenshot where I am using the mirrored images and switching the right camera to be the left. I also removed about a quarter of the photos that produced the largest errors which brought the RMS down to about 3. Below is a link to the files in the working directory if that is of any use and I posted the Console output below.

https://drive.google.com/drive/folders/1TQhRZl_5QmuFo3_2v_fZMR0MAf-uwkc9?usp=share_link

Screenshot 2024-06-11 at 20 09 13 (3)

I also took a new set of photos but I am getting similar results.

BenWor commented 5 months ago

Below is the Calibration window output:

Console output:

[--BUFFER_OUT--]: IMAGE_WIDTH 6000 [--BUFFER_OUT--]: IMAGE_HEIGHT 4000 [--BUFFER_OUT--]: IMAGE_WIDTH 6000 [--BUFFER_OUT--]: IMAGE_HEIGHT 4000 [--BUFFER_OUT--]: IMAGE_WIDTH 6000 [--BUFFER_OUT--]: IMAGE_HEIGHT 4000 opencv_dot_targets(): good dots identified: 3 warning: not enough (non-keypoint) dots found [--BUFFER_OUT--]: IMAGE_WIDTH 6000 [--BUFFER_OUT--]: IMAGE_HEIGHT 4000 opencv_dot_targets(): good dots identified: 3 warning: not enough (non-keypoint) dots found opencv_dot_targets(): good dots identified: 0 *** warning: not enough (non-keypoint) dots found [--BUFFER_OUT--]: IMAGE_WIDTH 6000 [--BUFFER_OUT--]: IMAGE_HEIGHT 4000 opencv_dot_targets(): good dots identified: 60 [--BUFFER_OUT--]: IMAGE_WIDTH 6000 [--BUFFER_OUT--]: IMAGE_HEIGHT 4000 opencv_dot_targets(): good dots identified: 60

Digital Image Correlation Engine (DICe) git: v3.0-beta.8 MPI: disabled Data type: double Storage type: double Copyright 2021 National Technology & Engineering Solutions of Sandia, LLC (NTESS) ** Report bugs and feature requests as issues at https://github.com/dicengine/dice

DICe_Cal begin

input file: C:\Users\worsfold\dice_working_dir\cal_input.xml output file: C:\Users\worsfold\dice_working_dir\cal.xml Calibration::init(): user specified input parameters: xml_file_format = DICe_xml_calibration_file [unused] image_folder = C:\Users\worsfold\Desktop\JPG flipped\ [unused] image_file_extension = .JPG [unused] stereo_left_suffix = _1 [unused] stereo_right_suffix = _0 [unused] image_fileprefix = IMG [unused] reference_image_index = 2 [unused] start_image_index = 2 [unused] end_image_index = 55 [unused] skip_image_index = 1 [unused] num_file_suffix_digits = 5 [unused] cal_target_type = BLACK_ON_WHITE_W_DONUT_DOTS [unused] num_cal_fiducials_origin_to_x_marker = 7 [unused] num_cal_fiducials_origin_to_y_marker = 5 [unused] cal_origin_x = 1 [unused] cal_origin_y = 1 [unused] cal_target_spacing_size = 60 [unused] num_cal_fiducials_x = 9 [unused] num_cal_fiducials_y = 7 [unused] draw_intersection_image = 1 [unused] cal_debug_folder = C:\Users\worsfold\dice_working_dir\ [unused] cal_disable_image_indices = {40} [unused] cal_opencv_options -> CALIB_FIX_INTRINSIC = 0 [unused] CALIB_USE_INTRINSIC = 1 [unused] CALIB_USE_EXTRINSIC = 0 [unused] CALIB_FIX_PRINCIPAL_POINT = 0 [unused] CALIB_FIX_ASPECT_RATIO = 0 [unused] CALIB_SAME_FOCAL_LENGTH = 0 [unused] CALIB_ZERO_TANGENT_DIST = 1 [unused] CALIB_FIX_K1 = 0 [unused] CALIB_FIX_K2 = 0 [unused] CALIB_FIX_K3 = 0 [unused] warning: ignoring invalid calibration option: CALIB_USE_INTRINSIC warning: ignoring invalid calibration option: CALIB_USE_EXTRINSIC Calibration::calibrate(): extracting the target points because they have not been initialized Calibration::extract_target_points(): target type is BLACK_ON_WHITE_W_DONUT_DOTS Calibration::extract_dot_target_points(): extracting dots Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_1.JPG

Digital Image Correlation Engine (DICe) git: v3.0-beta.8 MPI: disabled Data type: double Storage type: double Copyright 2021 National Technology & Engineering Solutions of Sandia, LLC (NTESS) ** Report bugs and feature requests as issues at https://github.com/dicengine/dice

DICe_Cal begin

input file: C:\Users\worsfold\dice_working_dir\cal_input.xml output file: C:\Users\worsfold\dice_working_dir\cal.xml Calibration::init(): user specified input parameters: xml_file_format = DICe_xml_calibration_file [unused] image_folder = C:\Users\worsfold\Desktop\JPG flipped\ [unused] image_file_extension = .JPG [unused] stereo_left_suffix = _1 [unused] stereo_right_suffix = _0 [unused] image_fileprefix = IMG [unused] reference_image_index = 2 [unused] start_image_index = 2 [unused] end_image_index = 55 [unused] skip_image_index = 1 [unused] num_file_suffix_digits = 5 [unused] cal_target_type = BLACK_ON_WHITE_W_DONUT_DOTS [unused] num_cal_fiducials_origin_to_x_marker = 7 [unused] num_cal_fiducials_origin_to_y_marker = 5 [unused] cal_origin_x = 1 [unused] cal_origin_y = 1 [unused] cal_target_spacing_size = 60 [unused] num_cal_fiducials_x = 9 [unused] num_cal_fiducials_y = 7 [unused] draw_intersection_image = 1 [unused] cal_debug_folder = C:\Users\worsfold\dice_working_dir\ [unused] cal_disable_image_indices = {40} [unused] cal_opencv_options -> CALIB_FIX_INTRINSIC = 0 [unused] CALIB_USE_INTRINSIC = 1 [unused] CALIB_USE_EXTRINSIC = 0 [unused] CALIB_FIX_PRINCIPAL_POINT = 0 [unused] CALIB_FIX_ASPECT_RATIO = 0 [unused] CALIB_SAME_FOCAL_LENGTH = 0 [unused] CALIB_ZERO_TANGENT_DIST = 1 [unused] CALIB_FIX_K1 = 0 [unused] CALIB_FIX_K2 = 0 [unused] CALIB_FIX_K3 = 0 [unused] warning: ignoring invalid calibration option: CALIB_USE_INTRINSIC warning: ignoring invalid calibration option: CALIB_USE_EXTRINSIC Calibration::calibrate(): extracting the target points because they have not been initialized Calibration::extract_target_points(): target type is BLACK_ON_WHITE_W_DONUT_DOTS Calibration::extract_dot_target_points(): extracting dots Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_1.JPG

Digital Image Correlation Engine (DICe) git: v3.0-beta.8 MPI: disabled Data type: double Storage type: double Copyright 2021 National Technology & Engineering Solutions of Sandia, LLC (NTESS) ** Report bugs and feature requests as issues at https://github.com/dicengine/dice

DICe_Cal begin

input file: C:\Users\worsfold\dice_working_dir\cal_input.xml output file: C:\Users\worsfold\dice_working_dir\cal.xml Calibration::init(): user specified input parameters: xml_file_format = DICe_xml_calibration_file [unused] image_folder = C:\Users\worsfold\Desktop\JPG flipped\ [unused] image_file_extension = .JPG [unused] stereo_left_suffix = _1 [unused] stereo_right_suffix = _0 [unused] image_fileprefix = IMG [unused] reference_image_index = 2 [unused] start_image_index = 2 [unused] end_image_index = 55 [unused] skip_image_index = 1 [unused] num_file_suffix_digits = 5 [unused] cal_target_type = BLACK_ON_WHITE_W_DONUT_DOTS [unused] num_cal_fiducials_origin_to_x_marker = 7 [unused] num_cal_fiducials_origin_to_y_marker = 5 [unused] cal_origin_x = 1 [unused] cal_origin_y = 1 [unused] cal_target_spacing_size = 60 [unused] num_cal_fiducials_x = 9 [unused] num_cal_fiducials_y = 7 [unused] draw_intersection_image = 1 [unused] cal_debug_folder = C:\Users\worsfold\dice_working_dir\ [unused] cal_disable_image_indices = {40} [unused] cal_opencv_options -> CALIB_FIX_INTRINSIC = 0 [unused] CALIB_USE_INTRINSIC = 1 [unused] CALIB_USE_EXTRINSIC = 0 [unused] CALIB_FIX_PRINCIPAL_POINT = 0 [unused] CALIB_FIX_ASPECT_RATIO = 0 [unused] CALIB_SAME_FOCAL_LENGTH = 0 [unused] CALIB_ZERO_TANGENT_DIST = 1 [unused] CALIB_FIX_K1 = 0 [unused] CALIB_FIX_K2 = 0 [unused] CALIB_FIX_K3 = 0 [unused] warning: ignoring invalid calibration option: CALIB_USE_INTRINSIC warning: ignoring invalid calibration option: CALIB_USE_EXTRINSIC Calibration::calibrate(): extracting the target points because they have not been initialized Calibration::extract_target_points(): target type is BLACK_ON_WHITE_W_DONUT_DOTS Calibration::extract_dot_target_points(): extracting dots Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00003_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00003_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00003_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00003_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00004_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00004_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00004_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00004_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00005_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00005_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00005_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00005_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00006_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00006_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00006_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00006_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00007_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00007_1.JPG opencv_dot_targets(): good dots identified: 51 opencv_dot_targets(): good dots identified: 51 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00007_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00007_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00008_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00008_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00008_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00008_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00009_1.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00009_1.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00009_0.JPG Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00009_0.JPG opencv_dot_targets(): good dots identified: 60 opencv_dot_targets(): good dots identified: 60

Digital Image Correlation Engine (DICe) git: v3.0-beta.8 MPI: disabled Data type: double Storage type: double Copyright 2021 National Technology & Engineering Solutions of Sandia, LLC (NTESS) ** Report bugs and feature requests as issues at https://github.com/dicengine/dice

DICe_Cal begin

input file: C:\Users\worsfold\dice_working_dir\cal_input.xml output file: C:\Users\worsfold\dice_working_dir\cal.xml Calibration::init(): user specified input parameters: xml_file_format = DICe_xml_calibration_file [unused] image_folder = C:\Users\worsfold\Desktop\JPG flipped\ [unused] image_file_extension = .JPG [unused] stereo_left_suffix = _1 [unused] stereo_right_suffix = _0 [unused] image_fileprefix = IMG [unused] reference_image_index = 2 [unused] start_image_index = 2 [unused] end_image_index = 55 [unused] skip_image_index = 1 [unused] num_file_suffix_digits = 5 [unused] cal_target_type = BLACK_ON_WHITE_W_DONUT_DOTS [unused] num_cal_fiducials_origin_to_x_marker = 7 [unused] num_cal_fiducials_origin_to_y_marker = 5 [unused] cal_origin_x = 1 [unused] cal_origin_y = 1 [unused] cal_target_spacing_size = 60 [unused] num_cal_fiducials_x = 9 [unused] num_cal_fiducials_y = 7 [unused] draw_intersection_image = 1 [unused] cal_debug_folder = C:\Users\worsfold\dice_working_dir\ [unused] cal_disable_image_indices = {40,45,46} [unused] cal_opencv_options -> CALIB_FIX_INTRINSIC = 0 [unused] CALIB_USE_INTRINSIC = 1 [unused] CALIB_USE_EXTRINSIC = 0 [unused] CALIB_FIX_PRINCIPAL_POINT = 0 [unused] CALIB_FIX_ASPECT_RATIO = 0 [unused] CALIB_SAME_FOCAL_LENGTH = 0 [unused] CALIB_ZERO_TANGENT_DIST = 1 [unused] CALIB_FIX_K1 = 0 [unused] CALIB_FIX_K2 = 0 [unused] CALIB_FIX_K3 = 0 [unused] warning: ignoring invalid calibration option: CALIB_USE_INTRINSIC warning: ignoring invalid calibration option: CALIB_USE_EXTRINSIC Calibration::calibrate(): extracting the target points because they have not been initialized Calibration::extract_target_points(): target type is BLACK_ON_WHITE_W_DONUT_DOTS Calibration::extract_dot_target_points(): extracting dots Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00002_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00003_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00003_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00004_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00004_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00005_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00005_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00006_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00006_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00007_1.JPG opencv_dot_targets(): good dots identified: 51 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00007_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00008_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00008_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00009_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00009_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00010_1.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00010_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00011_1.JPG opencv_dot_targets(): good dots identified: 47 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00011_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00012_1.JPG opencv_dot_targets(): good dots identified: 55 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00012_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00013_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00013_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00014_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00014_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00015_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00015_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00016_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00016_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00017_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00017_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00018_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00018_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00019_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00019_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00020_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00020_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00021_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00021_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00022_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00022_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00023_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00023_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00024_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00024_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00025_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00025_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00026_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00026_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00027_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00027_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00028_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00028_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00029_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00029_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00030_1.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00030_0.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00031_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00031_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00032_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00032_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00033_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00033_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00034_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00034_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00035_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00035_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00036_1.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00036_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00037_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00037_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00038_1.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00038_0.JPG opencv_dot_targets(): good dots identified: 58 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00039_1.JPG opencv_dot_targets(): good dots identified: 58 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00039_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00040_1.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00040_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00041_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00041_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00042_1.JPG Calibration::extract_dot_target_points(): skipping due to image being deactivated Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00042_0.JPG Calibration::extract_dot_target_points(): skipping due to image being deactivated Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00043_1.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00043_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00044_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00044_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00045_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00045_0.JPG opencv_dot_targets(): good dots identified: 58 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00046_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00046_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00047_1.JPG Calibration::extract_dot_target_points(): skipping due to image being deactivated Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00047_0.JPG Calibration::extract_dot_target_points(): skipping due to image being deactivated Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00048_1.JPG Calibration::extract_dot_target_points(): skipping due to image being deactivated Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00048_0.JPG Calibration::extract_dot_target_points(): skipping due to image being deactivated Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00049_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00049_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00050_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00050_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00051_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00051_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00052_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00052_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00053_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00053_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00054_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00054_0.JPG opencv_dot_targets(): good dots identified: 59 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00055_1.JPG opencv_dot_targets(): good dots identified: 60 Calibration::extract_dot_target_points(): processing cal image: C:\Users\worsfold\Desktop\JPG flipped\IMG_00055_0.JPG opencv_dot_targets(): good dots identified: 60 Calibration::calibrate(): performing OpenCV calibration Calibration::calibrate(): image set 0 epipolar error: 4.53122 Calibration::calibrate(): image set 1 epipolar error: 1.39422 Calibration::calibrate(): image set 2 epipolar error: 4.46834 Calibration::calibrate(): image set 3 epipolar error: 5.47383 Calibration::calibrate(): image set 4 epipolar error: 1.41267 Calibration::calibrate(): image set 5 epipolar error: 2.59523 Calibration::calibrate(): image set 6 epipolar error: 1.73481 Calibration::calibrate(): image set 7 epipolar error: 5.68526 Calibration::calibrate(): image set 8 epipolar error: 1.78123 Calibration::calibrate(): image set 9 epipolar error: 17.8838 Calibration::calibrate(): image set 10 epipolar error: 4.47593 Calibration::calibrate(): image set 11 epipolar error: 8.24544 Calibration::calibrate(): image set 12 epipolar error: 3.82085 Calibration::calibrate(): image set 13 epipolar error: 2.45738 Calibration::calibrate(): image set 14 epipolar error: 9.69198 Calibration::calibrate(): image set 15 epipolar error: 1.11893 Calibration::calibrate(): image set 16 epipolar error: 2.95719 Calibration::calibrate(): image set 17 epipolar error: 6.9992 Calibration::calibrate(): image set 18 epipolar error: 3.36268 Calibration::calibrate(): image set 19 epipolar error: 2.05341 Calibration::calibrate(): image set 20 epipolar error: 2.84557 Calibration::calibrate(): image set 21 epipolar error: 3.72017 Calibration::calibrate(): image set 22 epipolar error: 8.91935 Calibration::calibrate(): image set 23 epipolar error: 3.60868 Calibration::calibrate(): image set 24 epipolar error: 4.50064 Calibration::calibrate(): image set 25 epipolar error: 5.1993 Calibration::calibrate(): image set 26 epipolar error: 2.11411 Calibration::calibrate(): image set 27 epipolar error: 9.97045 Calibration::calibrate(): image set 28 epipolar error: 7.24998 Calibration::calibrate(): image set 29 epipolar error: 3.43646 Calibration::calibrate(): image set 30 epipolar error: 7.15911 Calibration::calibrate(): image set 31 epipolar error: 14.3927 Calibration::calibrate(): image set 32 epipolar error: 6.7218 Calibration::calibrate(): image set 33 epipolar error: 1.40788 Calibration::calibrate(): image set 34 epipolar error: 1.82321 Calibration::calibrate(): image set 35 epipolar error: 2.506 Calibration::calibrate(): image set 36 epipolar error: 2.61326 Calibration::calibrate(): image set 37 epipolar error: 3.08621 Calibration::calibrate(): image set 38 epipolar error: 4.26746 Calibration::calibrate(): image set 39 epipolar error: 1.88573 Calibration::calibrate(): image set 40 skipped Calibration::calibrate(): image set 41 epipolar error: 5.84515 Calibration::calibrate(): image set 42 epipolar error: 6.1976 Calibration::calibrate(): image set 43 epipolar error: 34.8621 Calibration::calibrate(): image set 44 epipolar error: 1.30171 Calibration::calibrate(): image set 45 skipped Calibration::calibrate(): image set 46 skipped Calibration::calibrate(): image set 47 epipolar error: 1.04963 Calibration::calibrate(): image set 48 epipolar error: 2.63387 Calibration::calibrate(): image set 49 epipolar error: 1.59289 Calibration::calibrate(): image set 50 epipolar error: 2.05294 Calibration::calibrate(): image set 51 epipolar error: 5.91223 Calibration::calibrate(): image set 52 epipolar error: 3.21154 Calibration::calibrate(): image set 53 epipolar error: 4.13754 Calibration::calibrate(): average epipolar error: 5.00823

RMS error: 3.13605

---------- Camera System ---------- num cameras: 2 max num cameras allowed: 10 system type: OPENCV extrinsics world to cam 0 has 6 transform: 0 6 transform 0 0 0 0 0 0 has 4x4 transform: 0 user 4x4 transorm:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1: 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2: 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 3: 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00

---------- Camera ---------- id: comments: image height: 4000 image width: 6000 pixel depth: -1 lens: lens distortion model: OPENCV_LENS_DISTORTION CX 3015.7 CY 2018.7 FX 4927.6 FY 4930.2 FS 0 K1 0.013997 K2 -0.065522 K3 0.097654 K4 0 K5 0 K6 0 P1 0 P2 0 S1 0 S2 0 S3 0 S4 0 T1 0 T2 0 rotation matrix:

--- Matrix ---

value type: double active dims: (3x3) storage dims: (3x3)

0: 1.00000e+00 0.00000e+00 0.00000e+00 1: 0.00000e+00 1.00000e+00 0.00000e+00 2: 0.00000e+00 0.00000e+00 1.00000e+00

ext translations: 0 0 0

cam to world:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 1.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1: -0.00000e+00 1.00000e+00 0.00000e+00 0.00000e+00 2: -0.00000e+00 -0.00000e+00 1.00000e+00 0.00000e+00 3: -0.00000e+00 -0.00000e+00 -0.00000e+00 1.00000e+00

world to cam:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 1.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1: 0.00000e+00 1.00000e+00 0.00000e+00 0.00000e+00 2: 0.00000e+00 0.00000e+00 1.00000e+00 0.00000e+00 3: 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+00


---------- Camera ---------- id: comments: image height: 4000 image width: 6000 pixel depth: -1 lens: lens distortion model: OPENCV_LENS_DISTORTION CX 2996.9 CY 2004.5 FX 4906 FY 4908.5 FS 0 K1 0.0090175 K2 -0.0439 K3 0.0312 K4 0 K5 0 K6 0 P1 0 P2 0 S1 0 S2 0 S3 0 S4 0 T1 0 T2 0 rotation matrix:

--- Matrix ---

value type: double active dims: (3x3) storage dims: (3x3)

0: 9.84817e-01 2.80122e-03 1.73574e-01 1: -4.69693e-03 9.99934e-01 1.05118e-02 2: -1.73533e-01 -1.11675e-02 9.84765e-01

ext translations: -284.65 -73.275 79.249

cam to world:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 9.84817e-01 -4.69693e-03 -1.73533e-01 2.93736e+02 1: 2.80122e-03 9.99934e-01 -1.11675e-02 7.49529e+01 2: 1.73574e-01 1.05118e-02 9.84765e-01 -2.78638e+01 3: 0.00000e+00 3.38813e-21 1.08420e-19 1.00000e+00

world to cam:

--- Matrix ---

value type: double active dims: (4x4) storage dims: (4x4)

0: 9.84817e-01 2.80122e-03 1.73574e-01 -2.84649e+02 1: -4.69693e-03 9.99934e-01 1.05118e-02 -7.32754e+01 2: -1.73533e-01 -1.11675e-02 9.84765e-01 7.92492e+01 3: 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+00



DICe_Cal complete

*** Warning, RMS error is large: 3.136. Should be under 0.5.

dicengine commented 5 months ago

Something strange is going on here. If you can post the cal images on your google drive site, I can run them in debug mode and see what's going on.

BenWor commented 5 months ago

Thanks for continuing to look into this. Here is a link to the newest set of photos in TIFF format.

https://drive.google.com/drive/folders/1iFacW6EBRzghQXbSprpQeTwVJb1Stnss?usp=sharing

dicengine commented 4 months ago

I took a look at your cal images and ran them through the debug version of DICe's calibration tool. It seems the problem is coming from the axes being left hand rule instead of right hand rule. I thought you could just swap the dimensions, but the pattern recognition parts of the cal routine would need some code updates for that to work.

Are you able to retake some cal images with the long side of the cal board vertical? Or update the cal pattern to have a right hand rule orientation?

BenWor commented 4 months ago

I will attempt to retake the images with the board vertical. In the mean time, I mirrored all the TIFF images which should correct the to use the right-hand-rule and ran them through DICe. I seem to get the same type of errors. See the mirrored images below.

https://drive.google.com/drive/folders/1KxUUoQcwgrEctEBrqr0eFXeYgpMcKQRO?usp=sharing