1. A computer-implemented method for object recognition using a recursive cortical network comprising: receiving an input image at a training module; applying a trained recursive cortical network (RCN) to the image using an inference module to activate child features of the RCN; selecting pools of the RCN containing the activated child features; and propagating the selection of the pools to identify probabilities of one or more higher-level features matching one or more objects in the input image.