1. An image processing apparatus which is configured to execute processing by allocating a plurality of weak discriminators to form a tree structure having branches corresponding to types of objects so as to detect objects included in image data, wherein each weak discriminator comprises: a calculation unit configured to calculate a feature amount to be used in a calculation of an evaluation value of the image data; and a discrimination unit configured to discriminate whether or not the object is included in the image data by using the evaluation value, wherein the weak discriminator allocated to a branch point in the tree structure further comprises a selection unit configured to select a branch destination using at least some of the feature amounts calculated by weak discriminators included in each branch destination.