urbste / MultiCol-SLAM

This repository contains a multi-fisheye camera SLAM. The underlying SLAM system is based on ORB-SLAM.
627 stars 221 forks source link

What is each parameter of calib_results.txt pointing to? #31

Closed brightsys closed 6 years ago

brightsys commented 6 years ago

Hello, first of all thank you for that plugin.

We calibrated using OCamCalib Toolbox. What parameters can be read from calib_results.txt?

As a result of the calibration, the following file was acquired.

<calib_results.txt>

polynomial coefficients for the DIRECT mapping function (ocam_model.ss in MATLAB). These are used by cam2world

5 -1.124087e+01 0.000000e+00 1.084859e-04 -9.160804e-07 2.898989e-09

polynomial coefficients for the inverse mapping function (ocam_model.invpol in MATLAB). These are used by world2cam

1574 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 (abridgement)

center: "row" and "column", starting from 0 (C convention)

383.000000 511.000000

affine parameters "c", "d", "e"

1.000000 0.000000 0.000000

image size: "height" and "width"

768 1024

As a result found from this result, ① Polynomial   a0 = -1.124087e+01   a1 = 0.000000e+00   a2 = 1.084854e-04   a3 = -9.160804e-07   a4 = 2.898989e-09

②affine parameters    c = 1.000000   d = 0.000000   e = 0.000000

③image_height = 768  Image_width = 1024

④ Absolute projection of lens center (cX, cY)   cX = 511.000000    cY = 383.000000

⑤ Center coordinates of image (X, Y)    X = 0.5 x image_width - cX   Y = 0.5 x image_height - cY

  X = 0.5 1024 - 511.000000 = 1   Y = 0.5 768 - 383.000000 = 1

In order to move Multicol - slam you still need the following parameters. · Camera.nrpol / Camea.nrinvpol (hyperparameters) · Camera.pol 0 to Camera.pol 11 (backward polynomial rho (theta)) · Camera.u 0 / Camera.v 0 (principal point)

Can you read it?

Thank you.

brightsys commented 6 years ago

I was able to solve it self. Please point out if there is an error.

I will use the above-mentioned calib_results.txt.

· Camera.nrpol / Camea.nrinvpol (hyperparameters)

polynomial coefficients for the DIRECT mapping function (ocam_model.ss in MATLAB). These are used by cam2world

5 -1.124087e+01 0.000000e+00 1.084859e-04 -9.160804e-07 2.898989e-09

polynomial coefficients for the inverse mapping function (ocam_model.invpol in MATLAB). These are used by world2cam

1574 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

We use the first number of each. Camera.nrpol = 5 Camea.nrinvpol = 1574 0.000000

· Camera.pol 0 to Camera.pol 11 (backward polynomial rho (theta))

polynomial coefficients for the inverse mapping function ~

Use the values ​​after the beginning Camera.pol 0 = 0.000000 Camera.pol 1 = 0.000000 Camera.pol 2 = 0.000000 Camera.pol 3 = 0.000000 (abridgement)

· Camera.u 0 / Camera.v 0 (principal point)

center: "row" and "column", starting from 0 (C convention)

383.000000 511.000000 ↑ + 1.0 Camera.u 0 = 512.000000 Camera.v 0 = 384.000000