Hello,

I was trying out an implementation of one of my toy problems, and found an error/bug.
If I stand infront of the OAK-D running MobileNet with spatial detector, I get a difference in the calculated location based on how my arms are stretched.

For example: (to reprodce this error)

  1. Stand in front of the camera running spatial detection with our arms on the side.
  2. Note the Z-axis dimension.
  3. Raise either of your hands on the side.
  4. (My asumptions is) The box on the spatial depthmap, now lies ouside of the chest region, and gives a value that is behind the actual human label.
  5. Then try it with both arms. The error shouldn't be as darastic.

I have no concrete idea as to why this is happening, or if this can be fixed at all even. But any insite into this would be helpful.

Setup:

  • Ubuntu 20.04 (On VMWare Workstation)
  • Python 3.7
  • OAK-D (running MobileNet)

Also, happy weekend. Revert when possible.

(Possible soultion: Limit the size of the ROI to be a percentage of the size of the bounding-boxes?)

Regards,
Alfred.

    Hello tarocal ,
    both of the times your assumptions were correct, great thinking🙂 So to avoid this (depth taking into account the background) you should decrease the ROI size. This is done by decreasing the scaling factor, eg. to 0.2: spatialDetectionNetwork.setBoundingBoxScaleFactor(0.2).
    If you run this example, you can see the white rectangle on the depth frame; this is the depth "area" which will be taken into account when calculating the final distance (Z coordinate).
    Hope this helps!
    - Erik