基于特征点和BCH码的大容量水印嵌入方案

2017-05-10 08:05孙文静陈建华章无用
电子技术与软件工程 2017年8期

孙文静+陈建华+章无用

摘 要

针对目前大部分水印算法嵌入容量小、抗剪切等几何攻击性能差的缺点,提出一种利用特征点对匹配关系进行图像矫正,并通过BCH码进行纠错的大容量水印嵌入方案。本方案利用SURF算法从原始图像和受攻击图像中分别提取特征点,结合向量匹配法及RANSAC算法进行误匹配特征点对排除,根据特征点对间的坐标关系,用最小二乘法拟合出仿射矩阵进行图像矫正。实验结果表明,本算法具有水印嵌入容量大、鲁棒性强、透明性好等特点。

【关键词】BCH码 SURF特征点 向量匹配法 RANSAC算法

目前已发表的水印文献中能有效抵御常规攻击及几何(RST)攻击的大多是基于图像特征点或特征区域的算法。例如文献[1][2][3]虽然都可以有效应对旋转、平移、缩放等一般几何攻击,文献[2]甚至可以抵御部分联合攻击及剪切攻击,但其统一缺点是水印嵌入容量小。基于模版的水印矫正技术虽然可以解决水印嵌入容量小的问题,但这类水印的提取方案对模版准确性依赖太强,一旦模版在攻击中受损就会导致矫正方案的失败。

本文在吸取前人经验的基础上,提出一种既能保持较大水印嵌入容量,又能有效抵御剪切等几何攻击的鲁棒性水印算法。本算法利用从原始图像和受攻击图像中提取出来的特征点对进行匹配,根据特征点对间的坐标关系结合最小二乘法拟合出受攻击图像的仿射变换矩阵,对受攻击图像进行几何矫正。为了应对剪切攻击对水印图像造成的损害,本文还结合BCH码,将水印图像编码后在DWT-DCT变换域进行嵌入,即使图像遭受大面积剪切攻击,只要剪切幅度不超过原始图像的50%都能提取出水印信息。

1 特征点的提取及筛选方案

本文利用SURF算法从原图像和受攻击图像中分别提取特征点,由于提取出来的特征点数目可能高达几百个,但并不是所有的特征点都适合用作模版匹配,因此在特征点提取出来后还得做筛选,只选择中间尺度范围的特征点。接着选出|det(Happrox)|值最大的特征点,设其坐标为(c1,c2),对应的尺度为σ,生成的圆形特征区域如式(1)所示。

(1)

从剩下的特征点中选出|det(Happrox)|值最大,且由式(1)确定的特征区域与之前的区域不重叠的特征点,对所有特征点重复上述操作,根据图像纹理丰富程度的不同选出20个左右的特征点保存为密钥。

2 仿射矩阵的估计

2.1 最佳匹配特征点对的挑选

图像在遭受攻击后提取出来的鲁棒性特征点,与从原始图像中挑选出来的特征点可能会产生误匹配情况,为了提高特征点对的匹配准确性,本文采用最近邻向量匹配法找出所有潜在匹配的特征点对,但仍然可能存在误匹配的情况,因此使用RANSAC算法进行特征点对的二次挑选。

2.2 最小二乘法

原始图像和受攻击图像最佳匹配特征点对筛选出来后,就可以通过点对之间的关系进行受攻击图像仿射矩阵的估计了。假设图像仿射变换前后的坐标关系如式(2)所示,其中(u,v)为某特征点a的原始坐标、(x,y)为a点经仿射变换后与(u,v)相匹配的特征点坐标,记作点b:

3 水印编码方案

在水印处理方面,为了应对水印在图像传输过程中的突发或随机差错,早已有学者引入了各种信道编码方案。本文在多方比较之下选用了具有优秀检错、纠错性能,且编码方案简单成熟的BCH码。

利用BCH码编码纠错的问题在于,信道编码仅在矫正和检测单个差错和不太长的差错时才更有效。而图像攻击一般是对一段连续比特单元的修改或删除。为了保证出错的单元之间足够离散,提高水印抗突发错误的能力,本文采用交织算法对BCH编码后的码流进行处理。

设n为码字长度,t为纠错个数,k为编码消息组长度,W为待编码的水印图像,将W读作码流S1后按照k位一组划分消息组并对所有消息组进行BCH编码获得码流S2。

交织过程如图2所示(图2假设交织深度为48),将码流S2按照图2所示的方法进行交织重排,直至所有单元重排完毕获得码流S3。一般来说,交织深度越深,码流离散度越好,而当交织深度足够深时,信源离散度已经足够,再继续增加交织深度也无法获得更为理想的编码纠错效果。在经过一系列对比实验后,本文选择的交织深度为124。

在进行反交织编码时,只要将图2所示的过程进行逆操作即可。

4 水印的嵌入与提取方案

4.1 水印的嵌入方案

本文结合DWT和DCT变换的优点,在DWT-DCT域進行水印嵌入,具体嵌入步骤如下:

(1)将设定区域图像剪裁出来并进行一层DWT变换,变换后取其低频系数部分LL1进行8×8分块DCT变换,共获得x个DCT子块,每个子块包含64个待选嵌入位置,按照尽量分散的原则根据S3的长度分配每个DCT子块的嵌入比特数z:

(6)

(2)按顺序扫描S3中每个比特,设S3当前检索位置为k(k=1……length(S3)),在每个DCT子块中按照Zigzag扫描顺序选择z个合适的位置对S3(k)进行嵌入,z个位置全部嵌满后自动搜索下一子块继续对S3(k)进行嵌入。

(3)记在DCT子块中当前嵌入位置为j,S3比特流的嵌入值按照如下公式(7)进行:

