1. An image processing apparatus comprising: a model storage unit adapted to store model information representing a subject model belonging to a specific category; a detection unit adapted to detect the subject from an input image by referring to the model information; a determination unit adapted to determine a region for which an image correction is to be performed within a region occupied by the detected subject in the input image; a correction data set storage unit adapted to store, for a local region of the image, a plurality of correction data sets representing correspondence between a feature vector representing a feature before correction and a feature vector representing a feature after correction; a selection unit adapted to select, from said correction data set storage unit, at least one of the correction data sets to be used to correct a local region included in the region determined to undergo the image correction; and a correction unit adapted to correct the region determined to undergo the image correction using the selected correction data sets.