-
Notifications
You must be signed in to change notification settings - Fork 3
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
Testing results are not good as expected according to the paper #1
Comments
Dr. Strobl's comments on the original test dataset:
Dr. Strobl's answer to the following question.
|
Here is a dataset with 9 images. Feature points were detected using The link to the dataset. Both CalLab standard method and OpenCV gave similar results. CalLab standard method:
OpenCV standard method: <camera_matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.0891256444690321e+03 0. 6.6352137323491718e+02 0.
3.0994725315433725e+03 4.8023634412293796e+02 0. 0. 1.</data></camera_matrix>
<distortion_coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-6.3476243923252254e-02 0. -4.7097377006577604e-03
4.4901135146666543e-03 0.</data></distortion_coefficients>
<avg_reprojection_error>7.5588754387089074e-01</avg_reprojection_error> CalLab with refining full object structure:
Our implementation without initial intrinsic parameters guess: <camera_matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.0936665220239684e+03 0. 6.3993195978817482e+02 0.
3.0998850523236238e+03 5.1212558075310881e+02 0. 0. 1.</data></camera_matrix>
<distortion_coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-6.9046083676842063e-02 0. -2.3558689963820191e-03
1.4073143102732205e-03 0.</data></distortion_coefficients>
<avg_reprojection_error>6.8544169962641910e-01</avg_reprojection_error> Our implementation using OpenCV standard method as initial intrinsic <camera_matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.0894945313852149e+03 0. 6.6349963937561552e+02 0.
3.0974661465090298e+03 4.8023370212223756e+02 0. 0. 1.</data></camera_matrix>
<distortion_coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-6.5867947154494330e-02 0. -4.2237024007513498e-03
4.9095414646612217e-03 0.</data></distortion_coefficients>
<avg_reprojection_error>4.3044986222261095e-01</avg_reprojection_error> Our implementation did not generate the optimized results as CalLab. We also found that different fix 3D points (x1, x2, x3. See Dr. Strobl's The camera matrix reported by CalLab with refining full object structure |
A bug was fixed in 6da2526. Our implementation reached the same RMS CalLab with refining full object structure:
Our implementation: <camera_matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.0573577737911560e+03 0. 5.9777231463549515e+02 0.
3.0362037824002300e+03 4.5311355407991232e+02 0. 0. 1.</data></camera_matrix>
<distortion_coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-1.0343613204866929e-01 1.7854204424225634e-01 0. 0. 0.</data></distortion_coefficients>
<avg_reprojection_error>1.5178474259880476e-01</avg_reprojection_error> CalLab with refining full object structure:
Our implementation: <camera_matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.0555752306570489e+03 0. 5.8751317251297030e+02 0.
3.0365382066513448e+03 4.6195508556785745e+02 0. 0. 1.</data></camera_matrix>
<distortion_coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-8.9847714399800147e-02 0. 0. 0. 0.</data></distortion_coefficients>
<avg_reprojection_error>1.5216911603787708e-01</avg_reprojection_error> Our implementation with feature points detected with OpenCV: <camera_matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
3.0557118442612523e+03 0. 5.8771714504295210e+02 0.
3.0365422748810047e+03 4.6445492814159769e+02 0. 0. 1.</data></camera_matrix>
<distortion_coefficients type_id="opencv-matrix">
<rows>5</rows>
<cols>1</cols>
<dt>d</dt>
<data>
-8.9434361134088730e-02 0. 0. 0. 0.</data></distortion_coefficients>
<avg_reprojection_error>1.5527737807096595e-01</avg_reprojection_error> The minor differences between camera intrinsic parameters might be the |
We investigated why there are obvious differences between our results
As theoretically expected, testing has proved that the selection of If we feed CalLab's results into calibrel as initial values and fix If cx = 587.513 and cy = 461.955 are fixed in CalLab with values from
We can get a conclusion that CalLab fails to reach better optimization
But the above guesses can't explain CalLab gives same results as OpenCV CalLab is very sensitive to Levenberg-Marquardt parameters. Here is a
|
CalLab and calibrel were compared again with dataset1, dataset2 and https://github.com/xoox/calibrel_testdata/archive/CalLab.zip The three above dataset were sampled from the same dataset actually CalLab resultsFTOL=0.00001. Other optimization parameters were set to default.
For RELSTEP=0.04
For RELSTEP=0.0025
When RELSTEP=0.04 was used, CalLab's results were closer to calibrel's calibrel results
CalLab's sensitivity to RELSTEPWith dataset5.zip,
The standard calibration method is stable with regard to RELSTEP. With the same dataset5, if refining full object structure, the results
When the dimensionality of the parameter space is much higher, cx and cy |
We've conducted tests of this calibrating method with test data of calibrel_testdata. The results are not as good as expected according to the paper. The new method is sometimes worse than OpenCV's method and sometimes better than the latter. But in general there is no significant improvements compared to OpenCV's standard method. The detailed test results are showed following.
Data set 1
OpenCV's method
DLR11 method
Hybrid method
The text was updated successfully, but these errors were encountered: