A method implemented by one or more processors of a processing system executing software, comprising: capturing a first image and a second image of a scene using a pair of imaging cameras (108, 112) of an imaging system, wherein the first image and the second image form a stereo image pair and each comprises a plurality of pixels, wherein each of the plurality of pixels in the first image is associated with a disparity value; initializing, at a processor of the imaging system, each of the plurality of pixels in the second image with a disparity hypothesis; characterized by recursively determining, at the processor, for non-overlapping tiles of an increasing size starting with a size of 1x1 pixels and thus from an image tile of a smaller size to an image tile of a larger size, matching costs of the disparity hypothesis for each of the plurality of pixels in the second image to generate an initial tiled disparity map including a plurality of image tiles, wherein each image tile of the initial tiled disparity map is assigned a disparity value estimate; refining, at the processor, the disparity value estimate of each image tile and further associating the disparity value estimate of each image tile with a slant hypothesis for a slant of each image tile; determining, at the processor, a final disparity estimate for each pixel of the second image based on the refined disparity value estimate of each image tile; and generating a depth map for the scene using correspondence between the plurality of pixels of the first image and the second image and based on the determined final disparity estimate for each pixel of the second image. capturing a first image and a second image of a scene using a pair of imaging cameras (108, 112) of an imaging system, wherein the first image and the second image form a stereo image pair and each comprises a plurality of pixels, wherein each of the plurality of pixels in the first image is associated with a disparity value; initializing, at a processor of the imaging system, each of the plurality of pixels in the second image with a disparity hypothesis; characterized by recursively determining, at the processor, for non-overlapping tiles of an increasing size starting with a size of 1x1 pixels and thus from an image tile of a smaller size to an image tile of a larger size, matching costs of the disparity hypothesis for each of the plurality of pixels in the second image to generate an initial tiled disparity map including a plurality of image tiles, wherein each image tile of the initial tiled disparity map is assigned a disparity value estimate; refining, at the processor, the disparity value estimate of each image tile and further associating the disparity value estimate of each image tile with a slant hypothesis for a slant of each image tile; determining, at the processor, a final disparity estimate for each pixel of the second image based on the refined disparity value estimate of each image tile; and generating a depth map for the scene using correspondence between the plurality of pixels of the first image and the second image and based on the determined final disparity estimate for each pixel of the second image.