Can Modern Photo/Imaging Software Reveal all fake Photos?

The Photoshop Song
from 2011–a good and witty production from long time Internet parodists.

IMO there’s a vast world of difference between Photoshopping a Bigfoot into a campground versus applying sharpening & cropping to a selfie.

You’re right that in today’s world it’s silly to assume any publicly available image is verbatim the pixels the camera originally took. Essentially zero images will be that way. They’ve all been “touched up”.

But that does not mean we should assume that 100% of images of interesting things are always abject fakes constructed from whole cloth. As seen in this thread (Is this photo for real? (Passenger plane coming in to land) - Factual Questions - Straight Dope Message Board) asking whether it’s real or not is perfectly reasonable. And IMO these kinds of questions will remain true UFN.

Well I wasn’t clear. Faked would be sticking something into the image that was never there at all as opposed to enhancement which is almost always done in some form. Even with an un-retouched image it’s still just an image taken under certain lighting conditions with a certain camera, it’s a reasonable facsimile of reality sometimes, but never the real thing.

This seemed relevant.

Quite so. To be more specific, it is a news report about “MediFor,” a DARPA program announced just this month. The 50-page project description, jam packed with slides, is here:
Defense Advanced Research Projects Agency - Content not found. I also recommend for those so inclined to download the pdf, as these kinds of DARPA web postings tend to get disappeared very quickly.

I cannot imagine a better answer to OP than what is presented here.

Plus the opening pages have interesting rules for submitting bids for top-secret contracts as a general thing and for this one in particular.

I didn’t go check the dollars budgeted, which presumably is published in the other government outlets.

No, you’re just missing his point. The OP uses the word “all.” Can all fake photos be detected? Chronos is explaining why the answer is no.

His first post is arguing that anything that can be detected can then be circumvented. What ever flaw the software detected that gives away that the photo is fake can be removed.

His second post was pointing out that you can make a fake photo without any digital trickery at all. So there are not flaws to detect. And if you can do that without digital trickery, then you can do the same thing with digital trickery, as any photo that can be taken can be reproduced digitally. (Heck, that’s what digital cameras do.)

In other words, there will always be some fakes that no software can detect.

Now, there is the point that it becomes more and more difficult to create fakes that won’t be detected, so you can get closer and closer to detecting all fakes. But it’s impossible to detect all of them.

Actually, given any detection algorithm, it’s fairly simple to create fake images that will defeat that algorithm. Your best hope for finding a fake (at least, a fake with some effort behind it) is to use a detection scheme that the faker wasn’t expecting you to use. A single unified detection program like DARPA is proposing would thus actually make it easier to pass off fake photos.

Now I think you’re wrong. The whole point is that you would combine algorithms. It may be easy to thwart a single algorithm, but the more algorithms that same image has to thwart, the more difficult it is to create a fake that will pass all of them.

It makes no difference if you use all the existing algorithms in one place, or keep them separate. The only difference is that a unified system makes it easier to run all the algorithms. Using multiple services means you may leave one out.

The main thing you want to do is keep the algorithms themselves secret, and use a bunch of them at once to make it harder to reverse engineer. Well, that, and keep inventing new algorithms so there’s not a fixed target.

The real issue is just how complicated the problem itself is. Detecting fakes is a hard problem. A lot of times the way you can tell something is fake is to find out that the image is impossible. That takes human-level intelligence.

Barring some sort of AI revolution, out upper limit is to make computers that do what we ourselves can do, only faster. And there are fake images that not even a human could detect, even given infinite time.

That’s the real answer: not even humans can detect all fakes, so there’s no way software could ever hope to do so.