A system for performing classification through generative models of features occurring in an image, comprising: stored category-conditional probability distributions of features occurring in a plurality of training images that are each assigned to a category; and a classifier, comprising: a feature identifier to identify the features occurring in an unclassified image; a likelihood evaluator to determine category-conditional likelihoods for the identified features using the category-conditional probability distributions for each category, wherein the likelihoods for each category are modeled using a latent conditionally independent probability distribution model as a mixture of a plurality of independent components; and a categorizer to assign the unclassified image to one such category based upon the category-conditional likelihoods; wherein each of the identified features are represented as an element in a feature list having a variable length, each element comprising a value in a chosen space of features that comprises five dimensions and filter response measurements along each of the dimensions being either continuous or discrete valued; wherein the feature identifier is adapted to evaluate feature filter responses to intensity variations of a luminance channel representation of the unclassified image and to add an element into the feature list for each feature filter response that exceeds a preset threshold; characterised in that each feature element x n is expressed by the quintuple: x n = f, x, y, log w, log h where n denotes an integer, such that 0 < n ≤ N and N denotes a total number of the features; f comprises a type of feature; x and y comprise coordinates of the feature within the unclassified image; and w and h respectively comprise a width and height of the feature, and log w and log h their respective logarithms. stored category-conditional probability distributions of features occurring in a plurality of training images that are each assigned to a category; and a classifier, comprising: a feature identifier to identify the features occurring in an unclassified image; a likelihood evaluator to determine category-conditional likelihoods for the identified features using the category-conditional probability distributions for each category, wherein the likelihoods for each category are modeled using a latent conditionally independent probability distribution model as a mixture of a plurality of independent components; and a categorizer to assign the unclassified image to one such category based upon the category-conditional likelihoods; wherein each of the identified features are represented as an element in a feature list having a variable length, each element comprising a value in a chosen space of features that comprises five dimensions and filter response measurements along each of the dimensions being either continuous or discrete valued; wherein the feature identifier is adapted to evaluate feature filter responses to intensity variations of a luminance channel representation of the unclassified image and to add an element into the feature list for each feature filter response that exceeds a preset threshold; characterised in that each feature element x n is expressed by the quintuple: x n = f, x, y, log w, log h where n denotes an integer, such that 0 < n ≤ N and N denotes a total number of the features; f comprises a type of feature; x and y comprise coordinates of the feature within the unclassified image; and w and h respectively comprise a width and height of the feature, and log w and log h their respective logarithms. a feature identifier to identify the features occurring in an unclassified image; a likelihood evaluator to determine category-conditional likelihoods for the identified features using the category-conditional probability distributions for each category, wherein the likelihoods for each category are modeled using a latent conditionally independent probability distribution model as a mixture of a plurality of independent components; and a categorizer to assign the unclassified image to one such category based upon the category-conditional likelihoods; wherein each of the identified features are represented as an element in a feature list having a variable length, each element comprising a value in a chosen space of features that comprises five dimensions and filter response measurements along each of the dimensions being either continuous or discrete valued; wherein the feature identifier is adapted to evaluate feature filter responses to intensity variations of a luminance channel representation of the unclassified image and to add an element into the feature list for each feature filter response that exceeds a preset threshold; characterised in that each feature element x n is expressed by the quintuple: x n = f, x, y, log w, log h where n denotes an integer, such that 0 < n ≤ N and N denotes a total number of the features; f comprises a type of feature; x and y comprise coordinates of the feature within the unclassified image; and w and h respectively comprise a width and height of the feature, and log w and log h their respective logarithms.