Electronic Imaging 2008: Digital Image Forensics

Now that Steve has linked to me again, I guess it would be timely to post something from the Electronic Imaging symposium. Let’s start with something fun: digital image forensics.

I find this topic really interesting for a few reasons. (1) I’m a photographer who believes that all images contain a seed of untruth but feel ambivalent about what that means in our information age where images form the basis of what most people “know.” (2) Practical applications of image processing are always interesting. (3) It’s fresh in my mind, since I recently helped someone show that an Ethiopian passport was a fraud. (Image processing played only a small part — the content and font on the machine readable section didn’t match the international standard — but showing that parts were pasted in digitally helped create a preponderance of evidence.)

Hany Farid of Dartmouth gave the first plenary session: “Digital Forensics”. Prof. Farid started by quoting a science journal editor’s staggering statistic: 20-30% of submitted journal entries need images resubmitted because of “inappropriate image manipulation.” His lab’s work aims to out these digital forgeries. Here are some techniques that you can use to identify likely forgeries.

JPEG quality tables (Q-Tables) — These 8-by-8 tables of quantization values are stored in each JPEG file and used to decompress the images. Something I did not know was that most camera vendors use unique Q-tables and that they frequently change them when they introduce new camera models. Photoshop, on the other hand, has not changed their Q-tables since version 1. So you can extract these values from a file and see if it has been saved by Photoshop, which might hint at manipulation.

Cloning — Partition the image into blocks, do principal component analysis, lexigraphically sort the results, do region growing, and look for similar regions.

Resampling (shrinking, growing, rotating, etc.) — Use statistical correlation to look for simple interpolation between values.

Included objects frequently have a different color filter array (CFA) pattern than the rest of the image, possibly because of resizing or different in-camera decoding. Also you can create a vector field of the chromatic aberration color fringing throughout the image; inserted parts will likely have vectors pointing the wrong direction.

In addition, the human visual system (HVS) doesn’t easily notice subtle differences in lighting or shadows in parts of a composite image, but Farid laid out some techniques for estimating lighting direction. One impressive method involves determining the direction of the light (in 3-space, mind you) by looking at the specular highlights in the eye. (See Micah Kimo Johnson’s thesis for full details.)

During the Q&A, one wag asked the question on many of our minds. Are there tools or techniques available to mask all of these forgery detection techniques? Apparently yes, since Prof. Farid consults with Adobe on issues of making more realistic photo manipulations.

Update — 10 August 2008: You can see a thirteen minute video with Dr. Farid at PBS’s Nova web site. (Thanks to Jeff Tranberry.)

This entry was posted in Color and Vision, Computing, Fodder for Techno-weenies, Photography. Bookmark the permalink.

3 Responses to Electronic Imaging 2008: Digital Image Forensics

  1. sriki says:

    Hi Jeff,

    Gr8 job on the blog….Ur posts r very interesting(didnot read every one of them. Only the sections about India). I got to this from Steve(@mathworks). Anyways, let me introduce myself. This is Srikanth from …U shud have known it already…studying at LSU(?? this year’s BCS champs..:)..Keep’em coming…

  2. mary says:

    i totally glossed over this one, but i did notice a mess-up in your link to steve’s blog… just thought i’d politely inform!

  3. Jeff Mather says:

    Mary, good thing I have you around to check my links. I really need to get better at that!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>