1
$\begingroup$

I heard that we can see the world 3D or we can detect distance because we have 2 eyes. but I think we can do it with only one eye! (test it!)

So why we can do it only with one eye? is it possible to have stereo vision for a robot only with one camera?

$\endgroup$

6 Answers 6

5
$\begingroup$

First of all, our brain does not only rely on our stereo visionary system to estimate the depth. There are many cues in a image scence for depth estimation, of which stereo, vision belongs to a sub-type called Binocular cues.

Technically there are many other methods of depth estimation, like Structure from motion, Perspective,etc. Just take a look at here and here.

$\endgroup$
3
$\begingroup$

Basically, two cameras are not "really needed" for the traditional perception of 3D vision. Access to two types of slightly different images is a common method. They can have different points of view produced by the same camera, and can be interleaved in time.

But a one-eyed person can also get a sense of depth through other senses or modalities plus models of the environment. Knowing information about the objects or the light sources can retrieve 3D shapes (photometric stereo). A common technique with single images is known as shape from shading, and you can also get shape from lighting, motion, size. Those are often considered less faithfully than with binocular techniques.

Note however, one may discuss whether we really can talk about 3D vision, since we are limited to non occluded surfaces.

$\endgroup$
2
$\begingroup$

If you move your head (or if the target objects move against each other and/or the far background), you get stereoscopic data over time. Perhaps using some sort of visual memory to compare scene data between/against/across...

So if the robot can move (or can move its camera(s))...

$\endgroup$
1
  • $\begingroup$ IIRC, Mobileye used only one camera its early vehicular vision system for collision avoidance, which likely requires a distance estimator. $\endgroup$
    – hotpaw2
    Aug 8, 2017 at 22:25
2
$\begingroup$

Before going in to the details about 'why we need two cameras' part, the reason you can observe a 3D environment even with one eye is because even while using one eye, without any conscious effort due to head and eye movement the field of view changes very slightly and rapidly. This rapid movement of eye enables brain to receive images with little perceivable difference or disparity, out of which depth is calculated; thus giving us the 3D environment that we perceive. In monocular vision human depth perception is not that great but again residual memory comes in to picture to fill in the gaps left by lack of binocular vision. Other than this there are many other visual cues that helps brain to perceive depth in monocular situation also. Few answers are really good in here.

So can you think of a robot with rapid head or camera movement possible? If yes then it might be possible but with stationary and rigid camera settings 3D-vision is not possible with monocular vision in robots.

$\endgroup$
1
$\begingroup$

There is a related situation in bearings only tracking known as the observably condition. For a single sensor, observing a single object, in general terms, the observer must be able to maneuver more than the object.

A fully rigorous treatment involves Lie algebras, of which a Google Scholar search will produce many references, most more advanced than my background.

The advantage of two eyes are obvious in the context of natural selection. Avoiding movement is stealthy. Two eyes would estimate range much faster.

$\endgroup$
1
$\begingroup$

Humans use other clues to estimate depth, i.e. previous knowledge of the objects. However, strictly geometrically speaking, you cannot obtain depth from one single point of view.

Think of it in simple terms, suppose you are in a dark room and there's your tv led on: example

Now, imagine you have all the camera parameters (focal length, distortion, resolution), how far is the tv?

I bet you cannot say! Although some estimation algorithm exist (that use previous knowledge, like humans do), triangulation is necessary for computer vision.

Cheers

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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