An object detecting method comprising: setting a plurality of external reference points (O 1, O 2, O 3, O 5, O 6, O 7) used as information for estimating a position and an attitude of an object in external space of a model of the object, and setting an internal reference point (O 4, O 8, O 9) used as information for determining whether the information for estimation is valid in internal space of the model; storing a table in which feature quantities on a local surface each including a pair of a starting point (P i) and an endpoint (P j) that are sequentially selected from a point group located on a surface of the model are associated with a set of positions of the external reference points (O 1, O 2, O 3, O 5, O 6, O 7) and the internal reference point (O 4, O 8, O 9) with respect to the starting point (P i) of the corresponding pair; sequentially selecting a pair of a starting point (P (i)) and an endpoint (P (j)) from a sample point group located on a surface of the object existing in real space, and calculating feature quantities of the object on a local surface including the pair of the starting point (P (i)) and the endpoint (P (j)); and acquiring, among the sets of the positions from the table, sets of positions associated with feature quantities matching the feature quantities of the object to transform the acquired sets into sets of positions in the real space; excluding, when the position of the internal reference point (O 4, O 8, O 9) in one set of positions of the transformed sets of positions is outside the object, the positions of the external reference points (O 1, O 2, O 3, O 5, O 6, O 7) in the one set of positions from the information for estimation; and estimating, when the position of the internal reference point (O 4, O 8, O 9) in the set of positions of the transformed sets of positions is inside the object, the position and the attitude of the object based on the positions of the external reference points (O 1, O 2, O 3, O 5, O 6, O 7) in the set of positions. setting a plurality of external reference points (O 1, O 2, O 3, O 5, O 6, O 7) used as information for estimating a position and an attitude of an object in external space of a model of the object, and setting an internal reference point (O 4, O 8, O 9) used as information for determining whether the information for estimation is valid in internal space of the model; storing a table in which feature quantities on a local surface each including a pair of a starting point (P i) and an endpoint (P j) that are sequentially selected from a point group located on a surface of the model are associated with a set of positions of the external reference points (O 1, O 2, O 3, O 5, O 6, O 7) and the internal reference point (O 4, O 8, O 9) with respect to the starting point (P i) of the corresponding pair; sequentially selecting a pair of a starting point (P (i)) and an endpoint (P (j)) from a sample point group located on a surface of the object existing in real space, and calculating feature quantities of the object on a local surface including the pair of the starting point (P (i)) and the endpoint (P (j)); and acquiring, among the sets of the positions from the table, sets of positions associated with feature quantities matching the feature quantities of the object to transform the acquired sets into sets of positions in the real space; excluding, when the position of the internal reference point (O 4, O 8, O 9) in one set of positions of the transformed sets of positions is outside the object, the positions of the external reference points (O 1, O 2, O 3, O 5, O 6, O 7) in the one set of positions from the information for estimation; and estimating, when the position of the internal reference point (O 4, O 8, O 9) in the set of positions of the transformed sets of positions is inside the object, the position and the attitude of the object based on the positions of the external reference points (O 1, O 2, O 3, O 5, O 6, O 7) in the set of positions.