stereo example

classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

stereo example

noone
hello is there anyone has a C++ code as stereo example ? i want to do visalizatio and build a dense map with loop detection and icp etc

thanks in advance
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

matlabbe
Administrator

The RGBDMapping example or the one without threads can be converted into stereo just by telling the camera driver to not use depth. Which camera are you using?
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
This post was updated on .
i am using ELP stereo camera both left and right in one stream , and to make it work with opencv i need to forcc MJPG

so which example would do dense maping with correction the same as the GUI of RTAB map ?

another question i did try to build the first example but i got few missing libraries , how i got RTAB map libs from the binary so i thought its full and should work out of the box because already the gui working , so am i doing something wrong ? i am using windows visual studio
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

matlabbe
Administrator
Hi,

If you downloaded the release here, that is only the binaries to run the app.

To build from source, you would have to get all dependencies. On Ubuntu it is pretty straightforward, but on Windows it is a little tedious as we have to rebuild all dependencies from source. See VCPKG instructions here.

To set "FOURCC('M', 'J', 'P', 'G')", I guess that could be added around here with:
capture_.set(CV_CAP_PROP_FOURCC ,CV_FOURCC('M', 'J', 'P', 'G') );
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
which header let me set the fps ? i did the fourcc but it did not work , the idea with opencv  to make elp cameras work without overloading the bios  is the follow the arrange is very important , first camera resolution then fps then FOURCC

this is the CameraStereoVideo.cpp you mentioned and i modified the example kindly check it at https://pastebin.com/yBCUT7YP     i used pastbin because the message would be so long







        if (src_ == CameraVideo::kUsbDevice)
        {
                if (stereoModel_.isValidForProjection())
                {
                        if (capture_.isOpened())
                        {
                                capture_.set(CV_CAP_PROP_FRAME_WIDTH, stereoModel_.left().imageWidth() * (capture2_.isOpened() ? 1 : 2));
                                capture_.set(CV_CAP_PROP_FRAME_HEIGHT, stereoModel_.left().imageHeight());
                                if (capture2_.isOpened())
                                {
                                        capture2_.set(CV_CAP_PROP_FRAME_WIDTH, stereoModel_.right().imageWidth());
                                        capture2_.set(CV_CAP_PROP_FRAME_HEIGHT, stereoModel_.right().imageHeight());
                                }
                        }
                }
                else if (_width > 0 && _height > 0)
                {
                        if (capture_.isOpened())
                        {
                                capture_.set(CV_CAP_PROP_FRAME_WIDTH, _width * (capture2_.isOpened() ? 1 : 2));
                                capture_.set(CV_CAP_PROP_FRAME_HEIGHT, _height);
                                if (capture2_.isOpened())
                                {
                                        capture2_.set(CV_CAP_PROP_FRAME_WIDTH, _width);
                                        capture2_.set(CV_CAP_PROP_FRAME_HEIGHT, _height);
                                }
                        }
                }

                // Set the FOURCC codec after setting the width and height
                capture_.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));
                if (capture2_.isOpened())
                {
                        capture2_.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));
                }
        }






Reply | Threaded
Open this post in threaded view
|

Re: stereo example

matlabbe
Administrator
The frame rate can be set with the third argument to CameraStereoVideo constructor.

We don't explicitly set the FPS on the cv::VideoCapture object, the frame rate is used in SensorCapture class. If rate=0, it means we will call "capture_.read(img)" as fast as possible (i.e. maximum rate that the camera can provide images).

Note also that you require rectified images, but in the camera init, you don't pass calibration file (calibration directory and calibration name). rtabmap may throw some warnings or errors about that.
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
This post was updated on .
i updated the CameraStereoVideo cpp and header so i can have more control over the camera communication thanks for your guide , i think i have calibration problem or i am doing something wrong

[ WARN] (2024-10-15 15:02:28) OdometryF2M.cpp:1269::rtabmap::OdometryF2M::computeTransform() 20 visual features required to initialize the odometry (only 0 extracted).


i get this warning and i see only red color in the 3D window ( dense cloud )  anyway the camera working smooth , maybe i wrote something wrong in the yamls ?

