1. A method for object detection from a visual image of a scene comprising: using a first order predicate logic formalism to specify a set of logical rules to encode contextual knowledge regarding the object to be detected and wherein a confidence value is associated with each of the logical rules; inserting the specified logical rules into a knowledge base; obtaining the visual image of the scene; applying specific object feature detectors to some or all pixels in the visual image of the scene to obtain responses at those locations; using the obtained responses to generate logical facts indicative of whether specific features or parts of the object are present or absent at that location in the visual image; inserting the generated logical facts into the knowledge base; combining the logical facts with the set of logical rules to detect whether the object is present or absent at a particular location in the scene; and wherein the confidence values form a tuple comprising positive evidence associated with the presence of the object in the scene and negative evidence associated with the absence of the object from the scene and the confidence values are interpreted within a mathematical formalism.