A method for product recognition characterized in that the method comprises: decomposing a product image into a set of frequency components using Empirical Mode Decomposition wherein decomposing the product image comprises: converting the product image to a Hue, Saturation and Value, HSV, colour space; extracting a Value channel of the HSV colour space; performing a frequency analysis for each frequency component in the set of frequency components wherein performing the frequency analysis comprises obtaining local intensity thresholds using a 2 dimensional Empirical Mode Decomposition and spatial frequencies using a 1 dimensional Empirical Mode Decomposition for each frequency component in the set of frequency components; and wherein obtaining spatial frequencies comprises applying a derivative of Gaussian filter to the extracted Value channel and decomposing the images derived from the application of the derivative of Gaussian filter in a horizontal and vertical orientation into a first Intrinsic mode function, IMF, representative of the horizontal orientation and a second intrinsic mode function, IMF, representative of the vertical orientation of the Value channel; and estimating a spatial frequency for each pixel associated with each IMF; and wherein obtaining local intensity thresholds comprises estimating the local thresholds based on Sauvola's thresholding; detecting a plurality of edge pixels of the image based on the performed frequency analysis comprising detecting a plurality of extrema in each Intrinsic Mode function, IMF; selecting a set of interested pixels in the region of each of the plurality of edge pixels, wherein selecting the set of interested pixels comprises: for each of the plurality of edge pixels: applying a window having a constant size to each edge pixel to determine a set of pixels in the region of the edge pixel; calculating an entropy associated with each of the pixels in the set of edge pixels; selecting the set of interested pixels having maximum entropy; creating a quantized product image using a set of perceptual colours; and creating a normalized histogram of the quantized image using the sets of interested pixels selected for each of the plurality of edge pixels, wherein product recognition is based on similarities between the normalized histogram of the quantized image and images of similar products in a database of products. decomposing a product image into a set of frequency components using Empirical Mode Decomposition wherein decomposing the product image comprises: converting the product image to a Hue, Saturation and Value, HSV, colour space; extracting a Value channel of the HSV colour space; performing a frequency analysis for each frequency component in the set of frequency components wherein performing the frequency analysis comprises obtaining local intensity thresholds using a 2 dimensional Empirical Mode Decomposition and spatial frequencies using a 1 dimensional Empirical Mode Decomposition for each frequency component in the set of frequency components; and wherein obtaining spatial frequencies comprises applying a derivative of Gaussian filter to the extracted Value channel and decomposing the images derived from the application of the derivative of Gaussian filter in a horizontal and vertical orientation into a first Intrinsic mode function, IMF, representative of the horizontal orientation and a second intrinsic mode function, IMF, representative of the vertical orientation of the Value channel; and estimating a spatial frequency for each pixel associated with each IMF; and wherein obtaining local intensity thresholds comprises estimating the local thresholds based on Sauvola's thresholding; detecting a plurality of edge pixels of the image based on the performed frequency analysis comprising detecting a plurality of extrema in each Intrinsic Mode function, IMF; selecting a set of interested pixels in the region of each of the plurality of edge pixels, wherein selecting the set of interested pixels comprises: for each of the plurality of edge pixels: applying a window having a constant size to each edge pixel to determine a set of pixels in the region of the edge pixel; calculating an entropy associated with each of the pixels in the set of edge pixels; selecting the set of interested pixels having maximum entropy; creating a quantized product image using a set of perceptual colours; and creating a normalized histogram of the quantized image using the sets of interested pixels selected for each of the plurality of edge pixels, wherein product recognition is based on similarities between the normalized histogram of the quantized image and images of similar products in a database of products.