Dheera Venkatraman posts photography, side projects, and Android Wear apps, and is known for essays on why blurring sensitive text fails.
HN commenters link his post on blur and pixelation as a warning that blurred sensitive text is easy to recover, with no machine learning needed.
Good questions. My thoughts:
- Are you asking about recovery of information that was intentionally blurred? If so, there have been some exciting results in this area in recent years. For example, it turns out that given reasonable priors on the underlying glyphs, it's possible to reconstruct even heavily blurred text. (e.g., http://dheera.net/projects/blur.php ) That doesn't involve deblurring per se, since the goal is simply to find the glyphs (and combinations thereof) with maximum likelihood given the blurred text. Still, it's interesting, and similar techniques have been applied to super-resolution problems lately, where the approach is often called "hallucination."
- Blind deconvolutions often are used by experts. However, it's possible to help things along if a glint exhibiting the blur of interest is visible in the photo. That is: if a bright dot of light is visible in the photo, it will be blurred too, and so in the blurred photo the point of light will look like the point spread function (the blur kernel), and that can then be extracted and used with a non-blind deconvolution approach to recover the latent sharp image.
- Blind deconvolution and super-resolution are related problems, so advances in one might certainly help in the other. The research you cited makes use of image hallucination (mentioned above) as a key part of its super-resolution algorithm.
and not by just drawing that box over them in the original (textual content) pdf. You need to squash it down to images, then destroy the bits you need to. (There might be other ways, but enough Big Government Agencies have screwed it up to make it worth noting)
Is the 'decoding' paper this one: http://dheera.net/projects/blur.php ? The blur function is just smearing pixel values across their neighbours in blocks, so you can treat it as a hashing function, and then generate enough candidates that eventually you get something that hashes correct (or close enough)
I'm not sure how practical it'd be on data longer than a credit-card number, but it's an interesting hack nevertheless.
Check out Deconvolution[1])
The technique has been done before and the text string of the private key would probably be the easiest point of attack.
WHY BLURRING SENSITIVE INFORMATION IS A BAD IDEA[2]
RESTORATION OF DEFOCUSED AND BLURRED IMAGES[3]
Take away: black out any and all sensitive information. Blurring just marginally reduces the independence of the bits presented in blurred output. To have privacy, all dependence must be eliminated, e.g. black out.
[1] https://en.wikipedia.org/wiki/Deconvolution
[2] https://dheera.net/projects/blur
[3] http://yuzhikov.com/articles/BlurredImagesRestoration1.htm
Not that I'll be doing this, but...
The blurred areas on the ROV video (https://www.youtube.com/watch?v=3p8TH1tDvzk ) probably contain location data, among other things.
Considering that we have a nice, nearly black background, and access to the font used, it should be a piece of cake to figure out the censored data. Just blur numbers 0-9 and determine which fit best with the video. See e.g. http://dheera.net/projects/blur
While stego might be a route, blurring the watermark may not be enough to obscure the source.
Given a known frame, they could blur the same portion of the same frame on all watermarked copies, and the one with a matching output is your culprit.
Blurring loses information, but is more akin to a hash than a deletion, as it's a deterministic process.
Edit: this sort of thing. http://dheera.net/projects/blur
Just a heads-up - the pixelation used to hide the keys in the final screenshot is not safe! There aren't that many possible characters in each of those 10x10px blocks, and ~256 levels of average brightness is enough to distinguish between them. (Here's a simplistic demo: https://dheera.net/projects/blur)
Stick to the block-of-constant-colour method used in the first few screenshots. It's ugly but safer!