17

I am planning to make a game, where I give the user an anime related image and they have to guess where its from.

However, most of the images, specially from popular anime are easy to use on Google reverse search to find and pin point the anime.

I've tried to see if I could make so it would not recognize the image but unhappily my tricks were not good enough.

Original image:

Original image

Grey-scale with horizontal flip:

Grey-scale with horizontal flip

Watermarking:

Watermarking

Puzzling the image with grey-scale:

Puzzling the image with grey-scale

Grey-scale with horizontal and vertical flip worked for this image but doesn't always work:

Grey-scale with horizontal and vertical flip

Also the above mentioned methods are rather easy for people to guess the anime.

I would like to know if there any good trick, that I could use on my images to make so it would not work on reverse search engines and yet not be so overcomplicated that I can implement on my program.

For example grey-scale, cropping, flipping are rather easy things to achieve in C#.

15
  • 3
    I like the idea of puzzling the image for added difficulty. However if someone truly wants to play your game, I have problems seeing how Google reverse search will be an issue for players, are players dueling for who will find it first? I would be more worried about having the licensing rights for the images if you plan on marketing your game.
    – curious
    Jul 27, 2014 at 16:07
  • 2
    @Emilie Yes, there is a weekly and monthly ranking system and only the first answer right counts towards receiving the points for that specific image. Its not a game that will be sold, and the original image will be pointed back to the artists with proper rights. It's rather something really simple I did like to add to our chat channel.
    – Prix
    Jul 27, 2014 at 16:11
  • 1
    The problem is that reverse image search should be able to bypass damage to picture or its not really good so your fighting fundamental tech and you will ultimately loose.
    – joojaa
    Jul 27, 2014 at 21:34
  • 4
    Trying to protect digital media for piracy, or any task down that line will most likely end up in you failing to foil the dishonest people, and ruining the experience for your honest users. Sometimes you have toe make such a trade-off. Jul 28, 2014 at 3:28
  • 1
    Stop there. Giving credit is not getting permission to use the image. It is copyright material. If your game fools a search, it probably won't survive an intellectual property violation enquiry. Do not continue without getting written permission from the copyright owners for the "USE OF THEIR INTELLECTUAL PROPERTY." You might be pleasantly surprised to discover that they give you permission based on your intended use for a game. Don't guess. Don't hope. Find out before you put more effort into your miracle.
    – Stan
    Jun 27, 2016 at 0:28

7 Answers 7

10

Google may use a different system but a large number of such services (tineye included) use perceptual hashes where the overall hash is close enough to be a match, rather than exact.

A whitepaper showed up a few years back which detailed the process. I haven't been able to find a link to it, but the basic system relies on a action chain to generate the hashes.

  • Reduce the image to a small scale, usually 32x32 or 64x64
  • Convert the image to greyscale
  • Ramp up the contrast to a predefined value, to ensure a high level of difference between the black and white tones
  • Calculate the pHash from the pixels in the resulting image

The process would be repeated for any uploaded image, and then cross checked with indexed hashes to find any near matches. In short, the image must be drastically changed across large portions to fool any system like this.

1
  • 1
    Some interesting information there, would love to check the article.
    – Prix
    Jul 28, 2014 at 16:55
9

I think you were on the right track with your watermarking option, but you left too much of the original image in tact. Here are two images I tried that Google was unable to find:

Checkerboard

enter image description here
Reverse image search results

Mosaic

enter image description here
Reverse image search results

Another example

enter image description here
Reverse image search results

The first image returns a lot of "checkered flag" results, and the second returns lots of mosaic/collage images. Size does matter! I initially tried it with a much smaller checkerboard pattern (16px); Google was still able to identify that. These 32px squares seem to be a happy medium.

Based off of the information that DanS provided, I think this would be a dependable technique to fool Google (and easily automated!). I can only presume that someone who was able to identify this anime would still be able to do so from these images.


Ironically, the images I have created will eventually be indexed by Google and lead to this post, defeating the purpose!

2
  • 1
    That is what I ended up doing with a slight difference, which I don't create regular forms like squares anymore, it does seem to work to a good extent and yes at some point it will get indexed but by then we will have new images the ones already answered don't get back into the queue. Thanks for taking the time.
    – Prix
    Aug 1, 2014 at 21:06
  • 2
    Even more irony. You may have given google a hint on what to improve.
    – joojaa
    Aug 3, 2014 at 6:50
2

Just create a negative image of the original and invert it back with css. The user will see the image like normal, with same quality but when downloading it is inverted.

.myImageClass {

 filter: invert(100%);

}

The negative image will not be matched with the original (search result NL):

Search Example

Also, tried it with reducing the colors to 256, Paint Shop Pro is king in doing this. The image will not directly matched to the original. If you combine this with method above, it could be excellent.

