视频反审查比以往更容易:De-pixelate 技术揭秘

2025年4月15日

上个月,我邀请大家破解我的一个 YouTube 视频片段,具体来说,就是对视频 4:57 处开始被我像素化的一个文件夹进行去像素化 (de-pixelate)。

Your browser does not support the video tag.

多年来,人们一直使用审查工具来模糊或像素化视频中的敏感信息。而每次我使用这种工具时,总会收到一些评论说这不是一种安全的审查信息的方式。

那么,这是真的吗?

我想验证一下,所以我发布了一个消息,说如果有人能告诉我像素化内容下的信息,我就给他们五十美元。结果你知道吗?不到一天,_三_个人就解决了这个问题,而且使用了三种略有不同的技术——太可怕了!

这篇博文是对以下视频的轻微编辑整理:

他们是怎么做到的?

但他们是如何做到的呢?我询问了他们每个人,他们都很乐意分享。对于我们这些喜欢逆向工程或修补的人来说,分享这项技术是一件有趣的事情。当这是 被允许 的乐趣时,就更有趣了。再加上一点金钱奖励,那真是锦上添花。

GitHub 用户 KoKuToru 非常慷慨地分享了一个完整的 GitHub 仓库,其中包含处理过程和代码,以及该用户尝试对我的视频进行 de-pixelate 的两种不同方法。

首先是一个暴力尝试,提取窗口对齐的图像,并使用 TensorFlow 代码提取像素数据并将其聚合为有点模糊(但几乎足够清晰可读)的图片:

Your browser does not support the video tag.

这里的想法是,像素化就像图片上的百叶窗。当您移动下面的图像时,您可以窥视图片的不同部分。只要您有一个坚实的参考框架,比如保持相同大小的窗口,您就可以“累积”来自图片下方的像素数据。

由于手动选择窗口时存在轻微误差,最终结果略有斑点。对于第二次尝试,使用 GIMP 获取更好的窗口选择算法与 ffmpeg,并使用稍微多一点的数据(提取更多帧),得到了一个完全清晰可辨认的结果:

Your browser does not support the video tag.

有什么方法可以避免这种情况吗?

模糊或像素化视频,特别是 移动的 视频,可能会导致与您在此处看到的结果类似。 多年前,做这些事情需要一台超级计算机和一个博士学位。 但是今天,在 AI 辅助处理更棘手的编码部分,以及神经网络在计算机上的运行速度如此之快的情况下,de-pixelate 视频比以往任何时候都更容易、更快!

如果说计算机擅长什么,那就是在看似混乱中找到秩序,就像现代工具可以从糟糕的录音中提取干净的声音一样。

视频中的运动越多,逆向工程可用的数据点就越多。因此,结果的置信度就越高。

如果我 没有 在视频中移动我的 Finder 窗口,我认为它就不会成功。您可能会得到几个正确的字母,但置信度会非常低。

展望未来,如果我 确实 有敏感数据需要隐藏,我将在该区域上放置一个纯色遮罩,而不是模糊或像素化效果。

直觉上,模糊可能比像素化更好……但这可能只是我自己的猿脑在说话。如果您过去处理过那种图像处理,我很乐意在评论中听到更多信息。

人们可以用神经网络、聪明才智和时间来完成的事情真是令人惊叹。

我想这个故事的寓意是 如果你不想让人们读取被审查的数据... 就不要把它发布到网上

tl;dr - 查看 KoKoToru 的 de-pixelate GitHub 仓库,了解有关如何完成的所有详细信息