2
$\begingroup$

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 :)

$\endgroup$
4
$\begingroup$

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 ;-)

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you ! I'm going to try both approches and I'll let you know if I managed to get results :) $\endgroup$ – Louis Mar 1 '18 at 18:17
  • 1
    $\begingroup$ I've manually identified 1400 images as watermarked or not and split them for training/testing. I fined tuned the last convolutional block and the top level dense layers and it achieved 80% accuracy with no hyperparameter tuning which is a good start I think $\endgroup$ – Louis Mar 5 '18 at 9:38
  • 1
    $\begingroup$ Excellent! Now you could build a generative adversarial network that generates better fake watermarks ;-) $\endgroup$ – Elias Strehle Mar 5 '18 at 10:08
  • 1
    $\begingroup$ Wooow that would be insane I'm going to try this after tuning the current model ;) $\endgroup$ – Louis Mar 5 '18 at 10:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.