1. A method for estimating a pose of an object, comprising the steps of: defining a set of pair features as pairs of geometric primitives defined in a 3D space invariant to the poses of the object, wherein the geometric primitives include oriented surface points, oriented boundary points, and boundary line segments; determining model pair features based on the set of pair features for a model of the object; determining scene pair features based on the set of pair features from data acquired by a 3D sensor; determining a descriptor from each pair feature, and matching the descriptors model pair features with the descriptors scene pair features; discretizing the descriptors for the pair features; storing the discretized descriptors of the model pair features; and performing the matching using a comparison algorithm, estimating candidate poses of the object based on voting via an intermediate coordinate transformation, wherein the steps are performed in a processor.