马赛克原理与局限
马赛克是一种用来遮盖原画面的手段,从技术上讲,其原理是将某一个像素的颜色涂抹到整个范围而造成原画信息丢失。线性盒滤波器是其中一种较为普遍的处理算法,通过将影像特定区域的色阶细节劣化并打乱色块,达到模糊图像的效果。由于原始信息丢失,理论上这个过程是不可逆的。
在个人隐私保护中,大家常使用马赛克来遮盖图片上的敏感信息,如身份证号、姓名等。但在影视漫画作品中,厚重的马赛克有时会影响观感。
Depix 工具介绍
近期在 GitHub 上出现了一款名为 Depix 的开源工具,旨在抹去马赛克让原图重现。该工具上线后迅速引发热议,累计分支超过 1.3k 个。它能将打上马赛克的文字恢复成原图,准确度较高。

如图所示,第一行是打了一层巨厚马赛克完全像素化后的文本内容,第二行则是经过 AI 还原后的内容,第三行是根据第二行稍加推理得到的原始密码。这意味着即使个人敏感信息被打上了马赛克发布到网上,也有可能被别人扒得一干二净。
技术原理与使用方法
Depix 的技术原理是利用线性盒滤波器分别处理每个色块的特点,对搜索图像中的每一个块进行像素化来寻找直接匹配。简单来说,就是将马赛克区域的内容分割成许多个小块,利用算法对每个小块的内容进行平均值计算并覆盖等。
使用 Depix 将打上马赛克的文字恢复成原图,主要步骤如下:
- 从屏幕截图中截取像素块作为一个选区。
- 在具有相同字体设置(包括文本大小、字体、颜色、hsl)的编辑器中,粘贴具有预期字符的 De Bruijn 序列。
- 制作一个序列的屏幕截图,尽可能使用与创建像素化图像相同的屏幕截图工具。
- 执行命令:
python depix.py -p[pixelated rectangle image] -s [search sequence image] -o output.png
目前,Depix 这款工具还属于特定领域的工具,只适用于使用线性方框滤波器创建的像素化图像,且支持的主要是英文字母、数字以及英文半角下的符号等。经过测试,绝大多数英文字母、数字和符号可以通过 Depix 正确识别出来,但某些连写的字符无法正确识别。
安全建议与伦理讨论
Depix 的相关消息在网上传开后立刻引发热议,许多网友对这项技术表示了深切担忧。开发者强调称,开发这个 AI 项目并不是为了窃取信息,而是利用 ECB 和明文攻击的模式,提高信息保护技术。
基于安全考虑,建议不要使用马赛克遮挡敏感信息,最佳做法是直接将需要遮挡的区域使用黑条或者白条覆盖,这样是无法通过算法还原的。
除了 Depix 以外,试图对马赛克内容进行还原的开源项目还有很多。此前也有项目介绍过名为 PULSE 的算法——它能根据模糊的马赛克像素'画'出一张新的人脸,在几秒内就能将图像原始分辨率放大 64 倍。
对于这类项目的火爆,网上的质疑声一片,这些 AI 技术不可避免地被有些人用于不良或非法用途。可以预见的是,AI 还原马赛克技术将会越来越成熟,未来关于去马赛克的伦理道德、法律层面的问题也会越来越复杂。
资源链接
GitHub 地址:https://github.com/beurtschipper/Depix

