Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rs2_intrinsics coeffs[] all 0 by default #1430

Closed
beyondmetis opened this issue Mar 25, 2018 · 5 comments
Closed

rs2_intrinsics coeffs[] all 0 by default #1430

beyondmetis opened this issue Mar 25, 2018 · 5 comments

Comments

@beyondmetis
Copy link

Required Info
Camera Model D415
Firmware Version 05.08.15.00
Operating System & Version Ubuntu 16
Kernel Version (Linux Only)  4.8.14
Platform PC
SDK Version 2.10.2

I ran the following code after initializing the device:

auto depthstream = profile.get_stream(RS2_STREAM_DEPTH).asrs2::video_stream_profile();
rs2_intrinsics depthint = depthstream.get_intrinsics();

I know according to the documentation that rs2_intrinsics contains elements such as fx, fy, ppx, ppy, and coeffs (for the 5 lens undistort parameters). When inspecting the values contained by these elements, I found:

fx = 940.924011
fy = 940.924011
ppx = 636.445312
ppy = 359.391479
coeffs[0] = 0
coeffs[1] = 0
coeffs[2] = 0
coeffs[3] = 0
coeffs[4] = 0

Are these coeffs supposed to be all 0? I figured there should at least be some reasonable default based on factory calibration.

@dorodnic
Copy link
Contributor

Hi @beyondmetis
Yes, these are supposed to be zero for the D400. We consider adding coefficient estimation to the RGB calibration to reduce the distortion (by about 1 pixel at extremes), but at the moment projection without coefficients is the most accurate you can do (we are not calibrating and then ignoring the coefficients, we estimate fx, fy, ppx and ppy without them)

@kazoo-kmt
Copy link

@dorodnic I was wondering the same thing, so let me confirm. There are similar discussion at #1380, #837, #780. but it's unclear. Is it correct tha D435/D415 with a factory calibration setup always returns the RGB image without any rectification or undistortion technique, though all the coefficient parameters are zero?

@dorodnic
Copy link
Contributor

dorodnic commented Apr 3, 2018

@kazoo-kmt , that is correct, at least for now. Research on it shows very little improvement to texture-mapping accuracy, while it would require more CPU to process. That's why for now the recommendation is to use all-zero coefficients.

@dorodnic
Copy link
Contributor

dorodnic commented Apr 8, 2018

Closing for now, feel free to open a new issue if you have any follow-up questions

@timprepscius
Copy link

I just want to verify this:

When I query both stereo camera intrinsics, I get all the coeffs to be 0.

Is this an error? Are the full-spectrum-stereo-images undistorted? Should the .model be RS2_DISTORTION_NONE instead of RS2_DISTORTION_BROWN_CONRADY?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants