An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms
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
An Oblivious Watermarking for 3-D Polygonal Meshes Using Distribution of Vertex Norms的更多相关文章
- Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain
这周看了一篇Ryutarou Ohbuchi网格水印的论文,论文中提出在网格的频率域中加入水印.对于网格而言,没有如图像中的DCT等转换到频率域的变换,因此用什么量来模拟传统频率域中的系数,是很关键的 ...
- A Blind Watermarking for 3-D Dynamic Mesh Model Using Distribution of Temporal Wavelet Coefficients
这周看了一篇动态网格序列水印的论文,由于目前在网格序列上做水印的工作特别少,加之我所看的这篇论文中的叙述相对简洁,理解起来颇为困难.好在请教了博士师兄,思路明朗了许多,也就把这思路整理在此了. 论文作 ...
- {ICIP2014}{收录论文列表}
This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...
- CG&CAD resource
Computational Geometry The Geometry Center (UIUC) Computational Geometry Pages (UIUC) Geometry in Ac ...
- C++实现网格水印之调试笔记(二)
整理了一下要实现的论文Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain,步骤如下: 嵌入水印 à 提取水印 à 优化(网格细分) ...
- C++调用Matlab引擎及Eigen配置
这个周开始要着手实现网格水印的代码了,虽然还什么都不会,但也只能一步步摸索着往前走了. 我要实现的论文题目是<<Watermarking 3D Polygonal Meshes in th ...
- Computer Graphics Research Software
Computer Graphics Research Software Helping you avoid re-inventing the wheel since 2009! Last update ...
- 从maya导入物体 Importing Objects From Maya
原地址:http://game.ceeger.com/Manual/HOWTO-ImportObjectMaya.html Unity natively imports Maya files. To ...
- 《The Cg Tutorial》阅读笔记——凹凸贴图 Bump Mapping
本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/5018103.html 凹凸贴图 Bump Mapping 一.简介 凹凸贴图用于在不 ...
随机推荐
- lintcode 中等题:和大于S的最小子数组
题目 和大于S的最小子数组 给定一个由 n 个整数组成的数组和一个正整数 s ,请找出该数组中满足其和 ≥ s 的最小长度子数组.如果无解,则返回 -1. 样例 给定数组 [2,3,1,2,4,3] ...
- 推荐:根据ISBN号查询图书信息的API - 豆瓣API
转帖,出处:http://blog.csdn.net/berryreload/article/details/9126645 版权声明:本文为博主原创文章,未经博主允许不得转载. 找了半天,还是豆瓣的 ...
- Callable与Future的简单介绍
Callable与Future的介绍 Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类 ...
- error: ‘for’ loop initial declarations are only allowed in C99 mode
比如写出下面这段程序: for (int i = 0; i < n; ++i) do_something(); 然后用gcc编译,会报 ‘for’ loop initial declaratio ...
- Java学习笔记之:Java流程控制
一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...
- Android listview的item设定高度
在item的layout文件中,用android:layout_height设置item的高度.运行,高度设置无效. 解决办法: 给item设定minHeight,即可. -------------- ...
- Android 类似时间轴的实现
想要实现图片中的的时间轴的效果,设定了三种颜色,但是出来的只有一个黑色,还不是设定好的,而且长度很长的话不能滚动,下面上代码: 布局文件: <LinearLayout xmlns:android ...
- json-lib 中关于null与"null"
总感觉json-lib里面关于null和"null"的处理非常不合理,或者说是bug,去了json-lib的网站,最后一次更新是10年了... 发现官方网站第一段就说json-li ...
- 奇怪的transform bug
对一个元素使用transform:rotate 进行旋转,造成: 父元素的背景图位置偏移,往下降,背景图也会变模糊一些 造成重绘,导致该元素后面的兄弟元素受到影响,变得模糊,并且无法遮盖住父元素的背景 ...
- linux下拷贝整个目录
该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大. 语法:cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或 ...