
机哥今天想起,之前每次说到马赛克技术的发展时,都会有机友给我留言:我们想要的是打码吗?!明明更想要去除马赛克啊……

害,你们这些人呐,别以为机哥不知道你们在想啥~



我们经常直接在相册里,直接对某个重要的部位打码,所以就会用到 iOS 自带的画笔功能。



这是因为 iPhone 这个画笔功能,是真的还原了现实中的画笔。
如果你现在在白纸上写几个字,然后用黑色画笔涂抹后,把白纸对着阳光,一样能看到被涂抹的文字。


但是吼,细心的机友已经发现,这种还原马赛克的方式,有它的局限性。
一个是因为局限于 iPhone 上,另一个是因为局限于用“涂鸦”的方式打码。
实际上,我们现在打码的花样,那可多得去了。


机哥知道,你们最想知道的,是怎么去除这种马赛克。
我跟你们一样,原本以为这种技术还要很久,才能被发明出来。

马赛克不安全了
不知道有木有做程序猿的机友?

每天都会有很多程序猿,把自己想出来的新技术、写出来的新代码,在上面分享、开源给大家。

而这个月,GitHub 上面有一个叫做 Depix 的项目突然火了。

并且,Depix 不只是提供一个构思,可是真真正正把这个技术做出来了。不愧是程序猿小哥,人狠话不多。


那么,机哥就先给大家展示一下,如今 Depix 能够实现的效果。
比如说,这里是一段打了厚码的文字。


但是,人类做不到的事情,机器说不定就能实现。
于是乎,把这张图片丢进去 Depix 里,通过 AI 的计算之后,就会输出去除马赛克后的结果:


如果机哥拿原图来对比,就会更加感慨 Depix 的强大,几乎已经把马赛克还原得七七八八:


以前我们在微信上、微博上,没少发出去一些打马赛克的东西。现在有了这项技术,岂不是隐私全都曝光了?


很多人喜欢截图晒出去朋友圈,告诉大家今年花了多少钱、听了多少歌。凡尔赛嘛~
但是吼,机哥发现大家都会小心翼翼地给自己的名字、地址等隐私信息打上码,甚至会把账单里买了什么给打码。

而这,这是其中一个例子。咱们需要打马赛克的场合,远不止这个。

我这里可以直接下个结论:至少在目前,还不需要担心。
在我说为什么之前,机哥建议大家先听我说完,Depix 实现去除马赛克的原理。
去除文字马赛克的原理
平常我们给一个东西打码,本质上就是把一张图片分成一个个小格子,然后像 Photoshop 等修图工具,就会给每个格子算出它的平均颜色。


所谓的马赛克的薄与厚,其实只是看要分成多少个小格子罢了。

但想想就知道,要实现起来有多困难。
毕竟马赛克打得越厚,就会让图片的细节丢失得越多。就像上面机哥举的例子,那几个英文单词哪怕经过 Depix 的还原,还是很难 100% 还原。

于是这两天 GitHub 上面这个 Depix 项目,它的想法就是:利用 AI 人工智能,让马赛克里的小格子们,不断跟数据库里已有的字符组合做匹配。

机哥今天拿到了代码作者提供的数据库,大概明白了他的想法。
想想看,英文字母只有 A~Z 的 26 个、阿拉伯数字只有 0~9 的 10 个、常用的英文标点符号也是只有几个。

你们去看看你们电脑键盘的布局就知道了,几十个按键就覆盖了英语里所有需要的东西。
机哥说这个的意思是,在英文语法下,“字母+数字+标点”的组合是有限的。



所以说,每次运算时,只要把需要去除马赛克的图片丢进去 Depix 里,Depix 就会开始进行逐一匹配,最终得出一个大致的结果。

好了,说到这里,硬核的东西讲完。

目前还存在的问题
首先是,Depix 对原图的要求极高。
我看到有从事这方面的专业人士分析,这个项目目前对文本大小、字体、颜色、hsl 也许都有限制。


机哥今天本来想自己试一下,但是没成功。(这个项目是运行在 Python 语言上的,有点小复杂。)
但我看到网上有程序猿大神,已经成功运行了。

呐,他把他名字打上马赛克:




emmm,机哥仔细比对了一下,除了字母“L”被还原了,别的就还是一团乱麻。


除此之外,机哥觉得对于我们使用中文的人来说,Depix 还远不能实现破解中文的马赛克。

So,Depix 这个项目不仅目前还不支持中文,也许在短期内也很难实现。

但未来呢?
AI要看你怎么用

比如说,AI 修复了晚晴拍摄的视频,不仅从黑白影片变成彩色影片,甚至帧数、清晰度也有所提高。

还有就是前两天很火的,B 站有 up 主利用 AI 技术“复活了”历代皇帝。




AI 人工智能,作为现在发展得最为迅速的技术,就像一枚硬币有两面。

新技术的出现与发展,是不可逆的潮流。
说到底,还是要看它怎么用呐。
今天机哥说的“ AI 去除马赛克”,不也是这样吗?