12
LeMeow
8y

Is it possible to build a program that can detect if an image is a meme or not?

Comments
  • 4
    If Google can figure out from a shifty ms paint drawing what a broom or cat is, I think it's possible to figure out memes
  • 0
    If you based it off various variables (for example, name, format, amount of white from block white meme font) then had a DB for definite memes based on file hashes, it might work... Or you could just shoot anyone that touches a meme :)
  • 2
    Assuming that you do not want to detect "new" memes and just want to categorize memes by it's type like "success penguin" you just need to use a simple statistical comparison algorithm like KNN (this is the most simple one) then:
    - get a collection of memes of each type
    - find a finite set of characteristics that might be used to uniquely classify each image based on it's features that can be automatically calculated (like, histogram of colors, composition, eigen values, max intensity variation, etc - just try to find a set that is unique enough for each meme)
    - calculate the features for every image of your collection (seed) and categorize each sample
    - for every new image calculate it's features and calculate the distance to each of your data points
    - the category of the K closest data point (K closest neighbors) is PROBABLY the category of your image.

    This approach must be trained, there are others that learn with time (like Google) but start with it just to get the feel of it!
  • 1
    @RhysOC just a quick comment, an hash is not a good characteristic...

    An hash is a "signature" of a file based on it's entropy (bits)... Two slightly different images produce very distinct hashes that are not comparable

    (Ps.: I'm sorry but I think I accidentally reported your comment! :( this is the second time I have donne this... The reply and repost buttons should be reversed in the Android app... Hit me with a rock please sir)
  • 0
    @mmcorreia I meant that you could use a file hash of a meme image to know when other files are the same image (so if I add the hash of meme a then test the same meme downloaded off the internet it would match)

    And don't worry about the report :)
  • 1
    @RhysOC but that will only work if it's the exact same image with the exact same metadata and name...

    Hashes are good to uniquely identify a file or to protect against alteration (signature) the chance of it serving for comparison in this scenario is slim at best
  • 0
    So many image manipulation solutions will be suggested… why not just search Google for that image with the image search tool and look for the keyword "meme"?
  • 0
    Programs can be written to do anything in this world, apparently.
  • 0
    Yes... Write a program that shows random images from Google image search and imgur, then lets people post them to their Facebook feeds with one click. Any that get shared, save to a database... You've identified of the image is a meme or not, within about 95% certainty.
  • 0
    Depends on your definition of meme
  • 0
    This is a prime example of Image-Classifying Neural networks. Fork the cifar10 CNN example on the Tensorflow GitHub, feed it the right dataset and BAM! of course it can!
  • 0
    @mmcorreia yep I get that but when the decision engine (however it would work, probably using a search API and RGB maps) returns a score for the image, the hash and the score would be entered in the database in case someone searches that image in the future
  • 0
    It's almost the same as figuring out whether an image has outline text at the top or bottom, you don't even need an AI for that, just some simple computer vision algorithm
  • 0
    Since you're not specifying any time or cost limits, yeah it's possible :P
  • 0
    Of course the easest way would be to get the background images used for meme and run comparions between the images if a 40% match happens its a meme. You probably could just use meme as the background images but it wouldn't be as acurate.
Add Comment