Github高赞:打马赛克=形同虚设,AI看透你一切小心思
myzbx 2025-03-07 22:13 17 浏览
【新智元导读】继修复涂鸦图片之后,厚码文字也不再安全了?近日,名为Depix的Github项目火爆全网,一切故意而为之的“文字密码”,在这一AI技术的处理下,瞬间就“暴露于光天之下”。
“来P个图吧!” “好呀,不过这段话得打码,不然就麻烦了!”
如果现在告诉你,”打码“已经不再安全,你所想保护的信息,已然如”皇帝的新衣“,你会作何想?
不,这不是耸人听闻,最近一个名为Depix的GitHub项目火了,上线仅仅三天,star量就已经高达7K。截止发文,此项目已经火速达到1w+的star量:
而就是这项技术,能够解码被打上马赛克的文字,你的所有努力,甚至有了”欲盖弥彰“的效果。
手机涂鸦如同“徒劳”,外行也能轻易恢复隐藏信息
前段时间,网络上爆出,使用手机涂鸦对图片所进行的操作,其实可以轻易被恢复:
简单拿微信聊天截屏的文字涂鸦来说:
我们身边太多的人,都可能会用这种涂鸦技术,遮盖自己想保密的信息。
看似很安全,对不对?
其实在有心人看来,你的操作可以马上成为徒劳:
只需要再次利用手机的图片编辑功能,将曝光、鲜明度、高光、阴影、亮度等参数全部调至+100,然后再将对比度参数调至-100,然后,神奇的事情发生了:
行家都知道,相比于涂鸦,马赛克却无法被修复和逆转,令人非常的安心。
可是,放在现在,在AI面前,修复厚码图片中隐藏的内容,也成为了可能:
Depix——修复厚码文字内容,现已开源
Depix的主要功能,就是利用AI算法,将被像素化的文本内容从马赛克中还原出来。其适用于用线性盒过滤器创建的像素化图像。
其目的不是去马赛克,而是做文字恢复使用。虽说这可能令一些宅男失望,但其作用依旧强大且有意义。
此项目是由信息安全顾问Sipke Mellema 开发的,目前仅支持英文字母、数字和英文标点符号。
而任何此个开源项目的使用者,简简单单使用以下指令,就可以恢复你想“窥探”的文字内容:
python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
完整操作如下:
从截图中剪出像素化的方块,作为一个矩形。
将De Bruijn序列粘贴到编辑器中,使用相同的字体设置(文本大小、字体、颜色、hsl)。
制作序列的截屏。如果可能的话,使用同样的截图工具来创建像素化的图像。
运行 run python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png
算法原理简单:分割小块,德布鲁因序列字符库助力像素匹配
Depix的原理是将马赛克区域的内容分割成许多个小块,然后将每个小块都和预先设置好的字符库(德布鲁因序列(De Bruijn sequence))进行像素匹配。
具体算法流程如下:
该算法利用了线性盒滤波器,来分别处理每个块的特性。对于每个块,它对搜索图像中的所有块进行像素化,以检查是否直接匹配。
对于大多数像素化的图像,Depix设法找到单一匹配的结果。它假设这些都是正确的。然后,将周围的多匹配块的匹配在几何上与像素化图像中的相同距离进行比较。匹配也被视为正确。这个过程要重复几次。
当正确的块没有几何匹配时,它将直接输出所有正确的块。对于多匹配块,它输出所有匹配的平均值。
开发这个AI项目,Mellema并不是为了窃取信息,而是利用ECB和明文攻击的模式,提高信息保护技术。
在他看来,不知道如何破坏当前的保护模式,是信息安全中的常见陷阱。
Depix主要是针对打码文字的处理,而说到修复马赛克像素级别图片的技术,我们不得不提杜克大学的AI算法PULSE:
宅男福利?渣画质修复还要看杜克PULSE
杜克大学的AI算法PULSE(Photo Upsampling via Latent Space Exploration),可以将像素渣到马赛克级别的图片修复:
该算法可以将模糊、无法识别的人脸图像转换成计算机生成的图像,并且具有比之前任何时候都更加精细、逼真的细节。
按照之前的方法,想要把一张模糊的大头照变清晰,最多只能将这张照片缩放到原始分辨率的八倍。
而PULSE,可以仅在几秒钟内,就可以把 16x16 像素的低分辨率小图,放大 64 倍,变成 1024 x 1024 像素的高分辨率图像。
这种将像素放大 64 倍级别的,绝对是业界首次。
原本低分辨率照片中无法看到的细节,比如毛孔、细纹、睫毛、头发和胡茬等,经过PULSE算法处理后,都能看得一清二楚:
涉及到实际应用方向上,论文的共同作者 Sachit Menon 介绍称:
「在这些研究中,我们只是用面部作为概念验证。
但从理论上讲,该技术是通用的,从医学、显微镜学到天文学和卫星图像,都可以通过该技术改善画质。」
与此类似的,还有谷歌的超强像素递归方案,感兴趣的朋友可以自行探索。
最后附上Depix,PULSE的项目链接:
Depix项目地址:
https://github.com/beurtschipper/Depix
PULSE项目地址:
https://github.com/adamian98/pulse
参考链接:
https://www.maxiaobang.com/6570.html
https://github.com/beurtschipper/Depix
https://github.com/adamian98/pulse
相关推荐
- 炫酷的计时器效果Canvas绘图与动画
-
-----------------------------------------华丽的分割线-----------------------------------------------------...
- 康托尔集合的绘制及其Python绘制(康托尔集合论的概括原则是什么)
-
康托尔三分集(Cantorternaryset)是数学中一个著名的分形例子,由德国数学家格奥尔格·康托尔在1883年引入。它通过不断去掉线段的中间三分之一部分,重复这个过程得到的一个分形集合。康托...
- 一文带你搞懂JS实现压缩图片(js 压缩图片)
-
作者:wuwhs转发链接:https://segmentfault.com/a/1190000023486410前言公司的移动端业务需要在用户上传图片是由前端压缩图片大小,再上传到服务器,这样可以减...
- 数据可视化—Echarts图表应用(数据可视化图表类型)
-
ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。使用JavaScript实现开源的可视化库,可以流畅的...
- ThreeJS中三维世界坐标转换成二维屏幕坐标
-
Threejs全称是“Javascript3Dlibrary”。WebGL则是openGL在浏览器上的一个实现。Threejs对WebGL进行了封装,让前端开发人员在不需要掌握很多数学知识和绘图知...
- 鸿蒙开源第三方件组件——加载动画库
-
前言基于安卓平台的加载动画库AVLoadingIndicatorView(https://github.com/81813780/AVLoadingIndicatorView),实现了鸿蒙化迁移和重构...
- canvas实现下雪背景图(canvas绘制背景图)
-
canvas下雪背景html+css+js实现:1.定义标签:<h1>北极光之夜。</h1><divclass="bg"></...
- 用canvas画简单的“我的世界”人物头像
-
前言:花了4天半终于看完了《HeadFirstHTML5》,这本书的学习给我最大的感受就是,自己知识的浅薄,还有非常多非常棒的技术在等着我呢。[熊本表情]扶朕起来,朕还能学!H5新增标签里面最喜欢...
- Manim-基础图形之点(什么叫图形基点)
-
制作数学演示视频时需要用到各类的集合图形,manim中内置了一些列的图形,本篇就从最简单的点讲起。点作为manim中最简单图形,也是其他所有图形的基,所有图形的绘制都是靠点来定位。manim中的点主...
- 一起学 WebGL:坐标系(坐标系格式)
-
大家好,我是前端西瓜哥,今天我们来学习WebGL。WebGL的世界坐标系是三维的。默认使用笛卡尔坐标系的右手坐标系,满足右手定则,即x轴向右,y轴向上,z轴向着观察者,原点位于画布中心。然...
- 漫画 欣赏 - 聖鬥士星矢 THE.LOST.CANVAS 冥王神話 24
-
《圣斗士星矢THELOSTCANVAS冥王神话》改编自车田正美原作的漫画《圣斗士星矢》,由车田正美原作、手代木史织作画。其外传《圣斗士星矢THELOSTCANVAS冥王神话外传》则在《...
- 漫画 欣赏 - 聖鬥士星矢 THE.LOST.CANVAS 冥王神話 25 - 完结篇
-
《圣斗士星矢THELOSTCANVAS冥王神话》改编自车田正美原作的漫画《圣斗士星矢》,由车田正美原作、手代木史织作画。其外传《圣斗士星矢THELOSTCANVAS冥王神话外传》则在《...
- Eric Fischl 名画录(eric tucker画家)
-
艾瑞克费舍尔(EricFischl,1948——),是美国新表现主义画家,当代国际画坛一位十分活跃的人物,在国际上享有很高的知名度。作为20世纪美国第6次经济衰退时期本土第一个伟大画家艾瑞克·费舍尔...
- canvas绘画板的实现(canvas画布)
-
新项目有一个需求:客户需要在订单确认的时候签名。第一反应就是用html的canvas实现,同事一起商量了下,canvas有三个制约:canvas必须要用鼠标,签名会很难看;手机端webapp怎么实现...
- Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字
-
Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字一、项目功能利用Tkinter组件中的Canvas绘制图形和文字。二、项目分析要在窗体中绘制图形和文字,需先导入Tkinter组...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 选择器 (30)
- CSS 轮廓 (30)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 中级教程 (30)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)
- SVG 文本 (32)