2D camera and 3D lidar calibration (kitti format)

158 Views Asked by At

I have camera and lidar calib files like this:

camera: x: 0.8321346282958983 y: -0.011121243238449097 z: -0.5207197332382203

roll: 0.5077840027360132 pitch: 0.7446574568748474 yaw: 0.3340256132006706

width: 1920 height: 1080

cx: 960.0 cy: 540.0 fx: 1881.648438 fy: 1941.380737

distortion: [-0.359138697385788, 0.122108161449432, 0.0, 0.0, 0.0]

lidar: x: 1.1 y: 0.0 z: 1.84

roll: 0.0 pitch: 0.0 yaw: -0.6

How to make all of the matrix as kitti dataset?

I dont know how to proceed. Any hints? Thanks.

1

There are 1 best solutions below

0
spacemanspiff On

Hope this is useful although it is late. So basically you are given the values for rigid body transformation of the camera w.r.t. body frame of the platform, camera matrix, image size, lens distortion and rigid body transformation of the Lidar w.r.t. body frame of the platform.

For the camera matrix, you take cx,cy, fx,fy and plug it into the 3x3 matrix of the camera, which is Camera Matrix

The distortion coefficients are used as is.

The rotation values are given in Euler angles, so you need to convert it into a Rotation matrix. the rotation matrix is calculated as

Rotation matrix

You can also find a lot of python, C++ libraries to do that. Here is an example

Lastly your transformation matrix is made up of R|t as shown in enter image description here

Just plugin the values of R and T into the 4x4 Identity matrix, to get your transformation matrix.