• DepthAI
  • Depth map for small/thin objects

Hi, we are using the Oak-D pro cameras for our usecase, in which we have to detect long, thin objects. However, the depth maps seem quite jiffy and I was wondering if you have any experience by any chance with measuring these kind of objects.
I have included two images of the objects that I mean, and the resulting depth maps.In the first image our current pipeline seems to fill in the blanks where there are none, and in the second picture, one of the yellow tubes is completely missed. As well as the images are quite noisy and different over time.

I am aware of the different (post-processing) filters, but this is the best I seem to be able to find. I was wondering if you perhaps had some experience with finding a good set of parameters for this use case, or maybe something we overlooked completely.

stereo = pipeline.create(dai.node.StereoDepth) stereo.setDefaultProfilePreset(dai.node.StereoDepth.PresetMode.HIGH_DENSITY) stereo.initialConfig.setMedianFilter(median)
stereo.setConfidenceThreshold(200)
stereo.setRectifyEdgeFillColor(0)
stereo.setLeftRightCheck(True)
stereo.setExtendedDisparity(True)
stereo.setSubpixel(False)
stereo.setDepthAlign(dai.CameraBoardSocket.CAM_A)

conf = stereo.initialConfig.get()
conf.postProcessing.speckleFilter.enable = True
conf.postProcessing.speckleFilter.speckleRange = 50
conf.postProcessing.temporalFilter.enable = False
conf.postProcessing.spatialFilter.enable = True
conf.postProcessing.spatialFilter.holeFillingRadius = 5
conf.postProcessing.spatialFilter.numIterations = 1
conf.postProcessing.thresholdFilter.minRange = 250
conf.postProcessing.thresholdFilter.maxRange = 1500
conf.postProcessing.decimationFilter.decimationFactor = 1
conf.postProcessing.brightnessFilter.minBrightness = 0
stereo.initialConfig.set(conf)

    Hi Tsjarly

    • Up the depth resolution
    • Use a small median filter kernel or don't use one
    • keep hole filling radius low
    • lower confidence threshold a little
    • Turn on IR dot projector when facing homogeneous surfaces.

    Thanks,
    Jaka

    Hi @jakaskerl
    We use the 800P resolution for depth already. I will play around some more with the median, hole filling radius and confidence values. For the IR dot projector, we tried to turn it on, but even on full power, it didnt help anything, except for that the flat backgrounds became much better, but we are not interested in those..

    Thanks,
    Jarl