1. A method of estimating a 3D surface of an object using a pulse source, a sensor and a processor, wherein: the pulse source emits wave pulses that travel to the object, reflect off of the object, and then travel from the object to the sensor by one or more diffuse reflections; an occluder prevents the wave pulses from traveling in a direct line from the object to the sensor; each respective wave pulse has a direction immediately before the wave pulse first diffusely reflects after being emitted by the pulse source; the direction of the respective wave pulses varies from wave pulse to wave pulse; the sensor captures streak images while the wave pulses arrive at the sensor after the one or more diffuse reflections; and the processor uses an algorithm to estimate the 3D surface.