may you check my calibrations ?  NOTE: i converted to meters because matlab used mm

why i did not use the calibration app ?  because it gives me low resolution images and it cant detect anything i dont know why and it crashes when i unlock calibration then press calibration



Matlab calibration prints more than 20 images , i tested them they works 100 %
Camera 1 Intrinsics
-------------------
Focal length (pixels):   [ 1050.7460 +/- 0.3417     1052.5362 +/- 0.3286  ]
Principal point (pixels):[  966.8852 +/- 0.1482      538.5527 +/- 0.1402  ]
Radial distortion:       [    0.0255 +/- 0.0003       -0.0316 +/- 0.0004  ]

Camera 2 Intrinsics
-------------------
Focal length (pixels):   [ 1045.3382 +/- 0.3377     1047.1505 +/- 0.3232  ]
Principal point (pixels):[  964.9739 +/- 0.1513      537.1091 +/- 0.1499  ]
Radial distortion:       [    0.0241 +/- 0.0003       -0.0305 +/- 0.0003  ]

Position And Orientation of Camera 2 Relative to Camera 1
---------------------------------------------------------
Rotation of camera 2:         [    0.0000 +/- 0.0001        0.0114 +/- 0.0001        0.0013 +/- 0.0000  ]
Translation of camera 2 (millimeters):[  -59.8172 +/- 0.0088        0.1399 +/- 0.0077        0.0350 +/- 0.0301  ]
Fundamental Matrix:
   -0.0000   -0.0000    0.0002
   -0.0000    0.0000    0.0577
    0.0001   -0.0568   -0.3288

Essential Matrix:
   -0.0016   -0.0350    0.1399
   -0.6489    0.0006   59.8137
   -0.2168  -59.8170   -0.0018

Projection Matrix for Camera 1:
   1.0e+03 *

    1.0507         0    0.9669         0
         0    1.0525    0.5386         0
         0         0    0.0010         0

Projection Matrix for Camera 2:
   1.0e+04 *

    0.1056    0.0001    0.0953   -6.2495
    0.0005    0.1047    0.0537    0.0165
    0.0000    0.0000    0.0001    0.0000




the pose yaml

%YAML:1.0
---
camera_name: m_pose
rotation_matrix:
   rows: 3
   cols: 3
   data: [ 1.0000, 0.0000, 0.0000,
           0.0114, 1.0000, 0.0013,
           -0.0013, -0.0114, 1.0000 ]
translation_matrix:
   rows: 3
   cols: 1
   data: [ -0.0598172, 0.0001399, 0.0000350 ]  # Converted from mm to m

essential_matrix:
  rows: 3
  cols: 3
  data: [ -0.0000016, -0.0000350, 0.0001399,
          -0.0006489, 0.0000006, 0.0598137,
          -0.0002168, -0.0598170, -0.0000018 ]
fundamental_matrix:
  rows: 3
  cols: 3
  data: [ -0.0000, -0.0000, 0.0002,
           -0.0000, 0.0000, 0.0577,
           0.0001, -0.0568, -0.3288 ]


the left yaml

%YAML:1.0
---
camera_name: m_left
image_width: 1920
image_height: 1080
camera_matrix:
  rows: 3
  cols: 3
  data: [ 1.0507460000000001e+03, 0., 9.6688520000000005e+02,
           0., 1.0525362000000000e+03, 5.3855269999999996e+02,
           0., 0., 1. ]
distortion_coefficients:
  rows: 1
  cols: 4
  data: [ 2.55e-02, -3.16e-02, 0., 0. ]
distortion_model: plumb_bob
rectification_matrix:
  rows: 3
  cols: 3
  data: [ 1., 0., 0.,
          0., 1., 0.,
          0., 0., 1. ]
projection_matrix:
  rows: 3
  cols: 4
  data: [ 1.0507460000000001e+03, 0., 9.6688520000000005e+02, 0.,
          0., 1.0525362000000000e+03, 5.3855269999999996e+02, 0.,
          0., 0., 1., 0. ]
local_transform:
  rows: 3
  cols: 4
  data: [ 0., 0., 1., 0., -1., 0., 0., 0., 0., -1., 0., 0. ]
