An object recognition processing apparatus comprising: an image obtainment unit configured to obtain an image including an object to be recognized; a template matching unit configured to obtain a recognition result including a plurality of candidates for the object to be recognized by carrying out a template matching process on the image using a plurality of templates, each template having been created using a two-dimensional image showing the object to be recognized from a given viewpoint and registered in advance; a candidate exclusion processing unit configured to exclude any candidate, among the plurality of candidates, that meets a predetermined condition, by generating, for each of the plurality of candidates, a binary image of the object to be recognized on the basis of a position and attitude of the candidate, and finding a degree of overlap of each candidate using the binary image; and a recognition result output unit configured to output any candidate, among the plurality of candidates, that remains without being excluded, as a recognition result wherein the candidate exclusion processing unit includes: temporary storage configured to store the unexcluded candidate; and a first unit configured to rearrange the plurality of candidates in order by a score used in the template matching process, characterized in that the candidate exclusion processing unit further includes: a second unit configured to obtain, in that order, one by one of the rearranged plurality of candidates, compare a binary image generated on the basis of a position and attitude of the obtained candidate with a cumulative image of the binary images generated on the basis of the positions and attitudes of all the candidates stored in the temporary storage, and store the candidate in the temporary storage if a degree of overlap between the stated images is less than a predetermined threshold, and wherein after the second unit has been executed for all of the plurality of candidates, the recognition result output unit outputs any candidates stored in the temporary storage as the recognition result. an image obtainment unit configured to obtain an image including an object to be recognized; a template matching unit configured to obtain a recognition result including a plurality of candidates for the object to be recognized by carrying out a template matching process on the image using a plurality of templates, each template having been created using a two-dimensional image showing the object to be recognized from a given viewpoint and registered in advance; a candidate exclusion processing unit configured to exclude any candidate, among the plurality of candidates, that meets a predetermined condition, by generating, for each of the plurality of candidates, a binary image of the object to be recognized on the basis of a position and attitude of the candidate, and finding a degree of overlap of each candidate using the binary image; and a recognition result output unit configured to output any candidate, among the plurality of candidates, that remains without being excluded, as a recognition result wherein the candidate exclusion processing unit includes: temporary storage configured to store the unexcluded candidate; and a first unit configured to rearrange the plurality of candidates in order by a score used in the template matching process, temporary storage configured to store the unexcluded candidate; and a first unit configured to rearrange the plurality of candidates in order by a score used in the template matching process, a second unit configured to obtain, in that order, one by one of the rearranged plurality of candidates, compare a binary image generated on the basis of a position and attitude of the obtained candidate with a cumulative image of the binary images generated on the basis of the positions and attitudes of all the candidates stored in the temporary storage, and store the candidate in the temporary storage if a degree of overlap between the stated images is less than a predetermined threshold, and wherein after the second unit has been executed for all of the plurality of candidates, the recognition result output unit outputs any candidates stored in the temporary storage as the recognition result.