Watermark detection in Python I have a lot of images and I would like to be able to classify them into two groups: one containing images with watermarks and one containing images without any watermark.

There are about 40 different watermarks. I created "fake" watermarked images to train a CNN and it worked very well on the "fake" validation set but not on the real images. Plus it was a long shot because I would have needed to train a model for each watermark (and I don't have the original watermark) or train a big model.

I quit the watermark approach to try and find text. So I tried OpenCV text detection and it really wasnt working since the text is crooked and not that different from the background. 

Is there an easy solution I missed? Any idea is welcolme. I am kinda new to machine learning :)
Interesting question! Maybe the pretrained models in Keras can help. Either by means of transfer learning, so that you might have to label only a small number of images by hand to retrain the higher layers. Or by using them for feature extraction and see if a certain keyword appears frequently for watermarked images.

Or just upload the pictures some place that does not allow watermarks and see if they get flagged ;-)