essential_matrix:
  rows: 3
  cols: 3
  data: [ -0.0000016, -0.0000350, 0.0001399,
          -0.0006489, 0.0000006, 0.0598137,
          -0.0002168, -0.0598170, -0.0000018 ]
fundamental_matrix:
  rows: 3
  cols: 3
  data: [ -0.0000, -0.0000, 0.0002,
          -0.0000, 0.0000, 0.0577,
          0.0001, -0.0568, -0.3288 ]
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
This post was updated on .
( they re resized so i can upload )

NOTE: the images is rectified , look at the top middle there is black line at the edge thats a prove of rectification , and i used some random number in the calibration yamls just playing around and testing if it does rectification or no , and it does it messed up the image ( just testing )






3D windows



Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
In reply to this post by matlabbe
check the camerastereovideo.cpp

https://pastebin.com/3DZThy7m

check the camerastereovideo.h


https://pastebin.com/NhSzM5gj


did i mess up the rectification process ? what do you think about my update
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
In reply to this post by matlabbe
i tested the gui once more it works fine with low resolution the camera wont lag ,

when i run my code with the same calibration of the ones in the gui it show up those warnings then later on it crashes if i wrote the essentail and fundamental it does not crash but i never get point cloud as you see above

check those warning  


C:\rtabmap\build\bin>C:\rtabmap\build\bin\rtabmap-rgbd_mapping.exe
Using single stereo camera (device=0)
[ WARN] (2024-10-16 14:26:35) StereoCameraModel.cpp:304::rtabmap::StereoCameraModel::load() Missing "essential_matrix" field in "./00000001_pose.yaml"
[ WARN] (2024-10-16 14:26:35) StereoCameraModel.cpp:320::rtabmap::StereoCameraModel::load() Missing "fundamental_matrix" field in "./00000001_pose.yaml"

[ERROR] (2024-10-16 15:00:23) VWDictionary.cpp:741::rtabmap::VWDictionary::addWordRef() Not found word 1 (dict size=0)
[ERROR] (2024-10-16 15:00:23) VWDictionary.cpp:741::rtabmap::VWDictionary::addWordRef() Not found word 1 (dict size=0)
[ERROR] (2024-10-16 15:00:23) VWDictionary.cpp:741::rtabmap::VWDictionary::addWordRef() Not found word 1 (dict size=0)
[ERROR] (2024-10-16 15:00:23) VWDictionary.cpp:741::rtabmap::VWDictionary::addWordRef() Not found word 1 (dict size=0)

Press ESC to quit, 'r' to start/stop recording.
[ WARN] (2024-10-16 15:00:27) Rtabmap.cpp:3037::rtabmap::Rtabmap::process() Rejected loop closure 3 -> 4: Not enough inliers 0/20 (matches=66) between 3 and 4
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
In reply to this post by matlabbe
here is the code i am working on , correct me please , why it act different than the gui

https://pastebin.com/emTefuu0
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

matlabbe
Administrator
The left/right images you provided look fairly rectified, though there is not a lot of texture to compare:


To test VO, point the camera to an area with a lot of visual features, a white ceiling like this won't generate enough features.

If you have a sequence (or video) of left/right raw images with the corresponding calibration files I could doublecheck better here if data looks okay.

cheers,
Mathieu

EDIT:
The rectification matrix is Identity, are the images already rectified?
rectification_matrix:
  rows: 3
  cols: 3
  data: [ 1., 0., 0.,
          0., 1., 0.,
          0., 0., 1. ] 
and what is your right calibration?
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
This post was updated on .
the images are not rectified but they pass then get rectified check my code please

https://pastebin.com/emTefuu0

white ceiling why ?

because my room is messy and full of prototypes and stuff  so its embarrassing so i showed you the ceiling as a prove it works lol


why rectification matrixs are Identity ?
i did run the binary i wrote the fx fy cx cy and baseline then it generated the yamls , why i did that ?
to know what format of rtab map without keep digging in the lib because its massive
so from that moment i thought my rectifications matrixs is like that so i did not think much about it  and maybe thats the thing that cause the problem but there is no o additional rotation or transformation left and right thats why its almost zero

