1. A method for determining a pose of an object in a scene, comprising a processor for performing steps of the method, comprising the steps of: generating sets of virtual images of a model of the object, wherein each set of virtual images is for a different known pose the model, and wherein the model is illuminated by a set of virtual light sources, and wherein there is one virtual image for each virtual light source in a particular set for a particular know pose; constructing virtual depth edges for each virtual image; acquiring a set of real images of the object in the scene, wherein the object has an unknown pose, and wherein the object is illuminated by a set of real light sources, and wherein there is one real image for each real light source; constructing real depth edges for each real image; and comparing the real depth edges for the set of real images with the virtual depth edges of each set of virtual images using a cost function to determine the known pose that best matches the unknown pose.