Documentation.MultipleKinect History

Hide minor edits - Show changes to markup

January 30, 2012, at 09:07 PM by 87.217.160.138 -
Changed line 16 from:

./calibrate-multiple-kinects grab0 grab1 calibration1.yml calibration2.yml —pattern-size 0.025

to:

./calibrate-multiple-kinects grab0 grab1 calibration-SERIAL1.yml calibration-SERIAL2.yml —pattern-size 0.025

Changed lines 19-24 from:

grab0 and grab1 are the directories containing the grabbed checkboards. grab0 correspond to the reference camera, and grab1 to the Kinect whose extrinsics will be computed. calibration1.yml and calibration2.yml are the calibration files containing the intrinsics of each Kinect. These can be obtained automatically from OpenNI by using File/Save Calibration Parameters in rgbd-multikinect after activating the corresponding device. These files are usually identical though. —pattern-size is the same as in the calibration section. If calibration is successful, a calibration_multikinect.yml file will be generated, containing the computed R_extrinsics and T_extrinsics matrices, respectively the 3D rotation matrix and the 3D translation vector of the second camera w.r.t. the first one.

This file can then be fed to rgbd-multikinect:

./rgbd-multikinect --calibration2 calibration_multikinect.yml --numdevices 2
to:

grab0 and grab1 are the directories containing the grabbed checkboards. grab0 correspond to the reference camera, and grab1 to the Kinect whose extrinsics will be computed. calibration-SERIAL1.yml and calibration-SERIAL2.yml are the calibration files containing the intrinsics of each Kinect (see above to obtain them). —pattern-size is the same as in the calibration section. If calibration is successful, a calibration_multikinect.yml file will be generated, containing the computed R_extrinsics and T_extrinsics matrices, respectively the 3D rotation matrix and the 3D translation vector of the second camera w.r.t. the first one.

This file can then be fed to rgbd-multikinect by overwriting calibration-SERIAL2.yml with the generated file.

January 30, 2012, at 09:04 PM by 87.217.160.138 -
Changed lines 4-8 from:
  • Launch rgbd-multikinect. You need to plug each Kinect on a different usb hub. You can set the number of connected devices with the —numdevices flag. Then you can switch between different devices using the number keys, or the Devices menu. A calibration file can be set for each device using e.g. —calibration2 calibration2.yml to set the parameters of the second device. To calibrate the extrinsics of each Kinect, you can:
to:
  • Launch rgbd-multikinect. You need to plug each Kinect on a different usb hub. You can set the number of connected devices with the —numdevices flag. Then you can switch between different devices using the number keys, or the Devices menu.
  • A calibration file can be set for each device using e.g. —calibration calibration_dir to set the directory where the calibration files are located. The file should be named calibration-SERIAL.yml where SERIAL is the serial number of the corresponding camera. It is recommended to initialize these files first by running the program and using “File/Save calibration parameters” to create default files.

To calibrate the extrinsics of each Kinect, you can:

January 30, 2012, at 08:59 PM by 87.217.160.138 -
Added line 6:
  1. Put a checkerboard in front of the camera. If it can be seen from all the cameras, then simply click on “Refine with checkboard” to estimate the extrinsics.
January 29, 2012, at 06:43 PM by 87.217.160.138 -
Added lines 22-23:

(:youtube zkhQbS7qKig:)

January 29, 2012, at 06:36 PM by 87.217.160.138 -
Added lines 1-21:

Using multiple kinects


  • Launch rgbd-multikinect. You need to plug each Kinect on a different usb hub. You can set the number of connected devices with the —numdevices flag. Then you can switch between different devices using the number keys, or the Devices menu. A calibration file can be set for each device using e.g. —calibration2 calibration2.yml to set the parameters of the second device. To calibrate the extrinsics of each Kinect, you can:
  1. Use the 3D view and check calibration mode to manually move the current view until it matches the reference one.
  2. Once you’re close to a good alignment, the “Refine with ICP” button can help to finalize the registration.
  3. Another option is to use the calibrate-multiple-kinects program. You will first need to grab images of checkerboards seen by both cameras using uncalibrated rgbd-multikinect. Then you can call the calibration program with, e.g.:

./calibrate-multiple-kinects grab0 grab1 calibration1.yml calibration2.yml --pattern-size 0.025

grab0 and grab1 are the directories containing the grabbed checkboards. grab0 correspond to the reference camera, and grab1 to the Kinect whose extrinsics will be computed. calibration1.yml and calibration2.yml are the calibration files containing the intrinsics of each Kinect. These can be obtained automatically from OpenNI by using File/Save Calibration Parameters in rgbd-multikinect after activating the corresponding device. These files are usually identical though. —pattern-size is the same as in the calibration section. If calibration is successful, a calibration_multikinect.yml file will be generated, containing the computed R_extrinsics and T_extrinsics matrices, respectively the 3D rotation matrix and the 3D translation vector of the second camera w.r.t. the first one.

This file can then be fed to rgbd-multikinect:

./rgbd-multikinect --calibration2 calibration_multikinect.yml --numdevices 2
  • Note: PCL support is required by this demo.