Print

发布时间: 2017-06-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.160577
2017 | Volume 22 | Number 6




    图像处理和编码    




  <<上一篇 




  下一篇>> 





图像块的不可见性与鲁棒性均衡水印算法
expand article info 齐向明, 高婷
辽宁工程技术大学软件学院, 葫芦岛 125105

摘要

目的 为协调水印算法不可见性与鲁棒性之间的矛盾,提高水印算法抵抗几何攻击的能力,提出一种图像块的不可见性与鲁棒性均衡水印算法。 方法 将宿主图像分成互不重叠的图像块,利用人类视觉系统的掩蔽特性对每个图像块的纹理特征和边缘特征进行分析,选择掩蔽性好的图像块作为嵌入子块。对嵌入子块作2级离散小波变换,将其低频子带进行奇异值分解,通过修改U矩阵第1列元素间的大小关系嵌入Arnold置乱后的水印信息。在水印提取前,对几何失真含水印图像利用图像尺度不变特征变换(SIFT)特征点的坐标关系和尺度特征进行几何校正,恢复水印的同步性。 结果 对标准灰度图像进行实验,含水印图像的峰值信噪比都可以达到44 dB以上。对含水印图像进行常规攻击和几何攻击,提取出的水印图像与原始水印图像的归一化互相关系数大部分都能达到0.99以上,说明该算法不仅具有良好的不可见性,对常见攻击和几何攻击都具有较强的鲁棒性。 结论 选择掩蔽性好的图像块作为水印嵌入位置能够充分保证水印算法的不可见性,特别是水印提取前利用SIFT特征点具有旋转、缩放和平移不变性对几何失真含水印图像实现有效校正,提高了含水印图像抵抗几何攻击的能力,较好地协调水印算法不可见性与鲁棒性之间的矛盾。

关键词

人类视觉系统(HVS); 奇异值分解(SVD); 尺度不变特征变换(SIFT); 不可见性; 鲁棒性; 几何校正

Invisible and robust watermarking algorithm based on an image block
expand article info Qi Xiangming, Gao Ting
College of software, Liaoning Technical University, Huludao 125105, China
Supported by: National Natural Science Foundation of China(61540056, 61401185)

Abstract

Objective Embedding watermark information into the host image leads to a contradiction between invisibility and robustness. High watermark embedding strength means strong watermark robustness but poor invisibility. Low watermark embedding strength means good watermark invisibility but weak robustness. As an effective means of copyright protection, a watermarking algorithm must ensure good invisibility and effectively resist various attacks. Geometric attacks destroy the synchronization between the watermark and host image and thus leads to the failure of the watermarking algorithm. To address the contradiction between invisibility and algorithm robustness and improve the capability to resist geometric attacks, this study proposes an invisible and robust watermarking algorithm based on an image block. Method The host image is divided into non-overlapping image blocks, and the texture and edge features of each image block are analyzed by using the masking property of the human visual system to calculate the masking value of each image block. The masking values are arranged in a descending order, and an appropriate number of good masking image blocks are selected as embedded sub-blocks according to the size of the watermark information. Two-level discrete wavelet transform is performed on the sub-block, and its low-frequency sub-band is decomposed by singular value decomposition to obtain orthogonal matrices U and V and diagonal matrix S. The difference among the three sets of elements in the first column of the U orthogonal matrix is calculated according to the watermark bit information. If the difference is less than the threshold value, the Arnold scrambled watermark information is embedded into the U orthogonal matrix. Then, inverse singular value decomposition is applied on the selected image block, and the low-frequency sub-band and other middle-and high-frequency sub-bands of the image block are subjected to inverse wavelet transform. Afterward, all the image blocks are combined to obtain watermarked images. The scale-invariant feature transform (SIFT) feature points of the watermarked images are extracted, and the coordinate, scale, direction, and descriptor information are stored. In watermark extraction, the SIFT feature points of the watermarked image that may be attacked are extracted and matched with the feature points saved in the watermark embedding to determine if the watermarked image is subjected a geometric attack. If the image is subjected to geometric attacks, geometric correction of the watermarked image is realized by the coordinate relations and scales features of the SIFT feature points. Geometric correction restores the synchronization of the watermark. If no geometric attack occurs, two-level discrete wavelet transform is performed on the selected image block, and its low-frequency sub-band is decomposed by singular value decomposition to obtain orthogonal matrix U. The watermark bit information is extracted according to the difference between the two elements in the first column of the U orthogonal matrix and then transformed into a binary image, which is subjected to inverse Arnold transformation to obtain the watermark image. Result Through experiments on standard gray-scale images, the watermark information is embedded into three images:Lena, Elaine, and Baboon. With the increase in the threshold value, image quality is reduced correspondingly, but the normalized correlation coefficient of the extracted watermark is improved. Hence, the threshold value of the experimental image is 0.04 considering invisibility and robustness. The peak signal-to-noise ratios (PSNRs) of the three watermarked images, Lena, Elaine, and Baboon, are 49.864 5, 46.304 6, and 44.683 2 dB, respectively. These values show that the algorithm possesses good invisibility. When no attack occurs, the normalized correlation coefficients between the original and extracted watermark images can reach 1, which shows the effectiveness of the algorithm. Various types of attacks, including JPEG compression, noise, and filter, are applied to the watermarked images. With the increase in the attack intensity, the normalized correlation coefficients of the extracted watermark are influenced but mostly exceed 0.99. In particular, the normalized correlation coefficients of the watermark extracted from the compression attack can reach 1. Rotating, scaling, cyclic shifting, and shearing attacks are then performed on the watermarked images. Afterward, geometric correction of the watermarked images is realized with the coordinate relations and scales features of the SIFT feature points. Given that the watermarked images are subjected to rotating attacks without changing the size of the images, some of the pixel information is lost during the rotation, such that the normalized correlation coefficients of the extracted watermark could not reach 1. The normalized correlation coefficient of the extracted watermark when a watermarked image is enlarged is larger than the normalized correlation coefficient of the extracted watermark when the watermarked image is reduced. All normalized correlation coefficients of the extracted watermarks under the cyclic shifting attack can reach 1. Shearing of the good masking region affects the anti-shearing attack capability, but the normalized correlation coefficients of the extracted watermarks under the shearing attack exceed 0.95. Experimental results on conventional and geometric attacks show that this algorithm exhibits strong robustness against both attacks. Conclusion The texture and edge information of the image can be calculated to obtain the masking value of each image block. The invisibility of the watermarking algorithm can be ensured by selecting the image block with good masking as the embedded sub-block. Selecting the pair of elements with the largest difference in the first column of the U orthogonal matrix as the embedded position minimizes the influence on the overall visual quality of the original image and improves the robustness of the watermarking algorithm. Given that SIFT feature points are a type of space-based image local feature description operators that are invariant to image rotation, scaling, translation, and so on, geometric correction of the watermarked image is realized by with the coordinate relations and scales features of the SIFT feature points to improve the ability of resisting geometric attacks. The above mentioned methods enable the watermarking algorithm to effectively address the contradiction between invisibility and robustness.