1- i will record a video for you
2- i will try change the rectification matrixs
3- i have a question now ,  check my code i shared with you the link  now early i did not pass the yamls but after reading your NOTE : i thought maybe the rectificated images does not pass to RTAB map or the yamls ?  so i did this change , so my question is now it asks for 6 yamls ,

00000001_left.yaml
00000001_right.yaml
00000001_pose.yaml

and the
left_m.yaml
right_m.yaml
pose_m.yaml

so the question is , is it wrong to pass it like this ?



    if (camera->init("C:/rtabmap/build/bin", "m"))
    {
        printf("Camera initialized successfully\n");

        // Cast to CameraStereoVideo to access stereo-specific methods
        CameraStereoVideo* stereoCamera = dynamic_cast<CameraStereoVideo*>(camera);
        if (stereoCamera)
        {
            const StereoCameraModel& model = stereoCamera->getStereoModel();
            printf("Stereo model:\n");
            printf("  Baseline: %f\n", model.baseline());
            printf("  Left  fx: %f, fy: %f, cx: %f, cy: %f\n",
                model.left().fx(), model.left().fy(), model.left().cx(), model.left().cy());
            printf("  Right fx: %f, fy: %f, cx: %f, cy: %f\n",
                model.right().fx(), model.right().fy(), model.right().cx(), model.right().cy());
            printf("  Image size: %dx%d\n", model.left().imageWidth(), model.left().imageHeight());
        }
        else
        {
            printf("Error: Camera is not a stereo camera\n");
        }
    }
    else
    {
        printf("Camera init failed!\n");
        delete camera;
        return -1;
    }




%YAML:1.0
---
camera_name: m_right
image_width: 1920
image_height: 1080
camera_matrix:
  rows: 3
  cols: 3
  data: [ 1.0453382000000000e+03, 0., 9.6497390000000005e+02,
          0., 1.0471505000000000e+03, 5.3710910000000004e+02,
          0., 0., 1. ]
distortion_coefficients:
  rows: 1
  cols: 4
  data: [ 2.41e-02, -3.05e-02, 0., 0. ]
distortion_model: plumb_bob
rectification_matrix:
  rows: 3
  cols: 3
  data: [ 1., 0., 0.,
          0., 1., 0.,
          0., 0., 1. ]
projection_matrix:
  rows: 3
  cols: 4
  data: [ 1.0453382000000000e+03, 0., 9.6497390000000005e+02, 0.,
          0., 1.0471505000000000e+03, 5.3710910000000004e+02, 0.,
          0., 0., 1., 0. ]
local_transform:
  rows: 3
  cols: 4
  data: [ 0., 0., 1., 0., -1., 0., 0., 0., 0., -1., 0., 0. ]
essential_matrix:
  rows: 3
  cols: 3
  data: [ 0.00095, 0.00002, -0.00003,
          -0.00002, 0.00097, 0.00001,
          0.00003, -0.00001, 0.00098 ]
fundamental_matrix:
  rows: 3
  cols: 3
  data: [ 0.0002, -0.0004, 0.005,
          0.0004, 0.0001, -0.006,
          -0.005, 0.006, 1.0 ]



///////////////////////////////////////////////////


%YAML:1.0
---
camera_name: m_left
image_width: 1920
image_height: 1080
camera_matrix:
  rows: 3
  cols: 3
  data: [ 1.0507460000000001e+03, 0., 9.6688520000000005e+02,
           0., 1.0525362000000000e+03, 5.3855269999999996e+02,
           0., 0., 1. ]
distortion_coefficients:
  rows: 1
  cols: 4
  data: [ 2.55e-02, -3.16e-02, 0., 0. ]
distortion_model: plumb_bob
rectification_matrix:
  rows: 3
  cols: 3
  data: [ 1., 0., 0.,
          0., 1., 0.,
          0., 0., 1. ]
projection_matrix:
  rows: 3
  cols: 4
  data: [ 1.0507460000000001e+03, 0., 9.6688520000000005e+02, 0.,
          0., 1.0525362000000000e+03, 5.3855269999999996e+02, 0.,
          0., 0., 1., 0. ]
