《数字水印》实验教学大纲
课程名称:
| 数字水印
|
|
|
课程编号:
| 408420
|
|
|
适用专业:
| 计算机科学与技术
|
|
|
总 学 分:
| 2
|
|
|
总 学 时:
| 24
|
|
|
其中实验学时
| 12
|
|
|
一、课程的性质、目的和任务
数字水印是一门新兴的学科。数字水印技术,即将秘密信息隐藏在不易被人怀疑的普通文件中,使秘密信息不易被别有用心者发现,当然他们就不易对消息进行窃取、修改和破坏,从而保证了消息在网络上传输的安全性。数字水印是信息隐藏技术的一个重要分支,水印的理论、嵌入提取算法、攻击等是目前学术界研究的重点问题。
《数字水印》课程实践性较强,通过实践可以使学生加深对理论知识的理解,掌握并实现常用的信息隐藏方法及攻击方法,提高分析问题、解决问题的实际能力,为进一步深入学习和研究该领域的知识打下基础。由于课时、实验室条件等限制,不可能做大量实验。结合授课内容和实际情况,针对水印的嵌入、提取和攻击,设计了12学时的实验。其它实践内容,以课后作业方式引导学生实践。
二、实验教学基本要求
《信息隐藏技术》实验使用信息安全实验室计算机及网络环境,可以选用实验室已安装的Visaul C++或Matlab调试环境。。
上机实验要求:
1、准备好上机所需的程序;
2、上机输入和调试自己所编写的程序;
3、上机结束后,应整理出实验报告,实验报告应包括以下内容:实验项目名称;算法分析;程序清单;运行结果;对运行情况所作的分析以及本次调试程序所取得的经验,如果程序未能通过,应分析其原因。
三、实验项目与类型
序号
| 实验项目
| 学时
| 实验性质
| 备注
|
验证
| 综合
| 设计
| 研究
探索
| 必做
| 选做
|
1
| Matlab图像工具箱的使用
| 3
| √
|
|
|
| √
|
|
2
| 经典水印算法的实现
| 3
| √
|
|
|
| √
|
|
3
| 数字图像水印方案的设计
| 6
|
|
| √
|
| √
|
|
四、实验教学内容
实验一:Matlab图像工具箱的使用
1、 实验目的
该实验为验证性实验。目的是通过实验使学生了解Matlab语言,熟悉并掌握Matlab中有关图像处理的常用语句,熟悉Matlab使用技巧,能够用Matlab语言熟练地对数字图像进行各种处理。。
2、方法原理
利用matlab7.0及以上版本提供的工具对图像进项操作。
常用的Matlab图像处理命令
①imread
功能:从图形文件中读取图像
语法:A=imread(filename,fmt)
②imwrite
功能:把图像写入图形文件中
语法:imwrite(A,filename,fmt)
③imshow
功能:显示图像
语法:imshow(A)
④im2uint8
功能:转换图像矩阵为8位无符号整型
语法:B=im2uint8(A)
⑤im2double
功能:转换图像矩阵为取值范围在[0 1]的双精度型
语法:B=im2double(A)
⑥plot(x,y)
功能:绘制二维图形的函数,若X,Y是向量,必须具有相同的维数,且必须同是行向量或同是列向量,则以第一个变量为横坐标,以第二个变量为纵坐标。
语法:plot(x,y)
3、主要实验仪器及材料
计算机、VC++6.0,matlab
4、实验内容
(1)用Matlab编写程序,读出标准图像lena.bmp,并在窗口显示。
(2)读出该图像中第125行中第125~174列的元素值,将其存储在文件中。
(3)绘制lena图像的直方图。
(4)读取lena图像的数据,所有像素的最低位清0,在窗口显示修改后的图像。
实验二:经典数字水印算法的实现
1、实验目的
该实验为验证性实验。目的是通过实验使学生理解数字水印的基本原理,理解数字水印系统的构成,掌握经典水印算法,提高运用知识的能力和动手能力,学会在数字图像中嵌入和提取自定义的水印信息,并对水印的不可见性、鲁棒性进行分析。
2、方法原理
利用COX算法的原理,掌握Matlab编程语言和调试环境。
3、主要实验仪器及材料
计算机、VC++6.0,matlab7.0及以上版本
4、实验内容
该实验内容是通过Matlab编程实现经典水印算法,并对算法性能进行简单的分析。具体步骤如下:
(1)使用Matlab语言编程实现LSB或NEC算法。其中水印嵌入函数命名为Embed.m,水印提取函数命名为Detect.m。
(2)任意选择原始图像、水印信息,给定水印嵌入强度,调用水印嵌入函数Embed.m得到嵌入水印图像。
(3)根据嵌入水印图像,调用水印提取函数Detect.m,得到提取水印。
(4)计算原始水印和提取水印之间的相似度,判断水印是否正确提取。
(5)观察原始图像和嵌入水印图像,根据ITU-R Rec.500协议的图像质量等级级别,主观评价水印的不可见性。
(6)调用峰值信噪比函数PSNR,通过计算原始图像和嵌入水印图像之间的PSNR值,客观评价水印的不可见性。
(7)对于同一幅原始图像,固定水印嵌入强度,改变水印容量,重复步骤2~6,分析水印容量和水印不可性的关系(LSB、NEC)。
(8)对于同一幅原始图像,固定水印容量,改变水印嵌入强度,重复步骤2~6,分析水印嵌入强度和水印不可性的关系(NEC)。
(9)水印容量和水印嵌入强度固定,选择不同类型或不同大小的原始图像,重复步骤2~6,分析载体图像的类型及大小和水印不可见性的关系(LSB、NEC)。
(10)采用各种攻击方法对嵌入水印图像进行攻击,分析该算法的鲁棒性(LSB、NEC)。
实验三:数字图像水印方案的设计
1、实验目的
该实验为设计性实验。目的是通过实验使学生理解数字水印的原理和框架,掌握数字水印的攻击方法和水印性能的评价方法,学会综合运用所学知识,改进经典的水印算法,设计一个数字图像水印方案,提高分析问题、解决问题的能力。
2、方法原理
综合运用所学知识,设计一个数字图像水印方案,且编程实现,并对其性能进行分析。
3、主要实验仪器及材料
计算机、VC++6.0、matlab7.0及以上
4、实验内容
(1)实验前要做好充分准备,阅读相关文献,综合运用所学的数字水印知识,从提高水印的不可见性、鲁棒性、容量等方面改进经典的水印算法,设计一个数字图像水印的嵌入提取算法。
(2)用Visual C++或Matlab编程实现。
(3)对水印算法的性能进行分析,改进设计方案。
(4)注意记录实验过程中的数据、出现的问题及解决问题的方法。
五、考核方法
1.教师对学生实验过程完成情况进行详细登记,记入实验成绩中。
2.学生完成实验后按要求撰写实验报告,根据实验报告确定每次实验的等级。
3.实验成绩按20%比例计入课程期评总成绩中。
六、实验指导书及主要参考书目
[1] 刘瑞祯,谭铁牛.数字图像水印研究综述.通信学报,2000,21(8):39~48
[2] 杨义先,钮心忻.多媒体信息伪装综论.通信学报,2002, 23(5):32~38
[3] R. G. Van Schyndel, A. Z. Tirkel. A digital watermark . IEEE International Conference on Image Processing, 1994,2:86~90
[4] I. J. Cox, J. Kilian, F. T. Lerghton. Secure spread spectrum watermarking for multimedia . IEEE Transactions on Image Processing, 1997,6(12):1673~1687
[5] 王志雄,王慧琴,李人厚.数字水印应用中的攻击和对策综述.通信学报.2002,23(11):74~79
[6] 王道顺,梁敬弘,戴一奇.图像水印系统有效性的评价框架.计算机学报.2003,26(7):779~788
[7] F. A. P. Petitcolas. Watermarking schemes evaluation. IEEE Transactions on Signal Processing, 2000,17(5):58~64
[8] S. Pereira,S. Voloshynovkiy, Second Generation benchmarking and application oriented evaluation. LNCS 2137,Berlin:Spinger Verlag,2001:340~353
主 撰 人: 易叶青
审 核 人:袁辉勇
2012.6