Key words

human visual system(HVS); singular value decomposition(SVD); scale invariant feature transform(SIFT); invisibility; robustness; geometric correction

0 引言

多媒体技术的发展和互联网的普及使数字产品的非法复制和篡改变得相对容易,数字产品的版权保护问题变得日益突出。数字水印技术能够有效解决图像版权和内容认证等问题,成为国内外专家和学者研究的热点。

嵌入式水印算法的关键是协调不可见性和鲁棒性之间的矛盾,水印的嵌入强度越大,则水印的鲁棒性越强,但不可见性越差;水印嵌入强度越小,则水印的不可见性越好,但鲁棒性就越弱。矩阵分解法如奇异值分解(SVD)、非负矩阵分解(NMF)和QR分解等是水印算法常用的方法,该方法使水印算法的不可见性和鲁棒性得到了显著提高。文献[1-3]对宿主图像变换域进行奇异值分解,将水印信息嵌入到奇异值($\mathit{\boldsymbol{S}}$)中,虽然水印提取效果良好,但存在严重的虚警问题。为了解决该类水印算法的虚警问题,文献[4-7]将水印信息嵌入到奇异向量($\mathit{\boldsymbol{U}}$$\mathit{\boldsymbol{V}}$)或两个向量中,取得了较好的效果。Chung[4]和Fan[5]在文献中对奇异值分解后的$\mathit{\boldsymbol{U}}$矩阵的性质进行了理论分析,并通过大量实验证明修改$\mathit{\boldsymbol{U}}$矩阵的列元素比修改其行元素产生的视觉失真更小,且$\mathit{\boldsymbol{U}}$矩阵第1列元素之间的大小关系比其他列具有更好的不变特性。但修改$\mathit{\boldsymbol{U}}$矩阵不可避免地影响图像质量,采用基于图像块的原理对图像进行分析,选择掩蔽性好的子块嵌入水印可以减少修改$\mathit{\boldsymbol{U}}$矩阵引起的视觉失真。人类视觉系统(HVS)具有纹理掩蔽、频率掩蔽、亮度掩蔽等特性,文献[8-10]基于HVS特性确定图像掩蔽因子,并将其作为水印嵌入的强度,此类算法能降低载体图像的视觉失真,但算法较为复杂。将图像所固有的纹理信息和边缘信息进行简单计算得到各子块的掩蔽值,再利用各子块的掩蔽值来寻找嵌入位置就能较好地解决该问题。

以上算法都可以有效抵抗JPEG压缩、加噪、滤波等攻击,而对于旋转、缩放和平移等几何攻击鲁棒性较差。其主要原因是常规攻击对图像像素值影响较小,而几何攻击破坏了水印和图像空间坐标的同步性,无法在水印提取时明确水印信息的位置,使得水印算法失效。可见几何攻击对水印算法造成的影响是毁灭性的,因此提高水印算法的抗几何攻击能力变得尤为重要。文献[11-14]利用图像尺度不变特征变换(SIFT)特征点具有旋转、缩放、平移不变性,对几何攻击后的含水印图像进行几何校正,有效提高水印算法的抗几何攻击能力。与其他抗几何攻击的水印算法相比,该类算法使用的图像几何校正算法与水印算法和攻击方式无关,且其校正精度高,性能稳定,提高了水印算法抵抗几何攻击的能力。

借鉴以上思路,提出一种图像块的不可见性与鲁棒性均衡水印算法。先将宿主图像分成互不重叠的图像块,利用每个图像块的纹理信息和边缘信息计算该子块的掩蔽值,根据水印信息的大小选择合适数量掩蔽性好的图像块,并对其2级小波变换后的低频子带作奇异值分解,再根据水印位信息计算正交$\mathit{\boldsymbol{U}}$矩阵第1列中3对元素的差值,选择差值最大的一对元素通过修改其大小关系实现水印信息的嵌入。水印提取前,匹配攻击前后的两幅图像的SIFT特征点,利用特征点的位置和尺度信息进行几何校正,提高水印算法抵抗几何攻击的能力。

1 算法理论

1.1 人类视觉掩蔽特性的分析

人类视觉系统具有纹理掩蔽、频率掩蔽、亮度掩蔽等特性,为保证水印算法的不可见性和鲁棒性,需要对载体图像的纹理和边缘信息进行分析计算,提取掩蔽性好的图像块作为水印嵌入子块。人眼对纹理变化复杂的区域敏感度低,对纹理变化平缓的区域敏感度高,因此在纹理复杂的区域嵌入水印具有较好的不可见性。纹理对应着图像灰度值的变化,灰度变化得越快,纹理强度越大,在频域中较高频带的能量也就越大(一个频带的能量主要是指这个频带所有像素灰度值的代数平均)。小波变换能将图像分解为从高到低的多个频带,其低频子带集中了大部分原始图像的能量,较高频带则包括图像的纹理和边缘等信息。将宿主图像平均分成$m \times m$个子块,对各个图像块进行2级离散小波变换,其变换结果如图 1所示,共得到7个频带,通过式(1) 计算HL1、LH1、HH1和LL2这4个频带的能量,然后通过式(2) 表征各个图像块的纹理强弱。

图 1 图像块的2级小波变换
Fig. 1 Two-level DWT of the image-block

$\varepsilon ({m_1},{m_2}) = \frac{1}{{{n_1}{n_2}}}\sum\limits_{i = 1}^{{n_1}} {\sum\limits_{j = 1}^{{n_2}} {{{\left[ {{x_{{m_1},{m_2}}}\left( {i,j} \right)} \right]}^2}} } $ (1)

$\begin{array}{*{20}{c}} {\delta ({m_1},{m_2}) = }\\ {\frac{{{\varepsilon _{{\rm{HL1}}}}({m_1},{m_2}) + {\varepsilon _{{\rm{LH1}}}}({m_1},{m_2}) + {\varepsilon _{{\rm{HH1}}}}({m_1},{m_2})}}{{{\varepsilon _{{\rm{LL2}}}}({m_1},{m_2})}}} \end{array}$ (2)

