一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维模型水印添加、提取方法及装置和存储介质与流程

2022-03-16 16:13:06 来源:中国专利 TAG:


1.本发明涉及信息处理技术领域,尤其涉及一种三维模型水印添加、提取方法及装置和存储介质。


背景技术:

2.水印一般是指图片上的文字标识或图形标识(如logo),比如发表微博时,图片都会自动打上肉眼可见的博主昵称,其一般用于标识某张图片的出处或者用于声明版权。但是添加可视的水印会破坏掉原图,而且影响美观,比较粗暴。因此,现有技术中出现了另一种被称为“盲水印”的技术。所谓“盲水印”是指人感知不到的水印,包括看不到或听不见(如用于音频的数字盲水印)的水印,其目的是在不破坏原始作品的情况下,实现版权的保护与追踪。
3.在现有技术中,实现“盲水印”的方式主要是利用傅立叶变换可以把数据从时域转换到频域,而且过程可逆这一特性。例如,在添加盲水印时,一般是将原图先由时域转换到频域,然后在频域上添加水印数据,最后通过逆变换转回时域,从而实现盲水印的添加。但是,现有技术中,在添加盲水印时只要求在频域内叠加水印数据,但是如何在频域内叠加水印数据却由各开发者自行确定,因此虽然现有中也有不少盲水印技术,但是大多存在抗攻击能力低等问题,例如通过诸如裁剪、缩放或遮挡等方式来处理添加了盲水印的图片,则很有可能导致无法正常且清楚地还原出水印图片。另外,现有的添加盲水印的技术主要是针对二维图形的,对于3d(三维)资源,如何添加盲水印,则鲜有涉及。


技术实现要素:

