东北大学学报:自然科学版  2020, Vol. 41 Issue (3): 316-320,360  
0

引用本文 [复制中英文]

张启龙, 温涛, 宋晓莹, 孙伟. 基于自适应直方图修改的网格可逆信息隐藏[J]. 东北大学学报:自然科学版, 2020, 41(3): 316-320,360.
[复制中文]
ZHANG Qi-long, WEN Tao, SONG Xiao-ying, SUN Wei. Reversible Data Hiding Algorithm Based on Adaptive Histogram Modification for 3D Mesh Models[J]. Journal of Northeastern University Nature Science, 2020, 41(3): 316-320,360. DOI: 10.12068/j.issn.1005-3026.2020.03.003.
[复制英文]

基金项目

国家自然科学基金资助项目(61772101,61602075);辽宁省博士启动基金资助项目(20180540084)

作者简介

张启龙(1983-),男,内蒙古兴安人,东北大学博士研究生;
温涛(1962-),男,辽宁大连人,东北大学教授,博士生导师。

文章历史

收稿日期:2019-02-27
基于自适应直方图修改的网格可逆信息隐藏
张启龙 1, 温涛 1,2, 宋晓莹 2, 孙伟 2     
1. 东北大学 计算机科学与工程学院,辽宁 沈阳 110169;
2. 大连东软信息学院 网络安全与计算技术重点实验室,辽宁 大连 116023
摘要:可逆信息隐藏是一种特殊的信息隐藏技术,在医学、军事和法律等领域具有重要的应用价值.本文提出一种基于自适应直方图修改的网格可逆信息隐藏算法.首先,利用模型形状的局部相似性,预测顶点位置以获得预测误差序列,构造陡峭的预测误差直方图.然后,根据直方图的分布特点,直接使用嵌入区域内两组指定的预测误差来嵌入秘密信息,减少了辅助信息的传输.最后,为减少模型失真,根据载荷大小自适应地选取合适的嵌入区域,有效避免对预测误差过多移动.实验结果表明,本文提出的算法在小容量嵌入时能保持较高的视觉质量,适用于高保真的网格可逆信息隐藏.
关键词直方图修改    预测误差    平移    三维网格模型    可逆信息隐藏    
Reversible Data Hiding Algorithm Based on Adaptive Histogram Modification for 3D Mesh Models
ZHANG Qi-long 1, WEN Tao 1,2, SONG Xiao-ying 2, SUN Wei 2     
1. School of Computer Science & Engineering, Northeastern University, Shenyang 110169, China;
2. Key Laboratory of Network Security and Computing Technology, Dalian Neusoft University of Information, Dalian 116023, China
Abstract: Reversible data hiding, as a special information hiding technology, is very useful in many fields, such as medicine, military and law. This paper proposes a reversible data hiding algorithm based on adaptive histogram modification for 3D mesh models. At first, the local similarity of model shapes is used to predict vertex positions in order to obtain the prediction error sequence with a steep histogram. Then, according to the distribution characteristics of the prediction error histogram, two groups of prediction errors are specified in embedding region for data embedding, which reduce the auxiliary date transfer. In addition, to reduce the model distortion, proper embedding regions are selected based on the payload size to avoid moving more prediction errors. The experimental results demonstrate that the proposed algorithm maintains high visual quality after data embedding and is applicable to low-capacity reversible data hiding.
Key words: histogram modification    prediction error    shifting    3D mesh models    reversible data hiding    

随着网络技术和数字经济的迅猛发展,数字内容传播存在着大量的盗版和侵权问题.为了增强数字内容安全和版权保护,信息隐藏作为一种强有力信息安全保护技术日益受到重视.不同于传统的信息隐藏技术,可逆信息隐藏更加适用于一些对内容失真敏感的领域,诸如医学、军事、遥感和司法等,因为其载体内容的永久性失真是不能接受的.可逆信息隐藏允许接收端在提取秘密信息之后,能够恢复原始载体,消除载体失真.因此,在很多的应用场合,如医疗数据的隐私保护、多媒体信息标注,以及遥感、军事图像的无损隐秘传输等,都有着重要的应用价值.

近些年来,可逆信息隐藏技术日益受到研究人员的广泛关注,大量的研究成果不断发表,使得可逆信息隐藏的相关研究得以不断地深入和发展[1].目前,从嵌入原理的角度划分,已有的可逆信息隐藏主要包括基于无损压缩的可逆信息隐藏、基于差值扩展的可逆信息隐藏、基于直方图平移的可逆信息隐藏.从待嵌入载体对象的类型区分,可逆信息隐藏研究涉及的载体包括图像、音频、视频、三维模型等.具体来说,当前大多数研究工作是以图像为载体对象,从最初的灰度图像逐渐扩展到彩色图像和加密图像.同时进一步扩展到音频、视频、三维模型等其他载体类型[2-3].相较于以图像为载体的可逆信息隐藏,针对其他载体类型的研究工作还相对较少.

基于直方图平移技术的可逆信息隐藏算法最先由Ni等[4]提出,其主要思想是利用载体图像的直方图中的峰值bin隐藏秘密数据.因为对原始像素的最大修改量为1,所以得到的载密图像质量较好,且该算法实现的复杂度不高.之后,更多研究工作,如文献[5-7]以直方图平移技术为基础加以改进和扩展.而Jhou等[8]将直方图平移思想应用到三维模型,选择三维模型所有顶点坐标值的最后若干位数字构成直方图,并将消息嵌入到直方图峰值bin对应的坐标.为抵抗顶点重排序攻击,根据每个顶点到网格模型重心的距离大小排序,从而决定顶点的嵌入顺序.Chuang等[9]提出了一种具有仿射变换不变性的可逆信息隐藏算法.该算法先计算三维模型中顶点到中心点的距离,归一化距离来构建直方图,并嵌入信息,该算法能够抵抗RST攻击.Huang等[10]提出了一种基于直方图平移的三维模型可逆信息隐藏算法,该算法采用修改的广度优先搜索确定顶点顺序,再计算每个顶点到固定初始点的距离,然后基于相邻顶点的几何相似性,通过相邻顶点的上述距离构建差值直方图,再通过平移直方图实现信息的嵌入.从实验结果看,相比之前的两个算法,文献[10]的算法增大了信息嵌入容量,提升了抵抗相似性攻击和顶点重排序的鲁棒性.

综上所述,以直方图平移为框架的可逆信息隐藏算法被众多研究人员进行广泛研究.其特点是载密对象的视觉质量较好,虽然嵌入容量有限,但算法复杂度低.特别是目前许多的应用场景并不需要高容量嵌入,低容量嵌入较符合实际需求.然而,现有算法多数面向图像载体,并不能直接应用于三维模型载体.这是因为相比于图像,三维模型具有高维度、数据规模大、拓扑结构复杂等特点.目前,三维模型可逆信息隐藏的相关研究还处于初始阶段,在算法性能和应用场景上都存在很大提升空间.因此,本文提出了一种基于自适应直方图修改的网格可逆信息隐藏算法.首先,利用网格相邻顶点之间的关系和均值预测方法获得预测误差序列,对应的预测误差直方图相较于位置坐标值直方图更加陡峭,有利于增加嵌入容量和减少模型失真.其次,利用预测误差直方图的分布特点,在嵌入区域内直接使用两组指定的预测误差嵌入秘密信息,并通过左右移动其他预测误差形成嵌入空间,这种直方图修改方案无需专门搜索可用的峰值/零值bin,同时提供了可观的嵌入容量.另外,根据载荷大小设置自适应调节参数,动态选取合适的嵌入区域,避免过多移动预测误差带来额外的失真.最后,实验结果表明所提算法能够有效实现秘密信息的嵌入和提取,以及网格模型的恢复,对比已有的算法,载密模型能保持较高的视觉质量,适用于低嵌入容量的可逆信息隐藏.

1 图像直方图平移算法的基本原理

图像直方图平移算法最早由Ni等[4]提出,如图 1所示,其主要操作包括:直方图构造,峰值/零值bin选择,像素遍历扫描,像素值加减等.具体来讲,该算法首先构建整个图像的像素值直方图,搜索直方图并选出峰值bin(对应的像素值频数最大)和零值bin(对应的像素值频数最小,一般为0).将直方图的峰值bin和零值bin之间的像素移位,从而使峰值bin的邻域产生直方图间隙.数据嵌入时,扫描载体图像中直方图峰值bin的像素,如果待嵌入的比特信息为0,则峰值bin的像素值保持不变;如果待嵌入的比特信息为1,则峰值bin的像素值将变为直方图间隙对应的像素值.数据提取时,如果遇到原有峰值bin的像素值,则提取比特信息为0,如果遇到原有直方图间隙的像素值,则提取比特信息为1.最后,将峰值bin之外的像素反向移位,使载体图像恢复为原始状态.

图 1 直方图平移 Fig.1 Histogram shifting

由于信息的嵌入过程对载体图像的修改很小,所以直方图平移算法往往具有较低的计算复杂度和较高的图像质量.其不足是嵌入容量受到直方图峰值bin的限制.尤其是对于相对平坦的直方图,可嵌入容量会特别小.另外,需要额外传输有关峰值/零值bin的边信息,影响了嵌入容量,在很大程度上降低了算法的实用性.

2 三维网格模型可逆信息隐藏算法

近年来,随着三维扫描技术、计算机性能和计算机图形学的快速发展,三维模型在许多行业领域中得到了广泛的应用.通过三维扫描仪扫描或者通过一些三维建模软件就可以获得所需的三维模型数据,并将其保存为特定的文件格式,如OBJ,OFF,PLY,WRL,DWG等.基本上这些格式的三维模型都是以顶点集合和面集合为基础单元组成,顶点的位置坐标是其中的重要属性信息,通常作为嵌入单元用于信息的隐藏.

图像是通过修改像素值来嵌入信息,三维网格模型可通过修改顶点坐标值来嵌入信息.本文提出的自适应直方图修改算法,采用顶点位置坐标的预测误差作为载体序列,根据载荷大小自适应选取载体序列的特定嵌入区域并构造直方图,在直方图原点附近指定的两组预测误差作为嵌入对象,分别向左右两侧移动其他的预测误差,从而形成直方图间隙用于嵌入信息.其优势在于相比位置坐标值直方图,预测误差直方图不易受到网格载体形状的影响,避免了搜索峰值bin,同时减少不必要移动引入的失真,更加适合低嵌入容量要求的情况.

2.1 网格预处理

三维网格模型是通过由顶点、边和面构成的一个集合来表达三维形体的形状, 通常包含几何信息和拓扑信息.其中, 网格顶点的位置数据通常是采用带有固定精度的浮点数形式来表示.为了执行信息嵌入操作, 将所有的网格顶点位置坐标转化成整数坐标即网格顶点位置坐标乘以10p, 截断小数部分得到整数坐标.当信息嵌入操作完成后, 整数坐标除以10p用于调整原有顶点位置坐标.其中, 原有顶点坐标浮点数的精度是10-pmax.ppmax是一个指示截断精度的整数, 通常设置为3或者4.另外, 针对网格顶点之间具有复杂的拓扑关系, 需要采用一个特定的顶点遍历顺序, 得到网格待嵌入顶点序列{i}i=1N, 以及相应的顶点位置序列{viint}i=1N, 其中, N表示序列长度, viint表示整数坐标形式的顶点位置.

2.2 预测误差直方图的构造

基于直方图的可逆信息隐藏算法首先需要获得待嵌入载体序列,构造对应的统计直方图,通过特定方式修改直方图实现信息嵌入.本文通过网格顶点位置预测获得预测误差序列,从而构造预测误差直方图.相对于距离差值直方图[10]和位置坐标值直方图[8],预测误差直方图具有更加陡峭的拉普拉斯分布,有利于提高嵌入容量和减少失真.直方图的构造过程主要如下:计算待嵌入顶点的预测位置和预测误差向量,得到预测误差序列;最后,计算预测误差序列中特定嵌入区域内预测误差值的频数来构造预测误差直方图.

1) 预测位置.由于三维网格模型具有局部相似性,每个顶点的位置与周围一定范围内的顶点的位置具有相关性,所以,可利用顶点邻域内顶点的位置平均值预测该点的位置.也就是说,顶点位置预测通常采用均值预测方法,而预测上下文由顶点遍历顺序中待嵌入顶点的周围顶点组成,如采用已遍历邻点[11],一环邻域内的所有顶点或部分顶点[12].为保证信息嵌入的可逆性,预测上下文中的顶点需要保持位置相对不变.因此,待嵌入顶点i的预测位置可表示如下:

(1)

其中:j∈Ctx(i)是顶点i的预测上下文中的某个顶点;vjint是顶点j的位置;|Ctx(i)|表示预测上下文中的顶点个数;trunc()表示截断函数.

2) 预测误差向量eiint.顶点的预测误差向量由顶点的原始位置与预测位置决定.通常,顶点的位置预测越准确,构造的直方图越陡峭.顶点i的预测误差向量eiint表示如下:

(2)

其中:viint是顶点i的原始位置;是其预测位置; (ei, xint, ei, yint, ei, zint)是预测误差向量的坐标表示.

3) 预测误差序列E及其直方图PEH.所有待嵌入顶点的预测误差向量构成了预测误差序列E.计算序列E在选定区域内预测误差值的频数,就可获得预测误差直方图PEH,而具体的选定区域根据实际载荷大小来自适应确定.通常,预测误差直方图能够反映载体序列的信息嵌入能力.预测误差直方图具有陡峭的拉普拉斯分布,有利于获得更大的嵌入容量,并且减少直方图平移引入的失真.

2.3 信息的可逆嵌入和提取

一般来说, 预测误差直方图通常具有类似0均值的拉普拉斯分布, 这表明在直方图原点周边的预测误差通常具有频数极大值.本文直接采用两组指定的预测误差eint=0和eint=-1代替峰值bin, 分别移动左右两侧其余的预测误差, 在eint=1和eint=-2处形成直方图间隙以留出嵌入空间, 再把信息嵌入到上述两个预测误差中.其好处在于避免了多对峰值bin的搜索过程, 无需将峰值bin的相关信息传递给接收端, 同时又保持可观的嵌入容量.

本文中, 预测误差eint=0和eint=-1表示信息比特位为0, 预测误差eint=1和eint=-2表示信息比特位为1.在发送端, 给定预测误差eint和嵌入信息b∈{0, 1}, 则修改的预测误差

(3)

在接收端,提取的嵌入信息b如式(4)所示:

(4)

而原始的预测误差eint可通过式(5)得到恢复,

(5)
2.4 自适应调节参数的选择

分析直方图平移算法可知,寻找直方图峰值bin是为了寻找可嵌入的预测误差,从而确定其嵌入容量的上限,然而,为了留出嵌入空间,算法必须先移动其他的预测误差形成直方图间隙.当载荷远小于嵌入容量上限时,需要移动较多的预测误差形成直方图间隙,引入的修改失真相对较大,从而导致载体视觉质量的不必要下降.所以,改进算法性能的关键是如何在满足载荷的前提下尽量减少预测误差的移动,从而避免不必要的载体失真.因此,本文采用了自适应调节参数,能够根据载荷大小的变化来动态地选取预测误差序列的特定嵌入区域,最终避免过多地移动预测误差引入的失真,进而提高载体的视觉质量.

假定待嵌入载体的预测误差序列E,先从起始位置选取长度为60的嵌入区域EH,再接着选取长度为Q的嵌入区域EQ.其中,EH用于嵌入辅助信息,包括自适应调节参数Q,载荷大小|P|.而EQ用于构造直方图以嵌入秘密信息和EH中的原始LSB比特流.

