A single-instruction, multiple data processing unit for performing object detection in an image by testing for a plurality of object features in a plurality of image regions, the processing unit comprising: a set of computation units operable to execute a plurality of classifier sequences in parallel, each classifier sequence comprising a plurality of classifier routines, and each classifier routine comprising identical instructions to the other classifier routines in each of the plurality of classifier sequences; wherein each computation unit is configured to maintain data independently from the other computation units in the set of computation units, the data identifying an image region and a feature under test on that computation unit, and each classifier routine is arranged to access the data, test the identified feature against the identified image region and update the data such that the computation units are operable to concurrently test different features against different image regions, each classifier routine being configured to pass or fail an image region and comprising instructions configured to: on passing an image region, update the data maintained for the computation unit at which the classifier routine is executing so as to cause the next classifier routine in the classifier sequence to test the next feature against the same image region; on failing an image region, update the data maintained for the computation unit at which the classifier routine is executing so as to cause the next classifier routine in the classifier sequence to test the first feature against a next image region. a set of computation units operable to execute a plurality of classifier sequences in parallel, each classifier sequence comprising a plurality of classifier routines, and each classifier routine comprising identical instructions to the other classifier routines in each of the plurality of classifier sequences; wherein each computation unit is configured to maintain data independently from the other computation units in the set of computation units, the data identifying an image region and a feature under test on that computation unit, and each classifier routine is arranged to access the data, test the identified feature against the identified image region and update the data such that the computation units are operable to concurrently test different features against different image regions, each classifier routine being configured to pass or fail an image region and comprising instructions configured to: on passing an image region, update the data maintained for the computation unit at which the classifier routine is executing so as to cause the next classifier routine in the classifier sequence to test the next feature against the same image region; on failing an image region, update the data maintained for the computation unit at which the classifier routine is executing so as to cause the next classifier routine in the classifier sequence to test the first feature against a next image region. on passing an image region, update the data maintained for the computation unit at which the classifier routine is executing so as to cause the next classifier routine in the classifier sequence to test the next feature against the same image region; on failing an image region, update the data maintained for the computation unit at which the classifier routine is executing so as to cause the next classifier routine in the classifier sequence to test the first feature against a next image region. <EOS>