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.
Why not start with a different image? For that matter each kid could start with a different image so they can't cheat off each other. Harder to grade, I know, but that's why teachers get paid the big bucks :-)
You can always run a binary compare of the files using a diff tool. Anything the students do will show up as a delta. So if there are no deltas, the students copied the original or are creating a pixel perfect copy.
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.
Add an extra step before or after a specific step in the process. Make it unique based on each students name, or student id, or something so it cant be copied and shared. That what iv had happen in a similar class.
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
Look at the Created Date on the file properties and see if it matches the "end result" created date.
Just ask for a high resolution uncompressed result. This works well if the original is a 96 dpi jpg, and is compressed.
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
supply the desired end result to the students in hardcopy, ask for their results in electronic format. Oh, and hide the SCANNERS!
Operation Guillotine is in effect.
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)
http://pixelnovel.com/comparepsd/
first result I found... and it looks to be free.
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?
ask them to do something similar with *other* pictures that they find on the net, then assemble.
other questions ?
The students appear to be treating the class as work, instead of a learning experience.
"The problem, of course, is that some students just grab the final-result file and rename it and turn it in."
Well, those students will not do well on a test designed in the same manner using a set of teacher supplied images.
Personally, I think the teacher is trying to do too much, if she is comparing images looking for small differences. Let the test tell you who LEARNED and who didn't.
The electric yellow has got me by the brain banana
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.
This site does a good job of showing you what has been manipulated in an image.
www.errorlevelanalysis.com
Next time, just give them a pop quiz. Give them a base image for them to work on and do not give them the "end result" photo. Show on a projector and screen what the final image should look like without naming the tools, etc.
Give them 1 hour to do it.
That ought to ween out the cheaters from the do-gooders.
As an OCD overachiever, I'd like to recommend the instructor not select a test protocol which would make the students who make an effort to duplicate the outcome on their own end up pooled with the students who know the rename command.
Perhaps you could require saved copies of the files on the way towards the final product from each student.
Complete photoshopped multi-layer works don't come out of nowhere; you could ask each student to save one copy of their work at the end of each section they are following in the text.
None of those partially completed works exist for the students who use 'rename;' all exist for the students who are doing the assignment.
Print out each set of data as thumbnails on a sheet of paper so you can glance them over.
Posting anon since I'm already a "cheater" because my work is "too good," but I'd rather not have others with talent suffer the same indignities.
Don't hand out the completed project. You don't really get any where else in education.
A quick review of the history should tell you a lot. If it's exactly duplicated with a few tweaks at the end, it's a dead giveaway.
I've built up so much character I have an alter-ego
Have each student watermark the original image with their name and flatten the image. Their name will have to have passed through all of the transformation steps to look right on the final image. Each student's end result will then be unique.
What are you looking for, some fancy machine learning algorithm to compare the files? Just make the assignments something that doesn't have an answer available and be done with it.
Don't grade the students around the chapter images. Create a separate image using the same techniques and print it out on a sheet of paper. Students must recreate it, using what they've learned.
Perhaps embed some stenography in each layer of the image? Not sure if that's possible with photoshop though. But going under that theory (if it's possible), you could just run each file through the same program you used to add the stenographic text. If it opens any text, they cheated.
Unfortunately, the only program I know of that adds stenography is that slight changes anywhere in the image will wipe it out, so they would need to outright cheat.
Could you not just give them a printout of what the end result should look like? Generally speaking, scanning a printed image will never look as 'clean' as the original. Even if they have it ridiculously high quality scanned, they'd still have to resize it or at least adjust the file size somehow so it's not 10 megs.
So, it becomes time-consuming for her to open each file alongside the final-result file to see if it's 'too perfect.'
There are several ways to mitigate that. In class tests. Custom assignments for each student.
You are NOT going to get away with 'auto grading' for something like that, at this time. Auto grading works good for multi-choice, and t/f. Not so much where there is any sort of 'creative' input. You are just going to have to knuckle down and grade each one.
Have each student do something unique. Such as having to put their name in the pic somwhere with a particular effect...
Create a script which accepts two images of the same size and resolution.
For each pixel, there are 3 RGB values from 0 to 255
Find the euclidian norm of the variance of the two pixels with this equation:
R1 = red in pic 1, R2 = Red in pic 2, G1 = green in pic 1, G2 = green in pic 2, B1 = blue in pic 1, B2 = blue in pic 2
Sn = sqrt((R2-R1)^2+(G2-G1)^2+(B2-B1)^2)
Now, find the sum of all Sn (one value for each pixel.) That will be the images "Variance Score".
Graph all the variance scores on a bar chart with bins of appropriate sizes. It should quickly become apparent who is cheating.
Flatten the student's image.
Take the reference image and add it (flattened as well) as another layer.
Set the blend type of the layer to XOR.
If the image is identical or near identical, you'll either get black, or a pretty uniform field of specks where compression noise or whatever has taken place.
If the image is different, you'll see brighter areas wherever the differences between the images are.
If the student copied the image, it will be very similar. If they copied the image and modified it slightly, you'll see the modifications. If they copied it and applied filters to the whole image, you'll see bright areas across the entire image, but not so much locally.
If the student did the assignment correctly, you would expect to see bright areas around the parts of the image that were supposed to be added/changed by the student, and relatively little around the source area.
If you could write a script that did that process, (takes flattened student image, takes flattened answer image, outputs an image that is the xor of the two images) which I'm sure is possible, you could just scroll through the output images until you found one that looks suspicious and then look at it in more detail.
I wish someone had taught us Photoshop or any other useful 21th century stuff in high-school.
Don't provide the end result, only the resources to create it. Print out all of the work. Printing is important because: a) it gives you a physical representation of the work, signed by the student. b) it allows you to thumb through them quickly and spot the duplicates (read: cheaters) c) allows you to prove this cheating relatively easily to administration, and give examples of non-cheating to compare to. Even though the students are all working towards a common goal, every image will come out different. Colors won't be exact, positions different, cut-lines different. Every image has a "signature", which makes duplicates and highly similar images (read: cheating with obfuscation) stand out when you physically look at each set of images individually.
Picking out the cheaters is much easier than it seems. Don't overthink this.
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.
I would suggest that she only provides a lower (at least a 1/4) resolution file to her students while requiring a full resolution on tuned in projects. Also adding compression to loose detail is another trick. This should make the copies easy to spot. Speaking of which why is she giving them layered photo shop files instead of a small jpg. They should figure out what layer to make on their own.Also, I never get any requests to Photoshop that come with more then a written or verbal description. Usually I do a quick proto-drawings if there is potential for confusion. But maybe she is start them off with a monkey see monkey do type learning. She could also hide small color dots in layers or use patterns with slight differences to create water marks even rotating them 90 degrees would work. Hell why not just use the water mark plugin or draw rough strips over the picture. That won't stop cross-student coping though. However, she could even give different students different patterns to make sure they are doing the work themselves.
Students must turn in the full image. Much simpler than watermarking.
Reverse image searching can find images 'like' another image. Try: http://www.tineye.com/
1. In Final.psd go to: File > File info and under keywords type: iamacheater (or any other unique string)
2. Distribute file
3. Receive student files and import in Lightroom
4. Search for string iamacheater to find cheaters
if she doesn't know, perhaps she shouldn't teach photoshop ...
for one assignment students turn in their own pictures with themselves in it near some assigned object. Later, another assignment has them work with their picture toward some given result on the object, with them still in the picture.
[quote] So, it becomes time-consuming for her to open each file alongside the final-result file to see if it's 'too perfect.[/quote]
Script it. Compare the layer names, do a CRC check on the layers themselves.
I'm sure such a thing already exists.
Subtract turned in image from the Demo result.
Average the result if its 0 its the same, if its less than some critical value then have a look see whats different.
you might be able to use OpenImagIO (https://sites.google.com/site/openimageio/) to script it, not sure how it might deal with layers.
Have the students record the action of them creating the final result and have them play it back to recreate the project.
You can cut the resolution of the sample by half, compare dimensions of the end result. (if they up sampled their image you should be able to tell very easily).
Similarly, you can compress the heck out of the end result file and then compare file sizes of their work.
CS6 has digimark digital watermarking capability you could use on it and then write a simple script to check for the watermark.
Convert the demo to a different color space/bit depth (they probably won't realize it is different) and compare.
Change all of the elements in the project file to something silly (change colors and pictures).
I think .psd supports metadata, put something in the metadata that says "I cheated".
You could just SAY that you have some crazy cheat-catching checking capability and assume the kids will take your word for it. (Then just check the smart kids)
The instructor should add a unique instruction to each assignment. I.e. if the task is to change the text on a billboard in a photo, ask them to put different text in, rather than what's referenced in the text. The rest of the tutorial remains the same. Or if they are changing the color of a bird, ask them to make the beak purple instead of green, etc.
This way the people who don't pay attention and don't follow the steps will have the wrong result, but the rest of the assignment is the same. A clever instructor should be able to pick a step to change that is hard to work around by altering the example.
http://www.codeproject.com/Articles/374386/Simple-image-comparison-in-NET
There seems to be some resources available online, if you write some code and run your images through this you should be able to quickly assess the differences. But IMHO you should just get the students to do the assignments on different images. Perhaps even individual assets for each of them. If I were one of them, I'd just blur the image ever so slightly, somewhat mess with the levels and crop a few pixels off the edges and no matter how good your algorithm, it will fail to recognize plagiarism. On the other hand, perhaps the sneaky little bastards that go that far deserve to pass? ;) In an unrelated note, as a pretty experienced Photoshop user, I find it that the ability to creatively choose and apply the right tool to obtain a desired effect is very valuable, and as such, I generally don't think much of those step-by-step tutorials.
Is this a class on Using Photoshop or is this a class on Digitially editing and enhancing photos? If the class is specific to Photoshop, then distribute the final product in a flat file for comparison. Otherwise, teach the students how to use tools to enhance their own photos. In this day and age, every student should have access to digital photos of some sort, either from their own devices (camera, cell phone, etc), or online.
My son ran into a problem with one teacher in a high school web design class. The classroom systems were preloaded with Dreamweaver. The class was basic web design. My son chose to use a simple text editor instead, and was told he would fail if his homework assignments weren't done in Dreamweaver. When I pointed out to the teacher that the program cost ~$900, he changed the requirements. If the class had been specific to Dreamweaver, then I would have asked the teacher to consider the costs involved when assigning homework. My son ended up getting his final class project on the school web site - it was an html/css/javascript page that allowed other students to create simple web pages, complete with formatting and colorization via popup color wheel. All written in Notepad. That was 2004.
Don't make it a big part of their grade. After all, you aren't teaching forensics here.
But by making copy-detection an early-on element of the course you'll make them aware that you know how to detect copies.
Also make it clear early-on that this class is designed to teach them a useful, marketable skill and that if they cheat, they won't have learned the skill and if enough of them cheat and don't get caught, YOU won't know to slow down the pace of instruction. As a result, the whole class may "pass" knowing a lot less than they would if nobody cheated.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
> 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.
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).
If you provide the kids with the end result, and they need to turn in an end result for grading, you're fighting a losing battle. I could personally get around everything you did to try to protect your "example" PSD, and I'm relatively certain that I could have done so at the age of your students. Just give them the flattened image, it's enough for them to see what it should look like.
You should still, of course, use one of the methods mentioned in sibling posts to compare submissions for too much similarity since you'll inevitably have a group of students who figure they should "pool their resources" and submit the same PSD. A quick way to get around the laziest kids would be to md5sum every submission and flag those with the same md5sum. Don't immediately accuse the kids, just make them do the same exercise in person, in front of you. If they can't, they were probably cheating.
Computer Science and programming professors have been dealing with these issues for years; perhaps seek out one of them and ask how they do code submission grading. There are a lot of similarities.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
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
Also make it clear early-on that this class is designed to teach them a useful, marketable skill and that if they cheat, they won't have learned the skill and if enough of them cheat and don't get caught, YOU won't know to slow down the pace of instruction. As a result, the whole class may "pass" knowing a lot less than they would if nobody cheated.
Some artists/journalists would argue that *any* use of photoshop is cheating. Albeit, it's not copying, but you are bending reality. (Not that photo manipulation is new to photoshop. Trick photography started just a few years after photograpy itself was invented, and even realist painters didn't paint the "real", reality)
All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
A few years back I used iPhoto and it had facial recognition software built-in. When I went through training it, it mis-labeled faced but it did so along family lineage. For example, it would think my dad was me or vice-versa.
I currently have a program called PhotoSweeper (http://overmacs.com/photosweeper/) which uses five different methods to find duplicate images. It doesn't use facial recognition but instead it compared the bitmaps and/or histograms with a user-changeable threshold (e.g. identify really close matches or kind of close matches). Very accurate and it would work if you had flat images without layers.
I disagree with the approach of flattening, printing, or otherwise destroying information in the final-result file, because there can be a lot of learning value for the students in having the solution. The approach of manipulating the image in some way and attempting to detect that modification in the result could work, although it seems like a lot of effort.
Instead, could you require the students to submit the intermediate results as well? That way you have more evidence that the students actually performed the steps. Also, if there is any variation in the steps, it gives you more information about possible copying between students if all intermediate results are the same in addition to the final result.
This doesn't answer your question as posed, but she shouldn't have made available the final xcf/psd, just a flattened export of it. Either way, the kids are cheating themselves if they don't make an attempt to do it from scratch, and it'll show when she tests them on how to apply the principles used to recreate the image.
If she still wants to give them the final image in that format, then she could create the provided pieces and provided final image to differ unnoticably, and then tell the student they may not use any of the parts of the provided final image. If her invisible watermarks / patterns of slightly off-colored pixels show up / etc, then they took a layer from the final and lose credit.
Another way could be to use tools they don't have available to create a unique or advanced effect, and if they're able to replicate it, then you need to look a little closer to determine whether they were clever in a good or bad way.
If she can check levels and stats to compare the images, so can they, and they'll probably be tweaking theirs until they match hers, so that's probably not the best way to detect fraud if she doesn't want to alienate the perfectionists and over achievers. I'd say ruling out the possibility of copying would be the simplest option, but perhaps she has her reasons for not doing that?
You can use a difference filter, which will produce a ratio of dark/light based on the amount of difference, and then a histogram to get a more quantitative view of how much of the image is different, rather than analyzing with your eyes. You could do this on both flattened composite comparison, as well as layer by layer(maybe trying all combinations of layers and picking out the X number that are closest, where X is the number of layers in the final image). I'm not sure what the capabilities of Photoshop plugins are, but this seems like it could be built to create something more quantitative. Then the instructor could sort them and eyeball the ones with the highest "closeness" scores. Any positives of potential plagiarism should be verified carefully by the instructor though.
very typical teacher attitude - it's "time-consuming" to examine every image. God forbid she earns the money she's paid.
The "problem" is not students cheating but most likely they are not being taught in class - sit here for 40 minutes and
do boring exercises in the book. That's not teaching, that's babysitting.
Photoshop is about creativity and not about repeating steps in a book. Let students pic their own subject matter
and work on images until they get them looking right.
Of course they need to know all of the basics and build on top of that -
if they gave up learning the basics, there's something seriously wrong with the book, teacher or maybe even students' attitudes.
I wouldn't worry about cheating since bullshit will eventually catch-up to them in college, if they make it that far.
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.
Easy to diff, easy to see!
Show them the image in Photoshop and tell them to recreate it in Gimp.
Why are schools teaching people specifically to use Adobe software anyway?
Many if not most of Photoshop's uses aren't in journalism per se, they are in fields like marketing, advertising, and other places where the viewer isn't expecting to see an authentic recording of a real event.
Think of photo-editing tools like this the same way you think of the tools a recording studio sound engineer uses in after the recordings are made but before the final master is declared final.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Or... spend the time doing marking the existing very slow way (perhaps even with the shoelack suggestion), but completely fail any student who cheats, make them an example with lots of detention.
Word will soon get around!
*Sometimes the simplest answer is the right one.
We added a "Practical" section to exams in our media classes. basically the teacher (And proctor) would go around to each student and have them demonstrate the process that was in question. If the student had immaculate homework but demonstrated zero ability in class, we would have a discussion.
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
Grade on a curve, fail half the class
The product that looks the LEAST like the desired result gets 100%
Brilliant!
I went to design school. Only the very worst teachers made us do these kinds of "copy" exercises. I remember this class about illustrator brushes, I never used what they thought me, until years later, when I needed it and I just had to look it up again anyways. Just tell them to create whatever, (something useful, like.. a forum sig or give them a theme) but tell them that they have to include specific elements. layer masks or whatever, and that they will be graded not on creativity per se, but on the skill with which they applied the techniques they learned. Better way of learning, gets them more involved.. more work, but also more fun for the teacher..
Also, doesn't the extended edition have some advanced quantitative analysis tools? I'm not sure what exactly is their scope, but when it comes to calculating differences between images, this sounds like it could be of some help.
Ezekiel 23:20
Option 1 — Quick and manual: DIFFERENCE Blending!!!!
Each file should have the same dimensions.
Flatten student work. Drag it into the final-result file with a shift-click-and-drag, it will automatically align since they have the same dimensions.
Set the blending mode on the layer with the student work DIFFERENCE.
Anything different between the two will automatically jump right out. If the differences are very subtle add levels or curves adjustment layer on the top.
Option 2 — Metadata
Within the "File Info..." you can set the copyright, creator, origin and a host of other fields. It's located within the File drop-down. Needless to say, the file info from student work will be different and they won't know what fields you've changed.
Option 3 — Plug-Ins
There are many watermarking options available with Photoshop. Is the Digimarc filter standard with Photoshop? It's just been there for the last few years that I'm unsure if my agency installs it or not.
Option 4 — All the above plus anything else from the OP and other contributors.
Hope this helps!
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.
Ummm, maybe I'm missing something here? She should be looking at the file, right? What's the harm in checking one little thing as she's looking at it? I mean, how else is she going to be sure they actually did it properly without checking it anyway? Zero solutions should allow her to skip checking the homework entirely, if it does, its kind of missing the point.
While the flat no-layered file is the obvious solution, it will have an unintended side effect of not acting as a fall-back guide for students who get stuck. I don't think she'll particularly save any time when she has more students needing individual help, whereas the sample will clearly show how certain things are done without intervention.
I use this http://www.duplicate-finder.com/photo.html to find image files which are similar (they don't have be identical). Does not work with PSD files though. Maybe the files can be exported to PNG, etc?
I really shouldn't have used someone else's email address for this account.
when I suggested more or less the same thing to the Scouts to prevents Dad's from building pinewood derby cars they thought it was crazy. Now there are two classes run: Scout only built in-house and Unlimited. The Unlimited cars come from outside the workshop hours and are usually Dad's trying to outdo each other.
We require that they take screenshots while working, and they submit the screenshots as a multi-page PDF.
Also, as everyone else is saying, don't distribute the final file. If the files come from a 3rd party (like lynda.com) then add a few more steps onto the tutorial.
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
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.
HERE IS AN EASY SOLUTION. Just write a program or have a program written for you if you don't know how to program, that would, in batch action, compare the original image to the students' work. It would do a direct comparison pixel by pixel to see how identical it is and if it's 95%+ just have it logged down for you to look at. The program could handle 100s of image comparisons quickly and give you an easy fix to see who your cheaters are.
More waste of time and resources, what's the purpose forcing people to stay at school for years and years (making it illegal to quit it and look for a job)?
What is the point teaching kids who do not want to be taught? Allow people to achieve different levels and do something else with their time once they achieved a level beyond which they don't see a point staying in school in the first place.
As to the question of files and all that, easy enough, have the final result only visible with 3D glasses or be of lower quality than what the requirement is. But really, this is just trying to create a 'DRM' like solution to a problem that is misstated.
MY OTHER COMMENTS
I'd hide something in each layer, different things in different ways. A stray pixel here, a bit of text there. Then I can go to the exact place in each layer I know to look in and see if it's there. If a student somehow figured out what the marker was on every layer, which would all be different for each assignment, I'd at least know they're hard workers with an attention to detail and an in-depth knowledge of Photoshop at least equal to my own. Which is the entire point of teaching a Photoshop class.
Waste your time on solving a perceived issue, or solve the underlying problem, better education.
Let them grab whatever they want, from wherever they want and create a layered psd image. If you are still worried about lazyism, require that one layer includes a unique element that they are required to have on a layer. The finished work will be something unique & they will learn layers way better than they are now.
The teacher should hide a message in the start image and a different one in the finish image. (Something subtle like 'you cheated') It would only be necessary to decrypt the message to prove the cheat.
I agree that only providing a flat png/jpg is probably a good idea. Consider lowering the resolution and add some noise to the example output and require the users submit a higher resolution version.
Another idea would be to insert some hidden message/image and not tell students about it. See https://en.wikipedia.org/wiki/Steganography You can then look for this in the end result they submit.
Depending on what the exercises are, they might not leave much room for slight differences. "Construct a rounded rect button with 12 px radius corners with a vertical gradient from #RRGGBB to #RRGGBB and a 15% drop-shadow with radius of 7px offset by 14px at 120."
A better solution is to digitally watermark the solution files, or if the students have access to the solution files independently (i.e. they came with the book on a CD), watermark the source files and require students to start with those rather than the ones from the CD. Honestly the book ought to have watermarked the solution files already.
Alternatively alter the exercise enough that the students can't depend on the provided solution. On the whole, this is not different from any other course where you're given problems to solve, and also given the solutions. You're going to by-and-large be depending on the students for honesty, if you don't feel you can do so (and that's probably safest), alter the parameters so the provided solution and the correct solution do not agree.
Slay a dragon... over lunch!
You could blast some mark on top of the official end file, but that is an inferior solution because it allows the students to know ahead of time that they will be caught. It is much more educational to make it seem as though cheating is easy and undetectable and then catch them doing it. Rather, I imagine these files have some text fields in them. But a string in there that you will recognize and check for it. You could also use a watermark, but only if it isn't detectable by the naked eye. In fact the official solution may already have some text metadata fields in it that the students are not aware of.
If she does not want them to use her assets, Embed each asset with a visible watermark. Come on, is this photoshop teacher a newbie?
Do not look at laser with remaining good eye.
How can the product be "too perfect" when the products should be identical? Ok, date stamps and maybe embeded path names will be different, but the image itself, starting from the same sources, doing the same things, should be the same.
Maybe the problem is that the students are copying things from the book to start with? Shouldn't it be easy to tell that a student has not done this, when his image product is of a golfball and the book example was an umbrella?
In any case, doesn't the teacher have to look at the homework to grade it anyway?
The graphics that constitute the originals should be watermarked.
copying someone else who has it completed, that a different matter...
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.
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).
How about the teacher provides 2 example files: 1) finished-product example, which is a flat file. 2) Layered-example, which illustrates all the concepts needed to arrive at a correct result, but with a different set of assets.
Second idea: for watermarking, especially with layered elements, I've always liked embedding something at a 1% value. (This strategy works best if you do a quick calculation on what element, exactly, the kids have the greatest incentive to cheat on.) Let's say one task is to mask out most of a layer. (Let's also say you're teaching best practices, so you don't throw that mask away (aka 'apply mask') in the final layered file. Now viewing it just as a mask, most of the mask is 100% black. Somewhere in there, you embed "I CHEATED" at 99% black. So, again, if using that mask is the most time-saving cheat, all you need to do as a test is look at the mask with curves cranked appropriately. This review can be mostly scripted. And as a bonus the cheaters get an extra best-practices lesson about always looking at your masks with curves cranked up to see stray marks, halos, etc. Of course, if they have applied the mask you can still tease out the data, it may just be a tad more difficult.
http://www.imagemagick.org/script/compare.php
To me the most elegant solution would be to avoid the 'detecting modified original' problem altogether, by changing the assignment in such a way the the example file is not valid for hand-in. This way you can still supply the example file to show how it's done but don't have to worry about any cheats.
For example: If the example is a picture of an apple with a few effects or other editing applied, then change the assignment to do the same thing with a picture of a banana.
Better yet. Have each student pick a unique subject beforehand and they will not even be able to copy each others work.
Just give them an 'A+'. When they later discover that they spent thousands and they still suck at photoshop, well, that's thier problem.
Honestly, the best way to catch the cheaters is to test them. If they aren't doing the work, they aren't learning the steps. So hold a few tests throughout the term and make the tests worth more than the assignments. Show them, not give them but show them on an overhead projector or using a large photo, the end result that is required. They have 30 minutes to produce it.
Rather than having them copy the output. Give them each a different set of art assets, and have them each turn out an original work using the lessons -taught and shown- by the example. Then there's no copying, and they might actually learn something.
This is basically the digital equivalent of "show your work" on a math test. If you want to see how well the students are grasping certain concepts, tell them to include an audio track in which they describe what they're doing and *why* -- e.g. "lightening this layer now because I did *blah blah* and messed it up previously".
Anyone who is good enough to fake the screencast convincingly probably doesn't need this class. And if you're really concerned about people using a ringer to do their work, have an in-person exam for each student at the end of the term. You won't need more than 10 min each. Tailor each test to the skills demonstrated in their videos -- that way if someone got a hotshot to tear through the work for them, in person you can easily see if they don't know, say, how to use keyboard shortcuts to invert a selection, etc..
coding is life
Your friend is teaching directly from textbooks and is asking students to do otherwise when they complete assignments?
Try actually teaching:
Go over the written material
Show an example (You know, the one that comes with the book that you are already using)
Create a similar but different project for the students to do based on the lesson in the book .
Grade and critique.
Listen to parents raise hell.
ZOMG.
Teacher complains she must examine each students work in turn.
1. get a new job
2. give the students something actually creative to do and ask them to show how they did it.
- http://www.milkme.co.uk
...each chapter in the book starts with an 'end result' file which shows what they're going to construct in that chapter...
Well there's your problem. Don't give them the final result, and then get mad when they bounce it right back at you. A true test does not entrust students with the final answers before they receive a grade.
If the book provides all the source files, and the solution, you'll need to control access to all of the materials for the lesson. You should take the copies provided by the text book, create copies on the Shared Drive/Transport Folder/what-have-you, and then customize the basic graphical assets for the assignment, and require that users download and use the specially provided assignment files, which, if not used in the production of their assignment submissions, will result in a failure.
But still, you'd find students trading old copies, like say say someone's big sister took the class last year, and still has all of her old assignments, which then get distributed and traded among a clique of friends and handed in.
I'd recommend a subversion server accessible only from the classroom, where students have to commit successive iterations of assignments.
In any event, I think it's probably possible to export layers and/or channels to individual images, and inspect each one. I think you could inspect them at the byte level with Base64 or hex editors. Converting to some kind of text encoding would also facilitate the generation of diffs and patches for comparison. If it were a legal case, there might be financial incentive to motivate labor intensive operations like this, but even so, I think you could probably script activities like this down to executing a single command, for almost fully automated push-button convenience.
I know this probably isn't the answer that you're looking for, but nothing constructive can be taught in photoshop if the expected final result is intended to be exactly the same. Students should be encouraged to use the techniques taught in the image creation process, but not replicate it pixel-perfect.
Just do an MD5/SHA checksum. That will tell you if the file is the same.
How about not giving them access to the file itself?
Give them a jpeg, and make them turn in a photoshop file. Problem solved. The photoshop file will have all the layers etc. Possibly even a history of alterations made?
As long as the assignment is not for teaching softening by blurring effects, some regions should be untouched and still be available for verification. All this creation and verification processing could be automated fairly easily by any capable software engineer.
If you must give them the final version in component form for some reason, how about reducing its scale so that they'd have to seriously enlarge and degrade it in order to produce the required final result?
... *Face palms*.
Dear god I need to buy a book or just sit down and watch some guides online with PhotoShop. I keep finding I do things the hard way because my nerdom seems to compel me to seek the over-engineered solution. Before I discovered masks I was duplicating layers and deleting segments.
My version of doing what you just suggested for other purposes? Create a layer, invert it, set to 50% transparency. At least I thought to make an action to do it for me, at least.
Haven't read through every comment, so don't know if it's already been said, but why not just look at the date that the file was created? I have a feeling that the chance of them just turning in the 'end result' file would be bigger than the chance that they're copying it into a new file.
What i do, however, is have the students create a unique product for any assessment. This is really the only way to assess that the student understands the process. Even if he or she creates a final product from the book, does that mean they understand the process or just how to follow instructions. Clearly following instructions is important, but the minmimum one should expect for learning is the ability to tweak. After all, that is what many software developers do. Take a bit of code and modify it to do the specific task. In this case, for instance, start with a personal photo and then practice whatever skills are needed on it. This makes grading harder, but maybe not.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
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.
Make them save intermediate steps or explain back to you what they did
When you open the file, go into File -> File Info. Type a number you know like a phone number into the City entry of the Origin section.
Then check this on all files entered. That one is a simple cheat catch against the lazy. It won't stop someone copying layers to a new file.
Why not just say they have to show their work by submitting a file saved periodically during the process?
Calculating the joint entropy or the mutual information between the images should do the trick.
... it's appropriation
They'll learn their lesson that they shouldn't have cheated in class once they get out into the real world and get assigned real projects.
If you disagree with me on social issues, then it's pretty clear that you are a narrow-minded bigot.
Can't you just give them the final product image in a low resolution, but the work images in high resolution and demand a high resolution final product?
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.
Provide them the PSD in half resolution and a flattened image in full resolution. Then they can see all the steps but it'll be trivially obvious if they try to up-res the PSD, while the flattened image lets them see the final result in full detail. Also saves the work of watermarking each asset or layer separately.
Really?
Why make it so complicated?
How about simply assigning a project that uses a different base image than the example from the textbook?
Bite the bullet a few times and identify the copy images (maybe by secretly marking it somehow as others have said) and FAIL the students who turn in a copy.
There are several reasonably good ways to accomplish this, but the most obvious is to give them the end result image in a format that does not support layers (e.g., png). The students, of course, must turn in their assignment in layered format, on the "show your work" principle.
This doesn't prevent students from working together, of course.
Cut that out, or I will ship you to Norilsk in a box.
Easiest would be to just watermark the original layers.
A stock image supplier would already be smart enough to use a watermark, no?
I am not really here right now.
Because it very well could be just that. The teacher wants the students to do the creative work, but the teacher does not want to put the work into the grading portion of the student-teacher contract, eh? It's kind of like requirinig "Turn-it-in" to check for plagiaristic turns-of-phrase so that the teacher can off-load or out-source a first-pass of the grading to somewhere else. Maybe there's a service to be built on the web for this project: turn-in-your-psds.com which takes images to compare and charges a service fee to tell you the similarity index (si-silicon-i-better-trademark this right now! silicon, graphics, silicon graphics, yeah nobody would have ever used that phrase ;) ) and returns a first-pass version of is this student cheating...
How about adding an "invisible" object somewhere in the file. She then opens the file and if the "invisible object" {can be highlighted by a select All} is there then she knows the student probably did not do the work. I do this on everything that I personally create, whether it be an invisible text block in word, or white on white text in a cell of a spreadsheet.
Another idea that really should work is stenography. No student is going to have stenographics in their final product unless they copied the file.
Just put the "original" on the top layer, set the layer effect to "difference"
All identical pixels will be black, all others will show up as a rainbow looking effect. A perfect match creates a solid black image.
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...)
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.
"I am a writing teacher and I am having a problem catching my students cheating. The assignment is to write Romeo and Juliet. The problem is that some of them just take a copy of the text off the internet and hand that in! The clever ones insert a few typos, which means I can't just do a byte-by-byte comparison. What can I do to determine if that's what they did, instead of sitting down and rewriting the story themselves from memory, or (for the less gifted ones) typing it while looking at a paperback copy of the play?"
http://alternatives.rzero.com/
- to gimp & g'mic fourier watermark each resource before putting them back into their layers in Photoshop. But if you are really hot, you just export the psd directly from gimp. When they give it back, you flatten and run fourier analysis. If the watermark appears, you know they are cheating. Then just sudo them a new sandwich from the console on your MacBook.
Give all the students individual assignments, based on their student registration number.
First number 1, use this texture; 2, use that texture and so on.
They could copy-and-change, but that would still be a lot of work. Make sure that would be more work than just doing the assignments.
An other trick is to point out the risks of getting caught.
But the more interesting thing is indeed to write something to analyse the files. :)
I made something to compare Maya files. That worked quite nicely, but I'm not sure if the students liked it. I know I did though
Privacy is terrorism.
Steganography? Then if you see the hidden stuff, you know it's a copy.
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/
You can simply change the example solution so it can be caught by a teacher actually examining the work of the student. Yet you are still looking for an automatic solution? Let the teacher continue to be a teacher and take your geek points and continue being a geek.
We should learn what we need to know about issues, before we decide what we need to feel about them.
Is this a course on CAD or Electronic Media
I will assume the end result file isn't in a format that allows them to "undo" the steps? So why not have them provide each step they took as well as their end result? That way they can't just copy and past the end result without showing their workings.
Um ... yeah. The more I think about it, the more I agree that this is likely the case.
As it's been mentioned several times here already, it's as simple as providing a flattened JPG or PNG as the assignment and requiring that students submit a completed PSD. Any competent "Photoshop teacher" would know this.
Leave it to Slashdot to come up with a miriad of Rube Goldberg solutions to a simple problem.
- Take a sequence of shots - each slightly different in perspective or framing - and give one to each student.
OR if you don't have time
- Crop a larger image into a bunch of smaller ones.
Now the students can still cheat but only if they're willing to re-do the work (or automate it with an action).
But now you have zero gain as a cheater in copying someone else's work directly.
Students who want to gain a favour from helping the cheater now have to redo the assignment or write the action so their reward is reduced too.
Each image similar enough to make it comparable and fair.
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.
Um, can't you just watermark the images?
Either something visible, or something not visible, that you can check.
Why you didn't think of that, I have no idea, Mr. "I Teach Photoshop". I mean, it's not like websites haven't been watermarking their images since the 90's.
Be seeing you...
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.
require each student to turn on their undo to a bazillion undo's .
have them turn in the finished photoshop project, the entire thing
then the teacher should be able to undo all the way back to the original step by step and then replay all the steps (using redo) to get to the final again.
Just hold down ctrl-Z and watch
Works in GIMP anyway.
"A friend of mine teaches electronic media"
poorly.
If you friend cannot devise a solution to this simple task using the very tools they claim to be teaching, they are woefully under qualified. Do the students a favor and get this person away from the educational system ASAP.
-Lod
... to ask this question. For somebody "teaching" a course on imaging, it is amazing that the person is so clueless.
#1- I'm guessing a simple binary compare is beyond the imagination of the submitter. Apparently is IQ is so low that he can't even think about the fact that original work will never match the result file bit by bit. No matter how good the student is at cloning the work, it will never match.
#2- There are plenty of software that can compare images. Some are even open source.
Honestly, I feel sorry for the students when the people teaching them are more ignorant about the topic than they are.
Option 1 - Watermark the final Photoshop file - By adding noise to each layer, bluring a section or a repeating watermark texture to key layers which would be time consuming to remove
Option 2 - Change the resolution - Provide the final result at 30% of the correct size, To cheat they would have to upsample and that would be a blury image.
Option 3 - Crop the final file down a few pixels around the edge, to pass they must provide a file at the correct size
Everyone records themselves completing the project with commentary as to what filters they're applying and how much they hate their ex-girlfriend's new boyfriend. Teacher reviews the videos at random. Bonus marks for entertainment value.
What's the point of learning to make preconceived image in Photoshop? It's a stupid assignment, uncreative busy work, with no education benefit. Kids are right to defeat it.
This exercise is absolutely worthless to begin with and is only constructed to the teacher's comfort. Students will not learn how to use an image manipulation software in this way because there will never be an already existing end-result and you will want to construct it using the exact same source materials the end result is made of. I really wonder what kind of situation this exercise is meant to prepare the students for?
Just as a suggestion, presenting the students with just some elements needed for the task, like a corporate identity manual, and make them fill the main topic themselves with images they need to bring in or pick from a catalog, will have them more motivated and produce more interesting and enjoyable results.
If the assignment is "Depending on what the exercises are, they might not leave much room for slight differences. "Construct a rounded rect button with 12 px radius corners with a vertical gradient from #RRGGBB to #RRGGBB and a 15% drop-shadow with radius of 7px offset by 14px at 120."" What's the damn point of doing it anyways? If the students are at least a bit interrested in photoshop they surely can follow that strict instructions, and will just skip doing it because it's of no use for them.
As a photographer I find the parents stated goal of finding images that are used without authorization a nice thing. So getting a good answer for that would be great. If you want to use a picture of a boeing 747 you can damn well go take the shot yourself.
fuck me, I'm glad you're not my teacher you useless twat. Maybe try teaching them something useful like how to go out and create something themselves within some guidelines that you can assess instead of providing them with some cookie cutter bullshit then panicking that they might cheat, thus showing that you have no regard for their honesty either
fuck you and your kind.
First off: if a teacher doesn't know the answer to this, one might wonder if he should be teaching Photoshop at all.
Merge all layers of the student's work, and paste the merged the layer onto the original. Set the blending mode to 'difference' and you'll be able to tell wether it's the same or not. Or just check the meta-data of the file to find out wether the file was edited prior to date of the assignment.
Exactly. A teacher not knowing how to do the basics for what they're paid to teach, very unlikely. Does anyone ever believe anything that starts with "a friend of mine"?
Uh huh, guess you didn't really learn how to use them.
The point was to LEARN, so when you get in the real world, you can develop a solution where pointers (or whatever structure/technique/language feature is most appropriate) makes the most sense.
Yeah, right.
The teacher wants the students to do the creative work, but the teacher does not want to put the work into the grading portion of the student-teacher contract, eh?
I think that's a little unfair (and I'm the OP, by the way... and I'm going to address some of the other criticisms, here, so don't take all of this as being directed toward you). That's like saying that you're being lazy by using a testing suite to do your unit tests on the code you're working on. So, stop being lazy and go back to testing your code by hand.
My personal opinion is that grading is a Q/A step in the teaching process. Teaching is when you're actually "generating product", in the sense that you're putting knowledge into brains where it previously wasn't. Grading is just checking to see if it actually worked and, every minute you're grading is a minute you're not teaching. So, it seems to me that, the more you can automate the grading (just like automating testing of your code), the more you can focus on actually producing (ie, adding knowledge to those malleable little brains).
Also, keep in mind that she teaches about 4-5 very un-related courses (video production, electronic media, freehand drawing, printing techniques), each with it's own set of students who either A) are trying to contrive ways to avoid doing the actual work or B) want to actually learn, but who can't follow directions for shit (I used to grade for math, physics, and CS in college, and, even at that level, it's amazing at how hard students seem to make it for you to give them the credit they deserve). What you end up with is about 25 homework submissions, none of which look alike, and you've got to figure out which ones are properly demonstrating the learned skills and which ones are just blowing it off. The submissions which look almost perfect require some painstaking attention because the kid is either really good (and deserves 100%) or they just copied the end result (and deserves a 0), so the stakes are higher with those than with the other submissions. Now, multiply all that work by 4-5 classes of kids. That's why she was at the school, grading, through the whole 3-day weekend. Fun way to spend your long weekend, eh? Now, what was that again about lazy teachers, basking in the warm glow of union protection while they run their feet through the sand at the beach?
So that's where I came in. When I saw her comparing images, side by side... overlaying them, adjusting transparencies to find differences, my first reaction was (due to the "hubris" and "impatience" traits of programmers) "Hey, I'm a programmer. I can write you an application which just compares all of them and tells you which ones are identical faster than you can drag-and-drop them into the app". Then, she could get on to thinking up cool projects for the next week. But, alas, as I thought about it, MD5's wouldn't work (as the students sometimes change names of layers or make other trivial changes). And, also, the "impatience" programmer trait kicked in and I said "Somebody has to have solved this problem before". Now, we did realize that she could just provide a flat image of the target result, but the problem still stuck in my mind, since I'm a programmer, but fuzzy image comparison is not my forte, so I figured I'd ask. This wasn't started by her asking me to find some way for her to automate her grading so she could duck out early and hit the nail salon. This was started by me, reflexively seeking a way to automate a boring, labor-intensive process (like unit-testing) so that she could get on to the creative parts of teaching and also because I was curious about open-source image processing stuff out there, these days.
Assuming you have 100 students, give each one of them the same assets with one small modification. Each student gets assets with specialized watermarks (steganographical inserts or whatever is your poison). If the final file the student turns in doesn't have these specialized watermarks, they tried to be cheeky, so off with their heads. Also, you may be able to generate scripts that insert the w/ms. It would be a good test of the teacher's Photoshop skills too :P
And not the file itself.
Closest match gets the highest grade..
Give them a picture instead of a file, but make them turn in a file. Old school, low tech solution.
Unless precision is an absolute requirement, give the example file at half the resolution of the wanted result. They will still get the gist of what is supposed to be done, with the desired layers and all, but won't be able to submit it as-is.
I say let them screw themselves... Make homework be so insignificance that the work is not worth much at all. The homework should be a learning exercise. She could then create a test or final that the result is similar to what the students learned and they cant find the answer (final project) on the internet.
Some students would just flat out cheat and fail when it comes time to do the actual assignment. To the students that still find a way to cheat on that test or final make it be part of the honor system. At some point cheating may screw them. You can't be 100% on top of controlling the student. Some will find a way to cheat no matter what. In the end they are only screwing themselves if they cant do the work when they end up needing to.
If your institution's grades are certifying that work was done rather than that abilities were proven, then they aren't worth the paper they are printed on anyway, so it's no loss if they are unjustly earned. If you want students to prove their ability, then they're going to have to do something other than paint-by-numbers tutorials and you won't have a plagiarism problem.