式中,${m_1}$${m_2}$表示该频带所在子块的行和列索引,${{n_1}}$${{n_2}}$表示该频带的长和宽,${x_{{m_1},{m_2}}}(i,j)$表示该频带中的小波系数。显然,得到的$\delta $值越大,表示该子块的纹理信息越强。

人眼对图像的边缘较为敏感,即使纹理较为复杂,嵌入水印后人眼也能很容易察觉,因此提取图像的边缘位置信息很重要。Sobel算子利用像素点上下、左右邻点的灰度值加权算法,根据在边缘点处达到极致这一现象进行边缘检测[15],采用Sobel边缘检测器不但能产生较好的检测效果,而且对噪声也具有平滑作用,能够提供较为精确的图像边缘信息。对宿主图像使用Sobel边缘检测器提取出清晰的图像边缘,将所得边缘图像分成$m \times m$个子块,各子块的大小为${n_3} \times {n_4}$。计算每个子块中边缘像素点的个数,记为$e({m_1},{m_2})$,通过式(3) 计算出各个子块的掩蔽值$f$。子块的掩蔽值$f$越大,表示该子块的掩蔽性越好,选择掩蔽值较大的子块嵌入水印,能够较好地保证水印算法的不可见性。

$f({m_1},{m_2}) = \delta ({m_1},{m_2}) - \frac{{e({m_1},{m_2})}}{{{n_3} \times {n_4}}}$ (3)

1.2 U矩阵水印嵌入位置的选择

奇异值分解(SVD)是一种将矩阵对角化的数值分析工具。一幅灰度图像从线性代数的角度来看,是一个具有非负值的矩阵。假设对大小为$n \times n$的灰度图像$\mathit{\boldsymbol{A}}$进行奇异值分解,则存在正交矩阵${\mathit{\boldsymbol{U}}_{n \times n}}$${\mathit{\boldsymbol{V}}_{n \times n}}$和对角矩阵${\mathit{\boldsymbol{S}}_{n \times n}}$使得

$\mathit{\boldsymbol{A}} = \mathit{\boldsymbol{US}}{\mathit{\boldsymbol{V}}^{\rm{T}}}$ (4)

式中,$\mathit{\boldsymbol{U}}$$\mathit{\boldsymbol{V}}$是正交矩阵,对角矩阵$\mathit{\boldsymbol{S}} = {\rm{diag}}\left( {{\lambda _i}} \right)$是非对角元素为0的矩阵,其对角线上的元素值${\lambda _i}\left( {i = 1,2, \cdots ,r} \right)$满足${\lambda _1} \ge \cdots \ge {\lambda _r} > 0$,分解后的奇异值向量表征是图像的亮度信息,奇异向量与图像之间存在一一对应关系,表征图像的结构信息。

从矩阵分解的角度来看,$\mathit{\boldsymbol{A}}{\mathit{\boldsymbol{A}}^{\rm{T}}}$的正交单位特征向量组成$\mathit{\boldsymbol{U}}$${\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{A}}$的正交单位特征向量组成$\mathit{\boldsymbol{V}}$$\mathit{\boldsymbol{V}}$矩阵的第1列向量为${\mathit{\boldsymbol{V}}_1}$$\mathit{\boldsymbol{U}}$矩阵的第1列向量为${\mathit{\boldsymbol{U}}_1} = \mathit{\boldsymbol{A}}{\mathit{\boldsymbol{V}}_1}\mathit{\boldsymbol{S}}_1^{ - 1}$,可见${\mathit{\boldsymbol{U}}_1}$的数值符号由$\mathit{\boldsymbol{Ax}}$决定,而$\mathit{\boldsymbol{A}}$又是一个非负矩阵,一般情况下,matlab软件中使用负的特征向量$\mathit{\boldsymbol{x}}$,所以,对图像进行奇异值分解后所得到${\mathit{\boldsymbol{U}}_1}$中的所有元素都是负数。又因为${\mathit{\boldsymbol{U}}_1}$对应于$\mathit{\boldsymbol{A}}{\mathit{\boldsymbol{A}}^{\rm{T}}}$的最大特征值,使得${\mathit{\boldsymbol{U}}_1}$中元素的数值符号对一般的图像处理保持不变特性,比$\mathit{\boldsymbol{U}}$矩阵的其他列向量具有更好的稳定性。文献[4-6]进行一系列实验证明了$\mathit{\boldsymbol{U}}$矩阵的第1列元素${\mathit{\boldsymbol{U}}_1}$所具有的上述性质,本文这里便不再赘述。

为进一步确定$\mathit{\boldsymbol{U}}$矩阵第一列的水印嵌入位置,选取大小为512×512的标准灰度图像作为原始宿主图像,对其进行互不重叠的4×4分块,对每个子块作奇异值分解得到其对应的正交$\mathit{\boldsymbol{U}}$矩阵。假设$\mathit{\boldsymbol{U}}$矩阵第1列第$c$行元素为${\mathit{\boldsymbol{U}}_{c,1}}$,利用归一化系数(NC)计算$\mathit{\boldsymbol{U}}$矩阵第1列不同元素之间的相似度,表 1列出了一些标准测试图像的实验结果。由表 1可以得出$\left( {{U_{1,1}},{U_{2,1}}} \right)$$\left( {{U_{2,1}},{U_{3,1}}} \right)$$\left( {{U_{3,1}},{U_{4,1}}} \right)$这3组的NC平均值较其他组大,选用其他标准图像也得到相同的结果,这表明$\left( {{U_{1,1}},{U_{2,1}}} \right)$$\left( {{U_{2,1}},{U_{3,1}}} \right)$$\left( {{U_{3,1}},{U_{4,1}}} \right)$这3组中的元素较其他组更为接近。但实际嵌入的过程中每个子块只需嵌入1 bit的水印信息,可以根据水印信息位求这3组元素的差值,找到最合适的1组元素嵌入水印信息,通过这种方法可以最大限度降低对原图像整体视觉质量的影响。

表 1 $\mathit{\boldsymbol{U}}$矩阵第1列不同元素间的NC值
Table 1 NC values between different elements in the first column of the $\mathit{\boldsymbol{U}}$ matrix

