## 1 Introduction  
Acquiring depth information from two-dimensional images is one of the fundamental problems in machine vision, and it can be applied to many fields such as the restoration of 3D scenes, planning of robot walking route, etc. In particular, the depths of interesting objects in images are very useful; for instance, the distances from obstacles in the road, frontal vehicles, and traffic lights must be known when an unmanned vehicle is running on the road. The depth information can also be used for pattern recognition [1; 2]. At present, the methods of obtaining the depth information of objects in 2D images fall mainly into two major categories: stereo vision based on binocular (or multi-ocular) [3; 4; 5], and stereo vision based on monocular. At least two camera devices must be provided in the first class of method. Each camera's intrinsic parameters and the parameters of the spatial relationship between any two cameras are also provided. This means that camera calibration is needed in the first class of method. Bumblebee is a kind of product for stereo vision based on binocular, and a light-field camera can also get the depth information from its micro-lens array [6; 7; 8; 9; 10]. But both of them are expensive. The second class of method includes Depth From Focus (DFF) and Depth From Defocus (DFD). In the DFF method [11; 12], a lot of images of the same scene with different camera optical parametersare taken. Then, a full focus image is formed by using the pixels which are in focus in the images. Finally, the depth map can be obtained by analyzing every pixel in the full focus image and the camera parameters when the pixel is obtained. Only one camera is needed in this method, but its application is very limited, for a large number of images of the same scene must be taken. The DFD was first proposed by [PERSON] [13] in 1987, and was improved by [PERSON] [14] and [PERSON] [15]. In 2008, defocus was modeled as an anisotropic thermal diffusion process by [PERSON] [16] et al., and this improvement has a better result. But two or more images which are taken in different cameras need to be supplied in the above improved method. [PERSON] and [PERSON] [17] presented an original approach that depth map could be estimated from a single defocused image. In this method, firstly, the defocused image is re-blurred using a known Gaussian kernel. Then the depth information at the edge in image can be obtained by the ratio between the gradient of the defocused image and the re-blurred one. Finally, the depth at edge locations is propagated to the entire image by solving the optimization problem. None of the above approaches based on defocusing could tell the reason for blurred edges in an image, which can be caused by either blur texture ambiguity or focal plane ambiguity. And they could not get the absolute depth information unless the camera was calibrated. The coded aperture method proposed by [PERSON] [18] et al. could estimate a better depth map, but the shape of camera aperture must be modified. [PERSON] [19] et al. used SIFT (the Scale Invariant Feature Transform) to acquire the absolute depth of the objects in image. In this method, a database must first be built. The database contains 5 or more images which are taken from different object distances or angles of view to every object measured. The object distances are acquired by a laser device and stored in the database. The data in the database will be used to train the algorithm. It is not able to estimate the depth of an object if the object is not in the database. This means it can only compute the absolute depth of an object that has been stored in the database. This approach has a complex operation step and a limited application scope. [PERSON] [20] employed a structure forest framework to extract the depth information from a single color image. The method can achieve quasi real-time performance, but the accuracy needs to be improved, especially for indoor scenes.