How to know if the stereo calibration results are good or not?

asked 2018-08-24 03:49:22 -0600

Astronaut gravatar image

Hi Im using two point Grey Chameleon3 mono camera set up as Master Salve and synchronized so can work as stereo camera. I have a installed ROS driver and able to publish the camera topics . Im using this ROS driver https://github.com/KumarRobotics/flea3 . And with roslaunch flea3 stereo_node.launch left:=18081067 right:=17496474 camera:=stereo_camera

can launch the driver.

Then was following the ROS tutorial camera_calibrationTutorialsStereoCalibration to calibrate the cameras. I got 70 samples for the calibration and the epipolar error was around 0.2. This are the Calibration results

 Left:
('D = ', [-0.20826996106865595, 0.18366155924086058, -0.0034661778577718466, 0.00307931151347718, 0.0])
('K = ', [432.82205088588205, 0.0, 272.95231180581044, 0.0, 435.6996693192078, 174.95641222266673, 0.0, 0.0, 1.0])
('R = ', [0.9746296173669449, 0.02700939091034212, -0.22218821245470002, -0.026808041682390916, 0.9996329035169494, 0.003922640364378138, 0.22221259607033478, 0.0021333093834195356, 0.974995903139473])
('P = ', [482.0586696457318, 0.0, 402.53031158447266, 0.0, 0.0, 482.0586696457318, 178.41748809814453, 0.0, 0.0, 0.0, 1.0, 0.0])

Right:
('D = ', [-0.20871659658963718, 0.13988041114304747, -0.0024096479983088267, 0.0031211255518143266, 0.0])
('K = ', [428.59279077571426, 0.0, 275.84270706306677, 0.0, 430.39539990687126, 189.6284029604295, 0.0, 0.0, 1.0])
('R = ', [0.9744460995294874, 0.030491070431326987, -0.22254234144476925, -0.03069272631969819, 0.9995256063000713, 0.002553213962635353, 0.2225146189867814, 0.004342461793354892, 0.9749196825188937])
('P = ', [482.0586696457318, 0.0, 402.53031158447266, -71.0404082822227, 0.0, 482.0586696457318, 178.41748809814453, 0.0, 0.0, 0.0, 1.0, 0.0])
('self.T ', [-0.14360295357921507, -0.004493432498569846, 0.03279579808809728])
('self.R ', [0.999992392164315, -0.003887570979931969, 0.0003200083856870595, 0.0038871258997246238, 0.9999914930203251, 0.0013799055115972527, -0.0003253701440041504, -0.0013786511006187285, 0.9999989967272028])
None
# oST version 5.0 parameters


[image]

width
512

height
384

[narrow_stereo/left]

camera matrix
432.822051 0.000000 272.952312
0.000000 435.699669 174.956412
0.000000 0.000000 1.000000

distortion
-0.208270 0.183662 -0.003466 0.003079 0.000000

rectification
0.974630 0.027009 -0.222188
-0.026808 0.999633 0.003923
0.222213 0.002133 0.974996

projection
482.058670 0.000000 402.530312 0.000000
0.000000 482.058670 178.417488 0.000000
0.000000 0.000000 1.000000 0.000000

# oST version 5.0 parameters


[image]

width
512

height
384

[narrow_stereo/right]

camera matrix
428.592791 0.000000 275.842707
0.000000 430.395400 189.628403
0.000000 0.000000 1.000000

distortion
-0.208717 0.139880 -0.002410 0.003121 0.000000

rectification
0.974446 0.030491 -0.222542
-0.030693 0.999526 0.002553
0.222515 0.004342 0.974920

projection
482.058670 0.000000 402.530312 -71.040408
0.000000 482.058670 178.417488 0.000000
0.000000 0.000000 1.000000 0.000000

I have couple of doubts. First why I have in the Right camera

'self.T ', [-0.14360295357921507, -0.004493432498569846, 0.03279579808809728])
 ('self.R ', [0.999992392164315, -0.003887570979931969, 0.0003200083856870595, 0.0038871258997246238, 0.9999914930203251, 0.0013799055115972527, -0.0003253701440041504, -0.0013786511006187285, 0.9999989967272028])

Then, How to interpret the camera matrix,distortion,rectification and projection matrix and how ... (more)

edit retag flag offensive close merge delete