1. A computer-implemented method for extracting features, comprising: one or more processors implementing instructions stored in one or more processor-accessible storage medium for: receiving a plurality of input features, I f , from an input signal, the input features having a height, I y , and a width, I x ; unfolding the input features to generate linearized weights, the linearized weights having a height, K y , and a width, K x ; determining a horizontal subsampling location, S x , and a vertical subsampling location, S y ; concatenating the input features into an input matrix via a processor controllable convolution component, wherein a horizontal component of the input matrix comprises the product of K x *K y *I f , and a vertical component of the input matrix comprises the product of [((I x −K x +1)+(S x −1))/S x ]*[(I y −K y +1)+(S y −1))/S y ]; and multiplying the input matrix by a kernel matrix to generate a matrix product.