百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

可怕!被狠狠打了「马赛克」的图片,就这样被AI还原了

bigegpt 2024-08-14 15:01 2 浏览

『教资』成绩出来了。

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

昨晚,#教师资格证书成绩#话题冲上微博热搜榜首,浏览量超过了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技术不可避免地被有些人用于不良或非法用途。

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

引用链接:

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

雷锋网雷锋网雷锋网

相关推荐

了解Linux目录,那你就了解了一半的Linux系统

大到公司或者社群再小到个人要利用Linux来开发产品的人实在是多如牛毛,每个人都用自己的标准来配置文件或者设置目录,那么未来的Linux则就是一团乱麻,也对管理造成许多麻烦。后来,就有所谓的FHS(F...

Linux命令,这些操作要注意!(linux命令?)

刚玩Linux的人总觉得自己在演黑客电影,直到手滑输错命令把公司服务器删库,这才发现命令行根本不是随便乱用的,而是“生死簿”。今天直接上干货,告诉你哪些命令用好了封神!喜欢的一键三连,谢谢观众老爷!!...

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...

linux必学的60个命令(linux必学的20个命令)

以下是Linux必学的20个基础命令:1.cd:切换目录2.ls:列出文件和目录3.mkdir:创建目录4.rm:删除文件或目录5.cp:复制文件或目录6.mv:移动/重命名文件或目录7....

提高工作效率的--Linux常用命令,能够决解95%以上的问题

点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...

15 个实用 Linux 命令(linux命令用法及举例)

Linux命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁Linux系统的无限潜力,本文将深入介绍15个实用Linux命令。ls-列出目录内容l...

Linux 常用命令集合(linux常用命令全集)

系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DM...

Linux的常用命令就是记不住,怎么办?

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

Linux常用文件操作命令(linux常用文件操作命令有哪些)

ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本#ls--versionls(GNUcoreutils)8.4...

Linux 常用命令(linux常用命令)

日志排查类操作命令查看日志cat/var/log/messages、tail-fxxx.log搜索关键词grep"error"xxx.log多条件过滤`grep-E&#...

简单粗暴收藏版:Linux常用命令大汇总

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部下午好,我的网工朋友在Linux系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。通过命令行,用户可...

「Linux」linux常用基本命令(linux常用基本命令和用法)

Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。总结送免费学习资料(包含视频、技术学习路线图谱、文档等)1、显示日期的指令:d...

Linux的常用命令就是记不住,怎么办?于是推出了这套教程

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

Linux的30个常用命令汇总,运维大神必掌握技能!

以下是Linux系统中最常用的30个命令,精简版覆盖日常操作核心需求,适合快速掌握:一、文件/目录操作1.`ls`-列出目录内容`ls-l`(详细信息)|`ls-a`(显示隐藏文件)...

Linux/Unix 系统中非常常用的命令

Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...