View my account

How to modeling 3d objects using three D435 cameras

Comments

3 comments

  • MartyX Grover

    Hi Wuhairongqq

    1.  In general you may wish to position the three cameras so that their field of view (FOV) overlaps with one another.  This will help to avoid blind-spots in the observation of the scene.  Cameras can be arranged in a variety of ways, such as in a vertical stack, a horizontal straight line or in a circle surrounding an object and looking inwards towards it.

    If the cameras will be arranged in a horizontal straight line, an Intel multiple camera article in the link below should be a helpful guide about spacing.

    https://www.intelrealsense.com/intel-realsense-volumetric-capture/

    If the cameras will be arranged in a circle then Intel's multiple camera white-paper document provides clear images that illustrate spacing.

    https://dev.intelrealsense.com/docs/multiple-depth-cameras-configuration

    If the cameras will be tilted vertically up or down then I would recommend not exceeding a 30 degree tilt angle.  You can go beyond 30 but it may have negative effects on the image.  Pointing the camera 90 degrees directly up or down would be fine though.

     

    2.  The multiple camera white-paper linked to above provides guidance about setting up hardware sync between cameras so that there is one 'master' camera that the other 'slave' cameras try to sync their timestamp timings to.  It is not mandatory to use hardware sync in multiple camera setups though.

    Intel have also published a second multiple camera paper that provides a greater range of multiple camera sync options and finer control over sync.  This paper is experimental and unvalidated by Intel though, and the first paper is the one that is considered validated and mature by Intel.

    https://dev.intelrealsense.com/docs/external-synchronization-of-intel-realsense-depth-cameras

     

    3.   In regard to free solutions, Intel have published a multiple camera guide for ROS that enables the capturing of individual point-cloud scans and the automated stitching together of them into a single cloud.  

    https://www.intelrealsense.com/how-to-multiple-camera-setup-with-ros/

    It is also possible to stitch multiple clouds together using a procedure called affine transform, which arranges the position and orientation of multiple clouds to share the same 3D space.  If you are able to create your own RealSense application, the RealSense SDK has an instruction called rs2_transform_point_to_point that is an affine transform.

    Alternatively, the Point Cloud Library (PCL) - which the RealSense SDK can interface with via a compatibility 'wrapper' - has the Normal Distributions Transform method of point cloud stitching.

    https://pointclouds.org/documentation/tutorials/normal_distributions_transform.html

    At a more advanced level, the CONIX Research Center at Carnegie Mellon developed a point cloud stitching system that could stitch clouds from up to 20 RealSense 400 Series cameras over an ethernet network.

    https://github.com/conix-center/pointcloud_stitching

    There is also a commercial RealSense compatible multiple camera software solution available in the form of RecFusion Pro if you have the budget to do so.

    https://www.recfusion.net/index.php/en/features

    0
    Comment actions Permalink
  • MartyX Grover

    It is also worth highlighting that there are solutions for scanning with a single camera by moving the camera around a scene and progressively building up the detail of the scene on the scan.  A free example of such an application is rs-kinfu.

    https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv/kinfu

    0
    Comment actions Permalink
  • MartyX Grover

    The new RealSense SDK version 2.50.0 has added a C++ example program for multiple camera pointcloud stitching that may be of interest to you.

    https://github.com/IntelRealSense/librealsense/tree/master/wrappers/pointcloud/pointcloud-stitching

    0
    Comment actions Permalink

Please sign in to leave a comment.