View my account

Advice for tracking sports balls.

Comments

7 comments

  • MartyG

    Hi Wmaass88  When tracking fast motion of small objects, the higher the FPS speed used the better.  Could you try using 90 FPS if you are not doing so already, please?

     

    If your software application uses RealSense SDK code then you can reduce the minimum depth sensing distance of the camera using an option called Disparity Shift.  Setting this to a value of between 100 and 200 would allow the ball to get closer to the camera, though also reduce the camera's maximum depth sensing range.

     

    Using SDK code to increase the Laser Power option to its maximum value of '360' in order to maximize the camera's IR projector output should also help to make the projected IR more visible to the camera.

     

    If your application only uses OpenCV code then a cruder method of reducing minimum distance is to reduce resolution to 640x480.

     

    There is not anything special that you need to consider about using an IR illuminator lamp.  RealSense 400 Series cameras can make use of any light source that it is in a frequency range that they are able to see, such as 850nm, in order to aid depth sensing.

    0
    Comment actions Permalink
  • Wmaass88

    MartyG,

    Thanks for the suggestions, very helpful. I am currently capturing at 90fps with the D455 and also using maximum power on the laser.

    I will try the Disparity Shift option. Is that the same as setting RS2_OPTION_MIN_DISTANCE?

    EDIT: I see it is actually manipulating the Depth Table.

    0
    Comment actions Permalink
  • MartyG

    RS2_OPTION_MIN_DISTANCE is different from Disparity Shift, as it sets the minimum depth distance in meters to be rendered on the depth image.  The ball would still become undetected though if it moved below the minimum depth distance of the camera.  This is why the camera's minimum depth distance needs to be reduced with Disparity Shift.

     

    For example, if the D455's minimum depth distance is around 50 cm / 0.5 meters then even if you set RS2_OPTION_MIN_DISTANCE to 0.3 m, the ball would still likely disappear below 0.5 m unless Disparity Shift had been configured so that the ball could get closer to the camera.

    0
    Comment actions Permalink
  • Wmaass88

    Great, thank you for the clarification.

    One more question if I may. As I mentioned I know of another solution that uses the D435 in the same use case as mine. However when I try the D435 my results are dramatically worse than the D455 for all types of balls regardless of size or speed. Do you have any insight as to why that may be?


    0
    Comment actions Permalink
  • MartyG

    The key differences between D435 and D455 are that D455 (a) has better depth-to-color alignment, (b) the depth and color field of view sizes of D455 are approximately the same, whilst the color sensor has a smaller field of view than the depth sensor, and (c) D435 has a smaller minimum distance than D455 (around 0.1 meters) and so objects can get closer to the camera without having to use Disparity Shift to lower the minimum distance.

    0
    Comment actions Permalink
  • Wmaass88

    MartyG,

    Thanks so much for the advice and explanations, I appreciate it. 

    One more question if I may. Currently I am using OpenCV to determine something of interest to look at and measure, in this case a ball moving thorugh the depth frame. I am basically using OpenCV to look for blobs that meet certian criteria, like area, circulatiry, etc. if something of interest is found I then get XYZ info using RealSense on the blob.  My question is, is there a way to analyze the depth frame purely with the RealSense SDK without using OpenCV to determine what may be a ball? 

    0
    Comment actions Permalink
  • MartyG

    The RealSense SDK alone does not have functions that can analyze the image in real-time and determine whether an area of the image is a blob and then check its characteristics..

    0
    Comment actions Permalink

Please sign in to leave a comment.