震惊!AI居然轻松消除马赛克-文字增强,GitHub开源项目上线三天收获近7000星
还在用马赛克的方式隐藏密码?小心被「看穿」。
像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息,比如:
再比如:
看图找马赛克!(找不到请看右侧原图)
但是,在你想隐藏信息的同时,有一些技术却反其道而行之,试图将图片还原为原始状态。
最近,一个名为 Depix 的 GitHub 项目爆火,上线三天 star 量已经高达 6.9k。项目作者 Sipke Mellema 是一名信息安全顾问。
项目地址:https://github.com/beurtschipper/Depix
Depix 能够从像素化图像截图中恢复原图中包含的文字密码。该项目适用于使用线性方框滤波器(linear box filter)创建的像素化图像。如下图所示,项目作者给出了像素化图像、恢复之后的效果和原图的对比结果:
马赛克打得够严实了,不过 Depix 还是基本解读出了被隐藏的信息。
如何使用
使用 Depix 从像素化图像截图中恢复文字密码,操作也比较简单:
从截图中分割出矩形像素化 block;
在具有相同字体设置(包括文本大小、字体、颜色、hsl)的编辑器中,粘贴待处理字符的德布鲁因(De Bruijn sequence)。
给该序列截图,尽可能使用和像素化图像相同的截图工具。
执行命令:
python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png
Depix 算法利用线性方框滤波器单独处理每一个 block 这一事实。它对搜索图像中的每一个 block 执行像素化以寻找直接匹配。
对于大部分像素化图像,Depix 尽量寻找单匹配结果,并假设这些匹配是正确的。至于周围多匹配 block 的结果被看作像素化图像中相同的几何距离,并认为这些匹配也是正确的。该过程重复多次。
在正确的 block 没有更多几何匹配后,Depix 将直接输出所有正确的 block。对于多匹配 block,Depix 将输出所有匹配的平均值。
Depix 背后的算法
像素化常使用线性方框滤波器实现。线性方框滤波器的实现很简单,速度很快,可以并行处理多个 block。
由于线性方框滤波器是一种确定性算法,对同样的值执行像素化通常会产生同样的像素化 block。使用同样位置的 block 对相同文本执行像素化,会得到同样的 block 值。我们可以尝试像素化文本来找出匹配的模式。幸运的是,这对于秘密值的一部分同样奏效。我们可以把每个 block 或 block 组合看作一个子问题。
项目作者没有选择创建潜在字体的查找表。该算法要求在相同背景上具备相同的文本大小和颜色。现代文本编辑器还会添加色调、饱和度和亮度,也就是说存在海量潜在字体。
项目作者给出的解决方案也很简单:使用待处理字符的德布鲁因序列,将其粘贴到相同的编辑器中,然后截图。该截图可以用作相似 block 的查找图像,例如:
德布鲁因序列包括待处理字符的所有双字符组合。这很重要,因为一些 block 会重叠两个字符。找出恰当的匹配需要搜索图像中具备相同像素配置的 block。
在以下测试图像中,Depix 算法无法找到「o」的一部分。这是因为在搜索图像中,搜索 block 还包含下一个字母(「d」)的一部分,但在原始图像中这里有个空格。
创建字母的德布鲁因序列时加上空格显然会带来同样的问题:算法无法找到后续字母的恰当 block。有空格又有字母的图像需要更长的搜索时间,但结果也更好。
对于大部分像素化图像而言,Depix 似乎能够找到 block 的单匹配结果,并假设这是正确的。然后将其周围多匹配 block 的匹配结果看作在像素化图像中处于相同的几何距离,并假设这些匹配也是正确的。
在正确的 block 没有更多几何匹配后,Depix 直接输出所有正确的 block。对于多匹配 block,Depix 将输出所有匹配的平均值。虽然 Depix 的输出并不完美,但已经算不错了。
下图展示了包含随机字符的测试图像的去像素化结果,大部分字符被正确读取:
对这个项目感兴趣的读者,可以自行尝试。
以后截图时给敏感信息打码,看来不能简单地用「马赛克了」。
参考链接:
https://www.linkedin.com/pulse/recovering-passwords-from-pixelized-screenshots-sipke-mellema/?trackingId=yYFSUnuxRXasNV%2Fh3ZsiSw%3D%3D
震惊!AI居然轻松消除马赛克-文字增强,GitHub开源项目上线三天收获近7000星相关推荐
- 打马赛克就安全了吗?AI消除马赛克,GitHub开源项目上线三天收获近7000星
来源:机器之心 本文约1500字,建议阅读5分钟 还在用马赛克的方式隐藏密码?小心被「看穿」. 像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息,比如: 再比 ...
- 你还在以为打马赛克就安全了吗?AI消除马赛克,GitHub开源项目上线三天收获近7000星
还在用马赛克的方式隐藏密码?小心被「看穿」. 像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息,比如: 再比如: 看图找马赛克!(找不到请看右侧原图) 但是, ...
- pulse 去马赛克软件_打马赛克就安全了吗?AI消除马赛克,上线三天收获近7000星...
机器之心报道 作者:魔王.小舟 还在用马赛克的方式隐藏密码?小心被「看穿」. 像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息,比如: 再比如: 看图找马赛克 ...
- 打马赛克就安全了吗?GitHub热榜的“AI消除马赛克”,上线三天收获近万star
还在用马赛克的方式隐藏密码?小心被「看穿」. 像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息,比如: 再比如: 看图找马赛克!(找不到请看右侧原图) 但是, ...
- 特斯拉AI总监用300行代码实现“迷你版GPT”,上线GitHub三天收获3.3k星
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI "GPT并不是一个复杂的模型." 前OpenAI科学家.现任特斯拉AI总监的Andrej Karpathy在自己的Gi ...
- 2022 极术通讯-“周易”NPU软件开源项目上线,适配100多种AI算法
导读:极术社区推出极术通讯,引入行业媒体和技术社区.咨询机构优质内容,定期分享产业技术趋势与市场应用热点. 芯方向 安谋科技"周易"NPU软件开源项目正式上线,解决你的" ...
- 本周AI热点回顾:AI消除马赛克神器公布;Github黑暗模式正式发布;「中国AlphaFold」创生!
点击左上方蓝字关注我们 01 打马赛克就安全了吗?AI消除马赛克,GitHub开源项目上线三天收获近7000星 像素化(又称马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信 ...
- 2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台(值得收藏)
导语:Github 开源项目技术图 雷锋网 AI 开发者按:工欲善其事必先利其器,这也是大部分开发者在日常工作中最重要开发原则.选择与开发内容相匹配的工具,常常会使我们事半功倍.但面对人工智能的多个 ...
- [转]2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台(值得收藏)
导语:Github 开源项目技术图 雷锋网 AI 开发者按:工欲善其事必先利其器,这也是大部分开发者在日常工作中最重要开发原则.选择与开发内容相匹配的工具,常常会使我们事半功倍.但面对人工智能的多个 ...
最新文章
- 单例模式的标准写法、注意事项、作用及测试
- 可由一个尾指针唯一确定的链表有_2013-2014学年二学期数据结构期末考试试卷(3卷)...
- 一代杰出科学家--钱学森去世了
- git 撤销对工作区中文件的修改
- python 强类型 弱类型_强类型、弱类型
- 运维管理_运维BIM软件-EcoDomus运维管理系统
- 智慧城市纳入北京重点支持高新领域
- Linux能运行intouch,Invensys Wonderware InTouch XML 外部实体漏洞
- caxa线切割怎样画链轮_Autocad实战教程-线切割画链轮
- 联合密度函数求期望_已知概率密度函数怎么求它的数学期望和方差
- linux tc 限速,linux tc 限速
- live2d在vue中的运用
- 数据研究之综合评分(一) 权重-评分-指标
- 联想小新pro16和联想小新pro14 2022款哪个好
- 常见的继电接触器控制线路总结
- ARC缓存淘汰算法及其在ZFS上的实现
- 洛谷月赛2018.8 T1题解(U28036 Nagisa loves Tomoya)
- AI语音助手识别动画AE制作教程
- 女秘书PK老板 到底哪个说了算
- 论研究生教育——蒲慕明所长在神经所2005年会上的讲话
热门文章
- c++游戏编程初步(超简单)教学
- 300 秒就完成第一超算 1 万年的计算量,量子霸权真时代要来了吗
- 不懂精简指令集还敢说自己是程序员?
- 如何修复计算机的无限功能,Win10系统自动修复时出现无限死循环或提示无法修复怎么办 如何禁用自动修复服务...
- 今年最后一月数据库排名公布!前三难以撼动!
- 华为电脑怎么把虚拟化打开_电脑怎么在bios开启虚拟化?
- Python小结<1>
- 用python抓取百万网易云热门评论[转载]
- Centos(Linux)系统备份与还原
- 好玩游戏不上学去学计算机,如果你这样学习,不如去玩游戏!