Skip to Main Content Skip to Search
File Exchange
MATLAB Newsgroup
Link Exchange
  Blogs  
 Contest 
MathWorks.com

Steve on Image Processing

May 30th, 2008

Digital Image Forensics

The June 2008 issue of Scientific American contains the article "Digital Image Forensics," by Hany Farid, Professor and Associate Chair of Computer Science at Dartmouth College. Professor Farid says he is "often asked to authenticate images for media outlets, law-enforcement agencies, the courts and private citizens."

The article describes various analytical techniques used to detect faked or altered digital imagery, including:

  • Inferring light-source direction from object brightness
    "Composite images made of pieces from different photographs can display subtle differences in the lighting conditions under which each person or object was originally photographed. [...] To infer the light-source direction, you must know the local orientation of the surface. At most places on an object in an image, it is difficult to determine the orientation. The one exception is along a surface contour, where the orientation is perpendicular to the contour."
  • Inferring light-source direction from eye highlights
    "Surrounding lights reflect in eyes to form small white dots called specular highlights. [Sometimes the highlights are] so inconsistent that visual inspection is enough to infer that the photograph has been doctored. Many cases, however, require a mathematical analysis. [...] Our algorithm calculates the orientation of a person's eyes from the shape of the irises in the image. With this information and the position of the specular highlights, the program estimates the direction to the light."
  • Analyzing iris shapes
    When a subject is gazing away from the camera, each iris will have a slightly different elliptical shape. The shapes together can be used to infer the principle point of the camera. If the principle points inferred from different subjects in the same image are inconsistent, then the image has been altered. Farid says "[...] we can reliably estimate large camera differences, such as when a person is moved from one side of the image to the middle. It is harder to tell if the person was moved much less than that."
  • Block signature matching
    A signature value is computed for all small blocks in an image. Signature matching followed by region growing are then used to identify cloned image regions. The example given in the article identifies cloned regions in a scene showing a large crowd.
  • Knowledge of camera sensor patterns
    Digital camera sensor patterns, such as the Bayer color filter array, impose certain pixel-to-pixel correlations that are expected following the demosaicking step. "If an image does not have the proper pixel correlations for the camera allegedly used to take the picture, the image has been retouched in some fashion. [...] A drawback of this technique is that it can be applied usefully only to an allegedly original digital image; a scan of a printout, for instance, would have new correlations imposed courtesy of the scanner."
If you are interested in further details, you can find the article online, although you'll have to pay the read the whole thing. [3-June-2008 update: The article can now be viewed online for free.] Or you can visit Farid's web site to find PDFs of many of his papers.

2 Responses to “Digital Image Forensics”

  1. Capt. Jean-Luc Pikachu replied on :

    I don’t have a SciAm digital subscription, but it appears the article and the supplement are available for free… Limited time only?

    The supplement: http://www.sciam.com/article.cfm?id=5-ways-to-spot-a-fake&sc=rss

  2. Steve replied on :

    Captain—Thanks. On the day I made this post, the full article wasn’t available for free, but I see that now it is.

    Also, the message you sent to me encoded in the e-mail address you provided is incorrect. This is my blog space and I am responsible for what appears here. I request that commenters provide valid contact information.

Leave a Reply


Steve Eddins manages the Image & Geospatial development team at The MathWorks and coauthored Digital Image Processing Using MATLAB. He writes here about image processing concepts, algorithm implementations, and MATLAB.

  • ismail: i love chess keep posting :) can we make a web cam identify a chess set ? so we have a roboarm plays for real...
  • Navan: While black is going to win with a smothered mate, it is hard to see what moves would have led to this...
  • Doug: Forced ’smothermate&# 8217; is about to happen, with the added insult of threatening the queen on the...
  • Viton: Let’s give it a try: - RxQ : White Rook takes black Queen (White King was checked, can’t take...
  • Omar: Hi Steve, when using tformfwd to find corresponding points in the new space, the resulting co-ordinates from...
  • Steve: Cris—You’ ;re right, I should have caught the plot scaling issue. I wasn’t actually trying...
  • Cris Luengo: Not to spoil your upcoming bog entry too much, but if you scale the first graph (times vs Q) by setting...
  • Steve: Jim—Thanks for adding your comment showing how the syntax works for matrices.
  • Jim: for i = A …statements 230; end; Description: The …statements 230; are executed (as MATLAB...
  • Steve: Omar—Nice work.

These postings are the author's and don't necessarily represent the opinions of The MathWorks.

Related Topics