local_transform:
  rows: 3
  cols: 4
  data: [ 0., 0., 1., 0., -1., 0., 0., 0., 0., -1., 0., 0. ]
essential_matrix:
  rows: 3
  cols: 3
  data: [ -0.0000016, -0.0000350, 0.0001399,
          -0.0006489, 0.0000006, 0.0598137,
          -0.0002168, -0.0598170, -0.0000018 ]
fundamental_matrix:
  rows: 3
  cols: 3
  data: [ -0.0000, -0.0000, 0.0002,
          -0.0000, 0.0000, 0.0577,
          0.0001, -0.0568, -0.3288 ]

Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
This post was updated on .
quick update i removed if (camera->init("C:/rtabmap/build/bin", "m"))  the pass and now it ask for the main yamls 00000001_left.yaml  00000001_right.yaml 00000001_pose.yaml  

the base line show be 0.059 in meters
and it prints


C:\rtabmap\build\bin>C:\rtabmap\build\bin\rtabmap-rgbd_mapping.exe
Using single stereo camera (device=0)
Camera initialized successfully
Stereo model:
  Baseline: 0.000000
  Left  fx: 1050.746000, fy: 1052.536200, cx: 966.885200, cy: 538.552700
  Right fx: 1045.338200, fy: 1047.150500, cx: 964.973900, cy: 537.109100
  Image size: 1920x1080






the video will come soon
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
In reply to this post by matlabbe
https://drive.google.com/file/d/1kC-CRLIH1yQ5FcKGuES9WvmU7yejqzna/view?usp=sharing

3840 X 1080
here is the video , kindly download it , and tell me so i can remove the video  from being online
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

matlabbe
Administrator
I downloaded it but I cannot look at it now, I'll check it later, but you can remove your link if you want.
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
take your time


changing the projection of the right yaml to :

projection_matrix:
    rows: 3
    cols: 4
    data: [ 1.056, 0.001, 0.953, -0.062495,
            0.005, 1.047, 0.537, 0.165,
            0.0, 0.0, 0.001, 0.0 ]

and it printed the following then open the left and right  and crash  , but the baseline is correct in meters its like 59 mm so its a good sing


C:\rtabmap\build\bin>C:\rtabmap\build\bin\rtabmap-rgbd_mapping.exe
Using single stereo camera (device=0)
Camera initialized successfully
Stereo model:
  Baseline: 0.059181
  Left  fx: 1.050700, fy: 1.052500, cx: 0.966900, cy: 0.538600
  Right fx: 1.056000, fy: 1.047000, cx: 0.953000, cy: 0.537000
  Image size: 1920x1080
Press ESC to quit, 'r' to start/stop recording.
[ WARN] (2024-10-17 22:56:22) OdometryF2M.cpp:565::rtabmap::OdometryF2M::computeTransform() Registration failed: "Not enough inliers 0/20 (matches=80) between -1 and 2"
[ WARN] (2024-10-17 22:56:25) OdometryF2M.cpp:565::rtabmap::OdometryF2M::computeTransform() Registration failed: "Not enough inliers 0/20 (matches=79) between -1 and 3"
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

matlabbe
Administrator
You will need to calibrate the camera. I don't how you calibrated with MATLAB, but make sure your calibration procedure contains a stereo calibration part, to make sure the images don't have any vertical disparity like this:


I saw that there is some corruption in the images like this (don't know if it is a compression artifact in the video file, or it is coming from the cameras):


To calibrate with RTAB-Map, see this example: https://github.com/introlab/rtabmap/wiki/Stereo-mapping#process-a-side-by-side-stereo-video-with-calibration-example (I re-tested it, it should not crash). If you do something similar with your camera, you could generate the calibration files. Example of output in console:
Board type = 0
Board width = 8
Board height = 6
Square size = 0.033
Subpixel refinement = 1
Subpixel max error = 1
K = [524.4743122672077, 0, 319.8458179612328;
 0, 523.9685099960811, 248.5524958784191;
 0, 0, 1]
D = [-3.292539335090485, 3.233160693829638, -0.0009083597906489053, -0.001275569653864167, 0.3589368431511655, -2.955252909593058, 2.094856501232258, 1.54980970107022, 0, 0, 0, 0, 0, 0]
width = 640
height = 480
K = [531.5305559073173, 0, 308.0349336478321;
 0, 530.98936737911, 242.7530280385648;
 0, 0, 1]
D = [-3.432109443024221, 2.815069635865363, -0.0009428612756816649, 0.0008209316263067508, 0.2537914346609014, -3.090865941981399, 1.616884771910198, 1.310598460814279, 0, 0, 0, 0, 0, 0]
width = 640
height = 480
R = [0.9999766897514611, -0.0009019097487199164, 0.00676805086528434;
 0.0008885938228338542, 0.9999976643191663, 0.001970217559089419;
 -0.006769812015701296, -0.001964157584636917, 0.9999751555565042]
T = [-0.1193495062763594;
 0.0008231760311874346;
 0.006808017585813428]
E = [-1.162230935946806e-05, -0.006809618531902385, 0.0008097423040468814;
 0.00599988516757373, -0.0002405614554054844, 0.119392618113607;
 -0.0009292100767849997, -0.1193484850835176, -0.0002407157901844955]
F = [-2.552855232761383e-08, -1.497185372013621e-05, 0.004662291757330073;
 1.319225707513976e-05, -5.294454799505665e-07, 0.1335943283982249;
 -0.004279462177136355, -0.1347351250528422, 1]
R1 = [0.9987094977984396, -0.007674383382520709, -0.05020401225884828;
 0.007724979297152617, 0.9999698307195525, 0.0008138461574707218;
 0.05019625187249603, -0.001200620842546364, 0.9987386519042634]
P1 = [501.0845060342093, 0, 354.0802536010742, 0;
 0, 501.0845060342093, 248.1240158081055, 0;
 0, 0, 1, 0]
R2 = [0.9983533559244065, -0.006885831193550011, -0.05694876682816895;
 0.00682842483940325, 0.9999759629320594, -0.001202569047168104;
 0.05695567863424895, 0.0008117184699882487, 0.9983763778177235]
P2 = [501.0845060342093, 0, 354.0802536010742, -59.90282703316176;
 0, 501.0845060342093, 248.1240158081055, 0;
 0, 0, 1, 0]

One last thing to check, are left and right cameras hardware synchronized? If you do aggressive motion and disparity changes for objects at same distance, it means the cameras are not time synchronized, which is bad for VSLAM.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
are left and right cameras hardware synchronized?
yes 100 % both left and right come from one source , i tested it with orb slam 2 , and 3 it works fine , even generate live sami dense point cloud


i will test the calibration app i will report back soon
Reply | Threaded
Open this post in threaded view
|

Re: stereo example

noone
This post was updated on .
In reply to this post by matlabbe
i made the calibration  
( NOTE : before with my matlab calibration it does not make the same results left like right  and they are already close in results in mat lab )

NOTE the suqare size is 15 mm which means 0.015 m  but for some reason it made it 0.0153 m

the code prints the following

Using single stereo camera (device=0)
Camera initialized successfully
Stereo model:
  Baseline: 0.060000
  Left  fx: 1094.603497, fy: 1094.603497, cx: 1038.360458, cy: 553.647488
  Right fx: 1094.603497, fy: 1094.603497, cx: 1038.360458, cy: 553.647488
  Image size: 1920x1080
Press ESC to quit, 'r' to start/stop recording.
[FATAL] (2024-10-18 19:25:04) OptimizerG2O.cpp:1906::rtabmap::OptimizerG2O::optimizeBA() Condition (optimizer.verifyInformationMatrices()) not met!


it open the cameras but then crash i dont know why  




the new calibration by RTAB-map



%YAML:1.0
---
camera_name: "00000001_right"
image_width: 1920
image_height: 1080
camera_matrix:
   rows: 3
   cols: 3
   data: [ 1.0359770426766943e+03, 0., 9.6065890354473777e+02, 0.,
       1.0394423273915493e+03, 5.5087654755310905e+02, 0., 0., 1. ]
distortion_coefficients:
   rows: 1
   cols: 5
   data: [ 2.4355626441227931e-02, -3.3584440811797761e-02,
       3.6038494845013081e-03, 1.1131878223688239e-04,
       6.5387006260538370e-03 ]
distortion_model: plumb_bob
rectification_matrix:
   rows: 3
   cols: 3
   data: [ 9.9895843991392885e-01, 8.3642089290527615e-03,
       -4.4856162717296755e-02, -8.2896391727531969e-03,
       9.9996393240717651e-01, 1.8481794180737676e-03,
       4.4870003422275380e-02, -1.4744130245592985e-03,
       9.9899174616165765e-01 ]
projection_matrix:
   rows: 3
   cols: 4
   data: [ 1.0946034969547125e+03, 0., 1.0383604583740234e+03,
       -6.5676209817282739e+01, 0., 1.0946034969547125e+03,
       5.5364748764038086e+02, 0., 0., 0., 1., 0. ]
local_transform:
   rows: 3
   cols: 4
   data: [ 0., 0., 1., 0., -1., 0., 0., 0., 0., -1., 0., 0. ]



%YAML:1.0
---
camera_name: "00000001_left"
image_width: 1920
image_height: 1080
camera_matrix:
   rows: 3
   cols: 3
   data: [ 1.0379835606151807e+03, 0., 9.6982079338221376e+02, 0.,
       1.0415162275006037e+03, 5.4585387782143107e+02, 0., 0., 1. ]
distortion_coefficients:
   rows: 1
   cols: 5
   data: [ 2.8774425005461009e-02, -5.1330312743177994e-02,
       2.5710449115585476e-03, 1.4016719035248263e-03,
       2.2524994617530224e-02 ]
distortion_model: plumb_bob
rectification_matrix:
   rows: 3
   cols: 3
   data: [ 9.9959277633679888e-01, 6.1221381808933394e-03,
       -2.7871148512115407e-02, -6.1684487373559948e-03,
       9.9997973315311695e-01, -1.5759197935309851e-03,
       2.7860935653078053e-02, 1.7471997925479824e-03,
       9.9961028183858724e-01 ]
projection_matrix:
   rows: 3
   cols: 4
   data: [ 1.0946034969547125e+03, 0., 1.0383604583740234e+03, 0., 0.,
       1.0946034969547125e+03, 5.5364748764038086e+02, 0., 0., 0., 1.,
       0. ]
local_transform:
   rows: 3
   cols: 4
   data: [ 0., 0., 1., 0., -1., 0., 0., 0., 0., -1., 0., 0. ]



%YAML:1.0
---
camera_name: "00000001"
rotation_matrix:
   rows: 3
   cols: 3
   data: [ 9.9985289489103091e-01, -2.0953127011127987e-03,
       1.7023461537229983e-02, 2.1514980425922209e-03,
       9.9999229703997661e-01, -3.2828214821735832e-03,
       -1.7016451868639215e-02, 3.3189645065372286e-03,
       9.9984970112532745e-01 ]
translation_matrix:
   rows: 3
   cols: 1
   data: [ -5.9937506394835721e-02, -5.0185253574318279e-04,
       2.6913697630378953e-03 ]
essential_matrix:
   rows: 3
   cols: 3
   data: [ 2.6980496974639483e-06, -2.6428397889900752e-03,
       -4.8375758123200374e-04, 1.6399160033566383e-03,
       1.8968989229530586e-04, 5.8856903502701279e-02,
       3.6587703005706233e-04, -5.8821360250764100e-02,
       2.0148221832101199e-04 ]
fundamental_matrix:
   rows: 3
   cols: 3
   data: [ -5.2967938474355944e-09, 5.1708078139017699e-06,
       -1.8315854186840529e-03, -3.2087395187436668e-06,
       -3.6989757433487991e-07, -1.1622274507719302e-01,
       1.0285784656178713e-03, 1.1446287425398083e-01,
       9.9999999999999989e-01 ]






screen shot of the calibration , i dont know about the warning





i will re calibrate and try again , kindly check the next Page
12