When can a photo be trusted?

Fourandsix on TwitterFollow @Fourand6
« Is trust in photography declining? | Main | No Location Metadata? Ask Google Street View. »

Right Lane MUST Right Left

[Photo Credit: http://imgur.com/gPyS6]

I recently stumbled upon this funny and seemingly implausible street sign. Given that it is relatively easy to modify text on a sign, I was skeptical of the photo’s authenticity. Fortunately it is relatively easy to determine if the text on a sign is authentic (or at least plausible).

Notice that the text at the top of the sign is more compressed than the text at the bottom of the sign. This is due to perspective distortion and the fact that the bottom of the sign is closer to the photographer than the top of the sign. If the sign is authentic, then the variation in the text should be consistent with the geometry of perspective projection.

As I described in a previous post (Enhance — no, really) a photograph of a flat surface such as a sign can effectively be rotated in 3D to see it from any vantage point. This technique can be used to determine if the text on a sign is consistent with the expected perspective distortion that would naturally occur in this type of image.

Shown on the left is the result of removing the perspective distortion (see below for step-by-step instructions on how to do this in Photoshop). Shown on the right is the result of replacing several letters at the top of the sign with letters from the bottom (these letters are made a lighter shade of gray). The letters are an almost perfect match. This means that the perspective distortion in this image is geometrically consistent. So, either this is an authentic image, or a good fake generated with the correct perspective distortion. 

In this case, it was possible to compare the same letters from different parts of the sign. In cases when this is not possible, it is still possible to verify the authenticity of printed text as described in Detecting Photo Manipluation on Signs and Billboards.

The appearance of text on flat surfaces such as signs, billboards, and license plates appear distorted due to perspective projection. Our visual system is not particularly good at determining if these distortions are consistent with the geometry of perspective distortion. This means that it is fairly easy to create a visually compelling fake. By removing perspective distortion, it is possible to determine if printed text on a flat surface is physically plausible.


Step-by-step instructions on how to remove perspective distortion in Photoshop: 

  1. select Filter->Vanishing Point…
  2. select Zoom Tool and zoom in on the sign
  3. select Create Plane Tool
  4. select the four corners of the distorted sign
  5. select Return 3D Layer to Photoshop from the Settings menu
  6. select OK
  7. a new layer will be created that contains a 3D version of the sign – double click on the texture layer and you will see an undistorted version of the sign
  8. scale the sign to the appropriate aspect ratio (optional)

PrintView Printer Friendly Version

Reader Comments (2)

Here's a much higher quality version of the image:

It's fake, but it's a fun fake.

Spoiler alert: Select the the lower "RIGHT" word and surrounding whitespace. Apply a color histogram to see one of the edits. Watch the vertical strip pattern. :-)

[Thanks for this higher resolution version. You are right that a contrast enhancement of the word right (upper and lower) reveals a halo and a mis-alignment of the vertical reflective strips. I should follow my own advice of adjusting the histogram (Photo forensics in the dark). This certainly illustrates the importance of having multiple tools in your arsenal. -Hany].

July 9, 2012 | Unregistered CommenterDr. Neal Krawetz

The original sign is mass produced. It is extremely unlikely that this type of mistake would be made.

March 4, 2013 | Unregistered CommenterSign Guy

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>