1. A computer-implemented method of object detection and recognition comprising: receiving an image from an input device coupled to a processor and memory to undergo object detection and recognition; and generating, by the processor, a part label map for the received image, the part label map comprising, for each image element of the received image, a label indicating which of a plurality of parts that image element is assigned to, each part being a densely represented image area, wherein generating the part label map comprises at least: accessing a pre-specified classifier stored in the memory and configured to estimate a belief distribution over parts for each image element of the received image, the classifier formed during a training phase using a plurality of training images together with a mask for each training image indicating which pixels in the training image correspond to objects to be recognized and which correspond to background that is not required to be recognized, during the training phase, forming an initial part label map for a training image by dividing the image into a plurality of parts having a consistent pair-wise ordering such that the parts contiguously cover the image; using an inference algorithm stored in the memory to infer the part label map from a conditional random field by forcing a global part labeling which is substantially layout-consistent; and ensuring that the parts meet constraints related to image elements, the image elements being non-immediate neighbors.