1. A method of detecting an object in image data that is deemed to be a threat, the method comprising: annotating sections of at least one training image to indicate whether each section is a component of the object; encoding a pattern grammar describing the object using a plurality of first order logic based predicate rules; training distinct component detectors to each identify a corresponding one of the components based on the annotated training images; processing image data with the component detectors to identify at least one of the components; and executing the rules to detect the object based on the identified components.