View my account

Background removal with OBS and the D435

Comments

12 comments

  • MartyG

    I'm not aware of a successful case of the 400 Series cameras working with depth-based background extraction (others have tried and had problems too).  

    A green-screening solution that is claimed by its maker to work with the D435 is MixCast.   It contains a background removal function called WildKey that extracts the background using depth data so that a physical green-screen is not needed.   It costs $45 a year but has a free trial version so you can test whether it is suitable for you.

    https://mixcast.me/docs/using-mixcast?section=wildkey 

    MixCast's documentation states that it is able to export to OBS Studio.

    If you are not using background extraction for the purposes of broadcasting but just want to extract the background, the RealSense SDK has a program called 'Align'.   It is available in executable pre-built from in the SDK's "Tools" directory, in an 'Align' and 'Align-Advanced' form.  The folder location is 'RealSense SDK 2.0 > Tools'.

    Documentation for 'Align-Advanced' (which allows you to subtract the background progressively with a slider) is here:

    https://github.com/IntelRealSense/librealsense/tree/master/examples/align-advanced 

    You can download the current RealSense SDK from the link below.   

    https://github.com/IntelRealSense/librealsense/releases/ 

    Go to the bottom of the information listing for the latest version to find an 'Assets' option with an arrow beside it, and click the arrow to expand open a list of downloadable files.  

    1
    Comment actions Permalink
  • Jim

    Thanks MartyG. Per your recommendation I tried both the rs-align-advanced and the MixCast WildKey. They both sort of worked, but not very well. Is this something that works better with a different RealSense camera, or is it something that never really worked?

    0
    Comment actions Permalink
  • MartyG

    The SR300 camera model used to work with OBS but also now has had problems reported with it.  

    XSplit (the popular alternative to OBS) now has a program called XSplit VCam that does background removal without a green screen and claims to work with any webcam.  Its web-page says that it can work with OBS.

    https://www.xsplit.com/vcam 

    0
    Comment actions Permalink
  • Jim

    I am using XSplit with my other webcam. It works OK. I have a green screen too, but it takes a lot of space to set it up right. Was looking for a simpler upgrade with the Intel. 

    Question maybe you can help with. I noticed that the align-advanced doesn't have any configuration options besides range, but that sometimes after tweaking settings in RealSense Viewer the behavior would be different in align-advanced. Maybe there is some configuration I need to do to make align-advanced work better?

    Thanks again for your help!

    0
    Comment actions Permalink
  • Jim

    This is what I am getting from align-advanced. Lots of speckles and a rough edge.

    MixCast WildKey was better, but not better enough to justify an additional annual cost. Plus it had its own odd behavior.

    0
    Comment actions Permalink
  • MartyG

    The speckles are likely generated by the IR Emitter component of the camera, which projects a semi-random pattern of dots onto a scene.   Their visibility on the image can be reduced by reducing the Laser Power setting's value, or they can be turned off completely be turning off the IR Emitter. 

    The Laser Power and IR Emitter enable / disable settings, and other settings found in the RealSense Viewer, can be changed with code but you would have to add it to the program yourself and then build the source code to make the program executable.  This would require skills with programming software such as Microsoft Visual Studio.

    I believe the loss at the edges is occurring because the camera cannot read the depth detail on that side of your face due to the angle at which it sees your head pointed at relative to the camera's position.  I'm not sure it would be any better if you were looking straight ahead at the camera, as then it would not be able to properly see either side of the headphones.

    Loss of detail can be avoided by using multiple cameras, arranging them around yourself (either in a 180 degree or 360 degree circle depending on how many cameras you want to use) and then assembling the data from all the cameras together into a single image.  I can appreciate though that the expense of this option may make it unsuitable.

    The new RealSense SR305 camera (which is based on the SR300 model and uses a different camera technology from the 400 Series) lists scene segmentation as one of its key features in its store listing.  I would recommend seeking further information from the Intel support staff on this forum though on how this feature will be supported on the SR305 (I am not an Intel employee and do not have that information).

    https://store.intelrealsense.com/buy-intel-realsense-depth-camera-sr305.html 

    The 2016 version of The RealSense SDK has a segmentation example program that comes with it.  I tested it just now with my SR300 and it gives better results than your image, though the camera has to be quite close to you in order for you to not fade out of the image.

    0
    Comment actions Permalink
  • Jim

    I'm a software developer, so in theory I could make changes to the program, but as much fun as that sounds, I don't know how much time I want to put into running down that rabbit hole. I like the idea of using multiple cameras, but again, it might be more effort than it is worth.

    I've sent a message to Intel Support and I will see what they say. The SR305 does look like a better alternative though. Thanks so much for your help!

    0
    Comment actions Permalink
  • MartyG

    A quick way to apply settings in the 400 Series without hand coding them all is to set them in the RealSense Viewer and then export the settings in a 'custom preset' file that can then be loaded back in to the Viewer or into your own scripts to instantly restore the saved configuration.

    Intel's SDK Manager has said that the SR305 does not 'officially support' the 2016 SDK but it was not clarified whether the camera has been made incapable of using it like the SR300 could or if they just want to dissuade people from using it with the SR305.  That is why getting an official response from Intel is important.

    Good luck!

    0
    Comment actions Permalink
  • Jim

    Thanks!

    0
    Comment actions Permalink
  • Jim

    Customer service finally got back with me about how to get a hold of technical support. Here is the link if anyone else needs it: https://support.intelrealsense.com/hc/en-us/requests/new 

    Why it took them two weeks to figure that out is beyond me.

    0
    Comment actions Permalink
  • Jim

    Tech Support let me know that OBS support & background removal never really worked well and was removed. So I returned it.

    0
    Comment actions Permalink
  • MartyG

    Thanks very much for the update.   I'm sorry that you did not get the outcome that you needed.

    0
    Comment actions Permalink

Please sign in to leave a comment.