Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Ask your questions right here!
  3. OV9782 tracking configuration

OV9782 tracking configuration

Scheduled Pinned Locked Moved Ask your questions right here!
8 Posts 3 Posters 1.7k Views
  • 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.
  • D Offline
    D Offline
    david.moro
    Contributor
    wrote on last edited by
    #1

    Re: Using OV9782 for tracking

    Hi, I am trying to use the OV9782 camera (M0113) for VIO, and I am struggling to make it work. The VOXL2 recognizes the camera, and I can see it in the portal. However, it fails to calibrate. I am currently running voxl-suite 0.9.4. Can you confirm I need to be on 0.9.5 to make it work? Also, what are the steps to configure it? Can I use voxl-configure-cameras to set the system up?

    Thanks!

    1 Reply Last reply
    0
    • ModeratorM Offline
      ModeratorM Offline
      Moderator
      ModalAI Team
      wrote on last edited by
      #2

      If you see the sensor in the portal, you have the sensor configured properly.

      By fails to calibrate, are you using voxl-camera-calibration ?

      D 1 Reply Last reply
      1
      • ModeratorM Moderator

        If you see the sensor in the portal, you have the sensor configured properly.

        By fails to calibrate, are you using voxl-camera-calibration ?

        D Offline
        D Offline
        david.moro
        Contributor
        wrote on last edited by david.moro
        #3

        @Moderator Correct. Both with and without the --fisheye flag. In one case I get this:

        2023-07-24 11_47_45-.png

        In the other case I get:

        2023-07-24 11_35_26-.png

        Also, I moved to SDK 1.0.0

        ? 1 Reply Last reply
        0
        • D david.moro

          @Moderator Correct. Both with and without the --fisheye flag. In one case I get this:

          2023-07-24 11_47_45-.png

          In the other case I get:

          2023-07-24 11_35_26-.png

          Also, I moved to SDK 1.0.0

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #4

          @david-moro

          Hello! Sorry to hear you're having trouble. With regards to your first screenshot: your re-projection error in the first shot of 1.028 is too high for a fluke occurrence. I would review your calibration setup: make sure you have good lighting conditions, a completely flat calibration grid, and that your lens is focused on the scene. I have calibrated these cameras a few times before and changing lighting conditions can make all the difference. With regards to your second screenshot, the OV9782 sensor is not a fisheye lens which is my best guess as to why you're getting the error you're getting.

          Hope this helps, let me know if you have any further questions.

          Thomas

          D 1 Reply Last reply
          0
          • ? A Former User

            @david-moro

            Hello! Sorry to hear you're having trouble. With regards to your first screenshot: your re-projection error in the first shot of 1.028 is too high for a fluke occurrence. I would review your calibration setup: make sure you have good lighting conditions, a completely flat calibration grid, and that your lens is focused on the scene. I have calibrated these cameras a few times before and changing lighting conditions can make all the difference. With regards to your second screenshot, the OV9782 sensor is not a fisheye lens which is my best guess as to why you're getting the error you're getting.

            Hope this helps, let me know if you have any further questions.

            Thomas

            D Offline
            D Offline
            david.moro
            Contributor
            wrote on last edited by
            #5

            @Thomas-Patton , no worries, the fight is part of the fun!. So, I tried a dozen times outdoors with no success. In all cases, I made sure the chess board had good/uniform illumination. Would you mind pasting the results of a successful calibration on your end? I wonder if the reprojection error is due to the last coefficient being forced to zero.

            Also, I copied and pasted the "failed" values by hand into a intrinsic config file and I got the VIO to work on it without trouble. We will do some flying soon. I'll keep you posted.

            One last question: would the reprojection error depend on the resolution of the camera? This camera is twice the resolution of the standard tracking one.

            Cheers!

            ? 1 Reply Last reply
            0
            • D david.moro

              @Thomas-Patton , no worries, the fight is part of the fun!. So, I tried a dozen times outdoors with no success. In all cases, I made sure the chess board had good/uniform illumination. Would you mind pasting the results of a successful calibration on your end? I wonder if the reprojection error is due to the last coefficient being forced to zero.

              Also, I copied and pasted the "failed" values by hand into a intrinsic config file and I got the VIO to work on it without trouble. We will do some flying soon. I'll keep you posted.

              One last question: would the reprojection error depend on the resolution of the camera? This camera is twice the resolution of the standard tracking one.

              Cheers!

              ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #6

              @david-moro

              Hm, I'm sorry to hear you're still having trouble with the camera calibration. We're trying to work on a more sophisticated algorithm to calibrate in more robust conditions but for now this is all we have. Below I've pasted the .yml results for my correct calibration, you're certainly welcome to use them if you'd like but I can't make any guarantees with how well they will work.

              For your question on the reprojection error, my intuition says a higher resolution could actually lead to a lower reprojection error given the larger amount of available data to form a pixel-to-world mapping. However, I think in general other factors like the clarity of checkerboard used probably outweigh this factor.

              Lastly, I'll point you to our camera calibration page which you've probably already seen but has a ton of info and some videos of us running the same calibration routine in our office.

              Again, sorry for the troubles here, hope some of this helps!

              Thomas

              opencv_stereo_grey_extrinsics.yml

              %YAML:1.0
              ---
              R: !!opencv-matrix
                 rows: 3
                 cols: 3
                 dt: d
                 data: [ 9.9938944667465623e-01, -7.4044245288328496e-03,
                     3.4145400462161628e-02, 9.3430943413412692e-03,
                     9.9833208538277962e-01, -5.6971518177061871e-02,
                     -3.3666607542984874e-02, 5.7255757725029832e-02,
                     9.9779173064516791e-01 ]
              T: !!opencv-matrix
                 rows: 3
                 cols: 1
                 dt: d
                 data: [ -7.9822710237796926e-02, -2.4983938280042977e-04,
                     1.3478076846433324e-03 ]
              reprojection_error: 9.0313540855854690e-01
              orientation: vertical
              calibration_time: "2023-07-19 19:10:58"
              

              opencv_stereo_grey_intrinsics.yml

              %YAML:1.0
              ---
              M1: !!opencv-matrix
                 rows: 3
                 cols: 3
                 dt: d
                 data: [ 5.3055673012705324e+02, 0., 6.5505404689306852e+02, 0.,
                     5.3191382931166481e+02, 3.9505491684283311e+02, 0., 0., 1. ]
              D1: !!opencv-matrix
                 rows: 5
                 cols: 1
                 dt: d
                 data: [ -3.7237267115525718e-02, -5.0149156174346086e-03,
                     -4.0019302977205550e-04, -1.8178997714387169e-04, 0. ]
              reprojection_error1: 4.4450130427731271e-01
              M2: !!opencv-matrix
                 rows: 3
                 cols: 3
                 dt: d
                 data: [ 5.3165184840643917e+02, 0., 6.3496372217095029e+02, 0.,
                     5.3296270599190177e+02, 3.9779778516864519e+02, 0., 0., 1. ]
              D2: !!opencv-matrix
                 rows: 5
                 cols: 1
                 dt: d
                 data: [ -4.3110297717821523e-02, -3.0787131445127801e-03,
                     5.5046174350197768e-04, 3.0979567848984051e-04, 0. ]
              reprojection_error2: 4.3755421944960809e-01
              width: 1280
              height: 800
              distortion_model: plumb_bob
              calibration_time: "2023-07-19 19:10:58"
              
              D 1 Reply Last reply
              0
              • ? A Former User

                @david-moro

                Hm, I'm sorry to hear you're still having trouble with the camera calibration. We're trying to work on a more sophisticated algorithm to calibrate in more robust conditions but for now this is all we have. Below I've pasted the .yml results for my correct calibration, you're certainly welcome to use them if you'd like but I can't make any guarantees with how well they will work.

                For your question on the reprojection error, my intuition says a higher resolution could actually lead to a lower reprojection error given the larger amount of available data to form a pixel-to-world mapping. However, I think in general other factors like the clarity of checkerboard used probably outweigh this factor.

                Lastly, I'll point you to our camera calibration page which you've probably already seen but has a ton of info and some videos of us running the same calibration routine in our office.

                Again, sorry for the troubles here, hope some of this helps!

                Thomas

                opencv_stereo_grey_extrinsics.yml

                %YAML:1.0
                ---
                R: !!opencv-matrix
                   rows: 3
                   cols: 3
                   dt: d
                   data: [ 9.9938944667465623e-01, -7.4044245288328496e-03,
                       3.4145400462161628e-02, 9.3430943413412692e-03,
                       9.9833208538277962e-01, -5.6971518177061871e-02,
                       -3.3666607542984874e-02, 5.7255757725029832e-02,
                       9.9779173064516791e-01 ]
                T: !!opencv-matrix
                   rows: 3
                   cols: 1
                   dt: d
                   data: [ -7.9822710237796926e-02, -2.4983938280042977e-04,
                       1.3478076846433324e-03 ]
                reprojection_error: 9.0313540855854690e-01
                orientation: vertical
                calibration_time: "2023-07-19 19:10:58"
                

                opencv_stereo_grey_intrinsics.yml

                %YAML:1.0
                ---
                M1: !!opencv-matrix
                   rows: 3
                   cols: 3
                   dt: d
                   data: [ 5.3055673012705324e+02, 0., 6.5505404689306852e+02, 0.,
                       5.3191382931166481e+02, 3.9505491684283311e+02, 0., 0., 1. ]
                D1: !!opencv-matrix
                   rows: 5
                   cols: 1
                   dt: d
                   data: [ -3.7237267115525718e-02, -5.0149156174346086e-03,
                       -4.0019302977205550e-04, -1.8178997714387169e-04, 0. ]
                reprojection_error1: 4.4450130427731271e-01
                M2: !!opencv-matrix
                   rows: 3
                   cols: 3
                   dt: d
                   data: [ 5.3165184840643917e+02, 0., 6.3496372217095029e+02, 0.,
                       5.3296270599190177e+02, 3.9779778516864519e+02, 0., 0., 1. ]
                D2: !!opencv-matrix
                   rows: 5
                   cols: 1
                   dt: d
                   data: [ -4.3110297717821523e-02, -3.0787131445127801e-03,
                       5.5046174350197768e-04, 3.0979567848984051e-04, 0. ]
                reprojection_error2: 4.3755421944960809e-01
                width: 1280
                height: 800
                distortion_model: plumb_bob
                calibration_time: "2023-07-19 19:10:58"
                
                D Offline
                D Offline
                david.moro
                Contributor
                wrote on last edited by
                #7

                @Thomas-Patton Thanks a lot! A VERY flat checkerboard did it. Reprojection error is now in the order of 0.3.

                ? 1 Reply Last reply
                0
                • D david.moro

                  @Thomas-Patton Thanks a lot! A VERY flat checkerboard did it. Reprojection error is now in the order of 0.3.

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #8

                  @david-moro

                  Awesome! Glad we were able to get this resolved 🙂

                  Thinking about it more, this makes a lot of sense. A higher resolution camera is going to be ultra-precise in its pixel-to-world mapping meaning small inaccuracies in the grid would probably cause the model to blow up. I'll make a note to make this very clear on our documentation.

                  Don't hesitate to reach out if you have any other questions. Best of luck!!

                  Thomas

                  1 Reply Last reply
                  0

                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                  With your input, this post could be even better 💗

                  Register Login
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  ModalAI
                  Categories Recent Tags ModalAI.com Docs
                  © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups