Abstract categorization for images

Does anybody know any techniques on following problem?:

Categorize images based on their general composition quality.

Very roughly on “good” images and “bad” images.

This is an example of what is considered to be a good picture:

This is an example of “bad” picture:

As expected model is not doing good out of the box:

The another challenge that categories are highly unbalanced - 7% of images are labeled as good and 93% as bad.

I suspect that some kind of tricky image transformation or applying filters would help to detect composition.

You might have to do some data augmentation for the ‘good’ data, and feed those augmented images for training. Your model doesn’t seem to have enough ‘good’ examples to be able to categorize them effectively.

Or, you could just get more data that has a balanced class representation. That’s just my initial guess based on your post. :slight_smile:

I can’t say anything specific, as I haven’t tried anything like that. But I can say that the problem is solvable. See, for example, this post from Yelp: https://engineeringblog.yelp.com/2016/11/finding-beautiful-yelp-photos-using-deep-learning.html
They describe in details how they were identifying good photos.

1 Like


You can download images from flickr can use tags or featured photos there to help label “good” photos. I think you need a bit more data than you have now.

Thanks Jeremy!