0

You can do something like this:

enter image description here

It is not 100% bulletproof, but it should throw off most image identification engines.

What I did was add black and white noise to the image as well as some displacement. Messing with the colors eg. only displacing one or two color channels would be even more effective, but complex to implement.

5
  • 1
    I will give it a try with a few popular images and see how it goes ultimately right now I came down into a closed puzzle where I open squares when wrong answers are given. So you only see the image every X pixels at a time which seemed to have worked so far.
    – Prix
    Jul 27, 2014 at 18:39
  • Yeah that doesn't work unless you put enough noise to make the entire image unrecognizable which defeats the goal I have. Thanks.
    – Prix
    Jul 27, 2014 at 19:48
  • 4
    Except off course searching with that noised image Google immediately finds the sources. The algorithm most likely searches within Fourier space and your noise wont do much for that.
    – joojaa
    Jul 27, 2014 at 21:36
  • @joojaa Yah, I did notice that, but Prix asked my to show him an image of what I suggested as a comment, so I posted an answer. Jul 28, 2014 at 3:26
  • @GiantCowFilms Lame, this is exactly the kind of filter that will be ignored by a image search.
    – Navin
    Jun 25, 2015 at 4:09
0

Try switching the file format you're saving in. Reverse image searches start by using some data that gets logged intrinsically into the image, which is probably why your obfuscation techniques haven't been working. JPEGs are particularly bad about this, PNGs not so much. With especially popular images, this might not work, however.

Ideally, find a way to show the image in an encapsulated form the user can't directly interact (copy -> paste) with. Unfortunately, I don't have the technical details on how this can be achieved currently, just that I've observed that the images used in Flash/Shockwave stuff has that property.

Secondarily: The plan as a whole - using copyrighted images without first seeking appropriate permissions from their owners, even assuming you provide attribution as soon as the puzzle is solved - puts you at risk of a takedown request or other sort of legal action, particularly if you're running the game in any volume. If it's possible to run the game using fanart (since you're more likely to get appropriate permission to use fanart than canonical content) it's probably better to do that.

1
  • None of this has to do with OP's question. I guess I'm a little late to the party but: Google does not use EXIF data and OP isn't going to run into legal issues because he is a not-for-profit.
    – Navin
    Jun 25, 2015 at 4:11
0

You must confuse the search engine.

The best way to defeat automated image searching is by providing alternative images that cannot be identified or come from conflicting sources, and ones that confuse the specified pattern to be identified.

For example, if you provide an image composed of three images in alternating bands or strips and ask for the identification of the image composed from only every third band, so that, if isolated from the other bands, would appear as one image with gaps (where the other images' bands overlapped).

A human brain invokes "Closure" to perceptually connect the relevant images into one cohesive one that can be identified. The key is enough identifiable, but irrelevant detail in the rest of the image to confuse the engine.

Question two might be with the same image but asking for every third band starting with the second band. In effect, you could use one image with three different components and therefore three different answers.

Automated searches cannot attack such a spatial problem unless the unrelated bands are physically isolated from the search. Hard to do.

2
  • This would be very annoying as a user to look at Jun 27, 2016 at 4:04
  • @ZachSaucier It's supposed to be both a challenging game and something to bypass increasingly intelligent software. I can't comment on the other aspects. How is this much different from a checkerboard insofar as annoying?
    – Stan
    Jun 27, 2016 at 4:30
-3

Stop there. Don't copy. Use original artwork. EDIT: Treat this as FYI.

By copying, you are indirectly trying to circumvent intellectual property protection. You are playing with fire.

There's also a flaw in your rationale and reasoning: Giving credit is NOT getting permission to use the image. It's not an "or" situation. It is copyright material. It does not matter if the result is placed up for sale or not. Your gain, financial or otherwise, is of no consequence to the offence. Even if the project was for academic or scientific research, you would need permission from, not credit given to, the copyright owners.

If your game fools a search, it probably won't survive a motivated lawyer pursuing an intellectual property violation enquiry.

Do not continue without getting written permission from the copyright owners for the "USE OF THEIR INTELLECTUAL PROPERTY."

You might be pleasantly surprised to discover that they give you permission based on your intended use for a game. Keep notes with dates and sketches. If you discover that the people you approached take your concept, sue them for broach of confidentiality. (That involves a separate NDA legal document and probably more time than it's worth.)

Don't guess. Don't hope. Find out before you put more effort into your miracle. It might be easier to say you're sorry than to ask permission but the way is legal, ethical, and more rewarding.

1
  • 3
    This does not seek to answer the question being asked. It is better off being shortened and made into a comment Jun 27, 2016 at 4:05

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