zoukankan      html  css  js  c++  java
  • 基于小波分解的网格序列水印

    基于小波分解的网格序列水印

    这篇笔记是对之前的一篇论文理解的补充,论文题目为“A Blind Watermarking for 3-D Dynamic Mesh Model Using Distribution of Temporal Wavelet Coefficients”。

    序列水印

    这篇论文选取了序列中的一个量来进行小波分解,分解完后得到高频和低频部分(高频部分称为高频系数,低频部分称为低频系数)。作者使用低频部分来将顶点进行分组,然后修改每个分组中的高频部分,使高频部分的系数的方差满足一定能够的条件,从而嵌入水印。

    对什么量进行小波分解

    原始水印序列Sn,(0 <= n < N, N是总帧数),对于原始的3D序列Sn,每一帧的重心都平移到坐标原点
    序列中的每个点的坐标沿着时间轴做小波变换,即将顶点的运动轨迹看作一个信号,对这个信号做小波分解,这样Sn分解为低频部分Cn(0 <= n <= N/2 ),和高频部分Dn(0 <= n <= N/2)。

    小波选取

    首先需要明确的是,在小波分解中,根据选取的小波的形式不同,小波分解的结果自然也不同。我们以最简单的Haar小波分解为例,对本文中的小波分解进行阐述。下图为Haar小波的波形。
    enter description here

    Haar小波分解

    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here
    enter description here

    上面的英文图片来自一个ppt,不知道ppt如何加入到这个编辑器中,所以只有截图了。根据上面的描述,我们可以知道小波分解后的低频和高频分别是什么了。
    对网格序列中顶点轨迹进行小波分解后,低频部分就是偶数帧的顶点坐标,而高频部分就是奇数帧的顶点坐标减去它的前一帧(偶数帧)的顶点坐标之差。
    enter description here

    Bin的划分

    得到低频部分后,求出低频部分平均帧,然后将笛卡尔坐标转换到球面坐标,enter description here,根据p分量的大小,将顶点分到不同的bin中。例如,p的取值为[1,20],假定要嵌入的水印位数为10,那么bin的个数为10,每个bin的长度为20/10 = 2。然后按照要求修改每个bin中的高频系数,使bin中的高频系数的方差满足一定的要求,具体的做法可以参看之前的笔记,这里不再赘述。

  • 相关阅读:
    uft/qtp的参数化
    华为数据之道-读书笔记
    python操作neo4j
    PyPDF2提取pdf中的信息
    时间片轮转算法
    百度地图根据类别不同做不同的标注
    操作系统-考点
    《修改代码的艺术》读书笔记
    【2021.07.06】抗争性人格的自我记录
    【2021.06.16】即将到来的毕业
  • 原文地址:https://www.cnblogs.com/scut-linmaojiang/p/4730501.html
Copyright © 2011-2022 走看看