1. A method for enhancing noisy or low-resolution image depth maps executed by computer code stored on a non-transient medium, the method comprising: receiving a color image I and a corresponding raw depth map D; determining unreliable regions in the raw depth map D by calculating pixel reliabilities for pixels throughout the depth map D; collecting from the color image I, for corresponding pixels in the unreliable regions of the raw depth map D, information from neighboring pixels outside the unreliable regions, wherein said collecting comprises having pixels shoot rays in a plurality of directions to outside an unreliable regions and choosing a pixel intersected by one of the rays based upon proximity and color similarity; adjusting depth of pixels in the unreliable regions with information collected in said step of collecting to produce an adjusted depth map D SS ; conducting multi-later filtering on the adjusted depth map to produce an enhanced depth map D MF .