An object recognition method for recognizing a target object contained in an observed scene by using a preliminarily-created object model, the object recognition method comprising: a step for generating a range image of the observed scene; a step for detecting interest points from the generated range image of the observed scene; a step for extracting features of an area from the generated range image of the observed scene as first features, the area being centered on the detected interest points and composed of pixels of a predetermined size, and in the area, range values of other pixels contained in that area being shifted by using a range value of a pixel located on a center of that area as a reference value; a step for carrying out a matching process between the first features and second features, the second features being features of an area in the range image of the object model; a step for calculating a plurality of candidate transformation matrices from correspondence between the first features and the second features obtained by the matching process, the plurality of candidate transformation matrices being for projecting the second features on a coordinate system of the observed scene; a step for projecting the second features on the observed scene based on each of the transformation matrices, calculating scores based on a degree of similarity between the projected second features and the first features, discarding transformation matrices for which the scores are lower than a predefined threshold among the plurality of the transformation matrices, and verifying validity of each of the transformation matrices based on the calculated scores; and a step for recognizing the target object with respect to the object model based on the transformation matrix. a step for generating a range image of the observed scene; a step for detecting interest points from the generated range image of the observed scene; a step for extracting features of an area from the generated range image of the observed scene as first features, the area being centered on the detected interest points and composed of pixels of a predetermined size, and in the area, range values of other pixels contained in that area being shifted by using a range value of a pixel located on a center of that area as a reference value; a step for carrying out a matching process between the first features and second features, the second features being features of an area in the range image of the object model; a step for calculating a plurality of candidate transformation matrices from correspondence between the first features and the second features obtained by the matching process, the plurality of candidate transformation matrices being for projecting the second features on a coordinate system of the observed scene; a step for projecting the second features on the observed scene based on each of the transformation matrices, calculating scores based on a degree of similarity between the projected second features and the first features, discarding transformation matrices for which the scores are lower than a predefined threshold among the plurality of the transformation matrices, and verifying validity of each of the transformation matrices based on the calculated scores; and a step for recognizing the target object with respect to the object model based on the transformation matrix.