Ask Slashdot: How To Catch Photoshop Plagiarism?
First time accepted submitter jemenake writes "A friend of mine teaches electronic media (Photoshop, Premiere, etc.) at a local high-school. Right now, they're doing Photoshop, and each chapter in the book starts with an 'end result' file which shows what they're going to construct in that chapter, and then, given the basic graphical assets (background textures, photos, etc.), the students need to duplicate the same look in the final-result file. The problem, of course, is that some students just grab the final-result file and rename it and turn it in. Some are a little less brazen and they rename a few layers, maybe alter the colors on a few images, etc. So, it becomes time-consuming for her to open each file alongside the final-result file to see if it's 'too perfect.'" How to look for images closer than they should be to the original? Read on for more details.
jemenake continues: "When I first discovered that she was doing this, my first reaction was that there's got to be some automated way of catching the cheaters. Of course, my first idea of just doing MD5 hashes of each file won't work, since most kids alter the file a little bit.
A second idea I had was to alter the final-result file in a way that isn't obvious, like removing someone's shoelace, mis-spelling a word in the background, or removing/adding some dust-specks. (I know map publishers and music transcribers use this trick to catch copiers). But this still requires that she look for the alteration in each file. I'd think that Photoshop, after all these years, would have some kind of scripting language which also supports some digital watermarking, but I've just never dabbled in that realm.
And, of course, I guess another solution would be for her to not provide the end-result file in Photoshop format, but to export it as a flat image. But I'm still intrigued by the notion of being able to "fuzzily" compare two photoshop files or images to find the ones which are too similar in certain aspects (color histograms, where the edges are, level of noise, whatever).
Anybody else have any clever ideas for this?"
A second idea I had was to alter the final-result file in a way that isn't obvious, like removing someone's shoelace, mis-spelling a word in the background, or removing/adding some dust-specks. (I know map publishers and music transcribers use this trick to catch copiers). But this still requires that she look for the alteration in each file. I'd think that Photoshop, after all these years, would have some kind of scripting language which also supports some digital watermarking, but I've just never dabbled in that realm.
And, of course, I guess another solution would be for her to not provide the end-result file in Photoshop format, but to export it as a flat image. But I'm still intrigued by the notion of being able to "fuzzily" compare two photoshop files or images to find the ones which are too similar in certain aspects (color histograms, where the edges are, level of noise, whatever).
Anybody else have any clever ideas for this?"
That's what a teacher is supposed to do anyway.
Paste images into the source image as new layers, adjust layer mode to "difference" and look for the similarities. Done.
Why not just flatten the final result into a simple image? The students can still see what the end result is supposed to look like, but they obviously can't just hand in that file.
How about simply not giving them the final file? Why not a printed copy?
If they must have an electronic version of the picture give them a low res thumbnail version.
Project the image on a screen and tell them to draw that.
Your problem is that you are over thinking the tech angle when low tech methods will be super effective.
distribute the final file as a watermarked png only. Require assignments to be turned in a multi layered psd files. Problem solved.
Silence is a state of mime.
Provide the book resources as a tutorial but get the students to do something different for the actual assignment. It could be as simple as swapping a few textures or effects. A blur on a cat will look very different to a blur on a dog even though the technique is the same.
You don't exist. Go away. --SysVinit Halt
She could also not show the students a picture of the final project. She could just give them a list like:
1. Remove one set of shoelaces.
2. Add a bird in the sky
3. Add a portrait of Spock in the background.
etc.
sudo make me a sandwich
From the manpage:
findimagedupes compares a list of files for visual similarity.
To calculate an image fingerprint:
1) Read image.
2) Resample to 160x160 to standardize size.
3) Grayscale by reducing saturation.
4) Blur a lot to get rid of noise.
5) Normalize to spread out intensity as much as possible.
6) Equalize to make image as contrasty as possible.
7) Resample again down to 16x16.
8) Reduce to 1bpp.
9) The fingerprint is this raw image data.
To compare two images for similarity:
1) Take fingerprint pairs and xor them.
2) Compute the percentage of 1 bits in the result.
3) If percentage exceeds threshold, declare files to be similar.
Of course, you shouldn't take its suggestions at face value every time, but it should help narrow your search for cheats.
(T>t && O(n)--) == sqrt(666)
You already mention the solution, why be silly about it? Just watermark the images and hand them out as jpegs, not photoshop files.
You could obviously watermark each individual layer if you wanted to give the photoshop files, but why would you want to do that?
The solution is simple:
Give a token homework grade (like ~ 10%) for participating and make everything in the final grade else be based on original projects and tests. Make the students use given files.
Then, if they cheat, they only cheat themselves.
ComparePSD compares two Adobe Photoshop PSD files for you and highlights the differences. Layer by layer. Effect by effect. Simple. And did we mention that ComparePSD is absolutely free?
sysadmins and parents of newborns get the same amount of sleep.
Not a bad idea. That would probably catch most of them...
No sig today...
Why not just flatten the final result into a simple image? The students can still see what the end result is supposed to look like, but they obviously can't just hand in that file.
Offer flat JPG in medium quality as an "end result". Maybe even include a digital metadata watermark?
Require high quality JPEG and PSD for assignment. First check for metadata watermark, then compare quality of JPEG. If it looks too close then open up the PSD and check the layers.
> So, it becomes time-consuming for her to open each file alongside the final-result file to see if it's 'too perfect.'"
How is it that she's grading these? One would assume the grade depends on similarity to the target image or the layers embedded in the file [1] which should be dependent on comparing the student file against the master.
Or is it yet another "Best try" scheme? "You tried, Timmy, so I give you an 'A'".
[1] Does Photoshop embed the history inside the file? It's been awhile since I've worked with it.
Do what I do for my textures, and embed a "watermark" of your signature or something similar deep into the final image where it can't / won't be seen by anybody who doesn't know where or what to look for, in multiple places where the pixels are conducive to such masquerading. It's almost a form of steganography, where the message to be sent is a verification of the authors' identity and claims of original work.
I do mine in such a way that even if I leave one such image that can be readily seen, there are at least a half dozen more than cannot be found without a side-by-side comparison of source and production images with and without the "watermarks" (impossible without someone getting hold of my .PSD's). Keep the true "source" .psd for yourself, create another for disbursing to students that contains several "watermarks" with an extreme level of transparency well-blended into many or all of the layers so they'll have an example .psd to "reverse engineer", and then separately give them the actual un-watermarked original source images, which they should then be expected to chuse to assemble the final image themselves. You might even put an entirely separate watermark into the source images, so you can check to see which watermarks the submitted image has, as opposed to checking only for the source mark.
If they put in enough time and effort to actually successfully circumvent this technique by finding and either eliminating or duplicating all the various marks, then they've probably got the requisite skills to pass the original challenge... at least if you do it the way I do.
My "signature" is in at least 3 places in this image, buried deep in different layers with heavy transparency masks, and it would have to be altered drastically to be guaranteed to remove all traces of it.
"Inveniemus Viam Aut Faciemus" 'We will find a way... Or we will make one!' --Hannibal of Carthage
Yep. PS does include a history function that can be written to the metadata. Bonus points for pulling out the metadata stream, running some regex on it and deciding if it was legit.
Extra bonus points for not including the history in the image given to the students. And requiring it for a grade.
Faster! Faster! Faster would be better!
Upvotes if I had them - this is exactly what the difference blend mode does. You could even record the flatten/paste original/adjust blend mode/save as jpeg operation as an action run it on the folder of student images using the batch processor to produce a nice little set of comparison images all at once.
Bingo. Pixel differencing will show which pixels...are different...which will show gradient differences (as broad areas of different pixels), layer positioning differences (as lines), etc. Otherwise, I think it's pretty obvious that one does not provide the students with a final .psd with all the layers intact. At the least, any provided file should be a flattened version (PNG or JPG of decent quality) with a watermark...
There's just so many ways to thwart this. Does the PS instructor *know* image manipulation?
It's probably annoying for all involved, but just like the "show your work" in math classes, you can request a "show your work" equivalent via screen-cast. And the students will learn a bit about screen-casting.
Alternatively, request a picture of each step.
Perceptual Image Diff and Find Image Dupes might be helpful. If she runs finddupes with a threshhold of .99 or so, then it is likely just trigger on nearly exact copies. At least, it should narrow down the ones she has to inspect in more detail. On the other hand, pdiff will detect exact or nearly exact copies by specifying how many pixels are allowed to differ (so it can be fooled by addition of random noise). While pdiff is available for Windows as well as Linux, it seems that finddupes is Linux only.
Those who can make you believe absurdities can make you commit atrocities. - Voltaire
I agree - a blank slate is the best, in the real world you have to be creative.
Just state that they should have a picture with an animal, a beverage and a well-known landmark and that some types of transitions and effects are expected. But then also state that they aren't limited to that but can do something completely different as long as they have a certain number of effects in the image.
And to make sure that they don't copy an existing image they should provide the source images used too.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
For one thing, you can prevent plagiarism by not asking students for plagiarism. You're giving students a file and then asking them to duplicate it. That's pretty much the definition of plagiarism and, frankly, probably of very little educational benefit.
The teacher needs to stop trying to figure out ways to catch people cheating on an exercise designed for cheating and start teaching the damn course. Teaching doesn't just mean lecturing and assigning exercises out of some book, it means developing exercises, homework problems, and exams from scratch as well.
-1 disagree is not a modifier for a reason. -1 troll, flaimbait, redundant, overrated are NOT acceptable substitutes.
Why does this sound like a stock image supplier trying to find machine-modified infringing images using a web crawler so that they can bludgeon the people publishing the modified images, who have not paid a license fee, with a copyright infringement lawsuit?
I'm just saying, a good answer to the OP's question is going to mean the ability to use the answer in this fashion.
Just give them an 'A+'. When they later discover that they spent thousands and they still suck at photoshop, well, that's thier problem.
If I'm not mistaken, Photoshop has had "Digimarc" watermarking in it since forever (under Filters). You only get a "demo" ID in the base install (you have to pay for your own personal ID), but the demo would likely be sufficient since you're only really interested in watermarked sample vs. original work. The watermark itself is practically invisible, and meant to be resistant to the sorts of minor edits you're talking about.
Couldn't she simply slip a large amount of bit information into one of the layers? Put a high resolution photograph in a background layer at 100% transparency. This will substantially increase the file size beyond what the students would be producing. Then when she gets the assignments, sort by file size, and pick the ones off the top that are a few MBs too large.
Add dust to the final image. Make it four or five specks - even at 1% opacity works. Then, write a script to -Open "pixelspecs.config" containing information about the pixel color at each 1px speck of dust -Iterate through the "studentprojects" directory ---Open the file ---Loop through and check how many of the pixels match the color ---If it's more than two, print the file name: they plagiarized! Not too hard to do, could be done in less than 50 lines of code.
"It's fun to do this with NASA photos of the moon, some of them have lens flares added from photoshop. :) (you can recreate some the lensflares pixel perfect...)"
Not at all, those are the files photoshop's lens flare is based on.
Let them use their own base images! And then let them do something creative with them!
One of the least interesting and least creative classes I took in art school was one that was about producing photorealistic oil paintings based on photographs. The class was 99% about mechanical technique, and to hell with creativity... which seems to be the theme of the class being taught here. So be it. But at least the instructor let us pick our own photographs to replicate! So we'd have an interest in what we were doing. And even if he had never checked on our progress along he way (like would happen in any worthwhile "learn how to ____" class), he would know whether we had done the work, because each of our paintings was a) unique, and b) matched the photograph we'd had approved at the start of the assignment. Plagiarism wasn't even a question, and not just because we were working in traditional physical media.
All of these suggestions for how to identify plagiarism through technological measures are missing the point. The problem isn't "how to catch a cheat", but "how to give students an assignment that they will have a reason to bother doing in the first place".
http://alternatives.rzero.com/
Duh. Flatten the final picture. You will still have outliers who can make it look convincingly different enough but it won't be as easy as giving them access to each individual layer for them to fudge up.
Also consider embedding tiny watermarks in the image. Little sets of pixels at specific coordinates. Not specifically exact colors but something you would be able to identify on close inspection. Something like a small 6x6 checkerboard grid of alternating light colored pixels in a light area of the document that wouldn't be easily seen by your students but you could zero in on and verify.
I think you should tell them at the outset "It's really easy for you to cheat on your assignments. That's also a horrible way to learn. I've got an honor system, don't cheat. If you do cheat you will learn less, and therefore be wasting your own time." If you need something to base grades on, you need something else that you can watch then do or they can't cheat on somehow.
San Francisco Photographers
Why are you giving the students the final photoshop file with all the layers? Just give them a jpg with all the layers compressed, and put a big fat watermark on it so they can't use it for anything.