ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Error on running dfs_server. Cannot get Point Cloud

    FAQs
    2
    2
    224
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Prasad AntervediP
      Prasad Antervedi
      last edited by

      Hi!
      I want to get the point cloud from the stereo imagery using the voxl-dfs-server. I have calibrated the stereo camera using the instructions given here. The calibration procedure was successful and it generated the left.yaml, right.yaml and calibration_stereo.xml files. However, it did not generate the opencv_stereo_extrinsics.yml and opencv_stereo_intrinsics.yml files. I could not find anywhere on the docs any instructions to generate these files. So I had to write them myself taking information from ost.txt. Here are the two files that I wrote:

      1. opencv_stereo_extrinsics.yml
      %YAML:1.0
      R1: !!opencv-matrix
         rows: 3
         cols: 3
         dt: d
         data: [ 0.999731, -0.005262, -0.022599,
                  0.005377, 0.999973, 0.005039,
                  0.022572, -0.005159, 0.999732]
      P1: !!opencv-matrix
         rows: 3
         cols: 4
         dt: d
         data: [527.372271, 0.000000, 331.544373, 0.000000,
                  0.000000, 527.372271, 240.925325, 0.000000,
                  0.000000, 0.000000, 1.000000, 0.000000]
      R2: !!opencv-matrix
         rows: 3
         cols: 3
         dt: d
         data: [0.998424, 0.024289, -0.050596,
              -0.024547, 0.999689, -0.004480,
              0.050471, 0.005715, 0.998709]
      P2: !!opencv-matrix
         rows: 3
         cols: 4
         dt: d
         data: [527.372271, 0.000000, 331.544373, -42.405281,
              0.000000, 527.372271, 240.925325, 0.000000,
              0.000000, 0.000000, 1.000000, 0.000000]
      
      
      1. opencv_stereo_intrinsics.yml
      M1: !!opencv-matrix
         rows: 3
         cols: 3
         dt: d
         data: [488.682800, 0.000000, 321.505138,
              0.000000, 489.299446, 232.298091,
              0.000000, 0.000000, 1.000000]
      D1: !!opencv-matrix
         rows: 1
         cols: 5
         dt: d
         data: [-0.171999, 0.074949, 0.001013, -0.001734, 0.000000]
      M2: !!opencv-matrix
         rows: 3
         cols: 3
         dt: d
         data: [ 500.025405, 0.000000, 290.363517,
                  0.000000, 500.227973, 248.074606,
                  0.000000, 0.000000, 1.000000]
      D2: !!opencv-matrix
         rows: 1
         cols: 5
         dt: d
         data: [-0.194946, 0.140224, 0.001638, 0.000149, 0.000000]
      
      

      Then I pushed these files to the VOXL using ./push_stereo_cal_to_voxl.sh
      However, when I run the voxl-dfs-server on the VOXL I get the following output Screenshot from 2021-10-04 15-07-53.png
      I am suspicious of my .yml files that I generated. Do you have any working .yml files that I can use as template and change values for my system.
      Please let me know how can I debug this and get the point cloud from the stereo imagery with dfs-server.
      Output of voxl-version FYI: Screenshot from 2021-10-04 15-11-45.png

      Please let me know if any other information is needed. I'd appreciate any insight into solving this.

      Thanks
      Prasad

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User
        last edited by

        Hi Prasad,

        I've seen the error that you talked about with the ungenerated once or twice and running the calibration procedure again properly generated the files.

        This is a sample stereo cal from my board (that has a few additional data fields from a soon to be released cal rework) that would serve as a good general idea of what the files should look like. The DFS algorithm is, however, very sensitive to inaccuracies and I'd strongly recommend trying to calibrate your cameras again, but if that doesn't work you can add your values to this format:

        yocto:/$ cat /data/modalai/opencv_stereo_extrinsics.yml 
        %YAML:1.0
        ---
        R: !!opencv-matrix
           rows: 3
           cols: 3
           dt: d
           data: [ 9.9965050025202740e-01, -5.6519379540328910e-04,
               2.6430245966411248e-02, 2.8842568739021546e-03,
               9.9613506820545850e-01, -8.7787282413751958e-02,
               -2.6278478041102546e-02, 8.7832832399280705e-02,
               9.9578854941426354e-01 ]
        T: !!opencv-matrix
           rows: 3
           cols: 1
           dt: d
           data: [ -7.9514399346537298e-02, -2.7245018421472277e-03,
               6.0288890076187220e-04 ]
        reprojection_error: 2.8997817600221831e-01
        calibration_time: "2021-09-30 22:52:56"
        yocto:/$ cat /data/modalai/opencv_stereo_intrinsics.yml     
        %YAML:1.0
        ---
        M1: !!opencv-matrix
           rows: 3
           cols: 3
           dt: d
           data: [ 4.9291881707143079e+02, 0., 3.0643471662712096e+02, 0.,
               4.9232152259255315e+02, 2.1697996372929907e+02, 0., 0., 1. ]
        D1: !!opencv-matrix
           rows: 5
           cols: 1
           dt: d
           data: [ -1.6984598364049669e-01, 6.0034285910162230e-02,
               -8.8644933037586781e-04, -4.1419313003228072e-04, 0. ]
        reprojection_error1: 1.9741562557305206e-01
        M2: !!opencv-matrix
           rows: 3
           cols: 3
           dt: d
           data: [ 4.9673975454370270e+02, 0., 3.1711708934220133e+02, 0.,
               4.9610254255552854e+02, 2.2876245199481119e+02, 0., 0., 1. ]
        D2: !!opencv-matrix
           rows: 5
           cols: 1
           dt: d
           data: [ -1.6758727319959599e-01, 5.4041564358266361e-02,
               -1.5695644102222835e-03, -5.8891426327232642e-04, 0. ]
        reprojection_error2: 3.1594418176162986e-01
        width: 640
        height: 480
        distortion_model: plumb_bob
        calibration_time: "2021-09-30 22:52:56"
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Powered by NodeBB | Contributors