Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large RMS error stereo #329

Open
BenWor opened this issue Jun 3, 2024 · 13 comments
Open

Large RMS error stereo #329

BenWor opened this issue Jun 3, 2024 · 13 comments

Comments

@BenWor
Copy link

BenWor commented Jun 3, 2024

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
Copy link
Owner

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
Copy link
Author

BenWor commented Jun 6, 2024

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
Copy link
Owner

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
Copy link
Author

BenWor commented Jun 7, 2024

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
Copy link
Owner

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
Copy link
Author

BenWor commented Jun 10, 2024

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
Copy link
Owner

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
Copy link
Author

BenWor commented Jun 12, 2024

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
Copy link
Author

BenWor commented Jun 12, 2024

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_file_prefix = 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_file_prefix = 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_file_prefix = 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_file_prefix = 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
Copy link
Owner

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
Copy link
Author

BenWor commented Jun 13, 2024

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
Copy link
Owner

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
Copy link
Author

BenWor commented Jun 18, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants