A computer implemented method comprising: estimating a camera pose of an input image, wherein the input image comprises an image of an object; aligning the input image to a desired camera pose. wherein the alignment of the input image is based on a feature database comprising a set of sparse 3D points representing sparse geometry of the shape of the object, wherein each 3D point of the feature database is associated with a corresponding set of local multi-dimensional feature descriptors indicative of a visual appearance of the object about the 3D point; and classifying the object based on the resulting aligned input image, characterized in that the classifying comprises: applying a single-layer feature extraction scheme that provides both low-level feature representation and high-level feature representation of the object, wherein a convolution layer is configured to convolve each aligned image with learned convolutional kernels f k from a learned filter bank F, wherein the filter bank F is learned in a training phase by applying Convolutional Sparse Coding, CSC, to solve the following equation: min F, E L = ∑ i = 1 N ‖ x i − ∑ k = 1 K f k * e k i ‖ F 2 + α ∑ k = 1 K ‖ e k i ‖ 1 s.t. ‖ f k ‖ 2 2 = 1, ∀ k = 1,..., K wherein X denotes a set of N training images, wherein X = {x i), and 1 ≤ i ≤ N, wherein each training image x i of the set X comprises a 2D image with dimension p × q, wherein α represents a regularization constant, * represents a discrete convolution operator, e i k, represents the extracted sparse feature maps, and f k and ∀k are restricted to representing a unit energy; and applying a learned projection matrix for transforming the extracted features of the resulting aligned input image to a low-dimensional space. estimating a camera pose of an input image, wherein the input image comprises an image of an object; aligning the input image to a desired camera pose. wherein the alignment of the input image is based on a feature database comprising a set of sparse 3D points representing sparse geometry of the shape of the object, wherein each 3D point of the feature database is associated with a corresponding set of local multi-dimensional feature descriptors indicative of a visual appearance of the object about the 3D point; and classifying the object based on the resulting aligned input image, characterized in that the classifying comprises: applying a single-layer feature extraction scheme that provides both low-level feature representation and high-level feature representation of the object, wherein a convolution layer is configured to convolve each aligned image with learned convolutional kernels f k from a learned filter bank F, wherein the filter bank F is learned in a training phase by applying Convolutional Sparse Coding, CSC, to solve the following equation: min F, E L = ∑ i = 1 N ‖ x i − ∑ k = 1 K f k * e k i ‖ F 2 + α ∑ k = 1 K ‖ e k i ‖ 1 s.t. ‖ f k ‖ 2 2 = 1, ∀ k = 1,..., K wherein X denotes a set of N training images, wherein X = {x i), and 1 ≤ i ≤ N, wherein each training image x i of the set X comprises a 2D image with dimension p × q, wherein α represents a regularization constant, * represents a discrete convolution operator, e i k, represents the extracted sparse feature maps, and f k and ∀k are restricted to representing a unit energy; and applying a learned projection matrix for transforming the extracted features of the resulting aligned input image to a low-dimensional space. applying a single-layer feature extraction scheme that provides both low-level feature representation and high-level feature representation of the object, wherein a convolution layer is configured to convolve each aligned image with learned convolutional kernels f k from a learned filter bank F, wherein the filter bank F is learned in a training phase by applying Convolutional Sparse Coding, CSC, to solve the following equation: min F, E L = ∑ i = 1 N ‖ x i − ∑ k = 1 K f k * e k i ‖ F 2 + α ∑ k = 1 K ‖ e k i ‖ 1 s.t. ‖ f k ‖ 2 2 = 1, ∀ k = 1,..., K wherein X denotes a set of N training images, wherein X = {x i), and 1 ≤ i ≤ N, wherein each training image x i of the set X comprises a 2D image with dimension p × q, wherein α represents a regularization constant, * represents a discrete convolution operator, e i k, represents the extracted sparse feature maps, and f k and ∀k are restricted to representing a unit energy; and applying a learned projection matrix for transforming the extracted features of the resulting aligned input image to a low-dimensional space.