Method to recognize an object from a cluttered image by means of artificial neural networks, the method comprising the following steps: - generating a normal map from the cluttered image by means of a trained image generator (G), - recognizing the object from the normal map by means of a trained task-specific recognition unit (T), and - outputting the result to an output unit, wherein both the image generator (G) and the recognition unit (T) comprise an artificial neural network and wherein both the image generator (G) and the recognition unit (T) have been trained, the training of the image generator (G) comprising the steps of - receiving synthetic cluttered images as input, wherein the synthetic cluttered images are the output of an augmentation pipeline (A) which augments synthetic normal maps into synthetic cluttered images , - giving a normal map as output of the neural network of the image generator (G), - comparing the output of the image generator (G) with the respective synthetic normal map given as input to the augmentation pipeline (A), - optimizing the neural network of the image generator (G) such that the deviation between its output and the synthetic normal map given as input to the augmentation pipeline (A) is minimum; and the training of the recognition unit (T) comprising the steps of - receiving synthetic normal maps as input, wherein the synthetic normal maps are obtained from a texture-less CAD model and represents a known class or pose, - recognizing the object and providing the class or pose as output of the neural network of the recognition unit (T), - comparing the output of the recognition unit (T) with the respective class or pose of the object as represented in the synthetic normal map , and - optimizing the neural network of the recognition unit (T) such that the deviation between its output and the respective property of the input is minimum. - generating a normal map from the cluttered image by means of a trained image generator (G), - recognizing the object from the normal map by means of a trained task-specific recognition unit (T), and - outputting the result to an output unit, wherein both the image generator (G) and the recognition unit (T) comprise an artificial neural network and wherein both the image generator (G) and the recognition unit (T) have been trained, the training of the image generator (G) comprising the steps of - receiving synthetic cluttered images as input, wherein the synthetic cluttered images are the output of an augmentation pipeline (A) which augments synthetic normal maps into synthetic cluttered images , - giving a normal map as output of the neural network of the image generator (G), - comparing the output of the image generator (G) with the respective synthetic normal map given as input to the augmentation pipeline (A), - optimizing the neural network of the image generator (G) such that the deviation between its output and the synthetic normal map given as input to the augmentation pipeline (A) is minimum; and the training of the recognition unit (T) comprising the steps of - receiving synthetic normal maps as input, wherein the synthetic normal maps are obtained from a texture-less CAD model and represents a known class or pose, - recognizing the object and providing the class or pose as output of the neural network of the recognition unit (T), - comparing the output of the recognition unit (T) with the respective class or pose of the object as represented in the synthetic normal map , and - optimizing the neural network of the recognition unit (T) such that the deviation between its output and the respective property of the input is minimum. <EOS>