1. A method for determining a pose of an object from a range image, comprising the steps of: determining a distribution of poses for an object, in which the distribution is determined from a model of the object; selecting a set of reference poses according to the distribution, such that more reference poses are selected for more probable poses than less probable poses; generating a reference image for each reference pose; and assigning the reference pose used to generate the reference image that best matches a range image including the object as the pose of the object, wherein the assigning uses an error function: E i ⁡ ( I , R i , x , y , z ) = r i ⁡ ( E cover ⁡ ( x , y ) + λ ⁢ ⁢ E range ⁡ ( x , y , z ) ) , ⁢ where { ⁢ r i = A i A max ⁢ E cover ⁡ ( x , y ) = ∑ u , v ⁢ ⁢ f ⁡ ( u , v ) ⁢ δ cover ⁡ ( u , v , x , y ) ∑ u , v ⁢ f ⁡ ( u , v ) ⁢ E range ⁡ ( x , y , z ) = ∑ u , v ⁢ c ⁡ ( u , v ) ⁢ δ range ⁡ ( u , v , x , y , z ) ∑ u , v ⁢ ⁢ c ⁡ ( u , v ) , I is the range image, R i is a particular reference image, (x, y, z) is a translation, E cover (x, y) is a cover error, E range (x, y, z) is a range error, λ is a weight, r i is a compensation term, A i is a foreground area of R i , A max is a maximum area among all reference range images, (u, v) are coordinates of pixels in R i , f(u, v) is a normalization factor, δ cover (u, v, x, y) is a cover difference, c(u, v) is a weighting factor, and δ range (u, v, x, y, z) is a range difference, wherein the steps are performed in a processor.