1. An information processing apparatus comprising: an obtaining unit configured to obtain image data; a detection unit configured to detect an object from the image data; a class determination unit configured to determine at least one of a plurality of classes into which the detected object may be classified; a registration unit configured to register the image data in at least one of a plurality of dictionaries respectively corresponding to the plurality of classes based on the determined class, wherein the registration unit registers the image data in respective dictionaries corresponding to at least two classes if it is determined that the image data may be classified into the at least two classes; a setting unit configured to set, when the image data is registered in not less than two dictionaries, a link between the image data registered in one of the not less than two dictionaries and the image data registered in the other of the not less than two dictionaries; and an evaluation unit configured to evaluate whether the class determined by said class determination unit is a correct class or a wrong class of the object, wherein when said evaluation unit evaluates that the class is the wrong class of the object, said registration unit registers the image data corresponding to the correct class as first image data, and said registration unit registers the image data corresponding to the wrong class as second image data, and said setting unit sets a link to the first image data to the second image data.