I have bounding boxes detected in RGB images, but no information about the camera's intrinsic properties. Using deep learning (preferably) can I find the distance to the object from the camera in real world (meters or cm)? If I find the camera pose (using PoseNet) does that help?

  • $\begingroup$ What exact information are you going to have available using PoseNet? Their cambridge project has a wide margin of error. Also, have you got anything in your image whose exact size you know? $\endgroup$ Mar 11, 2018 at 17:02
  • $\begingroup$ MonoDepth was published last year which uses stereo images to train the depth estimator. You could use their pre-trained models to estimate the depth of your image, and then only care about the objects you detected: visual.cs.ucl.ac.uk/pubs/monoDepth $\endgroup$ Mar 14, 2018 at 17:47

1 Answer 1


Without going into detail, to answer your question, yes you can. That is, the camera images do contain information about the distance of objects, but only in conjunction with information from the environment which is typically embedded in a model - for example a model about objects, how they appear and their sizes.

Essentially, it would have to work similar to how humans determine the distance to objects that are beyond the range where the separation of our eyes can utilize stereo cues. That is, we estimate how far away a familiar object is using its apparent size. If you see a car with a small apparent size, you assume it is far away because you know the typical size of a car.

This obviously requires an object recognition model that also provides actual size information that can be used in conjunction with your bounding-box apparent size to determine the distance.

Keep in mind that, not only will it only be as good as the object recognition model, but it can be fooled (- is it a real car in the distance or a toy car closer?).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.