GitHub AI 项目冲上热榜:去除马赛克 还原字符密码

时间:2020-12-11 09:05:30 来源: 雷锋网


『教资』成绩出来了。

不知道大家报名考试了没?考过了没?分享了没?

昨晚,# 教师资格证书成绩 #话题冲上微博热搜榜首,浏览量超过了 21 亿,不少网友在微博晒出自己的成绩单。

有的高分通过,准备面试;有的凉凉,准备明年再接再厉;还有的单科卡在了 69.....

这个就比较扎心了。

不过更扎心的,可能是不仅教资没过,还因为晒图泄露了个人信息。

你可能觉得奇怪,大家明明把 “姓名、身份证号、准考证号”等个人敏感信息都打上了马赛克,为什么还会泄露信息?难不成还可以恢复?

可能还真的可以!

同样在昨晚,GitHub 上一个 AI 项目冲上了热榜,截止目前已经收获了 8.4k 星标。

这个 AI 的主要功能就是:去除马赛克,还原字符密码。

AI 破解『密码』

相信不少人都认为,只要打上了马赛克,就不会泄露敏感信息,因此,我们在朋友圈、微博等公开社交平台,经常能够看到打了马赛克的结婚照、证书照、成绩照等。

但事实上,无论是图像、文字还是字符,AI 还原马赛克已经不是什么难事了。

最近一位名为 Sipke Mellema 的程序员便开发了这样一款工具。他说,一些公司在内部文档中经常会使用像素化的方式显示密码,但没有工具可以从这样的图像中恢复密码,因此便创建了一个。

我们先来看下效果图:

其中,第一行是被像素化后的密码序列,被狠狠地打了一层马赛克,看不出一点原始痕迹。

第二行是经过 AI 还原后的密码,可以看到密码序列基本被还原了,而且准确度很高,只有稍加推理就能得到第三行的原始密码。

那么,这个「不可思议」的 AI 还原技术是如何实现的?

我们知道,马赛克是图像像素化处理的一种手段,它通过将影像特定区域的色阶细节劣化并打乱色块,达到一种模糊图像的效果。

像素化在许多领域被用于模糊图像信息,其中线性盒滤波器( Linear Box Filter)是一种较为普遍的处理算法。盒子滤波也称为方框滤波,它采用一个像素框,用该框中所有像素的平均值覆盖像素。

像这样,表情图像被分为四个色块,每个色块被色块平均值所覆盖,最终形成了像素化表情,由于原始信息丢失,因此不能直接反转滤波器。

Mellema 正是利用了盒子滤波器,提出了 AI 还原算法 - Depix。

线性盒滤波器是一种确定性算法,对相同的值执行像素化通常会产生同样的像素块(Block),那么反之,使用相同位置的块对相同文本执行像素化,是否也会得到同样的块值?

Mellema 尝试通过像素化文本来找出匹配的模式,结果发现确实如此。

具体来说,Mellema 把每个块或块组合看作一个子问题。该算法要求在相同背景上,具备相同的文本大小和颜色,因此他没有选择创建潜在字符的查找表,因为现代文本编辑器可以添加色调、饱和度和亮度,也就是说存在海量潜在字符。

在处理字符方面,Mellema 使用待处理字符的德布鲁因序列(De Bruijn sequence),将其粘贴到相同的编辑器中,然后截图。该截图可用作相似块的查找图像,例如:

德布鲁因序列包括待处理字符的所有双字符组合,这一点很重要,因为一些块会重叠两个字符。

要找出合适的匹配需要搜索图像中具备相同像素配置的块。在测试中,Depix 算法无法找到字符「o」,因为在搜索图像中,搜索块还包含下一个字母「d」,但在原始图像中这里有个空格。

显然,在创建字符的德布鲁因序列时,如果加上空格会带来同样的问题,即算法无法找到后续字母恰当的块。有空格又有字母的图像需要更长的搜索时间,但结果也更好。

对于大多数像素化图像而言,Depix 可以找到块的单个匹配结果。它先假设这些块是正确的,然后将周围多个匹配块进行比较,使其与像素化图像中的几何距离相同,并假设这些匹配也是正确的。

在正确的块没有更多几何匹配后,Depix 直接输出所有正确的块。对于多匹配块,Depix 将输出所有匹配的平均值。虽然 Depix 的输出并不完美,但已经算不错了。

下图展示了包含随机字符的测试图像的去像素化结果,大部分字符被正确读取:

最后需要说明的是,Mellema 开发这个 AI 项目并不是为了窃取信息,而是利用 ECB 和明文攻击(Known-Plaintext Attacks)的模式,提高信息保护技术。在他看来,不知道如何破坏当前的保护模式,是信息安全中的常见陷阱。

AI 还原『人脸图像』

如前所述,除了字符密码,AI 还原人脸照也不在话下。

今年 6 月中旬,杜克大学推出 AI 算法—PULSE,可以将低分辨率的人脸图像放大 64 倍,即使是打了马赛克,面部的毛孔、皱纹,头发也都能变得清晰可见。

不过,被还原的人脸是一全新的虚拟面孔,并不是真实存在的。其中眼睛、鼻子、嘴巴等五官是 AI 在原始图像的基础上,自行想象出的结果。

因此,这项 AI 技术不能用于身份识别。比如监控摄像头拍摄的失焦、无法辨别的图片,不能通过 PULSE 还原成真实存在的人像。不过,它在医学、显微镜、天文学,以及卫星图像等领域有着广泛的应用场景。

在技术方面,不同其他超分辨率算法,PULSE 不是遍历 LR(Low Resolution)图像来慢慢添加细节,而是发现与 HR 相对应的 LR,通过 “缩减损失(Downscale)”的方式得到 SR(Super Resolution)图像。

其次,PULSE 使用了生成对抗网络(GAN)来进行模型训练。GAN 包括一个生成器(Generator)和一个鉴别器(Discriminator),在同一组照片训练中,二者通过相互博弈的方式检验输出是否足够逼真。

最后,无论是利用 AI 还原字符密码、还是人脸图像,其初心都是科技向善。但这些 AI 技术不可避免地被有些人用于不良或非法用途。

因此,在这个科技高速发展的现在,保护个人数据显得尤为重要。

关键词:GitHub AI 个人信息

关于我们 加入我们 广告服务 网站地图

All Rights Reserved, Copyright 2004-2020 www.ctocio.com.cn

如有意见请与我们联系 邮箱:5 53 13 8 [email protected]

豫ICP备20005723号    IT专家网 版权所有