欢迎来到天天文库
浏览记录
ID:21503446
大小:29.00 KB
页数:7页
时间:2018-10-22
《基于特征点和bch码的大容量水印嵌入方案》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于特征点和BCH码的大容量水印嵌入方案 摘要 针对目前大部分水印算法嵌入容量小、抗剪切等几何攻击性能差的缺点,提出一种利用特征点对匹配关系进行图像矫正,并通过BCH码进行纠错的大容量水印嵌入方案。本方案利用SURF算法从原始图像和受攻击图像中分别提取特征点,结合向量匹配法及RANSAC算法进行误匹配特征点对排除,根据特征点对间的坐标关系,用最小二乘法拟合出仿射矩阵进行图像矫正。实验结果表明,本算法具有水印嵌入容量大、鲁棒性强、透明性好等特点。 【关键词】BCH码SURF特征点向量匹配法RANSA
2、C算法 目前已发表的水印文献中能有效抵御常规攻击及几何(RST)攻击的大多是基于图像特征点或特征区域的算法。例如文献[1][2][3]虽然都可以有效应对旋转、平移、缩放等一般几何攻击,文献[2]甚至可以抵御部分联合攻击及剪切攻击,但其统一缺点是水印嵌入容量小。基于模版的水印矫正技术虽然可以解决水印嵌入容量小的问题,但这类水印的提取方案对模版准确性依赖太强,一旦模版在攻击中受损就会导致矫正方案的失败。 本文在吸取前人经验的基础上,提出一种既能保持较大水印嵌入容量,又能有效抵御剪切等几何攻击的鲁棒性水印
3、算法。本算法利用从原始图像和受攻击图像中提取出来的特征点对进行匹配,根据特征点对间的坐标关系结合最小二乘法拟合出受攻击图像的仿射变换矩阵,对受攻击图像进行几何矫正。为了应对剪切攻击对水印图像造成的损害,本文还结合BCH码,将水印图像编码后在DWT-DCT变换域进行嵌入,即使图像遭受大面积剪切攻击,只要剪切幅度不超过原始图像的50%都能提取出水印信息。 1特征点的提取及筛选方案 本文利用SURF算法从原图像和受攻击图像中分别提取特征点,由于提取出来的特征点数目可能高达几百个,但并不是所有的特征点都适合
4、用作模版匹配,因此在特征点提取出来后还得做筛选,只选择中间尺度范围的特征点。接着选出
5、det(Happrox)
6、值最大的特征点,设其坐标为(c1,c2),对应的尺度为σ,生成的圆形特征区域如式(1)所示。 (1) 从剩下的特征点中选出
7、det(Happrox)
8、值最大,且由式(1)确定的特征区域与之前的区域不重叠的特征点,对所有特征点重复上述操作,根据图像纹理丰富程度的不同选出20个左右的特征点保存为密钥。 2仿射矩阵的估计 2.1最佳匹配特征点对的挑选 图像在遭受攻击后提取出来的鲁棒性特征点
9、,与从原始图像中挑选出来的特征点可能会产生误匹配情况,为了提高特征点对的匹配准确性,本文采用最近邻向量匹配法找出所有潜在匹配的特征点对,但仍然可能存在误匹配的情况,因此使用RANSAC算法进行特征点对的二次挑选。 2.2最小二乘法 原始图像和受攻击图像最佳匹配特征点对筛选出来后,就可以通过点对之间的关系进行受攻击图像仿射矩阵的估计了。假设图像仿射变换前后的坐标关系如式(2)所示,其中(u,v)为某特征点a的原始坐标、(x,y)为a点经仿射变换后与(u,v)相匹配的特征点坐标,记作点b: 3水印编码
10、方案 在水印处理方面,为了应对水印在图像传输过程中的突发或随机差错,早已有学者引入了各种信道编码方案。本文在多方比较之下选用了具有优秀检错、纠错性能,且编码方案简单成熟的BCH码。 利用BCH码编码纠错的问题在于,信道编码仅在矫正和检测单个差错和不太长的差错时才更有效。而图像攻击一般是对一段连续比特单元的修改或删除。为了保证出错的单元之间足够离散,提高水印抗突发错误的能力,本文采用交织算法对BCH编码后的码流进行处理。 设n为码字长度,t为纠错个数,k为编码消息组长度,W为待编码的水印图像,将W读
11、作码流S1后按照k位一组划分消息组并对所有消息组进行BCH编码获得码流S2。 交织过程如图2所示(图2假设交织深度为48),将码流S2按照图2所示的方法进行交织重排,直至所有单元重排完毕获得码流S3。一般来说,交织深度越深,码流离散度越好,而当交织深度足够深时,信源离散度已经足够,再继续增加交织深度也无法获得更为理想的编码纠错效果。在经过一系列对比实验后,本文选择的交织深度为124。 在进行反交织编码时,只要将图2所示的过程进行逆操作即可。 4水印的嵌入与提取方案 4.1水印的嵌入方案 本文结
12、合DWT和DCT变换的优点,在DWT-DCT域?M行水印嵌入,具体嵌入步骤如下: (1)将设定区域图像剪裁出来并进行一层DWT变换,变换后取其低频系数部分LL1进行8×8分块DCT变换,共获得x个DCT子块,每个子块包含64个待选嵌入位置,按照尽量分散的原则根据S3的长度分配每个DCT子块的嵌入比特数z: (6) (2)按顺序扫描S3中每个比特,设S3当前检索位置为k(k=1……length(S3)),在每个DCT子块中按照Zigza
此文档下载收益归作者所有