下载CSV
图像序列$\left( {{U_{1,1}},{U_{2,1}}} \right)$$\left( {{U_{1,1}},{U_{3,1}}} \right)$$\left( {{U_{1,1}},{U_{4,1}}} \right)$$\left( {{U_{2,1}},{U_{3,1}}} \right)$$\left( {{U_{2,1}},{U_{4,1}}} \right)$$\left( {{U_{3,1}},{U_{4,1}}} \right)$
Lena0.975 90.962 60.952 10.976 30.962 90.976 6
Baboon0.907 80.883 70.870 70.909 40.877 60.903 3
Plane0.961 10.941 60.922 00.964 80.938 90.960 7
Cell0.964 10.935 50.912 30.965 80.936 00.964 9
Boat0.958 50.928 90.908 80.958 90.928 60.958 6
Elaine0.968 50.954 60.943 00.970 00.954 50.968 9
Photography0.960 10.931 70.911 60.962 00.929 10.960 3

1.3 SIFT特征点匹配校正

尺度不变特征变换(SIFT)由Lowe[16]于1999年提出,在2004年加以完善,它是一种基于空间的对图像旋转、缩放、平移等保持不变性的图像局部特征描述算子。它的主要思想是在尺度空间检测极值点,然后对极值点进行筛选,找到稳定的特征点,最后在每个稳定的特征点周围提取图像的局部特性,形成局部描述符。此时已经去除了尺度变换、旋转等几何形变的影响,将得到的128维的特征描述符归一化,进一步去除光照变换的影响。通过计算两幅图像SIFT特征点描述符的欧氏距离实现两幅图像的匹配,得到匹配特征点的位置、尺度、方向以及128维的描述子,利用这些信息进行几何校正。

1.3.1 旋转校正

将两幅图像匹配后的特征点进行两两分组,假设原图中两个特征点的坐标为$\left( {{x_i},{y_i}} \right)$$\left( {{x_j},{y_j}} \right)$,旋转一定角度后两个特征点的坐标为$\left( {{{x'}_i},{{y'}_i}} \right)$$\left( {{{x'}_j},{{y'}_j}} \right)$,利用两对特征点之间连线的水平夹角的变化校正图像,如图 2所示。

图 2 旋转特征点示意图
Fig. 2 The schematic diagram of rotation feature points

求出每组的旋转角度

$\Delta \theta = {\rm{arctan}}\frac{{{y_j} - {y_i}}}{{{x_j} - {x_i}}} - {\rm{arctan}}\frac{{y{\prime _j} - y{\prime _i}}}{{x{\prime _j} - x{\prime _i}}}$ (5)

将所有分组求出的旋转角度进行$n$等分,利用直方图求出各区间的频数$m$及相应的旋转角度$angl$,找到最大频数${m_{\max }}$,求出频数相对较大的旋转角度

$agl = \frac{{\sum\limits_{i = 1}^{numb} {\left( {angl\left( i \right) \times m\left( i \right)} \right)} }}{{\sum\limits_{i = 1}^{numb} {m(i)} }}$ (6)

筛选出在$\left[ {agl - 1,agl + 1} \right]$范围内的旋转角度,然后求出筛选后旋转角度的平均值就得到了旋转校正值

$\theta = \frac{1}{{num}}\sum\limits_{i = 1}^{num} {\Delta {\theta _i}} $ (7)

式中,$numb$表示频数$m\left( i \right)$大于$0.85 \times {m_{\max }}$的区间数,$num$表示筛选后旋转角度的个数。

1.3.2 缩放校正

特征点的尺度因子能够随着图像尺度变化等比例地变化,可以利用特征点的尺度因子对缩放的图像进行校正。假设图像缩放前后匹配特征点的尺度因子分别为${\gamma _1}$${\gamma _2}$,匹配点的对数为$num$,求出图像的缩放校正值,即

$\varphi = \sqrt {\frac{1}{{num}}\sum\limits_{i = 1}^{num} {{{\left( {\frac{{{\gamma _1}\left( i \right)}}{{{\gamma _2}\left( i \right)}}} \right)}^2}} } $ (8)

1.3.3 循环平移校正

假设原图某一特征点的坐标为($x$$y$),循环平移后与其相匹配的特征点的坐标为($x′$$y′$),图像的大小为$M \times N$,计算其在$x$轴和$y$轴循环平移参数$\Delta x$$\Delta y$

