Items with no label
3338 Discussions

Depth Control Parameters

jb455
Valued Contributor II
4,126 Views

Hi,

I'm trying to improve the quality of the depth image I get from each of the cameras (particularly the R200 but also SR300). I found in the librealsense source they have the following method (from https://github.com/IntelRealSense/librealsense/blob/2e3f2ad658c46703426ad87587de66cf526478be/include/librealsense/rsutil.h here, 63-86 with similar for the SR300 in 89-121):

static void rs_apply_depth_control_preset(rs_device * device, int preset){ static const rs_option depth_control_options[10] = { RS_OPTION_R200_DEPTH_CONTROL_ESTIMATE_MEDIAN_DECREMENT, RS_OPTION_R200_DEPTH_CONTROL_ESTIMATE_MEDIAN_INCREMENT, RS_OPTION_R200_DEPTH_CONTROL_MEDIAN_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_SCORE_MINIMUM_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_SCORE_MAXIMUM_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_TEXTURE_COUNT_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_TEXTURE_DIFFERENCE_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_SECOND_PEAK_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_NEIGHBOR_THRESHOLD, RS_OPTION_R200_DEPTH_CONTROL_LR_THRESHOLD };<td class="blob-num js-line-number" data-line-number="77" style="padding: 0 10px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 12px; color: rgba(0, 0, 0, 0.298039); text-a...
0 Kudos
27 Replies
jb455
Valued Contributor II
659 Views

I was reading through the http://www.intel.com/content/dam/support/us/en/documents/emerging-technologies/intel-realsense-technology/realsense-sr300-datasheet1-0.pdf SR300 Datasheet, and found on page 18-20 claims that the SR300 supports auto laser (projector) power and auto motion/range trade-off. I can't find any mention of these in the SDK docs though (even on the Device.Properties page) - are these more things that the devs never got round to making a public get/set for? Being able to have these settings automatically adapt to the scene will likely massively improve the flexibility and reliability of my app (and I'm sure many others).

0 Kudos
MartyG
Honored Contributor III
659 Views

The instructions marked with an 'Auto' dot in the tables in the SR300 data sheet (page 18) are DEPTH_PROJECTOR_POWER and DEPTH_MOTION_RANGE. Page 19 also references a PROJECTOR_AUTO function for controlling the projector based on the IR camera.

Page 20 says DEPTH_PROJECTOR_POWER and DEPTH_MOTION_RANGE are functional "for VGA mode only".

I couldn't find any reference to them regarding the official SDK either. Curiously though, Librealsense seems to mention them.

https://github.com/IntelRealSense/librealsense/blob/master/unit-tests/unit-tests-live-sr300.cpp librealsense/unit-tests-live-sr300.cpp at master · IntelRealSense/librealsense · GitHub

0 Kudos
jb455
Valued Contributor II
659 Views

Yeah, it seems like maybe all these settings are supported at the firmware/DCM level but were never implemented in the SDK. It'd be good to get some confirmation on the matter, and whether there are any plans to implement these in future releases.

0 Kudos
idata
Employee
659 Views

Hello jb455,

 

 

I'll investigate a bit more regarding those functions and if there is any plans to implement them.

 

 

If I find relevant information, I'll post it here.

 

 

Thank you for your patience.

 

 

Regards,

 

Andres V.
0 Kudos
jb455
Valued Contributor II
659 Views

Thanks Andres!

I found https://software.intel.com/en-us/articles/introducing-the-intel-realsense-camera-sr300 this document, which says that Auto-Range (along with HDR which might be interesting and Confidence Map which is mentioned quite a few times in the SDK docs but doesn't yet exist) is "planned for the second half of 2016". Were they added in the 2016 R3 SDK? I can't see any mention in the release notes for the new version but perhaps it slipped in? Though, having said that, that wouldn't be any good for us anyway as we need to support all cameras so can't use 2016R3!

My big problem is really with the performance on skin. The auto-laser/range may be good to help but if they don't exist at the moment they're not much use. Could you see if there was any internal testing on skin and what settings they found were best to improve the performance please?

James

0 Kudos
idata
Employee
659 Views

Hello jb455,

Thank you for sharing that information.

After doing some research, I found out that there are no plans to expose the aforementioned functions.

The controls available for the F200 and SR300 cameras are the ones present in this link https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/index.html%3Fmember_functions_f200_and_sr300_device_pxccapture.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/index.html?member_functions_f200_and_sr300_device_pxccapture.html.

Regarding the testing on skin settings, I'll be needing more time to investigate about it.

Thank you for your patience.

Regards,

 

Andres V.
0 Kudos
idata
Employee
659 Views

Hello jb455,

Sorry for the late reply.

I would like to inform you that the effective range of the SR300 camera starts at 20 cm, so any data captured at a shorter distance is indeterminate.

I have attached a picture of a capture of the skin at approximately 12 cm, it doesn't show the "waves" like the ones that you experienced, though.

If you have any other question, don't hesitate to contact us.

Have a nice day.

Regards,

 

Andres V.
0 Kudos
Reply