机哥今天想起,之前每次说到马赛克技术的发展时,都会有机友给我留言: 我们想要的是打码吗?!明明更想要去除马赛克啊…… 害,你们这些人呐,别以为机哥不知道你们在想啥~ 实际上,机哥在去年就已经给大家介绍过,iPhone 上的一个打码功能被破解了。 我们经常直接在相册里,直接对某个重要的部位打码,所以就会用到 iOS 自带的画笔功能。 But,有万能的网友发现,如果我们把照片的曝光度、亮度等参数拉到最高,被打码的内容就会漏出来。 这是因为 iPhone 这个画笔功能,是真的还原了现实中的画笔。 如果你现在在白纸上写几个字,然后用黑色画笔涂抹后,把白纸对着阳光,一样能看到被涂抹的文字。 看来有时候过于用科技还原现实,也不是一件好事啊。 但是吼,细心的机友已经发现,这种还原马赛克的方式,有它的局限性。 一个是因为局限于 iPhone 上,另一个是因为局限于用"涂鸦"的方式打码。 实际上,我们现在打码的花样,那可多得去了。 而用的最多的,还是那种一个个小格子组合起来的"真·马赛克"。 机哥知道,你们最想知道的,是怎么去除这种马赛克。 我跟你们一样,原本以为这种技术还要很久,才能被发明出来。 万万没想到的是,这一天真的来了。 马赛克不安全了 不知道有木有做程序猿的机友? 如果有,应该都知道 GitHub 这个网站:全球最大同性交友平台。啊不是,是全球最大的程序员交流平台。 每天都会有很多程序猿,把自己想出来的新技术、写出来的新代码,在上面分享、开源给大家。 而这个月,GitHub 上面有一个叫做 Depix 的项目突然火了。 没错,结合上文,应该猜到机哥要说啥了,这个项目就是:利用 AI 技术去除马赛克。 并且,Depix 不只是提供一个构思,可是真真正正把这个技术做出来了。不愧是程序猿小哥,人狠话不多。 罗老师说得好,少啰嗦,先看东西。 那么,机哥就先给大家展示一下,如今 Depix 能够实现的效果。 比如说,这里是一段打了厚码的文字。 有一说一,如果你丢直接丢这张图片过来,机哥横看竖看都看不出原本的内容。 但是,人类做不到的事情,机器说不定就能实现。 于是乎,把这张图片丢进去 Depix 里,通过 AI 的计算之后,就会输出去除马赛克后的结果: 虽然不算特别清晰,但基本上能看见原本写的是啥了! 如果机哥拿原图来对比,就会更加感慨 Depix 的强大,几乎已经把马赛克还原得七七八八: 看到这里,应该不少人都觉得害怕。 以前我们在上、微博上,没少发出去一些打马赛克的东西。现在有了这项技术,岂不是隐私全都曝光了? 想想看,最近又到年末,很多 App 都推出年度账单、年度盘点什么的。 很多人喜欢截图晒出去朋友圈,告诉大家今年花了多少钱、听了多少歌。凡尔赛嘛~ 但是吼,机哥发现大家都会小心翼翼地给自己的名字、地址等隐私信息打上码,甚至会把账单里买了什么给打码。 而这,这是其中一个例子。咱们需要打马赛克的场合,远不止这个。 而 Depix 的出现,会不会让隐私,不再是隐私呢? 我这里可以直接下个结论:至少在目前,还不需要担心。 在我说为什么之前,机哥建议大家先听我说完,Depix 实现去除马赛克的原理。 去除文字马赛克的原理 平常我们给一个东西打码,本质上就是把一张图片分成一个个小格子,然后像 Photoshop 等修图工具,就会给每个格子算出它的平均颜色。 然后就用这种平均颜色,覆盖整个小格子。 所谓的马赛克的薄与厚,其实只是看要分成多少个小格子罢了。 而要把马赛克还原成图片原本的样子,其实是一个逆向过程。 但想想就知道,要实现起来有多困难。 毕竟马赛克打得越厚,就会让图片的细节丢失得越多。就像上面机哥举的例子,那几个英文单词哪怕经过 Depix 的还原,还是很难 100% 还原。 于是这两天 GitHub 上面这个 Depix 项目,它的想法就是:利用 AI 人工智能,让马赛克里的小格子们,不断跟数据库里已有的字符组合做匹配。 这就有一个问题了,数据库咋整? 机哥今天拿到了代码作者提供的数据库,大概明白了他的想法。 想想看,英文字母只有 A~Z 的 26 个、阿拉伯数字只有 0~9 的 10 个、常用的英文标点符号也是只有几个。 你们去看看你们电脑键盘的布局就知道了,几十个按键就覆盖了英语里所有需要的东西。 机哥说这个的意思是,在英文语法下,"字母 数字 标点"的组合是有限的。 呐,如今 Depix 代码里就把这些组合列出来,就在这张图里: Depix 的作者还考虑到每个字符之间的距离,可能会对运算产生影响,所以一次性做了"宽字距"和"窄字距"的数据库。 所以说,每次运算时,只要把需要去除马赛克的图片丢进去 Depix 里,Depix 就会开始进行逐一匹配,最终得出一个大致的结果。 好了,说到这里,硬核的东西讲完。 机哥就要开始回答,为啥我上面说:现在还不需要担心隐私问题泄露。 目前还存在的问题 首先是,Depix 对原图的要求极高。 我看到有从事这方面的专业人士分析,这个项目目前对文本大小、字体、颜色、hsl 也许都有限制。 机哥觉得嘛,像大家现在经常用一些花里胡哨的字体,机器想要识别出来,还是有点难的。 机哥今天本来想自己试一下,但是没成功。(这个项目是运行在 Python 语言上的,有点小复杂。) 但我看到网上有程序猿大神,已经成功运行了。 只是他说,他用自己的图丢进去 Depix,出来的结果很烂…… 呐,他把他名字打上马赛克: 但 Depix 去除马赛克的结果是: emmm,机哥仔细比对了一下,除了字母"L"被还原了,别的就还是一团乱麻。 他推测,这个项目是这个月初才做出来,目前还在初期阶段,所以还不够完善。 除此之外,机哥觉得对于我们使用中文的人来说,Depix 还远不能实现破解中文的马赛克。 虽然理论上中文组合也是有限的,但数量会比英文庞大得多。 So,Depix 这个项目不仅目前还不支持中文,也许在短期内也很难实现。 所以不管哪种原因,机哥上面才说 Depix 至少目前还不能对我们的隐私构成威胁。 但未来呢? AI要看你怎么用 最近一段时间,我们似乎每天都能听见 AI 又干成什么什么事。 比如说,AI 修复了晚晴拍摄的视频,不仅从黑白影片变成彩色影片,甚至帧数、清晰度也有所提高。 还有就是前两天很火的,B 站有 up 主利用 AI 技术"复活了"历代皇帝。 让我们看到,原来历史书里的皇帝,真实的样子是这样的。 但与此同时,机哥也听到了有犯罪分子,利用"AI换脸"、"AI假冒声音"等新技术作案。 AI 人工智能,作为现在发展得最为迅速的技术,就像一枚硬币有两面。 有的人用它来改善我们的生活、有的人却用它犯罪。 新技术的出现与发展,是不可逆的潮流。 说到底,还是要看它怎么用呐。 今天机哥说的" AI 去除马赛克",不也是这样吗?