ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

how to calibrate a 2D camera with respect to Kinect?

asked 2011-03-02 01:09:02 -0500

blueskin gravatar image

updated 2016-10-24 08:59:03 -0500

ngrennan gravatar image

Hello all, I have a 2D thermal imaging camera mounted right on top of my kinect. I am trying to calibrate these two sensors so as to integrate data from them. Is there a way to do this using any of ROS packages or external libraries? Also, if you know of a way of calibrating a regular camera with kinect please feel free to share.

Please feel free to share any references or solutions on this problem.Best,

CV

edit retag flag offensive close merge delete

Comments

Could you clarify what type of calibration you are looking for? For example, are you just trying to find the rotation/translation of the 2D camera relative to one of the Kinect's cameras?
Eric Perko gravatar image Eric Perko  ( 2011-03-03 10:40:45 -0500 )edit

4 Answers

Sort by ยป oldest newest most voted
1

answered 2011-03-03 17:37:42 -0500

For calibrating the intrinsic camera parameters of a thermal camera I had satisfactory (if not perfect) results by warming the checkerboard pattern using a high powered lamp. The black squares will get hotter than the white squares and show up differently on thermals after a short while. I did that with the Matlab toolbox where one has to manually click the correspondences though, not sure how OpenCV calibration copes with sometimes not so perfect images (due to not perfectly homogenous heating, low resolution, noise in the framegrabbed images etc). We also considered making a calibration pattern out of metal squares, but ditched that idea because the "paper heating" method worked well enough.

edit flag offensive delete link more
0

answered 2011-03-02 18:03:33 -0500

KoenBuys gravatar image

Does the thermal imaging camera also give you a regular image? You might try with setting manual correspondences and looking at the OpenCV camera calibration interface. Also have a look at the Camera calibration package.

edit flag offensive delete link more

Comments

@KoenBuys: yes its gives out a thermal image (2D), i guess setting manual correspondences would be the only option for now. Thank you.
blueskin gravatar image blueskin  ( 2011-03-03 06:27:16 -0500 )edit
I wonder if you could take advantage of existing Stereo calibrations or something... IIRC the way they calibrated the first Kinect driver was using Stereo calibration using a checkerboard that showed up in both cameras the same... though that might be tricky with thermal.
Eric Perko gravatar image Eric Perko  ( 2011-03-03 06:30:48 -0500 )edit
@Eric Perko: I might be also using just a high def camera in future to calibrate with kinect. If you have any link or reference on how to do stereo calibration for calibrating external camera with the kinect could you please share? thank you
blueskin gravatar image blueskin  ( 2011-03-03 07:11:04 -0500 )edit
@blueskin: It's not really for calibrating an external camera to the Kinect, but the old docs for how they calibrated the two individual cameras that are in the Kinect is at http://www.ros.org/wiki/kinect/Tutorials/Calibrating%20the%20Kinect?action=recall&rev=11
Eric Perko gravatar image Eric Perko  ( 2011-03-03 10:39:03 -0500 )edit
0

answered 2011-03-03 16:35:16 -0500

If you can create a checkerboard visible by both the kinect rgb camera and the thermal camera, then you would be able to feed that into the stereo calibration package. When we were calibrating the kinect RGB camera to the kinect depth camera, we pasted black squares on a large glass pane, and held the pane between the kinect and a white wall. The result was that both cameras "saw" black squares on a white background.

I'm not sure about the details of the thermal imaging camera, but would something similar work? If glass is transparent to it, you might be able to trick it to see squares of different temperatures.

edit flag offensive delete link more
0

answered 2011-03-03 17:40:45 -0500

KoenBuys gravatar image

Perhaps you can paste thermal resistor wire (as the one used to heat up plumbing in the winter) on the lines of the checkerboard, these should come up with an accurate footprint.

edit flag offensive delete link more

Comments

This sounds like a good idea... i might try this. thanks koenBuys
blueskin gravatar image blueskin  ( 2011-03-06 05:17:41 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2011-03-02 01:09:02 -0500

Seen: 1,858 times

Last updated: Mar 03 '11