来源:互联网 更新时间:2025-07-29 11:29
本文介绍了能破解文本马赛克的Depix项目。其基于线性方框滤波器原理,利用德布鲁因序列生成查找图像,通过匹配像素化区块还原文本,非AI生成式恢复。该项目有字体等限制,用法简单,可结合OCR实现自动化,前人曾用穷举法,作者批判了GAN的生成式恢复。
像素化(马赛克)是一种常见的打码方式,通过降低图像中部分区域的分辨率来隐藏某些关键信息。不过,道高一尺魔高一丈啊……
比如本文介绍了的这个相当有意思的破解马赛克项目Depix,Github上线三天近7000 star,目前,已接近15000 star。
毕竟这个效果看起来相当好了,如果自制数据集配合PaddleOCR识别,恐怕连识别部分都不需要人工干预了
接下来,我们就试着研究下这个项目。
首先,作者介绍了马赛克的原理。作者说道,他要破解的目标是使用普通线性滤波器的像素化结果。我们不妨认为下面这个表情包可以分割成四个大小相同的方块,那么,通过线性滤波器每个方块会得到一个计算结果,再用这个结果填充该方块内输出图像上每个像素点的值。所以,我们会看到,这个笑脸完全在输出结果中完全被隐藏了,这就是马赛克最简单的实现方式之一。
Depix并不是凭空产生的,前人的工作成果给了作者很大的启发。如果在缺少可以还原图像的已知信息,过往的研究方案无一例外地选择了看似最“笨”的办法:如果我要破解某个信用卡号,那就对所有信用卡号它们进行像素化,然后将恢复结果与被像素化的卡号进行比较。我们可以理解这类匹配的方式,类似于穷举。
熟悉GAN技术的读者可能知道,理论上我们可以通过GAN在某种程度上实现马赛克“消除”。但是,用AI技术的话,恢复的马赛克区域本质上是生成的,并不是真正的原始结果。本文中,作者对此也批判了一番:The AI generates faces that result in the same image when pixelized, but the face it recovers is not the original.
首先明确研究的场景还是有限制的,这是基于文本的马赛克恢复研究。
由于线性方框滤波器是一种确定性算法,对同样的值执行像素化通常会产生同样的像素化 block。使用同样位置的 block 对相同文本执行像素化,会得到同样的 block 值。我们可以尝试像素化文本来找出匹配的模式。更幸运的是,我们还可以把每个block或block组合看作一个子问题。
项目的局限:作者没有选择创建潜在字体的查找表。该算法要求在相同背景上具备相同的文本大小和颜色。
最终解决方案:使用待处理字符的 De Bruijn sequence (德布鲁因序列),将其粘贴到相同的编辑器中,然后截图。该截图可以用作相似 block 的查找图像。
问题:什么是De Bruijn sequence?到这个网站试试看就知道啦。De Bruijn Sequence Generator for Faster Shift Register Code Bruteforcing
德布鲁因序列包括待处理字符的所有双字符组合。这很重要,因为一些block会重叠两个字符。找出恰当的匹配需要搜索图像中具备相同像素配置的block——换句话说,穷举地更完善了,这样将像素化的block与匹配block对照的时候,匹配上的概率更高。双字符德布鲁因序列:
在以下测试图像中,Depix 算法无法找到「o」的一部分。这是因为在搜索图像中,搜索 block 还包含下一个字母(「d」)的一部分,但在原始图像中这里有个空格。——换言之,这个算法有个比较大的缺点,那就是对“匹配”要求比较苛刻
该项目用法相当简单,一行命令搞定:
python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png登录后复制 In [3]
# !git clone https://github.com/beurtschipper/Depix登录后复制
Cloning into 'Depix'...remote: Enumerating objects: 89, done.remote: Total 89 (delta 0), reused 0 (delta 0), pack-reused 89Unpacking objects: 100% (89/89), done.Checking connectivity... done.登录后复制 In [1]
%cd Depix/登录后复制
/home/aistudio/Depix登录后复制 In [ ]
!python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png登录后复制
掌握了Depix,我们也可以根据算法的要求准备自己的德布鲁因序列与带测试马赛克截图。一个关键点是,字体大小一致。这个简单操作实际做起来还有一丢丢麻烦。
In [6]!python depix.py -p images/testimages/21.png -s images/searchimages/03.png -o output3.png登录后复制
INFO:root:Loading pixelated image from images/testimages/21.pngINFO:root:Loading search image from images/searchimages/03.pngINFO:root:Finding color rectangles from pixelated spaceINFO:root:Found 62 same color rectanglesINFO:root:45 rectangles left after moot filterINFO:root:Found 11 different rectangle sizesINFO:root:Finding matches in search imageINFO:root:Removing blocks with no matchesINFO:root:Splitting single matches and multiple matchesINFO:root:[2 straight matches | 38 multiple matches]INFO:root:Trying geometrical matches on single-match squaresINFO:root:[4 straight matches | 36 multiple matches]INFO:root:Trying another pass on geometrical matchesINFO:root:[4 straight matches | 36 multiple matches]INFO:root:Writing single match results to outputINFO:root:Writing average results for multiple matches to outputINFO:root:Saving output image to: output3.png登录后复制
这里用某知名聊天软件的截图马赛克功能做了个尝试,手法比较粗糙,把上下左右行的字符给混进来了,导致效果不太好,不过,也许火眼金睛的读者能猜出加密的什么。哈哈。
魔兽世界虚空汇聚之地任务攻略
魔兽世界塔碧卡任务攻略
魔兽世界摇曳蜂舞任务攻略
密室逃脱设计师需要擅长哪项技能 蚂蚁新村今日答案2025.8.26
蚂蚁庄园每日答题答案2025年7月29日
蚂蚁庄园小鸡答题今日答案2025年7月29日
光遇7.28大蜡烛在哪里
用AI剪辑10分钟生成完整短视频,操作全记录
小小峨眉山拿下 外骨骼机器人启用:80元可租用3小时
美国加州盗抢犯罪猖獗!一店主给价值2美元的面包上锁
ppm 格式图片如何打开 与其他格式转换方便吗
蚂蚁庄园小课堂今日最新答案2025年7月30日
xcf 格式文件用 ps 能打开吗 图层信息会保留吗
《四海兄弟:故乡》转投虚幻5背后考量:专注打磨游戏
龙石战争刺客流玩法介绍
赠送京东Plus年卡等:喜马拉雅VIP会员年卡买1得5限时158元
打码就安全了?像素化(马赛克)破解技术Depix简介
龙石战争是什么游戏
现代汽车集团对美电动车出口暴跌88% 或引发连锁危机
崩坏星穹铁道3.5前瞻直播兑换码是什么
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc