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的更多相关文章

  1. Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain

    这周看了一篇Ryutarou Ohbuchi网格水印的论文,论文中提出在网格的频率域中加入水印.对于网格而言,没有如图像中的DCT等转换到频率域的变换,因此用什么量来模拟传统频率域中的系数,是很关键的 ...

  2. A Blind Watermarking for 3-D Dynamic Mesh Model Using Distribution of Temporal Wavelet Coefficients

    这周看了一篇动态网格序列水印的论文,由于目前在网格序列上做水印的工作特别少,加之我所看的这篇论文中的叙述相对简洁,理解起来颇为困难.好在请教了博士师兄,思路明朗了许多,也就把这思路整理在此了. 论文作 ...

  3. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  4. CG&CAD resource

    Computational Geometry The Geometry Center (UIUC) Computational Geometry Pages (UIUC) Geometry in Ac ...

  5. C++实现网格水印之调试笔记(二)

    整理了一下要实现的论文Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain,步骤如下: 嵌入水印 à 提取水印 à 优化(网格细分) ...

  6. C++调用Matlab引擎及Eigen配置

    这个周开始要着手实现网格水印的代码了,虽然还什么都不会,但也只能一步步摸索着往前走了. 我要实现的论文题目是<<Watermarking 3D Polygonal Meshes in th ...

  7. Computer Graphics Research Software

    Computer Graphics Research Software Helping you avoid re-inventing the wheel since 2009! Last update ...

  8. 从maya导入物体 Importing Objects From Maya

    原地址:http://game.ceeger.com/Manual/HOWTO-ImportObjectMaya.html Unity natively imports Maya files. To ...

  9. 《The Cg Tutorial》阅读笔记——凹凸贴图 Bump Mapping

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/5018103.html 凹凸贴图 Bump Mapping 一.简介 凹凸贴图用于在不 ...

随机推荐

  1. lintcode:Remove Element 删除元素

    题目: 删除元素 给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度. 元素的顺序可以改变,并且对新的数组不会有影响.  样例 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 ...

  2. 【mongoDB高级篇②】大数据聚集运算之mapReduce(映射化简)

    简述 mapReduce从字面上来理解就是两个过程:map映射以及reduce化简.是一种比较先进的大数据处理方法,其难度不高,从性能上来说属于比较暴力的(通过N台服务器同时来计算),但相较于grou ...

  3. Delphi语言获得生命的原因和过程

    都说Anders Hejlsberg是Delphi语言的作者,前一阵仔细读了VCL源码,惊叹于它的巧夺天工,未免对编译器的作者有些不服气,觉得首功不是他.今天仔细想了想,还是觉得不服不行.以下是我的理 ...

  4. MVVM 代码记录

      一.XML <Page x:Class="MVVM.MainPage" xmlns="http://schemas.microsoft.com/winfx/20 ...

  5. *Linux之rm命令

    自己瞅: [root@winner ~]# rm --help//rm-->remove用法:rm [选项]... 文件... 删除 (unlink) 文件. -f, --force 强制删除. ...

  6. Java API —— IO流小结

    练习题: 1.复制文本文件 package cn.itcast_01; import java.io.BufferedReader; import java.io.BufferedWriter; im ...

  7. 转:java提取图片中的像素

    本文转自:http://www.infosys.tuwien.ac.at/teaching/courses/WebEngineering/References/java/docs/api/java/a ...

  8. Python中模拟enum枚举类型的5种方法分享

    这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下   以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...

  9. HighCharts 饼图

    @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section ...

  10. Lambda表达式【转】

    lambda表达式是对匿名方法的一种改进,具有更加简洁的语法和更易理解的形式,lambda表达式可以包括表达式和语句,并且可以用与创建委托或表达式目录树类型. lambda表达式都使用Lambda运算 ...