1. A computer-implemented method of determining image quality, the method performed by one or more processors, the method comprising: receiving an image generated by a machine; generating a local saliency map of the image to obtain a set of unsupervised features using unsupervised learning; inputting the image through a trained convolutional neural network (CNN) to extract a set of supervised features from a fully connected layer of the CNN using supervised learning, the image convolved with a set of learned kernels from the CNN to obtain a complementary set of supervised features; combining the set of unsupervised features, the set of supervised features and the complementary set of supervised features; predicting a first decision on gradability of the image with a first confidence score, by training a first classifier based on a combined set of unsupervised features, the set of supervised features and the complementary set of supervised features; predicting a second decision on gradability of the image with a second confidence score, by training a second classifier based on the set of supervised features; and determining whether the image is gradable or ungradable based on a weighted combination of the first decision and the second decision, the first confidence score and the second confidence score representing respective weights for the first decision and the second decision.