AI|被狠狠打了“马赛克”的图片 就这样被AI还原了

“教资”成绩出来了 。不知道大家报名考试了没?考过了没?分享了没?昨晚 , #教师资格证书成绩#话题冲上微博热搜榜首 , 浏览量超过了21亿 , 不少网友在微博晒出自己的成绩单 。有的高分通过 , 准备面试;有的凉凉 , 准备明年再接再厉;还有的单科卡在了69.....

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

这个就比较扎心了 。
不过更扎心的 , 可能是不仅教资没过 , 还因为晒图泄露了个人信息 。
你可能觉得奇怪 , 大家明明把“姓名、身份证号、准考证号”等个人敏感信息都打上了马赛克 , 为什么还会泄露信息?难不成还可以恢复?
可能还真的可以!
同样在昨晚 , GitHub上一个AI项目冲上了热榜 , 截止目前已经收获了8.4K星标 。
这个AI的主要功能就是:去除马赛克 , 还原字符密码 。
AI破解『密码』
相信不少人都认为 , 只要打上了马赛克 , 就不会泄露敏感信息 , 因此 , 我们在朋友圈、微博等公开社交平台 , 经常能够看到打了马赛克的结婚照、证书照、成绩照等 。
但事实上 , 无论是图像、文字还是字符 , AI还原马赛克已经不是什么难事了 。
最近一位名为Sipke Mellema的程序员便开发了这样一款工具 。他说 , 一些公司在内部文档中经常会使用像素化的方式显示密码 , 但没有工具可以从这样的图像中恢复密码 , 因此便创建了一个 。
我们先来看下效果图:

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

其中 , 第一行是被像素化后的密码序列 , 被狠狠地打了一层马赛克 , 看不出一点原始痕迹 。
第二行是经过AI还原后的密码 , 可以看到密码序列基本被还原了 , 而且准确度很高 , 只有稍加推理就能得到第三行的原始密码 。
那么 , 这个“不可思议”的AI还原技术是如何实现的?
我们知道 , 马赛克是图像像素化处理的一种手段 , 它通过将影像特定区域的色阶细节劣化并打乱色块 , 达到一种模糊图像的效果 。
像素化在许多领域被用于模糊图像信息 , 其中线性盒滤波器( Linear Box Filter)是一种较为普遍的处理算法 。盒子滤波也称为方框滤波 , 它采用一个像素框 , 用该框中所有像素的平均值覆盖像素 。
像这样 , 表情图像被分为四个色块 , 每个色块被色块平均值所覆盖 , 最终形成了像素化表情 , 由于原始信息丢失 , 因此不能直接反转滤波器 。

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

Mellema正是利用了盒子滤波器 , 提出了AI还原算法-Depix 。
【AI|被狠狠打了“马赛克”的图片 就这样被AI还原了】线性盒滤波器是一种确定性算法 , 对相同的值执行像素化通常会产生同样的像素块(Block) , 那么反之 , 使用相同位置的块对相同文本执行像素化 , 是否也会得到同样的块值?
Mellema尝试通过像素化文本来找出匹配的模式 , 结果发现确实如此 。
具体来说 , Mellema把每个块或块组合看作一个子问题 。该算法要求在相同背景上 , 具备相同的文本大小和颜色 , 因此他没有选择创建潜在字符的查找表 , 因为现代文本编辑器可以添加色调、饱和度和亮度 , 也就是说存在海量潜在字符 。
在处理字符方面 , Mellema使用待处理字符的德布鲁因序列(De Bruijn sequence) , 将其粘贴到相同的编辑器中 , 然后截图 。该截图可用作相似块的查找图像 , 例如:

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

德布鲁因序列包括待处理字符的所有双字符组合 , 这一点很重要 , 因为一些块会重叠两个字符 。
要找出合适的匹配需要搜索图像中具备相同像素配置的块 。在测试中 , Depix 算法无法找到字符“o” , 因为在搜索图像中 , 搜索块还包含下一个字母“d” , 但在原始图像中这里有个空格 。

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

显然 , 在创建字符的德布鲁因序列时 , 如果加上空格会带来同样的问题 , 即算法无法找到后续字母恰当的块 。有空格又有字母的图像需要更长的搜索时间 , 但结果也更好 。
对于大多数像素化图像而言 , Depix可以找到块的单个匹配结果 。它先假设这些块是正确的 , 然后将周围多个匹配块进行比较 , 使其与像素化图像中的几何距离相同 , 并假设这些匹配也是正确的 。
在正确的块没有更多几何匹配后 , Depix 直接输出所有正确的块 。对于多匹配块 , Depix 将输出所有匹配的平均值 。虽然 Depix 的输出并不完美 , 但已经算不错了 。
下图展示了包含随机字符的测试图像的去像素化结果 , 大部分字符被正确读取:

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

最后需要说明的是 , Mellema开发这个AI项目并不是为了窃取信息 , 而是利用ECB和明文攻击(Known-Plaintext Attacks)的模式 , 提高信息保护技术 。在他看来 , 不知道如何破坏当前的保护模式 , 是信息安全中的常见陷阱 。
AI还原『人脸图像』
如前所述 , 除了字符密码 , AI还原人脸照也不在话下 。
今年6月中旬 , 杜克大学推出AI算法—PULSE , 可以将低分辨率的人脸图像放大64倍 , 即使是打了马赛克 , 面部的毛孔、皱纹 , 头发也都能变得清晰可见 。

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

不过 , 被还原的人脸是一全新的虚拟面孔 , 并不是真实存在的 。其中眼睛、鼻子、嘴巴等五官是AI在原始图像的基础上 , 自行想象出的结果 。
因此 , 这项AI技术不能用于身份识别 。比如监控摄像头拍摄的失焦、无法辨别的图片 , 不能通过PULSE还原成真实存在的人像 。不过 , 它在医学、显微镜、天文学 , 以及卫星图像等领域有着广泛的应用场景 。
在技术方面 , 不同其他超分辨率算法 , PULSE不是遍历LR(Low Resolution)图像来慢慢添加细节 , 而是发现与HR相对应的LR , 通过“缩减损失(Downscale)”的方式得到SR(Super Resolution)图像 。

AI|被狠狠打了“马赛克”的图片 就这样被AI还原了
文章图片

其次 , PULSE使用了生成对抗网络(GAN)来进行模型训练 。GAN包括一个生成器(Generator)和一个鉴别器(Discriminator) , 在同一组照片训练中 , 二者通过相互博弈的方式检验输出是否足够逼真 。
最后 , 无论是利用AI还原字符密码、还是人脸图像 , 其初心都是科技向善 。但这些AI技术不可避免地被有些人用于不良或非法用途 。
因此 , 在这个科技高速发展的现在 , 保护个人数据显得尤为重要 。
引用链接:
https://www.linkedin.com/pulse/recovering-passwords-from-pixelized-screenshots-sipke-mellema/?trackingId=yYFSUnuxRXasNV%2Fh3ZsiSw%3D%3D
https://gizmodo.com/researchers-have-created-a-tool-that-can-perfectly-depi-1844051752
https://en.wikipedia.org/wiki/De_Bruijn_sequence
https://github.com/beurtschipper/Depix

    推荐阅读