1. A method for determining a pose of an object in a scene, comprising the steps of: determining, from a model of the object, model features and a weight associated with each model feature, wherein the model features and the weights are learned using training data by maximizing a difference between a number of votes received by a true pose and a number of votes received by an incorrect pose, and wherein the weights are learned by solving a regularized soft constraint optimization problem; determining, from scene data acquired of the scene, scene features; matching the scene features to the model features to obtain a matching scene and matching model features; generating candidate poses from the matching scene and the matching model features, wherein a weight of each candidate pose is proportional to the weight associated with the matching model feature; and determining the pose of the object from the candidate poses based on the weights.