1. A method for estimating a 3D pose of a 3D object in an environment, wherein the object has a specular surface, comprising a processor for performing steps of the method, comprising the steps of: generating a set of pairs of 2D reference images using a 3D model of the object, and a set of poses of the object, wherein each pair of reference images is associated with one of the poses; acquiring a pair of 2D input images of the object; estimating a rough 3D pose of the object by comparing features in the pair of 2D input images and the features in each pair of 2D reference images using a rough cost function; and estimating a fine 3D pose of the object using the rough 3D pose and a fine cost function.