Interpol Unscrambles Doctored Photo In Manhunt
jackpot777 writes in with an AP story out of Paris reporting that Interpol has distributed photos of a man suspected of sexually exploiting children. The images were recovered from pictures taken off the Internet in which the man's face had been blurred using something like Photoshop's Filter > Distort > Twirl tool. German police were able to recover recognizable images of the man, whose identity and nationality are not known. Interpol would not discuss the techniques used to recover the images. jackpot777 writes: "It does show one interesting facet of internet privacy that has also been noted with topics ranging from reading blurred check numbers in images to Google's plan to blur out license plate and face data for Street View. And that is: blurring is not the same as completely obscuring. As computers become more adept at extrapolating data of different types, your identity isn't safe unless you completely cover all those identifying features."
The AP article did mention that AP were able to produce an almost recognizable image using commercially available photo editing software but not a good as the one Interpol had produced.
Wild ass guess ahead...
Interpol geeks probably ran some tests to determine approximately how much twirl was applied to the original image and then created a 24bit image slightly larger than the twirled area assigning a unique 24 bit value to each pixel and then applied the same amount of twirl.
They could then look at the twirled test image and come up with a mapping of twirled pixels to untwirled pixels. This information could be used to "untwirl" the original image by grabbing the pixels at the twirled coordinates and moving them back to where the mapping says they probably originated.
Of course there would be some pixels lost and extra pixels created during the original twirling but chances are the original image could be approximated fairly well by interpolating between the recovered pixels. You'd not get a picture perfect result but something somewhat blurry as can be seen in the recovered pixels.
Of course they might have done something more mathematical but if I was going to try this myself I'd probably just give the method I described above a shot first and see if I came up with something looking like a face.
As computers become more adept at extrapolating data of different types, your identity isn't safe unless you completely cover all those identifying features.
Uhm, no. As other posters have pointed out, all they did was reverse the distortion applied to the image - which in this case didn't really lose much information, just nudge it about. If you blur out someone's face, the detail can never be recovered. No, not even by the NSA. The information is lost. You *can* sharpen up edges and improve contrast, but if the information just plain isn't there any more there's not a lot you can do.
Think about it this way. A digital image is just a string of numbers. If I take a string of numbers and apply a "filter" to it then I get (0.4, 3.0, 6.2, 3.4, 5.4, 5.8, 2.6). From that, can you work out what the original values were? Possibly, because my filter is very simple. However, you don't know how much precision has been lost, or what the initial values were, so it would be nigh-on impossible to work out the original values.
Incidentally if anyone does work out the original sequence, I'd love to hear about it.
Yep, I don't see what other way there is to do it rather than just reverse the process :P It's funny seeing some people say it's 'amazing', and also it's a dumbass way to try to disguise something. I don't think the summary is accurate in thinking that blurring can be undone to the same extent as to get a license plate back or whatever.. it would be possible to get a bit of detail back if there wasn't too much blurring being done, but say you applied a very heavy gaussian blur to a section of a picture, everything would basically get mashed into one colour..
which is totally what she said
I've just tried this using Photoshop's twirl plugin, and with a little tinkering arout I could get a fairly good descrambled picture in only 10 minutes.
With more time and higher quality images, I'm sure it wouldn't be any trouble at all, it just needed the initial insight to use the "swirl in opposite direction" idea.
Surely Interpol's top-secret image-unblurring technology is just a matter of applying the Twirl effect in the opposite direction at the same location
I'm fairly certain they used deconvolution.
Am I the only one who thinks this guy looks a bit like Dalton McGuinty? Given that we heard about his other habits right before the last Ontario election.....
Well, I'd guess the twirl is a convolution filter followed by a twist. If you can separate it out then you can reverse the twist, and then deconvolve the resulting blurred image, you get the original image. I'd guess. But it's been a while since I did computer vision, and it's probably more complex. :P
Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
That's why when I need to obscure a face (when working on images for a medical journal) I use the mosaic filter after running a heavy gausian blur --- leaves something recognizable as a face, but w/ too little information to reconstruct even a postage stamp (~10 x 16 pixels).
William
Sphinx of black quartz, judge my vow.
Actually you can do the same sort of operation to unblur a license plate. In fact that was a lab exercise in one of my college signal processing courses :-) The main concern I'd see with the license plate problem would be ensuring your camera sampled the data fast enough to meet the Nyquist criterion. But if you did, you'd have all the information content in the image you'd need.
The degree of blurring isn't really the issue, unless you start to lose information due to quantization losses. Short of that, it's a matter of A) being able to guess or approximate the original blur operation, and B) the fact that "blur" operations are generally reversible (they're simple linear shift-invariant filters, and you're not losing information in that process). So you just apply the inverse filter to the image (or subset of the image). If you don't know the exact original blur, you can attack the problem by brute force and just try inverses of many different blurs until one looks fairly good.
If you really want to obscure something in a non-reversible way, remove the data from the image (overwrite it with a black box or something). That's far more reliable than applying even the heaviest of blurring filters.
I also wonder if you could recover an image of someone's face from pixelated video. If the camera or the person is moving but only slightly then you may be able to determine the x,y movement of the whole image from the non-pixelated parts of the image. From this you can then consider each of the large pixelated pixels as a sample point on the person's face, and as they move you aquire additional sample points. Over enough time, say a 5 minute interview, you might be able to reconstruct a recognisable face.
Ah, good point indeed. If it's a video, yes, you can restore extra detail.
There are lots of cameras out there which use a simple version of this trick to shoot higher res photos than their matrix is (by shooting several photos with sliightly offset matrix and assembling those).
And there's already software in wide use which can take existing video footage of, say, recording a page of a book for a while with low resolution, and using the minor motion/shifts in the frame to automatically arrive at a much higher (and accurate!) resolution image. It's amazing the amount of detail it can restore.
Since pixelization is in fact reducing the resolution, the same applies there.
I guess the only sure method is not to leave anything that can be analyzed. Don't wanna be recognized.. ? Don't allow to be recorded/shot.
Which points to the difference between the computational and physical worlds. If I blur an image by, say, projecting it through a lens on a piece of film, I reduce the amplitude of the high spatial frequency components. As you say, this isn't a lossy process. The difference in the physical world, there's noise added at every step, and the physical blurring reduces the signal to noise in the higher spatial frequency components, causing some true loss of information.
Doing a blur in photoshop reduces the amplitude of the high spatial frequency components as well, but there is no added noise - so the process is reversible.
It's not wasting time, I'm educating myself.
Comment removed based on user account deletion
what i've always found crazy about digital images... i'm looking at a blank monitor screen (don't get smart, i have 2 monitors). on that screen, every possible image no matter how private, or bizzare is available by just activating the correct pixels. seriously, every scene from history. every fantasy. in photo realistic detail. what if there was a program that would plow through every possible combination. what images might pop up? why waste bluegene on chess? creepy.
At least in this case, it's dealing with filters applied by software, so the algorithm can be examined, and it's perhaps reversible, whilst in 24 they often apply it to things like poor quality or low resolution cameras, and magically enhance the details.
I've got a friend that was charged for burglary one time and the company that charged him submitted their surveillance video footage to some supposed forensics team so they could see if they could derive his face from the blurry video. What was brought to light was that the idiots also submitted my friend's work ID, and an old one that didn't really look like him any more, with the video. The team then returned a video that showed how they "matched" my friend to the person seen in the video...they morphed several stills grabbed from the video with....you guessed it...my friend's ID and THEN they showed their derived picture right next to the old ID. I took one look at it and told him they had absolutely zero case against him if that's all the evidence they had. I didn't even have to show up as an expert witness since the judge was wise enough to realize what was going on.
0x09F911029D74E35BD84156C5635688C0
convert integer pixel coordinates into a floating-point coordinate system with the origin at the centre, apply a rotation based on the distance from the origin, convert back into integer pixel coordinates
It's not done that way, because that would result in strong aliasing. Filters work the other way around: For each pixel in the target image, calculate the area in the source image which is mapped to that pixel, or more likely just the center of the area because that's a lot faster. Then you can resample the source image at that position and thereby avoid aliasing. If the position isn't an integer coordinate, interpolate between the surrounding pixel values. That's the step where a small amount of convolution occurs, depending on the interpolation that is used. If you apply a twirl effect and then the inverse twirl, you'll notice that a slight radial blur remains. That's the convolution.
I won't say that photoshop professionals can't do better, but please note:
I did not say I'm a photoshop novice, I only said that I tried that particular thing once and thet the result was no perfect;
Mirroring faces does not work, as human faces are not symmetrical.
Try it: take a picture of a face, and make one in which the left half is a mirror image of the right half and one in which the right half is a mirror image of the left half. Not only will you find that both versions differ, but it is even the case that one of them consistently looks more friendly/pleasant than the other one. This implies that if you just mirror a complete face, the manipulation is easily detected, since the wrong half will now yield the nicer picture.
Besides, the whole mirroring thing can not even be considered if the picture shows the face at angle.
Linux user since early January 1992.