美国时间 12 月 10 日晚上,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 技术不可避免被有些人用于不良或非法用途。因此科技高速发展的现在,保护个资显得尤其重要。
(本文由 雷锋网 授权转载;首图来源:pixabay)
延伸阅读:
- 有码变高清!研究团队开发“修图界老司机”,AI 黑科技一秒还原马赛克