View my account

Use millimeter as unit for extrinsic parameter between depth camera and color camera

Comments

3 comments

  • MartyX Grover

    Hi Yixun Liu 

    Intel's Calibration Tools User Guide for Intel RealSense D400 Series document, linked to below, provides the following information about rotation and translation between the RGB camera and the left camera (the 'world origin' of the coordinate system).  Millimeter is used for the translation.

     

    RotationLeftRGB - rotation from RGB camera coordinate system to left camera coordinate system, specified as a 3x3 rotation matrix

    TranslationLeftRGB - translation from RGB camera coordinate system to left camera coordinate system, specified as a 3x1 vector in millimeters

    https://dev.intelrealsense.com/docs/intel-realsensetm-d400-series-calibration-tools-user-guide#section-2-1-calibration-parameters

     

    The above guide relates to the Dynamic Calibration Tool.  The guidance for the RealSense SDK's other calibration tool, On-Chip Calibration, is here:

    https://dev.intelrealsense.com/docs/self-calibration-for-depth-cameras

     

    You can obtain the extrinsics and intrinsics of a camera using the command below in a terminal (such as the Ubuntu terminal or the Windows command prompt).

    rs-enumerate-devices -c

    This command will generate a long list of extrinsic and intrinsic data.  You can then scroll up through the listing in the terminal until you reach the sections titled Extrinsic from "Color" to "Depth" and Extrinsic from "Depth" to "Color"

    The inages below were taken from my D435i camera model.

    0
    Comment actions Permalink
  • Yixun Liu

    Thank you so much for your detailed reply.

    I still have several questions to need your help.

    1. I check the value of the translation from Color camera to Depth camera and I think the unit should be meter rather than millimeter because the values are very close to zero. I also check the following link:

    https://github.com/IntelRealSense/librealsense/wiki/Projection-in-RealSense-SDK-2.0#

    In extrinsic camera parameters section, the translation between two imagers has unit meter.

    2. I run the command rs-enumerate-devices.exe -c as you said and check the Stream Profiles. I am a little bit of confused about the name of "Depth" camera. Does the "Depth" camera means the entire stereo module or just the left infrared camera? For D435i it only has two infrared sensors, one color sensor, a projector and some IMU. So I think the depth camera means the entire stereo modules, in another word, the two infrared sensors. Am I right?

    Thanks.

    Yixun

     

    0
    Comment actions Permalink
  • MartyX Grover

    1.  You have a point.  If you google for librealsense extrinsics translation meters then most reference sources state the translation as being in meters.  Possibly, the earlier reference to millimeters is in regard to how the Dynamic Calibration tool specifically handles translation values in TranslationLeftRGB.  Apologies for that.

    2.  As the depth origin (0,0,0) is the center of the left infrared sensor, I would think (not certain) that it refers to that rather than the depth module as a whole.

    0
    Comment actions Permalink

Please sign in to leave a comment.