Trying to figure out realsense factory calibration

257 views
Skip to first unread message

Daniel Johnson

unread,
Dec 6, 2015, 1:14:04 PM12/6/15
to openkinect
Looking at a binary blob I got off of the intel realsense F200 camera
I found numbers in the upper triangle matrix format typically used for
intrinsic calibration.

(A)
1.487056 0.000000 0.012773
0.000000 1.982741 0.029860
0.000000 0.000000 1.000000

This doesn't match numbers from a manual calibration I did a while
ago, and I'm trying to figure out if this is some kind of equivalent
form.

My manual calibration
(B)
475.310051 0.000000 335.282418
0.000000 474.440685 242.982056
0.000000 0.000000 1.000000

If I take the top left number from A which should be a focal length to
pixel size number, and multiply it by half the width of the image 320
I get

475.85792 = 1.487056 * 320

Which is about the size of the number in B.

Similarly if I take the middle number from A, and multiply it by half
the height of the image I get.

475.85784 = 1.982741×240

The last two significant numbers I can't make any sense of how to convert them.
0.012773 should be a number for the X center of the image
0.029860 should be the Y center.

I'm hoping someone with more experience with the math can help.
--
teknotus (Take Notice)

Florian Echtler

unread,
Jan 18, 2016, 8:40:44 AM1/18/16
to openk...@googlegroups.com, tekn...@gmail.com
Hello Daniel,

this has been sitting here for a while, but I've just had a look at
these values for my F200 and got very similar results. Would it be
possible that they just use a different convention for the origin?

Normally, it's in the lower left image corner, so the principal point is
somewhere around (resX/2,resY/2). However, if the convention here is to
use the image center as origin, then if you multiply the values with
res/2, you get something on the order of 5-10 pixels which would fit
pretty well...

Best, Florian
SENT FROM MY DEC VT50 TERMINAL

signature.asc

Daniel Johnson

unread,
Jan 21, 2016, 5:15:59 PM1/21/16
to Florian Echtler, openkinect
On Mon, Jan 18, 2016 at 5:40 AM, Florian Echtler <fl...@butterbrot.org> wrote:
> Hello Daniel,
>
> this has been sitting here for a while, but I've just had a look at
> these values for my F200 and got very similar results. Would it be
> possible that they just use a different convention for the origin?
>
> Normally, it's in the lower left image corner, so the principal point is
> somewhere around (resX/2,resY/2). However, if the convention here is to
> use the image center as origin, then if you multiply the values with
> res/2, you get something on the order of 5-10 pixels which would fit
> pretty well...
>
> Best, Florian

Intel just released an open sourced (apache license) library that
extracts the factory calibration, and converts it to a point cloud. I
assume the knowledge can be found in the source, but there is too much
for me to have read, and understood it all at this point. There seems
to be some parts marked TODO in the temperature compensation code so
it may still not be a 100% ready solution for the F200. I think the
R200 internally corrects for temperature.

https://github.com/IntelRealSense/librealsense

--
teknotus (Take Notice)
Reply all
Reply to author
Forward
0 new messages