1. A method for classifying objects from one or more images comprising the steps of: generating a trained classification process; and using the trained classification process to classify objects in said one or more images; wherein generating the trained classification process comprises the steps of: extracting features from one or more training images and clustering said features into one or more groups of features termed visual words; storing data for each of said visual words, including colour and texture information, as descriptor vectors; clustering the descriptor vectors into a plurality of clusters termed codewords; generating a plurality of candidate vocabulary trees using a plurality of the codewords, each candidate vocabulary tree being generated by repeatedly clustering that plurality of codewords; determining, for each candidate vocabulary tree, a score value indicative of how well that candidate vocabulary tree classifies as itself each of the plurality of codewords from which that candidate vocabulary tree was generated; and selecting, from the plurality of candidate vocabulary trees, based on the score values, a vocabulary tree, the selected vocabulary tree storing clusters of visual words with common characteristics; and wherein using the trained classification process to classify objects in said one or more images comprises the steps of: extracting features from said one or more images and clustering said features into groups of features termed visual words; searching the selected vocabulary tree to determine the closest matching clusters of visual words; and classifying objects based on the closest matching clusters of visual words in the selected vocabulary tree.