$\Delta x = \left\{ {\begin{array}{*{20}{l}} {x' - x + M}&{x' < x}\\ {x' - x}&{\rm{其他}} \end{array}} \right.$ (9)

$\Delta y = \left\{ {\begin{array}{*{20}{l}} {y' - y + N}&{y' < y}\\ {y' - y}&{\rm{其他}} \end{array}} \right.$ (10)

然后计算所有匹配点的循环平移参数的平均值就得到了原图的循环平移量

$\left\{ {\begin{array}{*{20}{l}} {\Delta {x_c} = \frac{1}{{num}}\sum\limits_{i = 1}^{num} {\Delta {x_i}} }\\ {\Delta {y_c} = \frac{1}{{num}}\sum\limits_{i = 1}^{num} {\Delta {y_i}} } \end{array}} \right.$ (11)

式中,$num$表示匹配点的对数。

2 算法实现

2.1 水印图像的预处理

为提高水印的安全性和鲁棒性,需要对水印图像进行加密处理,本文采用Arnold置乱作为水印图像的预处理方法。Arnold置乱能够变换像素空间位置,使图像被随机而均匀地置乱,消除像素空间的相关性。

Arnold变换具有周期性,即对图像反复使用Arnold变换,可以在某一时刻恢复原始图像,其周期$Q$与图像的大小有关。图 3(a)是32×32的二值水印图像,对该水印图像进行Arnold置乱,图 3(b)—(d)是水印图像经过不同迭代次数下产生的置乱图像,其中$z$表示置乱次数。可以看出,经过24次置乱后图像回到最初状态。

图 3 水印图像在不同迭代次数下的置乱图像
Fig. 3 The scrambling image of the watermark image under different iteration times
((a) watermark image; (b)$z$=10;(c)$z$=20;(d)$z$=24)

2.2 水印的嵌入

设原始载体图像$I$的大小为$M \times M$,置乱后的水印图像为$W$,其大小为$N \times N$,水印嵌入的具体流程如下:

1) 首先将置乱后的二值水印图像$W$降维成1维水印序列$L$,其大小为$p$

2) 将宿主图像$I$分成$m \times m$个互不重叠的图像块,通过式(1)—式(3) 计算每个子块的掩蔽值,对掩蔽值进行降序排列,选择前$p$个掩蔽值对应的图像块作为嵌入子块,将这些块的行列索引值记为密钥$ke{y_1}$

3) 将选定的图像块$A\left( {i,j} \right)$进行2级离散小波变换,对其低频子带作奇异值分解,即$\mathit{\boldsymbol{A}} = \mathit{\boldsymbol{US}}{\mathit{\boldsymbol{V}}^{\rm{T}}}$,得到正交矩阵$\mathit{\boldsymbol{U}}$$\mathit{\boldsymbol{V}}$以及对角矩阵$\mathit{\boldsymbol{S}} = {\rm{diag}}\left( {{\lambda _1},{\lambda _2},{\lambda _3},{\lambda _4}} \right)$

4) 修改$\mathit{\boldsymbol{U}}$矩阵的第1列元素$\left( {{U_{1,1}},{U_{2,1}},{U_{3,1}},{U_{4,1}}} \right)$大小关系以实现水印信息的嵌入,具体细节如下:

当嵌入的水印信息位为0时,计算${{U_{1,1}}}$${{U_{2,1}}}$的差值${d_1} = {U_{1,1}} - {U_{2,1}}$${{U_{2,1}}}$${{U_{3,1}}}$的差值${d_2} = {U_{2,1}} - {U_{3,1}}$以及${{U_{3,1}}}$${{U_{4,1}}}$的差值${d_3} = {U_{3,1}} - {U_{4,1}}$,选择差值最大的两个元素嵌入水印,并将两个元素中较小的行$c$记为$ke{y_2}$。两者的差值${d_c}$应大于阈值$T$,若不满足,计算两元素的平均值为$\mu = \frac{1}{2}\left( {{U_{c,1}} + {U_{c + 1,1}}} \right)$,对${{U_{c,1}}}$${{U_{c + 1,1}}}$进行修改,即

${{U'}_{c,1}} = \mu + T/2$ (12)

${U_{c + 1,1}} = \mu - T/2$ (13)

当嵌入水印信息位为1时,计算${{U_{1,1}}}$${{U_{2,1}}}$的差值${d_1} = {U_{2,1}} - {U_{1,1}}$${{U_{2,1}}}$${{U_{3,1}}}$的差值${d_2} = {U_{3,1}} - {U_{2,1}}$以及${{U_{3,1}}}$${{U_{4,1}}}$的差值${d_3} = {U_{4,1}} - {U_{3,1}}$,选择差值最大的两个元素嵌入水印,并将两个元素中较小的行$c$记为$ke{y_2}$。两者的差值应大于阈值$T$,若不满足,计算两元素的平均值$\mu = \frac{1}{2}\left( {{U_{c,1}} + {U_{c + 1,1}}} \right)$,对${{U_{c,1}}}$${{U_{c + 1,1}}}$进行修改,即

${{U'}_{c,1}} = \mu - T/2$ (14)

${{U'}_{c + 1,1}} = \mu + T/2$ (15)

5) 对选定图像块进行逆SVD变换,将该块低频子带和其他中高频方向子带作逆小波变换,并对所有子块进行合成运算,得到含水印图像${\mathit{\boldsymbol{I'}}}$

6) 对含水印图像${\mathit{\boldsymbol{I'}}}$作SIFT特征点提取,记录特征点的坐标、尺度、方向以及描述符信息并保存为模板$B$

2.3 水印的提取

水印提取的具体流程如下:

1) 对可能受到攻击的含水印图像${\mathit{\boldsymbol{I'}}}$作SIFT特征点提取,与水印嵌入时保存的模板$B$进行匹配,判断是否受到几何攻击。若受到几何攻击则进行几何校正,否则进行下一步的操作。

2) 将宿主图像${\mathit{\boldsymbol{I'}}}$分成$m \times m$个互不重叠的子块,根据$ke{y_1}$找到选定的子块,每个子块记为$\mathit{\boldsymbol{A'}}\left( {i,j} \right)$

3) 对每个子块$\mathit{\boldsymbol{A'}}\left( {i,j} \right)$进行2级离散小波变换,对其低频子带作奇异值分解,得到正交矩阵${\mathit{\boldsymbol{U'}}}$${\mathit{\boldsymbol{V'}}}$以及对角矩阵${\mathit{\boldsymbol{S'}}}$

4) 根据密钥$ke{y_2}$找到各子块${\mathit{\boldsymbol{U'}}}$矩阵第1列中嵌入水印信息的两个元素,得到1维水印序列,即

$L' = \left\{ {\begin{array}{*{20}{l}} 0&{{d_c} \ge 0}\\ 1&{{d_c} < 0} \end{array}} \right.$ (16)

式中,${d_c} = {U_{c,1}} - {U_{c + 1,1}}$

5) 将1维水印序列${\mathit{\boldsymbol{L'}}}$转换为二值图像${\mathit{\boldsymbol{W'}}}$,进行Arnold反变换,提取出水印图像${\mathit{\boldsymbol{W''}}}$

3 仿真实验与分析

已通过大量实验证明本文算法的有效性和可行性,限于篇幅,在此仅给出代表性的实验结果。仿真实验采用matlab R2014b作为实验平台,选取Lena、Elaine和Baboon 3幅标准灰度图像作为宿主图像,其大小为1 024×1 024。选取二值图像“辽宁工大”作为水印图像,其大小为32×32。Arnold置乱中的迭代次数$z$为20,置乱周期$Q$为24,水印嵌入阈值$T$为0.04。采用峰值信噪比(PSNR)来评价原始图像和含水印图像之间的质量差别,同时采用归一化互相关系数(NC)来评价原始水印与提取的水印的相似程度,NC值越大表示两者的相似程度越大,则水印的鲁棒性越强。

3.1 不可见性测试

原始载体图像图 4(a)—(c)分别嵌入水印信息得到含水印图像,表 2列出本算法在不同阈值$T$时含水印图像的PSNR值,表 3列出不同阈值$T$时含水印图像Lena受到常规攻击(JPEG压缩攻击、滤波攻击和噪声攻击)提取出的水印NC值。从表 2表 3可以看出随着阈值$T$的增大,图像质量相应地下降,但提取水印的NC值相应地提高。在保证水印具有良好不可见性的同时,考虑到鲁棒性,本算法的水印嵌入阈值$T$取0.04。

表 2 不同阈值时的含水印图像PSNR值
Table 2 PSNR values of the watermarked image with different threshold values

下载CSV
/dB
阈值$T$LenaElaineBaboon
0.01255.423 053.577 855.133 3
0.0253.796 251.205 251.551 6
0.0449.864 546.304 644.683 2
0.0646.728 742.792 940.664 8

表 3 不同阈值时Lena图像受到攻击后提取的水印NC值
Table 3 NC values of the extracted watermarks from attacked "Lena": image with different threshold values

下载CSV
攻击方式$T$=0.012$T$=0.02$T$=0.04$T$=0.06
压缩攻击(30)0.943 20.967 20.998 90.999 5
压缩攻击(50)0.973 20.989 11.000 01.000 0
压缩攻击(70)0.991 60.999 71.000 01.000 0
中值滤波(3×3)0.948 20.988 60.993 71.000 0
中值滤波(5×5)0.928 40.967 20.989 40.991 9
高斯滤波(3×3)0.984 80.996 21.000 01.000 0
高斯滤波(5×5)0.989 80.993 61.000 01.000 0
高斯噪声(0.001)0.956 80.987 50.991 20.995 4
椒盐噪声(0.001)0.963 40.982 30.991 80.994 6
图 4 宿主图像、水印图像及提取出的水印图像
Fig. 4 Host image、watermark image and extracted watermark image
((a) host images; (b) watermark images; (c) extracted watermark)

图 4(b)为阈值$T$取0.04时的含水印图像,其提取出的水印图像如图 4(c)。从视觉效果来看,含水印图像与原始宿主图像相比没有明显变化,具有良好的不可见性。采用峰值信噪比(PSNR)来客观评价含水印图像与原始宿主图像的质量差别,可以得出含水印图像的PSNR值分别为49.864 5、46.304 6和44.683 2,都可以达到44以上,图像质量良好。在没有受到攻击的情况下,提取出来的水印图像NC值都能达到1,说明本文算法是有效的。

3.2 几何失真校正实验和分析

将3.1节得到的含水印图像进行旋转、缩放和循环平移攻击,利用1.3节中提到的原理提取并匹配攻击前后两幅图像的特征点,得到每个特征点的坐标和尺度信息,再利用这些信息进行几何失真校正,得出校正参数。

3.2.1 旋转校正实验

旋转校正实验先对含水印图像进行不改变图像大小的逆时针旋转攻击,也就是说图像的部分边缘信息会在旋转的过程中丢失。提取并匹配旋转攻击前后两幅图像SIFT特征点,利用匹配特征点的位置信息进行旋转校正。表 4列出了旋转校正实验得到的数据,从表 4可以看出,3幅图像的实际校正值和理论校正值非常接近,说明利用本算法得到的实际校正值具有较高的准确性。

表 4 旋转校正实验结果
Table 4 The experimental results of Rotation correction

下载CSV
旋转度数校正参数LenaElaineBaboon
-1-1.016 3-0.986 3-1.024 5
-5-4.997 2-4.985 1-5.020 7
10°-10-10.010 0-9.998 9-9.971 0
20°-20-19.987 1-19.973 0-19.988 8
30°-30-30.012 6-30.035 4-29.985 7
50°-50-50.102 7-50.095 3-49.9793

3.2.2 缩放校正实验

缩放校正实验先对含水印图像进行缩放,当缩放倍数小于1时,该图像将被缩小,反之图像将被放大。提取并匹配缩放攻击前后两幅图像SIFT特征点,利用匹配特征点的尺度信息进行缩放校正。表 5列出了缩放校正实验得到的数据,通过3幅图像理论校正参数与实际校正值的对比。可以看出,利用SIFT特征点的尺度不变性进行缩放校正具有较高的准确性。由于在图像缩放的抽样过程中丢失了部分图像信息,使得图像缩放时的校正准确率比放大图像低一些。

表 5 缩放校正实验结果
Table 5 The experimental results of Scaling correction

下载CSV
缩放倍数校正参数LenaElaineBaboon
0.1258.000 08.017 07.982 08.037 0
0.254.000 04.003 84.006 53.994 2
0.52.000 02.000 92.002 02.004 9
0.751.333 31.335 01.330 91.349 5
1.50.666 70.666 60.666 00.668 1

3.2.3 循环平移校正实验

循环平移实验先对含水印图像进行循环平移,提取并匹配循环平移前后两幅图像SIFT特征点,利用匹配特征点的位置信息进行缩放校正。表 6列出了循环平移校正实验得到的数据,由于图像的平移是以像素为单位,实际校正值需要对计算出的平移校正值进行取整,取整后的实际校正值和理论校正参数一致,说明利用SIFT特征点的平移不变性可以有效地进行循环平移校正。

表 6 循环平移校正实验结果
Table 6 The experimental results of cyclic translation correction

下载CSV
循环平移参数理论校正参数LenaElaineBaboon
(10,10)(-10,-10)(-10.008 0,-9.995 0)(-10.070 0,-9.980 3)(-9.952 4,-10.061 0)
(30,30)(-30,-30)(-30.017 5,-30.035 0)(-30.225 0,-30.005 0)(-29.956 9,-30.120 0)
(50,50)(-50,-50)(-49.930 0,-50.014 0)(-50.173 6,-50.018 3)(-49.970 0,-50.005 0)
(100,0)(-100,0)(-100.010 0,-0.017 3)(-100.117 2,-0.005 8)(-100.203 0,-0.000 0)
(0,100)(0,-100)(-0.020 8,-100.205 0)(-0.020 0,-100.270 0)(0.101 9,-99.985 0)
(128,128)(-128,-128)(-128.001 4,-128.000 0)(-128.051 6,-128.023 0)(-128.0035,-128.0257)

3.3 鲁棒性测试

为了检测本算法具有较好的鲁棒性,对含水印图像分别进行常规攻击和几何攻击实验。并且在水印提取前,对含水印图像进行几何校正。

3.3.1 常规攻击

对含水印图像分别进行JPEG压缩攻击、滤波攻击和噪声攻击,表 7列出了3幅图像在受到不同攻击后所提取水印的NC值。从表 7中可以看出,随着攻击强度的增大,对提取出的水印NC值有一定的影响,但仍能提取出具有较大NC值的水印,特别是受到压缩攻击时,提取出来的水印NC值大部分都能达到1。图 5展示了各种常规攻击下的含水印图像和其所提取的水印图像,从视觉效果来看,所提取出的水印清晰可辨,说明本算法可以有效抵抗各种常规攻击,具有较强的鲁棒性。

表 7 含水印图像常规攻击后提取出的水印NC值
Table 7 NC values of the extracted watermarks from the watermarked image under conventional attacks

下载CSV
攻击方式参数LenaElaineBaboon
压缩攻击200.989 10.998 70.996 9
300.998 91.000 01.000 0
501.000 01.000 01.000 0
701.000 01.000 01.000 0
1001.000 01.000 01.000 0
中值滤波3×30.993 70.996 20.999 0
5×50.989 40.986 10.996 2
高斯滤波3×31.000 01.000 01.000 0
5×51.000 00.998 91.000 0
高斯噪声0.0010.991 21.000 00.998 7
椒盐噪声0.0010.991 81.000 01.000 0
图 5 常规攻击实验图像
Fig. 5 The experimental images under conventional attacks
((a) JPEG compression(30);(b) median filter (3×3);(c) Gaussian filter (3×3); (d) Gaussian noise (0.001); (e) pepper and salt noise (0.001);(f) extracted watermark)

3.3.2 几何攻击

含水印图像分别进行旋转、缩放、循环平移和剪切攻击,并利用3.2节得到的校正参数对旋转、缩放、循环平移攻击后的图像进行校正。

表 8列出了3幅图像受到几何攻击后所提取出的水印NC值。图像受到旋转攻击后提取出的水印NC值都没有达到1,这是因为其受到的是不改变图像大小的旋转攻击,在旋转过程中丢失了部分像素信息,校正时通过逆向旋转可以恢复水印的同步性,但丢失的像素信息导致其不能提取出完整的水印图像。对缩放攻击后提取的水印NC值进行分析,发现缩小图像比放大图像提取的水印NC值要低一些,其主要是因为缩小图像时部分像素信息丢失,导致图像缩放时的校正准确率低于放大图像时的校正准确率。循环平移攻击并没有丢失像素信息,但图像像素点的坐标位置发生变化,同步性被破坏,校正后水印信息得到同步,提取出的水印NC值都能达到1。通过以上分析得出,利用SIFT特征点可以进行有效校正,提高了水印算法抵抗旋转、缩放、循环平移攻击的能力。剪切攻击会剪切掉图像的部分像素信息,虽然没有破坏水印信息的同步性,但其直接导致剪切掉的部分水印信息丢失,在嵌入前对水印图像进行Arnold置乱,进一步分散水印信息,使其能提取出具有较大NC值的水印。

表 8 含水印图像几何攻击后提取出的水印NC值
Table 8 NC value of the extracted watermarks from the watermarked image under geometric attacks

下载CSV
攻击方式参数LenaElaineBaboon
旋转攻击10.996 20.993 70.989 4
100.936 60.926 80.904 8
300.864 60.863 40.827 4
缩放攻击0.250.951 80.947 00.921 6
0.50.998 80.996 20.980 2
1.51.000 00.993 70.992 3
循环平移(50,50)1.000 01.000 01.000 0
(100,0)1.000 01.000 01.000 0
(0,100)1.000 01.000 01.000 0
(128,128)1.000 01.000 01.000 0
剪切攻击左上角剪切1/160.952 00.963 40.998 1
中心剪切1/160.970 90.951 90.968 2

图 6展示了各种几何攻击下的含水印图像及其所提取出的水印图像,图中的水印图像清晰可辨,说明本算法可以有效抵抗几何攻击,具有较强的鲁棒性。

图 6 几何攻击实验图像
Fig. 6 The experimental images under geometric attacks
((a) rotating attack(1);(b) scaling attack(0.5); (c) cyclic shifting attack (50, 50); (d) shearing attack; (e)extracted watermark)

3.4 对比实验

为了验证本算法具有较强的鲁棒性,选择Lena图像为宿主图像的实验结果与文献[7, 14]算法进行对比,其NC值对比实验结果如表 9所示。从表 9可以看出,与文献[7]相比,本算法在受到旋转、缩放和循环平移攻击后所提取出的水印NC值得到了显著提升,说明其在对抗几何攻击方面的优势更为突出,鲁棒性能明显优于文献[7]算法。由于文献[14]也在水印提取前引进SIFT特征点进行几何校正,使得两种算法都可以有效对抗几何攻击,但本算法提取出的水印NC值更高,鲁棒性能稍好于文献[14]。

表 9 本文算法与文献[7, 14]NC值对比
Table 9 NC values comparison between the proposed algorithm and algorithms in Refernce [7, 14]

下载CSV
攻击方式参数文献[7]文献[14]本文算法
压缩攻击300.994 90.997 40.998 9
701.000 01.000 01.000 0
中值滤波3×30.998 60.991 20.993 7
高斯滤波3×30.993 21.000 01.000 0
椒盐噪声0.010.949 30.957 80.962 3
旋转攻击100.639 10.911 80.936 6
300.503 50.863 20.864 6
缩放攻击0.50.899 00.969 30.998 8
20.577 31.000 01.000 0
循环平移(10,10)0.329 41.000 01.000 0
(100,0)0.498 71.000 01.000 0
剪切攻击中心剪切1/160.971 30.969 80.970 9

在水印算法方面,文献[7]计算宿主图像各子块的信息熵和边缘熵,对选中子块小波域低频子带进行SVD分解,然后在各子块$\mathit{\boldsymbol{U}}$矩阵第1列第2行和第3行元素上嵌入水印信息;文献[14]则对Contourlet域低频子带进行QR分解,然后在各子块$\mathit{\boldsymbol{Q}}$矩阵第1列第2行和第3行元素上嵌入水印信息,当含水印图像视觉失真较大时需进行视觉补偿;而本文算法是对宿主图像子块的掩蔽值进行计算,选择掩蔽性好的子块对其小波域低频子带进行奇异值分解,根据水印位信息选择$\mathit{\boldsymbol{U}}$矩阵第1列3对元素中差值最大的1组元素作为水印嵌入位置,不需要进行视觉补偿。为了验证本文水印算法具有良好的不可见性,选择含水印Lena图像的PSNR值与文献[7, 14]进行对比,本文算法、文献[7]和文献[14]得到的PSNR值分别为49.864 5 dB、41.390 0 dB、41.323 7 dB,且本文算法得到的含水印图像的PSNR值都能达到44 dB以上,可见本文算法得到的含水印图像具有更好的不可见性。与文献[7, 14]对比鲁棒性能,本文算法实现了更为精准的水印提取,对各种攻击的抵抗能力都保持一个较高的水平。可见,本文算法能够较好地协调水印不可见性与鲁棒性之间的矛盾。

4 结论

本文分析和讨论了当前水印算法存在的问题,提出一种图像块的不可见性与鲁棒性均衡水印算法。根据人类视觉掩蔽特性确定图像块的掩蔽值,选择掩蔽性好的图像块能够充分保证水印算法的不可见性。在嵌入水印过程中,根据水印位信息选择正交$\mathit{\boldsymbol{U}}$矩阵第1列中差值最大的一对元素作为嵌入位置,进一步提高水印算法的不可见性和鲁棒性。特别是在水印提取前,根据SIFT特征点具有旋转、缩放和平移不变性,提出一种利用匹配点的位置和尺度信息对几何失真含水印图像进行几何校正的方法,提高水印算法抵抗几何攻击的能力。大量仿真实验表明,本文算法保证了良好不可见性的前提下,能够有效抵抗常见攻击和几何攻击,具有较强的鲁棒性。SIFT特征点实现的几何校正算法性能稳定,校正精度高,使得水印算法在对抗几何攻击方面优势更为突出,故以牺牲复杂度为代价来增强水印的鲁棒性。此外,在构造零水印前对水印信息进行预处理加密,保障了水印算法的安全性。由于算法是将水印信息嵌入到掩蔽性好的图像块,水印算法容量较小,对掩蔽性好的区域进行剪切会影响算法抗剪切攻击的能力,如何有效提高算法的水印容量和抗剪切攻击的能力将成为以后的工作重点。

参考文献

  • [1] Ye T Y. Perfectly blind self-embedding robust quantization-based watermarking scheme in DWT-SVD domain[J]. Journal of Image and Graphics, 2012, 17(6): 644–650. [叶天语. DWT-SVD域全盲自嵌入鲁棒量化水印算法[J]. 中国图象图形学报, 2012, 17(6): 644–650. ] [DOI:10.11834/jig.20120605]
  • [2] Chen N, Ma H J. Robust dual-watermarking algorithm based on Contourlet and SVD[J]. Application Research of Computers, 2012, 29(7): 2700–2702. [陈宁, 马会杰. 基于Contourlet和SVD的鲁棒双水印算法[J]. 计算机应用研究, 2012, 29(7): 2700–2702. ] [DOI:10.3969/j.issn.1001-3695.2012.07.082]
  • [3] Zhu G, Zhang J L. A daptive robust watermarking algorithm based on SVD and wavelet packet transform[J]. Application Research of Computers, 2013, 30(4): 1230–1233. [朱光, 张军亮. 基于SVD和小波包分解的自适应鲁棒水印算法[J]. 计算机应用研究, 2013, 30(4): 1230–1233. ] [DOI:10.3969/j.issn.1001-3695.2013.04.073]
  • [4] Chung K L, Yang W N, Huang Y H, et al. On SVD-based watermarking algorithm[J]. Applied Mathematics and Computation, 2007, 188(1): 54–57. [DOI:10.1016/j.amc.2006.09.117]
  • [5] Fan M Q, Wang H X, Li S K. Restudy on SVD-based watermarking scheme[J]. Applied Mathematics and Computation, 2008, 203(2): 926–930. [DOI:10.1016/j.amc.2008.05.003]
  • [6] Lai C C. An improved SVD-based watermarking scheme using human visual characteristics[J]. Optics Communications, 2011, 284(4): 938–944. [DOI:10.1016/j.optcom.2010.10.047]
  • [7] Makbol N M, Khoo B E, Rassem T H. Block-based discrete wavelet transform-singular value decomposition image watermarking scheme using human visual system characteristics[J]. IET Image Processing, 2016, 10(1): 34–52. [DOI:10.1049/iet-ipr.2014.0965]
  • [8] Li Q. Study of watermarking algorithms based on wavelet transform and texture features[J]. Computer Engineering and Design, 2006, 27(14): 2616–2619. [李谦. 基于小波变换和纹理特征的水印算法的研究[J]. 计算机工程与设计, 2006, 27(14): 2616–2619. ] [DOI:10.3969/j.issn.1000-7024.2006.14.035]
  • [9] Qi H Y, Zheng D, Zhao J Y. Human visual system based adaptive digital image watermarking[J]. Signal Processing, 2008, 88(1): 174–188. [DOI:10.1016/j.sigpro.2007.07.020]
  • [10] Chen M Y, Wang Z Q. Adaptive digital watermarking algorithm based on FRFT and HVS[J/OL]. Application Research of Computers, 2017, (7):1-6[2016-11-20].http://www.cnki.net/kcms/detail/51.1196.TP.20160802.1502.060.html. [陈梦莹, 王展青. 基于FRFT及HVS的自适应数字水印算法[J/OL]. 计算机应用研究, 2017, (7): 1-6[2016-11-20]. http://www.cnki.net/kcms/detail/51.1196.TP.20160802.1502.060.html.]
  • [11] Liao Q N. New watermarked image geometric correction algorithm based on SIFT feature points matching[J]. Application Research of Computers, 2011, 28(6): 2247–2249. [廖琪男. 基于SIFT特征点匹配的水印图像几何校正算法[J]. 计算机应用研究, 2011, 28(6): 2247–2249. ] [DOI:10.3969/j.issn.1001-3695.2011.06.068]
  • [12] Chen N, Huang L, Ma H J, et al. An anti-geometric attack watermarking algorithm based on SIFT feature point matching correction[J]. Journal of Circuits And Systems, 2013, 18(2): 158–165. [陈宁, 黄璐, 马会杰, 等. 基于SIFT特征点匹配校正的抗几何攻击水印算法[J]. 电路与系统学报, 2013, 18(2): 158–165. ]
  • [13] Wu Y Q, Shi J P, Tao F X. NSCT-domain image watermarking scheme robust to geometric attacks based on SIFT and NMF-SVD[J]. Journal of Electronic Measurement And Instrumentation, 2015, 29(7): 961–969. [吴一全, 史骏鹏, 陶飞翔. 基于SIFT和NMF-SVD的NSCT域抗几何攻击水印算法[J]. 电子测量与仪器学报, 2015, 29(7): 961–969. ] [DOI:10.13382/j.jemi.2015.07.004]
  • [14] Yan M, Chen J. Anti-geometric attack watermarking algorithm based on QR decomposition in Contourlet domain[J]. Application Research of Computers, 2016, 33(9): 2813–2818. [严敏, 陈军. 基于QR分解的Contourlet域抗几何攻击水印算法[J]. 计算机应用研究, 2016, 33(9): 2813–2818. ] [DOI:10.3969/j.issn.1001-3695.2016.09.058]
  • [15] Yuan C L, Xiong Z L, Zhou X H, et al. Study of infrared image edge detection based on Sobel operator[J]. Laser & Infrared, 2009, 39(1): 85–87. [袁春兰, 熊宗龙, 周雪花, 等. 基于Sobel算子的图像边缘检测研究[J]. 激光与红外, 2009, 39(1): 85–87. ] [DOI:10.3969/j.issn.1001-5078.2009.01.023]
  • [16] Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91–110. [DOI:10.1023/B:VISI.0000029664.99615.94]