所需的辅助信息包括自适应调节参数Q通过LSB替换方法嵌入到EH区域,并最终传递到接收端.为简单起见,采用迭代搜索的方式来寻找自适应调节参数Q的合适值,从而确定既满足载荷大小又相对较小的嵌入区域EQ.参数Q的搜索过程如下:对于给定的载荷P,设置Q=|P|,选取长度为Q的嵌入区域EQ构造频数直方图,计算预测误差为0和-1的频数count.如果条件Q < count得到满足,则使长度Q按一定步长增长,重复计算count并比较上述条件;否则,参数Q的当前值成为合适值,退出迭代搜索过程.

2.5 嵌入和提取过程

本文提出的可逆信息隐藏算法的整体框架如图 2所示,主要分为两个过程:嵌入过程和提取过程.在嵌入时,首先通过网格预处理将原始模型所有顶点位置坐标转化为整数坐标;根据特定的顶点遍历顺序获得待嵌入顶点序列.其次,利用网格顶点的几何相似性,计算所有待嵌入顶点的预测位置,获得预测误差序列.再次,根据载荷大小来搜索合适的自适应调节参数,选取预测误差序列的特定嵌入区域,构造预测误差直方图.然后,将秘密信息和辅助信息分别嵌入到预测误差序列.最后,修改网格模型中所有待嵌入顶点的坐标,获得载密模型.

图 2 本文算法的整体框架 Fig.2 Overall framework of the proposed algorithm

提取过程是上述嵌入过程的逆向处理.经过载密模型的预处理后,先从预测误差序列中提取辅助信息,再根据其中的参数来确定嵌入区域,构造预测误差直方图,提取出秘密信息.最后,修改网格中所有被嵌入顶点的坐标,从而得到恢复的载体模型.

3 实验分析

本文的实验运行环境为Intel Core i3(2.50 GHz)处理器,6 GB内存.在Windows 7操作系统采用C++程序语言实现算法.实验数据集来自斯坦福大学的3D Scanning Repository,实验模型包括Bunny,Horse,Armadillo,Hand,Dragon等,具体信息如表 1所示.嵌入到网格模型的秘密信息用随机生成的0/1字符串表示.

表 1 网格模型的信息 Table 1 The mesh model information

图 3给出了5个网格模型的嵌入性能曲线.从图中可以看出,随嵌入量的增加,信噪比SNR值在不断下降,这是因为增加嵌入信息时,必然会修改更多的坐标,从而导致视觉质量的降低.当嵌入量相同时,不同三维模型的SNR值差别较大,这是因为三维模型本身具有形状复杂和高维度的特点.另外,图 4展示了在不同信息嵌入量时Dragon模型的视觉效果.观察可知,尽管本文采用的直方图修改方式的信息嵌入量有限,但当嵌入容量要求较低时,该算法由于对顶点坐标改动较小,模型失真总体上不明显,保持了较高的视觉质量.

图 3 本文算法在不同的网格模型下的性能 Fig.3 Performance of the proposed algorithm for different experimental mesh models
图 4 Dragon模型的视觉效果,信息嵌入量分别为10 000,15 000,20 000,25 000 b Fig.4 Visual effects for Dragon model with payload sizes of 10 000, 15 000, 20 000 and 25 000 b, respectively (a)—10 000 b;(b)—15 000 b;(c)—20 000 b;(d)—25 000 b.

表 2为本文算法与文献[9-10]中算法的比较,实验模型为Armadillo和Dragon.这3个算法都是基于直方图平移的算法.信息嵌入量和模型失真分别采用嵌入率(ER)和归一化均方根(NRMS)来度量.由表 2可知,对于Armadillo模型,本文算法的嵌入率大于文献[9-10]的算法,同时本文算法具有相对更小的模型失真.对于Dragon模型,本文算法的模型失真小于文献[9]的算法且接近文献[10]算法,同时本文算法的嵌入率最大,并达到文献[10]算法的两倍以上.因此,本文所提算法的性能优于其他两种基于直方图平移的对比算法.

表 2 基于直方图平移的3种算法的性能比较 Table 2 Performance comparison of three algorithms based on histogram shifting

表 3为本文算法与Jiang等[12]的算法在5个模型上的性能比较.文献[12]通过双层预测方法,构建预测误差序列,采用递归编码方式嵌入信息,并达到了较好的性能.从表 3中可知,当嵌入率较小时,本文算法比文献[12]中算法SNR值更高.这主要是因为本文采用顶点位置预测和自适应的直方图修改方法,能够在信息嵌入时避免过多修改带来模型失真,更适用于低嵌入量的情况.对比来说,文献[12]的算法能满足更大的嵌入率要求.

表 3 本文算法与文献[12]中算法的性能比较 Table 3 Performance comparison between the proposed algorithm and the one in reference[12]
4 结语

本文提出了一种基于自适应直方图修改的网格可逆信息隐藏算法.该算法利用网格形状的局部相似性来预测顶点位置,使得构造的预测误差直方图更加陡峭,有利于增加嵌入容量和减少视觉失真.结合预测误差直方图的分布特点,直接使用嵌入区域内两组指定的预测误差来嵌入秘密信息,无需搜索可用的预测误差,减少了辅助信息对可用嵌入容量的占用.另外,根据载荷大小自适应动态选取合适的嵌入区域,有效避免对预测误差的过多移动,进一步减少了载密模型的视觉失真.实验结果表明,本文提出的算法能够在小容量嵌入时保持较高的视觉质量,适用于高保真的网格可逆信息隐藏.

参考文献
[1]
Shi Y Q, Li X, Zhang X, et al. Reversible data hiding: advances in the past two decades[J]. IEEE Access, 2016, 4: 3210-3237.
[2]
Choi K, Pun C, Chen C L, et al. Application of a generalized difference expansion based reversible audio data hiding algorithm[J]. Multimedia Tools and Applications, 2015, 74(6): 1961-1982.
[3]
Zhao J, Li Z. Three-dimensional histogram shifting for reversible data hiding[J]. Multimedia Systems, 2018, 24(1): 95-109.
[4]
Ni Z, Shi Y Q, Ansari N, et al. Reversible data hiding[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2006, 16(3): 354-362.
[5]
Li X, Li B, Yang B, et al. A general framework to histogram-shifting-based reversible data hiding[J]. IEEE Transactions on Image Processing, 2013, 22(6): 2181-2191.
[6]
Tsai Y Y, Tsai D S, Liu C L. Reversible data hiding scheme based on neighboring pixel differences[J]. Digital Signal Processing, 2013, 23(3): 919-927.
[7]
Liu L, Chang C C, Wang A. Reversible data hiding scheme based on histogram shifting of n-bit planes[J]. Multimedia Tools and Applications, 2016, 75(18): 11311-11326.
[8]
Jhou C Y, Pan J S, Chou D.Reversible data hiding base on histogram shift for 3D vertex[C]//Proceedings of 3rd International Conference on Intelligent Information Hiding and Multimedia Signal Processing.Taiwan, 2007: 365-370.
[9]
Chuang C H, Cheng C W, Yen Z Y.Reversible data hiding with affine invariance for 3D models[C]//Proceedings of IET International Conference on Frontier Computing Theory, Technologies and Applications.Taiwan, 2010: 77-81.
[10]
Huang H C, Fang W C, Tsai I T.Reversible data hiding using histogram-based difference expansion[C]//Proceedings of IEEE International Symposium on Circuits and Systems.Taiwan, 2009: 1661-1664.
[11]
Wu H T, Dugelay J L.Reversible watermarking of 3D mesh models by prediction-error expansion[C]//Proceedings of IEEE 10th Workshop on Multimedia Signal Processing.Queensland, 2008: 797-802.
[12]
Jiang R, Zhang W, Hou D, et al. Reversible data hiding for 3D mesh models with three-dimensional prediction-error histogram modification[J]. Multimedia Tools and Applications, 2018, 77(5): 5263-5280.