您的位置:首页 > 编程语言 > Go语言

An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms

2015-11-26 09:37 357 查看

An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms

转眼就11月底了,突然开始有点惶恐。。。感觉这个月身体一直在不舒服,每年总有一段时间觉得心口压抑,虽然也寻医问药,但似乎并没有什么效果。等到我不想去理它的时候,它自己又莫名地好了,真是让人神伤。这个月回了一次家,看到家人似乎又来了几分,心里的焦虑越发浓郁了,也许,这才是我那么惧怕时光匆匆的缘由吧。扯远了。。。

下周要汇报论文,这周就又看了一篇水印的文章,这篇文章的题目为“An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms!”,发表在2007的IEEE Trans上。刚刚整理好了要讲的ppt,如果小书匠可以直接将ppt转换为文档就好了。。。

论文算法总结和特点

这篇论文提出的是一种盲水印算法。水印的嵌入主要用到了三维模型网格点的模长。具体来说,

step1:论文先将原始模型中顶点的笛卡尔坐标转换为球面坐标,获取p分量(即顶点模长);

step2:根据顶点模长的大小,将模长划分到大小相同的bin中,每个bin中嵌入一位水印;

step3:把每个bin中的模长映射到[0,1]区间;

step4:计算bin中模长的均值,调整每个bin中的模长,使bin中模长的均值满足一定的条件以实现水印的嵌入;

step5:接下来将模长反映射会原来的区间;

step6:最后将顶点坐标从球面转换到原始的笛卡尔坐标系中。

提取水印时:

step1-3:与嵌入时相同,

step4:计算bin中的模长

step5:比较模长与某个参考值的大小,确定水印

空域水印

论文中的水印是直接嵌入在空域中的。主要是修改模型顶点的模长分布来实现水印的嵌入的

盲水印

该论文中的水印算法为盲水印算法,在水印提取阶段不需要原始模型

水印序列

论文中使用的是{+1,-1}的伪随机二值序列

调整变量的分布



上图最左边的图表示的是一个服从均匀分布的变量X的概率密度函数,假定我们要在变量X上嵌入水+1,那么我们对变量X进行扰动,使变量X变为Y。扰动的规则是,是让扰动后的变量Y的期望大于某个参考值(实际设置为1/2);反之,当要嵌入水印-1时,我们就扰动X,使X变为Y,且确保Y的期望小于某个参考值。

算法流程图



上图为整个算法的流程图。

直方图映射

在将变量X扰动为Y的时候,我们要保证扰动后的Y的分组和扰动前X的分组一致,因此本文提出了直方图映射函数。直方图映射函数的形式为幂函数。



结果展示

其他步骤就不细说了。



转载请注明出处:http://www.cnblogs.com/scut-linmaojiang/p/4996666.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: