本篇文章2815字,读完约7分钟
雷锋。搜索“雷锋”。com(公开号)出版社:付强刘,这篇文章的作者,这篇文章最初发表在智虎和雷锋。com已被授权。
通过一个新的实验,简要介绍了在频域中加入数字盲水印的方法,并进一步验证了其抗攻击性。在上述实验的基础上,总结了避免数字盲水印的方法。(多画面警告)
本文共分为四个部分。第一部分是总结。第二部分介绍了频域数字盲水印的原理;第三部分是盲水印的攻击实验。第四部分总结;
一.概述
本文提供了一种实现“阿里通过肉眼无法识别的识别码跟踪员工”的技术手段。通过查看其他受访者的分析,阿里可能没有使用频域水印技术。
与空域方法相比,频域盲水印方法具有更强的隐蔽性和抗攻击性。这种算法很难水印,你不知道水印被添加到哪个频带,而且攻击经常会破坏图像的原始内容。简要介绍了如何在频域中加入数字盲水印。对于网络,你可以添加一个背景图片来跟踪截图。
盲水印是指人们不能感知的水印,包括不可见或听不见的(是的,数字盲水印也可以用于音频)。它主要用于视听作品、数字图书等。目的是保护和跟踪版权而不破坏原始作品。
添加数字盲水印的方法可以简单地分为空域方法和频域方法。这两种方法都增加了冗余信息,但在不改变编码和压缩条件的情况下,它们不会改变原始图像的大小(添加盲水印后的大小为10mb)。
空域是指空之间的域,我们每天看到的图像是空域。在空域添加数字水印的方法是直接对空域的图像进行操作(之所以如此复杂,是因为不仅原始图像是空域的,而且原始图像的差异等。
我们经常说声音有多高,这个音高指的是频率;类似地,当图像的灰度级强烈变化时,它也可以被认为是图像的频率。频域数字水印方法是指通过一些变换手段(傅立叶变换、离散余弦变换、小波变换等)将图像变换到频域(小波域)。),在频域中向图像添加水印,然后通过逆变换将图像变换到空域间。与空域方法相比,频域方法更隐蔽、更抗攻击。
所谓对水印的攻击就是破坏水印,包括涂抹、剪切、缩放、旋转、压缩、加噪、过滤等。数字盲水印不仅需要高敏捷性(不可捕捉),还需要强防御(抗攻击)。就像多塔的敏捷英雄通常是脆弱的一样,数字盲水印的不可见性和鲁棒性是相互排斥的。(稳健性是反侵略性的学名)
第二,频域数字盲水印的制作方法。信号有频率,一个信号可以看作是无数不同阶正弦信号的叠加。
上面的公式是傅立叶变换公式,它指的是时域信号(我们称时域为信号,因为它与时间有关,而我们经常称空域为图像,它与空有关),它指的是频率。对于想对傅里叶变换有深入了解的学生,建议阅读《信号与系统》或《数字信号处理》的教材,这些教材系统地介绍了傅里叶变换、快速傅里叶变换、拉普拉斯变换、z变换等。
简而言之,我们有一种将时域信号转换到频域的方法,并且我们还可以将二维信号(图像)转换到频域。如上所述,图像的频率是指图像灰度变换的强情况。关于这方面的更系统的知识,见冈萨雷斯的图像处理。
以傅里叶变换为例,介绍了在频域中给图像添加数字盲水印的方法。请注意,因为图像是离散信号,所以我们实际上使用离散时间傅立叶变换。在本文中,我们使用二维快速傅立叶变换。快速傅立叶变换相当于离散时间傅立叶变换,通过蝶形合并的方式更快。在下文中,傅立叶变换是二维快速傅立叶变换。
上图显示了叠加数字盲水印的基本过程。编码有两个目的,一个是加密水印,另一个是控制水印能量的分布。下面是一个叠加数字盲水印的实验。
这是原图,尺寸300*240
之后,进行傅立叶变换,变换后的频域图像如下所示。
这是我想添加的水印,大小是200*100。
这是我的编码水印。编码方法采用随机序列编码。通过编码,水印被随机分配到不同的频率并被加密。
将上述图片的光谱与原始图片叠加,可以看出图像的光谱发生了很大的变化。
然后,对叠加水印的频谱进行傅里叶逆变换,得到叠加有数字水印的图像,
肉眼几乎看不到水印图像与原始图像的区别,因此数字盲水印被叠加在图像上。
事实上,我们以噪声的形式将水印添加到原始图像中。
下图显示了空域中水印图像和原始图像之间的残差(对比度被调整,否则残差将被忽略)。
可以看出,实际上,上述方法在频域中增加了冗余信息(如噪声)。这些噪声遍布整个图形,在空域中不容易被破坏。
最后,均方误差为0.0244
峰值信噪比为64.2分贝
那么,为什么光谱发生了很大的变化,而在空区域变化却如此之小呢?这是因为我们避开了图像的主频。下图显示了颠倒的原始图像的频谱,其能量主要集中在低频。
水印提取是水印叠加的逆过程,
提取后,我们得到以下水印,并问:为什么水印应该是对称的?嘿嘿,想想吧。
3.攻击性实验本部分通过频域方法进行攻击性实验,验证叠加数字盲水印的鲁棒性。
1.涂抹攻击,这是攻击后的画面:
然后进行水印提取:
2.剪辑攻击是指互联网上经常使用的截屏捕捉到一部分:
进行循环完井:
提取水印:
3.缩放攻击(该实验制作清晰,水印能量高,不可见性不强):
提取水印(水印添加不充分,混合严重);
4.旋转攻击(普通代码):
提取水印:
5.jpeg压缩后(我似乎用普通代码做了这个实验,能量主要加到高频):
提取结果:
6.ps 4像素镶嵌/均值滤波等。,攻击后的图像
水印提取后的图像:
7.截图,
截屏后,我手动挖掘出要测试的图像区域,并对原始图像大小进行采样或插值:
测试结果:
8.亮度等级(明码):
水印提取:
9.色调调整(清晰代码):
水印提取:
10.饱和度调整(明码):
水印:
11.对比度(明码):
水印:
12.评论区被waifu2x去噪:
去水印:
13.美图秀秀,我是一个美人,美白、脱皮、脸红和唇彩为我的女票(有一种很可耻的感觉,舔我的脸):
提取水印:
14.背景是否坚实并不重要
当能量系数为10时给图片加水印:如果太嘈杂,降低能量系数,但是水印的私密性和鲁棒性是相互排斥的
最终提取的水印:
15.我将rgb>600的像素设置为(0,255,0)来模拟ps魔术手。
提取水印为:
16.屏幕截图,好吧,我在这个实验中哭了
屏幕截图:
实验结果:
对我来说,将水印能量系数调整到2000是没有用的。
截屏后,原始图像的信噪比约为4db。我已经尝试了多采样滤波,但我不能过滤掉屏幕截图造成的噪音。屏幕截图不仅引入了椒盐噪声、乘法噪声,还具有规则的雪花纹理(云纹图案)。
第四,基于频域的盲水印方法隐蔽性强,鲁棒性高,能够抵抗大多数攻击。然而,对于盲水印算法,鲁棒性和不可见性是互斥的。
本文的方法不适用于屏幕拍摄。我已经失败了许多实验。哪个伟大的上帝能做或讨论它?没有二值化,这是我想当然的。我认为这是不可能的,所以我没有做实验。其余的我已经试过了,我可以用给定的方法调整能量系数。
我认为每个人都最关心什么是最安全的,不会被跟踪。
任何不涉及图像的事情都是安全的,比如做笔记。
包含图像的屏幕截图是最安全的,
截图非常不安全。