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; 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 whether the object is present or absent at a particular location in the scene.