0

I want to match the images of the color camera and the depth camera of Kinect v2. So, I'd like to try the method of the site below, There are things I do not understand.

Kinect RGB & depth camera calibration

enter image description here

I'd like to know how I can get "rgb_M_world", "ir_M_world" using the "gml c++ camera calibration toolbox" tool.

This tool outputs extrinsic parameters. but, Can I think that this extrinsic parameter means the rgb_M_world or the ir_M_world at that site ?

Where does the GML tool specify the world coordinates? Also, it is necessary for the world coordinates of IR camera and color camera to match, How can I use the GML tool to match the world coordinates of IR camera and color camera?

I would appreciate it if you would give me some advice.

api55
  • 11,070
  • 4
  • 41
  • 57
kuu
  • 197
  • 1
  • 4
  • 14

1 Answers1

2

In the blog you linked to it says that you use the app with each set of image (or at least one image), one set is from the IR camera and another set is from the RGB camera.

Then you get the extrinsics for this set, in other words to the camera they were taken with. So, if you use the IR image set, you get ir_M_World and the intrinsics is usually the camera matrix use in the pin hole camera model

s p = K [R|T] P

where s is a scaling value, p is 2d homgeneous point, K is the camera matrix and [R|T] is the extrinsics matrix (Rotation and translation) and P is a 3D point.

Now, you need to understand a little how this calibration method works. First you have a grid of points (in your case the intersection of the chess squares. This points has to be represented in 3D coordinates. Since normally you do not care about where this points are (unless you have a fixed coordinate system you want to follow) the points are taken as follows:

[0,0,0] [1,0,0] ... [n, 0,0]
[0,1,0]     ...       ...
  ...       ...       ...
[0,m,0]     ...     [n, m, 0]

The [0,0,0] point may be in the center of the grid, and the steps between point can be real cm/mm/m measurements, but for convenience it is like that. Then you get the distance from this fake point cloud we created to one camera and then to the other camera. Since you have both distances from the same place you can relate them as explained in the blog post.

Back to your questions:

I have not used GML tool box, but I imagine they use the same idea as I explained above if this can not be set manually (sometimes it is only the step size between points that you can set). It seems also that they only use chess board patterns. If this process is fully automatic they use the same 3D points each time, so you can relate both cameras. I hope this helps you.

api55
  • 11,070
  • 4
  • 41
  • 57
  • Thank you ! Your answer has become a great help. – kuu Jun 14 '17 at 07:55
  • @kuu no problem. If it helps you consider voting it up and accepted as an answer so other people know that it may be helpful. – api55 Jun 14 '17 at 07:59