一种分块压缩感知变采样率的指纹图像水印算法*
2014-03-23赵慧民魏文国
赵慧民,蔡 君,魏文国
(广东技术师范学院电子与信息学院,广东 广州 510665)
数字内容保护是多媒体信息安全应用的一个重要组成部分。数字媒体的特点使得对其内容的修改和攻击十分容易,越来越多的新技术被用于对数字媒体进行不留明显痕迹的更改和编辑,使数字媒体内容的真实性存在很大的疑问,阻碍了数字信息在重要、正式场合的应用[1-3]。目前,解决这一问题的一个主流方法是基于数字水印实现的主动认证技术。数字水印数据一般需要通过酉变换(如FFT、DCT、DWT或DCT+DWT等)对图像进行处理后,再结合随机扰乱和加密产生。但是,从数字信号处理和信息理论来看,这种技术的最大问题是,以酉变换为准则得到的水印数据很难折中水印码长、嵌入容量、水印透明性以及鲁棒性之间的关系[4-5]。
近年来一个新的理论—压缩感知在信号处理中的出现引起了学术界的特别关注。 压缩感知(Compressed Sensing,简称CS)理论由美国科学院院士D.Donoho、E.Candes 及菲尔兹奖获得者华裔数学家陶哲轩等人所开创。CS的原理是将图像数据的压缩与采样合并进行。其核心技术是信号的稀疏变换、稀疏信号的非相关测量矩阵及信号的重建算法,它突破了Shannon’s/Nyquist采样理论的极限,能够以随机采样的方式用更少的数据采样点来准确地恢复原始信号。因此,CS 观测值作为原图像的完整描述,涵盖了其所有的特征并且数据量远少于原图像,符合水印透明性对数据量的要求。CS 观测值所具有的计算保密性(Computational secrecy) 保证了攻击者在不具备密钥先验知识的情况下无法通过观测值推测原始图像的内容,满足了水印对安全性的要求。因此,与现有其他水印算法相比,基于CS的水印算法对原始图像的信息提取更加全面、安全性更好。
另一方面,用生物指纹数据作为水印是信息隐藏及其保密电子信息交互研究的焦点。它需要安全地保护指纹图像数据,且可逆地提取图像特征并构造完整性指纹[6-9]。
综合压缩感知生成水印数据的特点以及指纹图像水印化的要求,本文提出了一种基于分块压缩感知的指纹图像水印算法(Block compressive sensing based fingerprint image Watermarking,BCSW),用以解决数字图像信息认证和版权保护的准确性和安全性问题。
本文对指纹图像进行DWT变换,并在变换的每一级每个子带根据指纹特征数据大小对图像进行分块且同时进行多尺度变采样率观测,这样保证了水印数据量的问题。接着,再对所有图像子块观测值组合并生成随机水印数据,并嵌入到载体图像的系数中。指纹图像恢复时,在DWT域利用多尺度变换和SCS-SPL技术高精度重构指纹图像,这样解决了指纹图像的可靠性恢复和完整性的应用目的。
1 分块CS采样与BCS-SPL技术
CS理论说明[7],假设信号x∈RN为从M个采样信号中获得的长度为N的信号,且M≪N。那么,我们可以从(1)式中恢复信号x:
y=Ax
(1)
其中,y的长度为M,而A为M×N测量矩阵(也称为观测矩阵),且具有子采样率S=M/N。如果x在某个变换矩阵Ψ(如DCT,DWT等)下是稀疏的,即有:
x=Ψα,‖α‖0 (2) 这里,α为稀疏系数,‖α‖0表示0-范数,即稀疏系数非0的个数。这时,(1)式变为: y=AΨα (3) 可以证明,当测量维数满足K 对于一维信号测量矩阵A可采用高斯随机矩阵或伯努利二值随机矩阵等生成。但是,对于二维图像信号,N的长度非常大,如128×128的图像N的长度为104等级。因此,A的计算量很大且难以存储。这样,CS在2D图像中应用受到较大限制。为此,文献[10]提出一个分块CS技术(Block-based CS,BCS)。在BCS中,一个图像被分成B×B块,并使用一个近似大小的测量矩阵进行采样。假设xi表示了通过Z行扫描输入的第i个图像块的向量,那么有: yi=Φ·xi (4) 其中,Φ为MB×B2大小的测量矩阵。因此,整个图像的采样子率为S=MB/B2。这时,(1)式中整个图像的测量矩阵A具有对角型结构性矩阵A=diag(Φ),其形式为: (5) 在文献[10]提出的BCS算法中,图像的采样通过分块基的随机矩阵实现,而图像的重构结合平滑滤波器由投影Landweber算法实现。因此,它的整个实现技术称为BCS-SPL。BCS-SPL技术在采样观测端实现了对图像结构的近似描述,而在图像恢复时实现了高精度逼近。因此,利用BCS-SPL技术对指纹图像进行水印化处理可以充分利用水印数据的稀疏表示性和随机性特点,同时能够兼顾主动信息认证对指纹图像重构的准确性要求[11]。这就是本文研究应用的出发点。 指纹图像是方向性极强的纹理图像,因此,结合多尺度DWT域对BCS-SPL算法的实现研究,我们利用(5)式对指纹图像进行方向性观测。把测量矩阵A分成两个部分:一个是DWT多尺度变换矩阵Ω,另一个是多尺度分块测量矩阵Φ′,即A=Φ′Ω。这时图像的观测结果为 y=Φ′Ω·x (6) (7) 由于不同级的小波分解对图像重构有不同的重要性,因此,本文在每一个l级都会调整采样过程以产生不同的采样子率Sl。其中,设置DWT基带子率为全采样子率,即S0=1。 设Wl为l级的子率加权系数,那么l级的子率Sl为 Sl=Wl·S′ (8) 则,整个图像的采样子率为 (9) 可见,当已知图像的目标采样率S和加权系数Wl后,由(9)式很容易求出S′,由此再通过(8)式得到l级的子率Sl。但是,这种处理会产生一个或多个Sl>1的情况。所以,我们必须要对此进行改进并迫使所有l级情况下Sl≤1。由(8)和(9)式求得S′和S1后,我们检查是否S1>1。如果S1>1成立,设置S1=1,代入(9)式,可以得到: (10) 求出S′,再次通过(8)式重新确定l=2,…,L情况下的子率Sl。重复此过程,直到所有l级情况下Sl≤1。 特别地,经过多次实验,子率加权系数Wl通过下式确定: Wl=16L-l+1 (11) 图像作为对成像场景的一个采样,其像素数量的下限是受采样定律限制的。 而CS突破了采样定律的限制,可以进一步通过线性投影的方式将图像映射成一个更为简洁的形式[12]。图1为本文提出的BCSW的实现过程。 图1 BCSW实现过程 在图1中,首先将原始指纹图像进行9/7 Harr小波变换,在每级每个子带上进行Bl×Bl分块,再对各子块进行BCS采样设置,并通过观测矩阵Φl对各个子块进行变采样观测,最后将观测值组合在一起生成水印数。图中,图像分块的大小由期望生成的水印数据量和指纹图像的重构精度决定。 (12) 由于采用了CS理论,所以水印的生成仅是一个简单的线性投影过程。水印生成的时间复杂度取决于观测矩阵的大小。设生成BCSW观测矩阵的种子为k1,分块大小策略为k2,那么k1和k2可以作为水印密钥进行保存。 将水印密钥k1和k2注册到相关内容认证和完整性保护数据库中,并获得一个唯一的注册ID号,该ID号与图像信息、水印密钥信息均登记在案,如此指纹图像即处在水印技术的保护之下了。 为了进一步提高水印数据的安全性,基于扩频技术原理,本文用扩频系数cr对图像观测数据的二进制水印序列YW={yi,i=1,2,...,M}进行处理,经过扩频形成扩展序列E,再与密钥随机种子函数s=randseed(K,M)进行置乱调制形成水印数据向量基W: yi={y1,y2,…,yM},yi∈{0,1},i∈M (13) E={e1,e2,…,en},ei=yi, j·cr≤i≤(j+1)·cr,cr>1,i,j,cr∈M (14) (1 5) (16) 这里,我们把W的扩展过程作为密钥k3。 嵌入BCSW数据时,首先要对载体图像进行处理,然后根据HVS特性选择嵌入区域。具体实现过程如下: 1)对大小为N×N的载体图像I进行DWT分解成l级,并选择LLl作为嵌入区域。这里l的大小是由水印的不可见性、鲁棒性要求以及抗攻击能力经过实验综合决定。 2)LLl子带划分成大小为Mk×Mk的子块Bk。其中,Bk的数量K和载体图像大小N以及分级l的关系为N=Mk×K×2l。 3)按照公式(17)量化LLl的系数并嵌入BCSW数据到所有子块中。 (17) 4)运用嵌入水印数据后新的小波系数重构载体图像。 在嵌入水印数据实验时,量化步长Q的选择是影响图像质量的关键因素。量化步长要满足良好视觉效果情况下,保持水印具有较好的鲁棒性。本文通过载体图像信息熵和嵌入的子块Bk的大小共同确定Q值。载体图像信息熵为 (18) (19) λ为量化步长的调节因子。 (20) 图2 BCSW数据的检测和提取过程 针对信息认证的准确性,需要能够得到高质量的二维原始水印信号。因此,这里我们借鉴CS理论的BCS-SPL重构算法来恢复原始指纹图像。设指纹图像第l级子带s上的第j块数据的初始估计条件为 (21) 那么,根据BCS-SPL算法得到整幅指纹图像数据的迭代过程如下: (22) (23) 为了分析本文提出算法对指纹图像保护内容的实现性能,我们使用512×512 Lenna和Pepper作为载体图像,并通过Veridicom公司指纹传感器FPS200采集256×256的灰度指纹图像作为水印图像。实验时,指纹图像使用3级9/7 Harr基DWT作为尺度因子,用标准伪随机数均匀分布序列矩阵U、V和中心傅立叶变换F生成随机测量矩阵Ф=UFV。通过Ф对稀疏后的图像第l级子块Bl×Bl进行随机观测和采样,其中l= 1,2,3时Bl= 16,32,和64。当子采样率S=0.1,图3(b)、(c)、 (d)分别说明了稀疏度K=0.66,0.59,0.5对指纹图像的一种观测结果。 图3 原始指纹图像的BCS观测值 把图3的指纹观测值150×256的数据作为水印信息分别嵌入到Lenna和Pepper图像中,其中载体图像的量化步长为Q=35,图4说明了实验结果。为了说明原始载体图像与嵌入指纹水印后混合载体图像的本质区别,图5用直方统计图说明了信号强度统计曲线。由图可见,原始载体图像和混合载体图像直方图相似,说明了图像的透明性较好。 图4 图像的透明性分析 图5 Lena和Pepper图像的直方统计图 为了分析水印的鲁棒性,当S=0.1和Q=35时,我们分别用不同的攻击行为对嵌入指纹数据的混合载体图像进行攻击实验。攻击行为包括对图像进行JPEG压缩,高斯噪声,中值滤波以及图像的马赛克攻击。图6分别说明了攻击后混合载体图像相似性值NC的结果,,并在同等实验条件下分别和文献[13]的联合DWT水印算法以及DCT水印算法以及文献[14]的W-SVD算法进行了比较。 在DWT域基于BCS和可变采样率,本文提出了一种分块压缩感知的指纹图像水印实现算法。指纹图像通过压缩感知获得的观测值包含了原始指纹图像携带的关键信息,可以简洁而全面地表征图像的全部特征。以观测值作为水印具有操作简单(仅需要通过一个线性变换即可)、透明性好、抵抗攻击能力强和保密性高等优点,而且攻击后提取的指纹数据可以通过水印信息高概率恢复,满足了对指纹图像安全性保护要求较高的应用场合。 图6 不同攻击条件下相似性值NC的比较结果 参考文献: [1]AWRANGJEB M.An overview of reversible data hiding[C].Proc of ICCIT-2003,Bangladesh,2003. [2]LIN E T,DELP E J.Temporal synchronization in video watermarking[J].IEEE Trans Signal Process,2004,52(10):3007-3022. [3]DAZHI Z,BOYING W,JIEBAO S,et al.A new robust watermarking algorithm based on dwt[C]∥ 2nd International Congress on Image and Signal Processing,2009:1-6. [4]WU C P,JAY K C.Design of Integrated multimedia compression and encryption systems[J].IEEE Trans on Multimedia,2005,7(5):828-839. [5]陈宏武,赵慧民.一种基于数字指纹在电子商务中的应用方法研究[J].中山大学学报:自然科学版,2009,48(3):41-46. [6]赵慧民,郭一缜,丁晓艳.一种数字图像和指纹水印位平面合成的优化方法[J].中山大学学报:自然科学版,2010,49(6):64-67. [7]CANDES E,ROMBERG J,TERENCE Tao.Robust uncertainty principles:Exact signal reconstruction from highly incomplete frequency information[J].IEEE Trans On Information Theory,2006,52(2):489-509. [8]张旭坤,马社祥.压缩感知的量化率失真分析[J].计算机应用,2013,33(1):295-298. [9]DONOHO D L,TSAIG Y.Extensions of compressed sensing [J].Signal Processing, 2006,86(3):533-548. [10]MUN S,FOWLER J E.Block compressed sensing of images using directional transforms[C]∥Proceedings of the International Conference on Image Processing,Cairo,Egypt,2009:3021-3024. [11]DO T T,TRAN T D,GAN L.Fast compressive sampling with structurally random matrices[C]∥Proceedings of the International Conference on Acoustics,Speech,and Signal Processing,2008:3369-3372. [12]赵慧民,郭一缜,丁晓艳,等.用于视频多播传输的压缩传感实现方法研究[J].中山大学学报:自然科学版,2012,51(1):45-49. [13]ALI AL-HAJ.Combined DWT-DCT digital image watermarking[J].Journal of Computer Science ,2007,3(9):740-746,. [14]谢勍,谢建全.一种基于奇异值分解(SVD)的改进图像水印算法[J].计算机工程与科学,2007,29(11):40-45.2 指纹图像的多尺度BCSW算法
2.1 DWT对指纹图像的BCS采样设置
2.2 BCSW数据的构造
2.3 BCSW数据的嵌入
2.4 BCSW数据的检测和提取
2.5 根据BCSW重构指纹图像
3 实验结果
3.1 图像的透明性分析
3.2 水印的鲁棒性分析
4 结 论