4.本发明的主要目的在于提供一种三维模型水印添加、提取方法及装置和存储介质,能够提高盲水印的抗攻击能力。
5.为了实现上述发明目的,本发明实施例提供了一种三维模型水印添加方法,包括:将所述三维模型转换为二维图片;将所述二维图片分解为n个固定大小的子块,并将所述n个子块由时域变换为频域;将所述水印转换为m个具有伪随机序列的二进制位数据,其中n和m均为正整数,且n大于或等于m;将所述m个二进制位数据叠加至所述n个子块,且控制一个子块叠加一位二进制数据;以及在所述叠加之后,将所述n个子块由频域转换回时域,并在时域合成所述n个子块,得到二维图片,并将所述得到的二维图片转换回三维模型。
6.在一种实施方式中,所述将所述二维图片分解为n个固定大小的子块,包括:对所述二维图片进行通道分离,得到多通道数据;根据所述二维图片的尺寸,确定所述二维图片的长和宽是否为偶数,若不为偶数,则通过边缘补充的方式将所述二维图片的长和宽均调整为偶数;将所述多通道数据分解成n个4*4大小的子块。
7.在一种实施方式中,所述将所述水印转换为m个具有第二伪随机序列的二进制位数据,包括:将所述水印转换为m个二进制位数据,并使用水印加密因子打乱所述m个二进制位数据的顺序,得到所述m个具有伪随机序列的二进制位数据。
8.在一种实施方式中,所述将所述m个二进制位数据叠加至所述n个子块,包括:根据所述二维图片的加密因子,对每个子块进行奇异值分解操作,得到奇异值分解数据;根据所述伪随机序列,依次将所述m个二进制位数据叠加至所述n个子块的奇异值分解数据中;以及对叠加了所述二进制位数据的所述奇异值分解数据执行逆奇异值分解操作。
9.本发明实施例还提供了一种三维模型水印提取方法,所述三维模型采用上述的方法添加了水印,所述水印提取方法包括:将所述三维模型转换为二维图片;将所述二维图片分解为n个固定大小的子块,并将所述n个子块由时域变换为频域;提取所述n个子块中的每个子块中的水印信息,其中每个子块中包括1位水印信息;以及将提取到的水印信息还原为水印图片。
10.在一种实施方式中,所述将所述二维图片分解为n个固定大小的子块,包括:将所述三维图片分解为n个4*4大小的子块;其中,所述将提取到的水印信息还原为水印图片,包括:根据水印加密因子,确定所述水印信息的序列;以及根据所述水印信息的序列,将所述水印信息还原为水印图片。
11.在一种实施方式中,所述提取所述n个子块中的每个子块中的水印信息,包括:根据所述二维图片的加密因子,依次对所述n个子块的每个通道的数据进行奇异值分解操作,得到每个子块在各个通道上的奇异值分解数据;从所述奇异值分解数据中提取水印信息,得到每个子块在各个通道上的水印信息;以及对所述水印信息求平均值,得到每个子块的水印信息。
12.本发明实施例还提供了一种三维模型水印添加装置,包括:转换模块,用于将所述三维模型转换为二维图片;原图处理模块,用于将所述二维图片分解为n个固定大小的子块,并将所述n个子块由时域变换为频域;水印处理模块,用于将所述水印转换为m个具有伪随机序列的二进制位数据,其中n和m均为正整数,且n》m;叠加模块,用于将所述m个二进制位数据叠加至所述n个子块,且控制一个子块叠加一位二进制数据;以及三维模型生成模块,用于在所述叠加之后,将所述n个子块由频域转换回时域,并在时域合成所述n个子块,得到二维图片,并将所述得到的二维图片转换回三维模型。
13.本发明实施例还提供了一种三维模型水印提取装置,所述水印提取装置包括:转换模块,用于将所述三维模型展开为二维图片;图片处理模块,用于将所述二维图片分解为n个固定大小的子块,并将所述n个子块由时域变换为频域;水印提取模块,用于提取所述n个子块中的每个子块中的水印信息,其中每个子块中包括1位水印信息;以及水印生成模块,用于将提取到的水印信息还原为水印图片。
14.本发明实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的水印添加方法,或者实现如上所述的水印提取方法。
15.本发明实施例的有益效果:
16.本发明实施例,针对3d模型资源,能够实现盲水印的添加和提取,从而能够实现针对3d模型资源的保护。同时,本发明实施例将3d模型转换而成的二维图片划分为固定大小的子块,采用以子块为单位,逐块地添加水印中的1位信息的方式实现水印的添加。此种方式,能够保证水印信息能够充分地添加至3d模型中,从而能够提高水印的抗攻击能力;另外,此种方式添加的是盲水印,对图像质量的3d模型的展示效果几乎没有任何影响。
附图说明
17.图1是本发明的用于三维模型的水印添加方法的一实施例的流程示意图;
18.图2是图1中的步骤s102的一实施例的流程示意图;
19.图3是图1中的步骤s105的一实施例的流程示意图;
20.图4是本发明的用于三维模型的水印提取方法的一实施例的流程示意图;
21.图5是本发明的用于三维模型的水印添加装置的一实施例的结构示意图;以及
22.图6是本发明的用于三维模型的水印提取装置的一实施例的结构示意图。
具体实施方式
23.为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅以解释本发明,并不用于限定本发明。
24.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
25.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
26.以下结合附图,通过实施例来对本发明进行说明。首先本发明实施例能够针对三维模型(3d),例如产品的三维全景图,实现盲水印的添加和提取。其次,本发明实施例的添加水印的方式,由于采用逐块加逐位添加的方式,因此能够提高水印的抗攻击能力;例如实验数据表明,本发明实施例在面临各种形式的裁剪、放大、缩小、旋转、亮度变化等攻击时,仍能够还原出能够识别的水印。再次,本发明实施例采用双加密因子分别对原图和水印进行加密,在不知道本发明实施例的双加密因子的前提下,他人很难破解本发明的实施例的水印,例如很难去除掉采用本发明实施例的方式添加的水印。本发明实施例的上述诸多优点,将在以下说明。
27.如图1所示,是本发明的用于三维模型的水印添加方法的实施例的流程示意图。该水印添加方法包括以下步骤:
28.步骤s101、将三维模型转换为二维图片。
29.其中,三维模型例如可以是物品的三维全景图,例如三维模型可以是待销售的球鞋、衣服等的三维图;对于网络销售而言,对于销售的物品添加盲水印可以保护销售方的著作权,避免被盗图,以及即使在盗图后也能够实现出处追踪,因此本实施例的添加水印的方法将对这些领域具有非常重要的意义。
30.在步骤s101中,首先需要获取三维模型,然后再将三维模型转换为二维图片;其中,将三维形式转换为二维形式是本领域技术人员所熟悉的,在此不赘述。一般而言,将三维模型转换(例如展开)为二维图片之后,得到的二维图片在平面上的尺寸会显著增大,因此这将使得二维图片有足够的尺寸可以充分地添加水印信息。
31.步骤s102、将步骤s101得到的二维图片分解为n个具有固定大小的子块。
32.其中,例如可以使用小波变换来实现二维图片分解为n个子块。其中,固定大小例如可以是4*4的大小,例如子块为长和宽均为4个像素。当然,固定大小也可以是其他的大
小,例如6*6或8*8等,实验数据表明,当采用4*4时,可以资源消耗和性能方面均达到较好的效果。
33.步骤s103、将步骤s102得到的n个子块由时域变换为频域。
34.在此步骤中例如可以采用傅立叶变换来实现时域至频域的转换。由于图片为二维形式,因此可以采用二维傅立叶变换。
35.步骤s104、将水印转换为m个具有伪随机序列的二进制位数据,其中n和m均为正整数,且n》m。
36.其中,在步骤s104,先得到要添加至3d模量的水印,例如为文字或者logo,然后将水印转换为二进制位数据,其中二进制位数据的个数为m,即利用m个二进制位数据来编码水印。然后,利用水印加密因子来打乱m个二进制位数据的序列,得到m个具有伪随机序列的二进制位数据。
37.需要说明的是,在实施例中,要求n至少大于或等于m,如果n小于m,则无法将水印的所有信息添加至图片中,则无法实现完整水印的添加。因此,本发明实施例在执行下述的叠加步骤之前,可以先检查子块的数目和二进制位数据的数目,从而判断能否添加水印。若判断结果为是,则执行下述的叠加步骤;若判断结果为否,则提示无法添加水印。一般而言,n越大于m,水印信息越能够充分地添加至图片中,如此水印的抗攻击能力则越强。
38.步骤s105、将步骤s104得到的m个二进制位数据叠加至步骤s103得到的n个子块,且控制一个子块叠加一位二进制数据。
39.其中,在步骤s105中,例如可以依次将一个二进制位数据与一个子块进行叠加,从而实现将m个二进制位数据添加至n个子块。由于n》m,因此完成一轮将m个二进制位数据叠加至m个子块之后,继续叠加,直至所有的n个子块都叠加了一位二进制位数据。其中,在取二进制位数据时,可以根据上述伪随机序列所指示的序列来进行选取。
40.步骤s106、将步骤s105得到的n个子块由频域转换回时域,并在时域合成该n个子块,以得到二维图片,并将该二维图片转换回三维模型,从而得到添加了水印的三维模型。
41.其中,例如可以采用傅立叶逆变(例如二维傅立叶变换的逆变换)来实现频率至时域的转换。例如可以采用小波变换的逆变换来实现n个子块的合成。
42.本发明实施例,针对3d模型资源,能够实现盲水印的添加和提取,从而能够实现针对3d模型资源的保护。同时,本发明实施例将3d模型转换而成的二维图片划分为固定大小的子块,采用以子块为单位,逐块地添加水印中的1位信息的方式实现水印的添加。此种方式,能够保证水印信息能够充分地添加至3d模型中,从而能够提高水印的抗攻击能力。
43.如图2所示,是图1中步骤s102的一实施例的流程示意图。该步骤s102包括以下步骤:
44.步骤s201、对二维图片进行通道分离,得到多通道数据。
45.其中,通道分离例如可以是yuv通道分离或者rbg通道分离或者其他形式的通道分离。其中“yuv”为一种颜色编码方法,“y”表示明亮度,即灰阶值,“u”和“v”表示色度;“rgb”也是一种颜色编码方式,其中“r”、“g”和“b”分别代表红、绿和蓝三种原色。因此,步骤s201可以根据颜色的编码方式来进行通道分离,得到多通道数据。例如,采用yuv通道分离,则将二维图片分为y通道数据、u通道数据和v通道数据。
46.步骤s202、根据二维图片的尺寸,判断该二维图片的长和宽是否为偶数,若不为偶
数,则将二维图片的长和宽均调整为偶数。
47.其中,二维图片的尺寸可以基于通道分离后的数据得到。其中,若二维图片的长或宽不为偶数,则可以采用在图片的边缘补充白边的方式将二维图片的长或宽调整为偶数。通过确保二维图片的长和宽均为偶数,是为了方便子块的划分。
48.步骤s203、将步骤s202得到的多通道数据分成n个4*4大小的子块。
49.其中,在步骤s203中,将多通道数据分解成多个子块,例如可以是针对多通道数据的每个通道均进行分解,或者只选择其中一个通道进行分解。需要说明的是,如果对每个通道均进行了分解,后续的操作也是针对每个通道进行的,例如后续的奇异值分解、二进制位叠加等。
50.本发明实施例,对二维图片执行了一系列的通道分离、边缘补充和子块划分,从而实现了二维图片的预处理,使得其能够用于添加水印信息。
51.如图3所示,是图1中的步骤s105的一实施例的流程示意图。如图3所示,步骤s105包括以下步骤:
52.步骤s301、对每个子块进行奇异值分解操作,得到奇异值分解数据。
53.svd表示singular value decomposition,即奇异值分解。其中,svd数据由三个分量构成,即s分量、v分量和d分量。需要说明的是,在svd分解时,可以根据二维图片的加密因子进行svd分解,即利用加密因子来控制svd分解,如此当他人不知道加密因子时,则很难破解本实施例添加的水印。具体地,可以利用加密因子来生成子块的特征索引,并利用特征索引生成svd转换。
54.步骤s302、依次将m个二进制位数据叠加至n个子块的奇异值分解数据中。
55.其中,可以根据伪随机序列来实现m个二进制位数据叠加至n个子块,例如根据伪随机序列,依次取出二进制位数据叠加至奇异值分解数据中,并记录下每个子块添加水印数据的顺序,例如记录上述索引的顺序。需要说明的是,由于每个子块可以包括多个通道的数据,因此叠加时可以将取出的1位二进制数据均叠加多个通道上。
56.步骤s303、对步骤s302得到的叠加了二进制位数据的奇异值分解数据执行逆奇异值分解操作。
57.在本实施例中,采用奇异值分解对各子块进行分解,例如分解各子块的各通道数据,然后将水印信息叠加至奇异值分解数据中的s分量上。
58.上面对本发明实施例的水印添加方法进行说明,下面结合附图,说明如何提取采用上述方法得到的3d模型中的水印。
59.如图4所示,是本发明的用于三维模型的水印提取方法的实施例的流程示意图。其中该三维模型可以是采用前述实施例的方法添加了水印的三维模型。本实施例的水印提取方法包括以下步骤:
60.步骤s401、将三维模型转换为二维图片。
61.步骤s402、将二维图片分解为n个固定大小的子块,并将n个子块由时域变换为频域。
62.其中,二维图片例如可以分解为n个4*4大小的子块。
63.步骤s403、提取n个子块中的每个子块中的水印信息,其中每个子块中包括1位水印信息。
64.在一种实施方式中,提取n个子块中的每个子块中的水印信息例如可以是:依次对每个子块的每个通道的数据进行奇异值分解操作,得到每个子块在各个通道上的奇异值分解数据的s分量数据,然后从s分量数据中提取水印信息,得到每个子块在各个通道上的水印信息,最后对水印信息求平均值,得到每个子块的水印信息。另外,在进行奇异值分解操作时,可以根据二维图片的加密因子进行。
65.本实施例,对于每个子块,从每个通道上都得到水印信息,并将这些水印信息的平均信息作为每个子块的水印信息,从而提高提取到的水印信息的准确性。需要说明的是,对每个通道都提取水印信息的前提是每个通道均叠加了水印信息,若在添加水印阶段仅对单一通道叠加了水印信息,则仅从单一通道提取水印信息。
66.步骤s404、将提取到的水印信息还原为水印图片。
67.其中,得到各个子块的水印信息之后,可以根据水印加密因子,确定水印信息的序列,从而根据水印信息的序列,将水印信息还原为水印图片。其中,在生成水印图片时,可以根据需求,生成相应尺寸和格式的水印图片。
68.需要说明的是,本实施例涉及的操作主要是图1~3中所示实施例涉及操作的逆操作,因此诸多说明已在前面述及,在此不赘述。
69.在上述基础上,本发明实施例还提供了相应的装置来执行上述方法,详细如下。
70.如图5所示,是本发明的三维模型水印添加装置50的一实施例的结构示意图,其包括:转换模块51,用于将所述三维模型转换为二维图片;原图处理模块52,用于将所述二维图片分解为n个具有固定大小的子块,并将所述n个子块由时域变换为频域;水印处理模块53,用于将所述水印转换为m个具有伪随机序列的二进制位数据,其中n和m均为正整数,且n》m;叠加模块54,用于将所述m个二进制位数据叠加至所述n个子块,且控制一个子块叠加一位二进制数据;以及三维模型生成模块55,用于在所述叠加之后,将所述n个子块由频域转换回时域,并在时域合成所述n个子块,得到二维图片,并将所述得到的二维图片转换回三维模型。
71.如图6所示,是本发明的三维模型水印提取装置60的一实施例的结构示意图,其包括:转换模块61,用于将所述三维模型展开为二维图片;图片处理模块62,用于将所述二维图片分解为固定大小的子块,并将所述n个子块由时域变换为频域;水印提取模块63,用于提取所述n个子块中的每个子块中的水印信息,其中每个子块中包括1位水印信息;以及水印生成模块64,用于将提取到的水印信息还原为水印图片。
72.除此之外,本发明实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时上述所述的水印添加方法,或者实现上述所述的水印提取方法。
73.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
74.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
75.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,控制器,或者网络设备等)执行本发明各个实施例所述的方法。
76.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献