γ为量化补偿参数,取0~0.25之间,为量化步长,是JPEG标准量化表中与选定嵌入位置j点对应的量化系数,fi(j)为当前嵌入位置点的DCT系数值。

(4)进行IDCT、IDWT得到嵌入水印后的部分载体图像W1。

(5)将W1重新合并入原载体图像中,还原成一副完整的载体图像。

4.2 水印W的提取方案

(1)将经矫正和重同步后的图像按照实验设定区域进行剪裁,进行一层DWT变换,取出低频子带部分LL1并对其进行8×8的DCT变换,在每一个DCT子块当中,按公式(9)提取水印流:

其中

(9)

为公式(7)中选定的量化步长,是JPEG标准量化表中与位置为j的嵌入点对应的量化系数,fi'(j)为从剪裁区域低频系数部分中位置j提取出来的DWT-DCT变换域值;

(2)进行反交织编码和反BCH编码;

(3)重构水印;

5 实验及仿真结果

本文采用512*512的lena.bmp图像做水印容量测试,实验使用的仿真工具为2011b版MATLAB,交织深度为124,BCH编码的方案为n=31,k=6,t=7。当水印嵌入容量为576bits时,PSNR为46.2024;当水印嵌入容量为2304bits时,PSNR为46.1976;即使水印嵌入容量为4096bits时,PSNR也能达到45.2184,说明本文水印嵌入方案具有良好的隐蔽性。而如果愿意适当牺牲BCH码纠错性能,则嵌入更大容量的水印图像也成为可能。

为了验证本文算法的鲁棒性,本小节设计了两组对比实验与文献[8]的实验结果做比较,所有算法均以误码率(BER)来表示误差。载体图像选用512*512的lena.bmp,水印嵌入容量为576 bits,交织深度为124。每组实验分别采用三种不同的BCH编码方案,设n为码字长度,t为纠错个数,k为编码消息组长度,当编码方案为n=31,k=6,t=7时,BCH编码后实际嵌入容量为2976 bits,在本文中用算法一表示;当编码方案为n=63,k=7,t=15时,BCH编码后实际嵌入容量为5332 bits,在本文中用算法二表示;当编码方案为n=127,k=8,t=31时,BCH编码后实际嵌入容量为9176 bits,在本文中用算法三表示。表1中文献[8]算法水印容量为64 bits,表2中文献[8]算法水印容量为128bits,是100幅图像的BER均值。

表2中仿射变换1的变换系数为(1.007,0.01;0.01,1.012);仿射变换2的变换系数为(1.010,0.013;0.009,1.011);仿射变换3的变换系数为(1.013,0.008;0.011,1.008)。从表1和表2中可以看出,即使在水印嵌入容量增大的情况下,本文算法依然在抵抗滤波、加噪声、平移、旋转、缩放、错切、一般仿射变换方面有较为优异的表现。值得一提的是抗剪切性,即使载体图像遭受达20%的剪切攻击后本文算法仍能提取出清晰的水印图像。

表3是本文算法在应对部分联合攻击时的BER,抗联合攻击时的误码率通常比抗单一攻击时高,由于攻击类型多样,无法对所有的联合攻击做出相应的矫正,因此只对部分常见的联合攻击做出了抗攻击能力测试。从实验结果可以看出,当联合攻击中包含有不等比例缩放时,本文算法误码率上升较快,这也是今后算法的改进重点。

6 结语

针对目前大部分水印算法嵌入容量低、抗攻击类型单一的情况,提出了一种基于特征点和BCH码的大容量水印嵌入方案。本文算法通过特征点对的匹配关系进行仿射矩阵的估计,可以对大多数图像攻击进行矫正,但缺点在于,当图像遭受随机删除行列攻击时,由于攻击的随机性导致算法无法进行图像矫正,误码率高低完全取决于BCH码的纠错能力。

从本文进行的对比实验结果可以看出,大部分情况下,BCH码编码时冗余度越大,提取出的水印误码率越低,但也存在着部分比较奇异的情况,那是由于在进行随机实验时,有时仿射矩阵的估计不理想而至。从本文与其他文献的实验对比结果可以看出,本文算法具有抗攻擊类型丰富、水印嵌入容量大、误码率低、鲁棒性强、透明性好、算法简单等特点。

参考文献

[1]刘全,张乐,张永刚,Christian Bessiere,傅启明,王晓燕.基于角点特征的几何同步数字水印算法[J].通信学报,2011,32(04):25-31.

[2]李雷达,郭宝龙,表金峰.基于奇偶量化的空域抗几何攻击水印图像算法[J].电子与信息学报,2009,31(01):134-138.

[3]刘培利,谭月辉.基于不变质心及SIFT特征点的抗几何攻击零水印算法[J].计算机应用与软件,2014,31(05):300-304.

[4]史宝明,贺元香,萧萍,李岚.一种基于图像特征的彩色图像水印算法[J].计算机应用与软件,2014,31(11):307-310.

[5]Deng C,Gao XB.Geometrically Robust Image Watermarking Based on SIFT Feature Regions.Guangzi Xuebao/acta Photonica Sinica,2009,38(04):1005-1010(in Chinese with English abstract).

[6]Bay H,Ess A,Tuytelaars T,Luc VG.Speeded-Up Robust Features.Computer Vision & Image Understanding,2008,110(03):346-359.

[7]Chang CC,Chen TS,Chung LZ.A steganographic method based upon JPEG and quantization table modification.Information Sciences,2002,141(1-2):123-138.

[8]Tian HW,Zhao Y,Ni RR,et al.LDFT-based watermarking resilient to local desynchronization attacks.IEEE Trans. on Cybernetics,2013,43(06):2190-2201.