基于离散小波变换(DWT)的数字图像盲水印嵌入与提取系统
项目介绍
本项目实现了一套基于离散小波变换(DWT)的数字图像盲水印方案。系统旨在将二值化标记信息隐蔽地嵌入到载体图像的频域系数中,并通过盲提取技术在不需要原始图像的情况下恢复水印。该方案结合了图像置乱加密和量化索引调制(QIM)技术,能够在保证载体图像视觉质量的同时,对抗多种常见的图像处理攻击,适用于版权保护、身份认证及多媒体信息安全领域。
功能特性
- 盲提取能力:提取阶段完全不需要原始载体图像,仅凭含水印图像、嵌入强度和密钥即可恢复信息。
- 多重加密保障:利用 Arnold 置乱算法对原始水印进行空间域加密,有效对抗剪切攻击并提高水印信息的安全性。
- 稳健的嵌入策略:在 DWT 分解的水平低频子带(LH)进行量化嵌入,平衡了不可见性与鲁棒性。
- 攻击模拟评估:内置高斯噪声、中值滤波和局部剪切等多种攻击模型,用于验证水印的生存能力。
- 量化客观评价:通过计算峰值信噪比(PSNR)评估图像质量,通过归一化相关系数(NC)评估水印提取的准确度。
系统要求
- 运行环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Image Processing Toolbox(图像处理工具箱)。
- 硬件要求:标准 PC 配置,建议内存 4GB 以上。
详细实现逻辑
系统运行遵循以下核心流程:
1. 图像预处理与水印加密
系统首先将输入图像统一调整为 512x512 的标准尺寸。水印图像被处理为 64x64 的二值图像。为了打破水印像素间的空间相关性,系统采用 Arnold 变换对二值水印进行迭代置乱。通过矩阵坐标变换公式,将原始水印的像素位置打乱,形成加密后的置乱水印。
2. 频域分解
程序对载体图像执行单层二维离散小波变换(使用 Haar 小波基)。图像被分解为四个子带:近似子带(LL)、水平子带(LH)、垂直子带(HL)和对角细节子带(HH)。根据算法设计,嵌入操作主要针对 LH 子带进行。
3. 量化索引调制嵌入
系统通过分块采样的方式在 LH 子带中确定嵌入点。对于每一个置乱后的水印比特,系统采用量化步长(嵌入强度)进行处理:
- 若水印比特为 1,则将该系数调整至当前量化区间的 75% 处。
- 若水印比特为 0,则将该系数调整至当前量化区间的 25% 处。
这种方法确保了在提取时,通过判断系数落在量化区间的哪个部分即可识别水印信息,而无需比对原始系数。
4. 逆变换与攻击模拟
完成系数修改后,系统执行逆离散小波变换(IDWT)重构图像。随后,程序自动对含水印图像施加一系列攻击测试:
- 高斯噪声攻击:模拟传输过程中的信道噪声。
- 中值滤波攻击:模拟图像平滑处理。
- 剪切攻击:将图像局部区域置黑,测试局部信息丢失对整体水印恢复的影响。
5. 盲提取还原
在提取阶段,系统对受损或受攻击的图像重新进行 DWT 分解。提取程序遍历 LH 子带的变化位置,计算每个系数对嵌入强度的模数余项。根据余项与量化步长中值的关系判定提取的比特值。最后,利用 Arnold 逆变换公式及预设密钥,将提取的乱序数列还原为原始二值图像。
关键函数与算法分析
这是一种经典的图像置乱映射,通过对像素坐标进行线性同步变换实现加密。在嵌入前执行正向变换可使水印在遭受剪切攻击时,由于提取出的信息分散在原始位置,从而仍能通过逆变换恢复出可辨认的水印轮廓。
Haar 小波的使用提供了一种高效的频域分解方式。DWT 具有良好的时频局部化特性,使得水印信息可以隐藏在人类视觉系统不敏感的细节子带中,从而在保持高 PSNR 值的(通常大于 30dB)同时,确保图像外观无明显失真。
提取过程中使用的量化判定逻辑遵循盲检测原理。系统通过计算
mod(val, strength) 与
strength / 2 的关系来决定像素极性。这种方式对图像亮度的整体微调具有较强的容忍度,是实现盲提取的核心技术支撑。
- 评估指标 (PSNR & NC):
- PSNR (Peak Signal-to-Noise Ratio):用于衡量含水印图像与原图差异,值越高表示图像保真度越好。
- NC (Normalized Correlation):用于衡量提取出的水印与原始水印的相似度,NC 值越接近 1,表示水印恢复越完整,算法的鲁棒性越强。