防伪图像的生成、识别方法及装置、计算机存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种防伪图像的生成、识别方法及装置、计算机存储介质。
背景技术
随着图像处理技术不断发展,使得处理图像的手段越来越多,图像处理的功能越来越强大。
图像处理可以给人们提供很多的便利,例如人们可以使用图像处理软件美化照片。然而,有一些人会利用图像处理技术从事一些违法违规的事。
以AR(Augmented Reality,增强现实技术)红包为例,用户可以将电子贺卡、礼金等放入“红包”中,然后将“红包”藏在指定位置,供其它用户寻找。其它用户在找“红包”时,可以根据该“红包”提供的线索图,找到该线索图指示的位置,拍一张与线索图中图像相同的照片后就可以领取“红包”。
现有技术中,为了防止某些用户直接拍摄线索图的照片来获取虚拟对象,一般的,会对线索图中添加一些防伪标记,例如标注水印(Watermark)等。然而,这样进行防伪处理的线索图依然存在被破译的风险,例如可以通过PS去掉线索图中添加的防伪标记。
发明内容
本申请实施例通过提供的一种防伪图像的生成、识别方法及装置、计算机存储介质,以解决现有技术中存在防伪图像容易被破译、安全性低的问题。
根据本申请实施例的第一方面,提出一种防伪图像的生成方法,所述方法包括:
获取待处理的原始图像;
根据图形码算法,生成图形码编码;
对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的幅值编码;
将所述幅值编码和所述图形码编码进行频谱叠加;
对所述频谱叠加后的结果进行频域到空域变换,生成含有所述图形码的防伪图像。
根据本申请实施例的第二方面,提出一种防伪图像的识别方法,所述方法包括:
接收识别目标图像是否为防伪图像的请求;
获取所述防伪图像对应的原始图像;
对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码;
对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的第二类幅值编码;
对所述第一类幅值编码和所述第二类幅值编码进行频谱叠加逆运算;
对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
对所述检测图像进行图形码的噪声检测;
根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
根据本申请实施例的第三方面,提出一种防伪图像的生成装置,所述装置包括:
获取单元,获取待处理的原始图像;
第一生成单元,根据图形码算法,生成图形码编码;
计算单元,对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的幅值编码;
频谱叠加单元,将所述幅值编码和所述图形码编码进行频谱叠加;
第二生成单元,对所述频谱叠加后的结果进行频域到空域变换,生成含有所述图形码的防伪图像。
根据本申请实施例的第四方面,提出一种防伪图像的识别装置,所述装置包括:
接收单元,接收识别目标图像是否为防伪图像的请求;
获取单元,获取所述防伪图像对应的原始图像;
第一计算单元,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码;
第二计算单元,对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的第二类幅值编码;
第三计算单元,对所述第一类幅值编码和所述第二类幅值编码进行频谱叠加逆运算;
生成单元,对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
检测单元,对所述检测图像进行图形码的噪声检测;
识别单元,根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
根据本申请实施例的第五方面,提出一种计算机存储介质,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待处理的原始图像;
根据图形码算法,生成图形码编码;
对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的幅值编码;
将所述幅值编码和所述图形码编码进行频谱叠加;
对所述频谱叠加后的结果进行频域到空域变换,生成含有所述图形码的防伪图像。
根据本申请实施例的第六方面,提出一种计算机存储介质,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收识别目标图像是否为防伪图像的请求;
获取所述防伪图像对应的原始图像;
对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码;
对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的第二类幅值编码;
对所述第一类幅值编码和所述第二类幅值编码进行频谱叠加逆运算;
对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
对所述检测图像进行图形码的噪声检测;
根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
本申请实施例中,利用空域到频域变换在原始图像的频域中添加用于防伪的图形码编码;这样经过频域到空域变换后生成的防伪图像中虽然包含了图形码,但该图形码用肉眼是看不见的;因此,可以较好的提高图像防伪程度,提高防伪图像被破译的难度和成本。并且,在识别目标图像是否为防伪图像时,利用频域到空域变换得出目标图像与防伪图像不同内容的检测图像,进而利用图形码的噪声检测就可以判断是否存在图形码。
附图说明
图1是本申请一实施例提供的一种防伪图像的生成方法的示意流程图;
图2是本申请一实施例提供的一种AR红包的界面示意图;
图3是本申请一实施例提供的一种AR红包中藏红包的界面示意图;
图4a是本申请一实施例提供的一原始图像的示意图;
图4b是本申请一实施例提供的图4a所示原始图像经过傅立叶变换后频域图像的示意图;
图5是本申请一实施例提供的条形码以及对应的频域图像示意图;
图6a-6c是本申请一实施例提供的在图形码编码中添加随机数序列的示意图;
图7是本申请一实施例提供的一种防伪图像的识别方法的示意流程图;
图8是本申请提供的防伪图像的生成装置所在设备的一种硬件结构图;
图9是本申请一实施例提供的防伪图像的生成装置的模块示意图;
图10是本申请提供的防伪图像的识别装置所在设备的一种硬件结构图;
图11是本申请一实施例提供的防伪图像的识别装置的模块示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参见图1,为本申请一实施例提供的一种防伪图像的生成方法的示意流程图,可以应用于服务端,所述方法包括以下步骤:
步骤110:获取待处理的原始图像。
步骤120:根据图形码算法,生成图形码编码。
一般的,所述图形码算法可以对任意输入数据进行计算后,输出一个图形码编码。
在一种实现方式中:
所述输入图形码算法的数据可以是所述原始图像携带的地理位置;则所述步骤120,具体可以包括:
根据图形码算法,计算所述原始图像的地理位置对应的图形码编码。
在另一种实现方式中:
所述输入图形码算法的数据可以是上传所述原始图像的用户标识;则所述步骤120,具体可以包括:
根据图形码算法,计算上传所述原始图像的用户标识对应的图形码编码。
所述用户标识例如可以为用户ID、用户绑定的手机号等。
在另一种实现方式中:
所述输入图形码算法的数据还可以是随机产生的一个随机数;则所述步骤120,具体可以包括:
根据图形码算法,计算随机数对应的图形码编码。
本实施例中,以原始图像携带的地理位置为例加以说明,所述图形码算法可以将地理位置转换为图形码编码。通常,同一个地理位置,经过计算后可以得到一个唯一的图形码编码。
值得一提的是,所述图形码可以包括条形码、二维码等。相对应的,如果是条形码,则所述图形码算法可以为预设的条形码算法;如果是二维码,则所述图形码算法可以为预设的二维码算法。
以下以条形码为例加以说明。
所述图形码算法,可以为code128编码算法。该code128编码算法可以生成一种长度可变、连续性的字母、数字条码。该编码具有code128a、code128b和code128c三种不同的编码类型,可以提供标准ASCII(American Standard Code for InformationInterchange,美国信息交换标准代码)中128个字元的编码使用;可以允许双向扫描,方便条形码的识别;还可以选择加上校验位;条码长度可调,但是包括开始位和结束位在内,不可超过232个字元。
本实施例中,通常,所述地理位置可以为经纬度坐标点,例如(x,y),其中,x表示经度值,y表示维度值。
所述原始图像携带的地理位置,可以是客户端上传该原始图像时当前的地理位置,或者拍摄原始图像时当前的地理位置。
所述当前的地理位置可以是客户端所处的位置,经该客户端中的定位装置记录下的,代表位置的坐标信息。常见的定位装置可以采用美国GPS卫星导航系统,欧洲“伽利略”卫星导航系统,俄罗斯GLONASS卫星导航系统,或者中国“北斗”卫星导航系统等,或者类似的组合。这类定位的坐标信息也称为移动定位。
所述当前的地理位置还可以是基于客户端信号特点转换得到的,例如由网络运营商利用基站覆盖原理,通过所述客户端的信号通过基站定位计算得到的位置信息。在后者的定位计算中,一般由客户端测量不同基站的下行导频信号,得到不同基站下行导频的到达时刻(Time of Arrival,TOA)或到达时间差(Time Difference of Arrival,TDOA),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,从而计算出移动终端的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,现有技术中有多种算法,较为复杂。一般而言,移动台测量的基站数目越多,测量精度越高,定位性能改善越明显。
此外,所述当前地理位置,还可以是通过基站辅助定位并结合客户端中的定位装置共同定位得到的较为精确的位置。
以下以AR(Augmented Reality,增强现实技术)红包场景为例加以说明。所述基于地理位置的图像,可以是指AR红包设置方上传的基于地理位置的实景照片。请参见图2,图2为本例示出的一种AR客户端的“AR红包首页”的示意图。
如图2所示,在该“AR红包首页”中,可以提供一个“藏红包”的功能按钮(相当于上述第二入口选项),以及一个“找红包”的功能按钮(相当于上述第一入口选项)。用户可以通过触发“藏红包”的功能按钮进入到图3所示“藏红包”界面,此时上述AR客户端可以调用所在AR终端设备(比如智能手机,或者AR眼镜等)上搭载的摄像头,对该用户的线下环境执行实时的图像扫描,并结合当前的地理位置,在当前的地理位置,上“隐藏”一定数额的红包。
当然,在实际应用中,上述AR客户端针对该用户进行位置定位得出的地理位置,可能会存在一定的误差,或者位置范围不够精确,在这种情况下,用户还可以在该红包绑定页面中对当前的地理地址进行修正。
所述AR客户端在定位当前的地理位置后,可以将扫描到的图像上传到AR服务器中,从而完成藏红包的过程。
对于AR服务端,则可以获取该AR客户端上传的基于地理位置的原始图像。之后,所述AR服务端需要对所述基于地理位置的原始图像进行防伪处理,从而得到所述AR红包的线索图(防伪图像),所述线索图用于提供找红包用户去往藏红包的地理位置以及实景照片。
步骤130:对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的幅值编码。
本实施例中,所述空域到频域变换可以为傅立叶变换(Fourier Transform,FT)。
需要说明的是,上述空域到频域变换的具体实现方法,在本例中不进行特别限定,本领域技术人员在将本申请的技术方案付诸实现时,本领域技术人员可以参考相关技术中的记载。例如,采用离散傅立叶变换(Discrete Fourier transform,DFT)、快速傅立叶变换(Fast Fourier Transform,FFT)等。
通常,所述傅立叶变换(Fourier Transform,FT)可以表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。
在图像处理领域中,通过傅立叶变换可以将原始图像从空域(Spatial Domain)转换到频域(Frequency Domain),从而可以绘制频域图像。所述频域图像可以体现出频域上所述原始图像中灰度变化程度的幅值。
如图4a所示的原始图像示意图,以及如图4b所示的经过傅立叶变换后该原始图像的频域图像示意图。
在频域图像中,横坐标可以表示频率f,单位可以是赫兹(HZ);纵坐标表示可以是表示原始图像中灰度变化程度的幅值。
一般的,原始图像中灰度变化越剧烈,则体现在频域图像上的幅值越大;原始图像中灰度变化越平淡,则体现在频域图像上的幅值越小。
将幅值按照频率大小排列后,即可以得到幅值编码。例如,50hz的幅值为3,100hz的幅值为2,150hz的幅值为5;则幅值编码即为{3,2,5}。
通常,所述图像中每一个像素都可以通过RGB色彩模式,即可以使用R(red,红)、G(green,绿)、B(blue,蓝)三个分量来表示。在计算机中,RGB的大小可以是指亮度,通常可以使用整数表示,R、G、B各可以有256级的亮度,一般采用数字0、1、2、3……、255,即R、G、B的范围值各为0~255。如此,利用RGB色彩模式可以展示256*256*256=16777216种不同的颜色。
在RGB色彩模式中,当R=G=B时,彩色可以表示为一种灰度颜色。通常,可以将R=G=B的值称之为灰度值,灰度值的范围为0~255。因此,对于原始图像首先需要将原始图像中的RGB值转换为灰度值,通过灰度值的转换可以通过如下方式实现:
第一种实现方式中,可以采用分量法:
将彩色图像中的RGB三分量,任意选取一个分量值作为灰度值。也就是说,用户可以根据实际应用的需要,仅选取R分量的值作为灰度值;也可以仅选取G分量的值作为灰度值;还可以仅选取B分量的值作为灰度值。
在第二种实现方式中,可以采用最大值法:
将彩色图像中的RGB三分量中的最大值作为灰度值。计算灰度值的公式可以为:max(R,G,B)。例如,某一个RGB三分量为(R=122,G=90,B=200),则可以将最大值B=200作为灰度值,即灰度值为200。
在第三种实现方式中,可以采用平均值法:
将彩色图像中的RGB三分量求和后计算一个平均值,进而将该平均值作为灰度值。这样,计算灰度值的公式可以为:(R+G+B)/3。
在第四种实现方式中,可以采用加权平均值:
该实现方式中,可以预先给每一种分量设置一个权值,计算时对RGB三分量进行加权平均,将加权平均值作为灰度值。一般的,设置的权值可以根据实际应用需求,例如人眼对绿色的敏感最高,对蓝色敏感最低,则可以对G设置一个高权值如0.59,对B设置一个低权值如0.11,对R设置一个中间权值如0.3;这样,计算灰度值的公式可以为:(0.3R+0.59G+0.11B)/3。
步骤140:将所述幅值编码和所述图形码编码进行频谱叠加。
本实施例中,通过将傅立叶变换后得到的幅值与图形码的编码值进行频谱叠加,从而在上述原始图像的频域中添加基于地理位置的图形码信息。
需要说明的是,上述频谱叠加的具体实现方法,在本例中不进行特别限定,本领域技术人员在将本申请的技术方案付诸实现时,本领域技术人员可以参考相关技术中的记载。例如,频谱求和等。
步骤150:对所述频谱叠加后的结果进行频域到空域变换,生成含有所述图形码的防伪图像。
相对于前述空域到频域变换,所述频域到空域变换即为空域到频域变换的反向实现。
以空域到频域变换为傅立叶变换为例,则频域到空域变换为傅立叶逆变换。所述傅立叶逆变换可以将频域转换到空域,从而还原出二维的图像。
如前所述,通过频谱叠加,从而在上述原始图像的频域中添加图形码信息。在对所述频谱叠加后的结果进行频域到空域变换,可以生成含有所述图形码的防伪图像。
需要说明的是,由于图形码编码是添加在原始图像的频域中的,因此所生成的防伪图像中,虽然含有图形码,但是该图形码是肉眼不可见的。
如图5所示为条形码和条形码对应的频域图像,可以看出条形码的频域图像比较简单;因此,将条形码编码和幅度编码进行频谱叠加后,条形码对原始图像的影响较小,在傅立叶逆变换后生成的防伪图像中,肉眼无法看出添加的条形码。
通过本实施例,利用空域到频域变换在原始图像的频域中添加用于防伪的图形码编码;这样经过频域到空域变换后生成的防伪图像中虽然包含了图形码,但该图形码用肉眼是看不见的;因此,可以较好的提高图像防伪程度,提高防伪图像被破译的难度和成本。
在AR红包的场景中,通过上述方法对AR红包设置方上传的原始图像进行防伪处理后,可以利用空域到频域变换以及频谱叠加的方式将图形码作为防伪水印添加到原始图像的频域中,并通过频域到空域变换生成含有所述图形码的防伪图像;从而将这样的防伪图像作为该AR红包的线索图使用。由于线索图中添加了肉眼不可见的图形码,因此使用伪造线索图领取AR红包的情况,可以识别出图形码产生的噪声,从而不允许领取AR红包。
在实际应用过程中,由于防伪图片中添加了肉眼不可见的用于防伪的图形码,通常并不会将该图形码展示出来。
然而,在图1所示实施例的基础上,在一个具体地实施例中,所述步骤150之后,所述方法还可以包括:
根据所述图形码编码,生成对应的图形码;
在所述防伪图像的设定区域,添加可见的所述图形码。
本实施例中,在所生成的防伪图像上,添加可见的图形码。这样,可以提供一种额外的交互方式,即在其它用户扫描所述防伪图像时,可以识别所述可见的图形码,从而获取该图形码所对应的其它信息。提高了用户体验。
例如,图形码是基于原始图像携带的地理位置生成的,则通过扫描防伪图像,可以识别图形码,从而获取所述地理位置。在AR红包的场景中,通过添加可见的图形码,找AR红包的用户可以通过扫描线索图(即防伪图像),获取可见的图形码对应的地理位置,该地理位置即为AR红包藏匿地点。提高了用户体验。
当然,如果将图形码展示出来,可能会存在一定的风险,容易被人破译防伪图像。为了解决这一问题,在图1所示实施例的基础上,在一个具体地实施例中,所述步骤120之后,所述方法还可以包括:
根据随机序列算法,生成设定长度的随机数序列;
将所述随机数序列添加到所述图形码编码中,得到包含随机数序列的图形码编码。
本实施例中,所述随机序列算法,可以随机生成一个随机数序列,该随机数序列的长度可以是预先设置好的;并将所生成的随机数序列添加到所述图形码的编码值中。
如图6a所示,所生成的随机数序列可以是添加在图形码编码之前。
如图6b所述,所生成的随机数序列可以是添加在图形码编码之后。
如图6c所述,所生成的随机数序列可以是添加在图形码编码之间任意位置。
通过本实施例,在图形码编码基础上添加随机数序列,从而提高了图形码编码被破译的难度和成本,因此使得所生成的防伪图像的安全性更高。
当然,本实施例也可以是在不执行添加可见的图形码的实施例中实施的。
为了解决展示图形码后的安全问题,在图1所示实施例的基础上,在一个具体地实施例中,所述步骤120之后,所述方法还可以包括:
对所述图形码编码进行加密;
将所述加密后的图形码编码确定为新的图形码编码。
本实施例中,所述加密方式一般采用可以解密的对称加密算法。例如DEA(DataEncryption Algorithm,数据加密算法),DES(Data Encryption Standard,数据加密标准)等。
具体地,所述对所述图形码编码进行加密,可以包括:
利用所述原始图像携带的地理位置对所述图形码编码进行加密;
和/或,
利用上传所述原始图像的用户标识对所述图形码编码进行加密。
所述地理位置和用户标识在前述实施例中已经描述,此处不再赘述。
通过本实施例,对图形码编码值进行加密,从而提高了图形码编码被破译的难度和成本,因此使得所生成的防伪图像的安全性更高。当然,本实施例也可以是在不执行添加可见的图形码的实施例中实施的。
需要说明的是,在实际应用过程中,如果有防伪图像的生成,则相对应的也应该会有针对使用上述实施例生成的防伪图像的识别过程:
即在图1所示实施例的基础上,还可以包括如下步骤:
A1:接收识别目标图像是否为所述防伪图像的请求;
A2:对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的幅值编码;
A3:对所述目标图像的幅值编码和所述原始图像的幅值编码进行频谱叠加逆运算;
A4:对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
A5:对所述检测图像进行图形码的噪声检测;
A6:根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
其中,所述步骤A6,具体可以包括:
在所述图形码的噪声检测得到的噪声值大于设定的噪声值的情况下,确定所述目标图像为防伪图像;
在所述图形码的噪声检测得到的噪声值不大于设定的噪声值的情况下,确定所述目标图像不为防伪图像。
在一个具体地实施例中,在所述步骤A1之后,所述方法还可以包括:
计算所述目标图像和所述原始图像的相似度;
在所述相似度大于设定的阈值的情况下,执行步骤A2。
在一个具体地实施例中,在所述步骤A1之后,所述方法还可以包括:
对所述目标图像进行图形码的噪声检测;
在所述图形码的噪声检测到的噪声值大于设定的噪声值的情况下,执行步骤A2;
在所述图形码的噪声检测到的噪声值不大于设定的噪声值情况下,确定所述目标图像不为防伪图像。
在一个具体地实施例中,在所述步骤A3之后,所述方法还可以包括:
获取生成所述防伪图像过程中使用到的随机数序列;
在所述频谱叠加逆运算的结果中删除所述随机数序列。
在一个具体地实施例中,在所述步骤A3之后,所述方法还可以包括:
获取生成所述防伪图像过程中使用到的加密算法;
对所述频谱叠加逆运算的结果进行解密。
在一个具体地实施例中,所述图形码包括条形码或二维码。
在一个具体地实施例中,所述目标图像为AR红包的领取方上传的实景照片;
所述防伪图像为所述AR红包的线索图;
所述原始图像为所述AR红包设置方上传的实景照片。
具体地,上述防伪图像的识别过程的步骤可以参考图7所示,为本申请一实施例提供的一种防伪图像的识别方法的示意流程图,可以应用于服务端,所述方法包括以下步骤:
步骤210:接收识别目标图像是否为防伪图像的请求。
步骤220:获取所述防伪图像对应的原始图像。
如前所述,防伪图像是在原始图像基础上生成的。因此,在服务端中存储有防伪图像和原始图像的对应关系。
对于步骤210中所述的请求,由于需要识别目标对象A否为防伪图像B,则可以根据所述防伪图像B获取对应的原始图像C。
依然以AR红包的场景为例加以说明。所述目标图像为AR红包的领取方上传的实景照片;
所述防伪图像为所述AR红包的线索图;
所述原始图像为所述AR红包设置方上传的基于地理位置的实景照片。
步骤230:对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码。
本步骤与上述实施例中步骤130类似,此处不再赘述。
步骤240:对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的第二类幅值编码。
本步骤与上述实施例中步骤130类似,此处不再赘述。
步骤250:对所述第一类幅值编码和所述第二类幅值编码进行频谱叠加逆运算。
本实施例中,通过将所述第二类幅值编码S2与第一类幅值编码S1进行频谱叠加逆运算,从而可以得到所述原始图像和目标图像之间不同内容Sx。
所述频谱叠加的逆运算的公式如下所示:
SX=S2-S1
步骤260:对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像。
所述频域到空域变换已经在前述步骤150中说明,此处不再进行赘述。
由于经过步骤250的频谱叠加逆运算后,得到结果主要是体现了目标图像和原始图像之间不同的内容;因此,经过本步骤的频域到空域运算,生成的检测图像即为目标图像和原始图像之间不同内容的图像。
以下分多种情况介绍所述检测图像:
假设目标图像是防伪图像本身,则频谱叠加逆运算后的结果应该是防伪图像与原始图像之间不同内容,也就是生成防伪图像过程中在频域中添加的图形码编码,而通过频域到空域变换,就是将这个图形码从不可见的频域中变换到可见的空间域中,即所生成的检测图像可以包括可见的图形码。
假设目标图像是伪造的防伪图像(在防伪图像上做了一定的图像处理,使得与防伪图像不完全相同),则频谱叠加逆运算后的结果包含有频域中添加的图形码编码(没被破坏的情况下)或者残留的图形码编码(被破环的情况下),这样通过频域到空域变换,生成的检测图像中可以包含有可见的图形码,或者部分图形码。
假设目标图像不为防伪图像,则频谱叠加逆运算后的结果不包含生成防伪图形过程中在频域上添加的图形码编码,因此频域到空域变换后,检测图像中不会存在图形码。
步骤270:对所述检测图像进行图形码的噪声检测。
步骤280:根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
所述图形码的噪声检测可以用于判断图像中是否存在图形码,由于图形码相对于图像中的其它内容来说是一种突兀的内容,因此,会产生一定大小的噪声。
具体地,所述步骤280,可以包括:
在所述图形码的噪声检测得到的噪声值大于设定的噪声值的情况下,说明存在残留的图形码,这样的图像显然是做过处理的图像(例如真实拍摄的照片不会存在图形码),因此可以确定所述目标图像为防伪图像;
或者,
在所述图形码的噪声检测得到的噪声值不大于设定的噪声值的情况下,确定所述目标图像不为防伪图像。
本实施例可以是与前述防伪图像生成的实施例相配合的,即本实施例主要是对采用前述防伪图像的生成方法生成的防伪图像进行识别。
通过本实施例,在识别目标图像是否为防伪图像时,利用频域到空域变换得出目标图像与防伪图像不同内容的检测图像,进而利用图形码的噪声检测就可以判断是否存在图形码。如此,无需识别出图形码具体是否为防伪图像中添加的图形码,只要检测图像中存在图形码就可以确定目标对象为防伪图像,从而降低了识别的复杂度,降低了识别成本。
在AR红包场景中,利用上述防伪图像的识别方法,可以针对AR红包的领取方上传的实景图像(即目标图像),判断该实景图像是否为所述AR红包的线索图(即防伪图像)。如果所述领取方直接伪造的线索图充当实景图像(即目标图像),由于线索图中存在不可见的图形码,通过前述频谱叠加逆运算后的结果中必然包含了该不可见的图形码;这样在进行傅里叶逆变换后的检测图像中就会出现残留的图形码,从而可以被检测出来。
在图7所示实施例的基础上,在本申请的一个具体地实施中,在所述步骤220之后,所述方法还可以包括:
计算所述目标图像和所述原始图像的相似度;
在所述相似度大于设定的阈值的情况下,执行所述步骤230;
在所述相似度不大于设定的阈值情况下,可以确定所述目标图像不为防伪图像,并且所述目标对象与原始对象不相同。
本实施例中,计算相似度,可以是基于图像识别算法。所述图像识别算法可以是尺度不变特征变换算法(Scale Invariant Feature Transform,SIFT),当然所述图像识别算法还可以是其它例如SURF(Speeded Up Robust Features)、ORB(ORiented Brief)、LIOP(Local Intensity Order Pattern)等,本申请并不对其加以限定。由于图像识别算法在图像识别领域的通用算法,本实施例中不再赘述其详细的图像识别过程。
本实施例中,所述设定的阈值可以是人为预先设置的一个经验值。
如果计算所述目标图像和原始图像的相似度大于设定的阈值,说明所述目标图像和原始图像比较相似,但是还无法确定所述目标图像是否为防伪图像,因此,需要进一步进行验证,则执行后续步骤230。
如果计算所述目标图像和原始图像的相似度不大于设定的阈值,说明所述目标图像和原始图像不相似,可以确定所述目标图像不是防伪图像,以及所述目标图像和原始图像不相同。
依然以AR红包的场景为例。所述目标图像为AR红包的领取方上传的实景照片;所述防伪图像为所述AR红包的线索图;所述原始图像为所述AR红包设置方上传的基于地理位置的实景照片。
如果目标图像和原始图像的相似度大于设定的阈值,说明AR红包的领取方上传的实景图像与AR红包设置方上传的实景图像相似,但是还无法确定该目标图像是否是线索图,因此,进一步进行验证,则执行后续步骤230;
如果目标图像和原始图像的相似度不大于设定的阈值,说明AR红包的领取方上传的实景图像与AR红包设置方上传的实景图像不同,则领取方无法领取该AR红包。
针对防伪图像的生成方式中,所述在所述防伪图像的设定区域,添加可见的所述图形码的实施例。在图7所示实施例的基础上,在本申请的一个具体地实施中,在所述步骤220之后,所述方法还可以包括:
对所述目标图像进行图形码的噪声检测;
在所述图形码的噪声检测到的噪声值大于设定的噪声值的情况下,执行所述步骤230;
在所述图形码的噪声检测到的噪声值不大于设定的噪声值情况下,确定所述目标图像不为防伪图像。
本实施例中,所述图形码可以包括条形码或二维码。一般的,如果防伪图像的生成时采用了条形码,则本实施例中也可以采用条形码的噪声检测;
如果防伪图像的生成时采用了二维码,则本实施例中也可以采用二维码的噪声检测。
针对防伪图像的生成方式中,所述根据随机序列算法,在所述图形码编码基础上生成包含随机数序列的图形码编码的实施例。在图7所示实施例的基础上,在本申请的一个具体地实施中,在所述步骤250之后,所述方法还可以包括:
获取生成所述防伪图像过程中使用到的随机数序列;
将所述频谱叠加逆运算的结果中删除所述随机数序列。
在实际应用中,如果存在不可见的图形码,则通过生成该图形码的过程中添加的随机数序列删除,从而还原出最初的图形码。
针对防伪图像的生成方式中,所述对所述图形码编码进行加密的实施例。在图7所示实施例的基础上,在本申请的一个具体地实施中,在所述步骤250之后,所述方法还可以包括:
获取生成所述防伪图像过程中使用到的加密算法;
将所述频谱叠加逆运算的结果进行解密。
该实施例中,与加密过程相对应的,如果是利用原始图像携带的地理位置对所述图形码编码进行加密,则依然利用所述地理位置对所述幅度值进行解密;
如果是利用上传所述图像的用户标识对所述图形码编码进行加密,则依然利用所述用户标识对所述幅度值进行解密。
与前述图1所示防伪图像的生成方法实施例相对应,本申请还提供了一种防伪图像的生成装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本申请提高安全性的装置所在设备的一种硬件结构图,除了图8所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该提高安全性的实际功能,还可以包括其他硬件,对此不再赘述。
参见图9,为本申请一实施例提供的防伪图像的生成装置的模块图,应用于服务端,所述装置可以包括:
获取单元310,获取待处理的原始图像;
第一生成单元320,根据图形码算法,生成图形码编码;
计算单元330,对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的幅值编码;
频谱叠加单元340,将所述幅值编码和所述图形码编码进行频谱叠加;
第二生成单元350,对所述频谱叠加后的结果进行频域到空域变换,生成含有所述图形码的防伪图像。
在一个可选的实施例中:
在所述第二生成单元350之后,所述装置还包括:
生成子单元,根据所述图形码编码,生成对应的图形码;
添加子单元,在所述防伪图像的设定区域,添加可见的所述图形码。
在一个可选的实施例中:
在所述第一生成单元320之后,所述装置还包括:
生成子单元,根据随机序列算法,生成设定长度的随机数序列;
添加子单元,将所述随机数序列添加到所述图形码编码中,得到包含随机数序列的图形码编码;
确定子单元,将所述包含随机数序列的图形码编码确定为新的图形码编码。
在一个可选的实施例中:
在所述第一生成子单元320之后,所述装置还包括:
加密子单元,对所述图形码编码进行加密;
确定子单元,将所述加密后的图形码编码确定为新的图形码编码。
在一个可选的实施例中:
所述加密子单元,具体包括:
利用所述地理位置对所述图形码编码进行加密。
在一个可选的实施例中:
所述加密子单元,具体包括:
利用上传所述原始图像的用户标识对所述图形码编码进行加密。
在一个可选的实施例中:
所述图形码包括条形码或二维码。
在一个可选的实施例中:
所述原始图像为AR红包设置方上传的实景照片;
所述含有所述图形码的防伪图像为所述AR红包的线索图。
在一个可选的实施例中:
所述装置还包括:
接收子单元,接收识别目标图像是否为防伪图像的请求;
第一计算子单元,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的幅值编码;
第二计算子单元,对所述目标图像的幅值编码和所述原始图像的幅值编码进行频谱叠加逆运算;
生成子单元,对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
检测子单元,对所述检测图像进行图形码的噪声检测;
识别子单元,根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
在一个可选的实施例中:
所述识别子单元,具体包括:
第一识别子单元,在所述图形码的噪声检测得到的噪声值大于设定的噪声值的情况下,确定所述目标图像为防伪图像;
或者,
第二识别子单元,在所述图形码的噪声检测得到的噪声值不大于设定的噪声值的情况下,确定所述目标图像不为防伪图像。
在一个可选的实施例中:
在所述接收子单元之后,所述装置还包括:
相似度计算子单元,计算所述目标图像和所述原始图像的相似度;
所述第一计算子单元,具体包括:
在所述相似度大于设定的阈值的情况下,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的幅值编码。
在一个可选的实施例中:
在所述接收子单元之后,所述装置还包括:
检测子单元,对所述目标图像进行图形码的噪声检测;
第三识别子单元,在所述图形码的噪声检测到的噪声值不大于设定的噪声值情况下,确定所述目标图像不为防伪图像;
所述第一计算子单元,具体包括:
在所述图形码的噪声检测到的噪声值大于设定的噪声值的情况下,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的幅值编码。
在一个可选的实施例中:
在所述第二计算子单元之后,所述装置还包括:
获取子单元,获取生成所述防伪图像过程中使用到的随机数序列;
删除子单元,将所述频谱叠加逆运算的结果中删除所述随机数序列。
在一个可选的实施例中:
在所述第二计算子单元之后,所述装置还包括:
获取子单元,获取生成所述防伪图像过程中使用到的加密算法;
解密子单元,将所述频谱叠加逆运算的结果进行解密。
在一个可选的实施例中:
所述图形码包括条形码或二维码。
在一个可选的实施例中:
所述目标图像为AR红包的领取方上传的实景照片;
所述防伪图像为所述AR红包的线索图;
所述原始图像为所述AR红包设置方上传的实景照片。
与前述图7所示的防伪图像的识别方法实施例相对应,本申请还提供了一种防伪图像的识别装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图10所示,为本申请提高安全性的装置所在设备的一种硬件结构图,除了图10所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该提高安全性的实际功能,还可以包括其他硬件,对此不再赘述。
参见图11,为本申请一实施例提供的防伪图像的识别装置的模块图,应用于服务端,所述装置可以包括:
接收单元410,接收识别目标图像是否为防伪图像的请求;
获取单元420,获取所述防伪图像对应的原始图像;
第一计算单元430,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码;
第二计算单元440,对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的第二类幅值编码;
第三计算单元450,对所述第一类幅值编码和所述第二类幅值编码进行频谱叠加逆运算;
生成单元460,对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
检测单元470,对所述检测图像进行图形码的噪声检测;
识别单元480,根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
在一个可选的实施例中:
所述识别单元480,具体包括:
第一识别子单元,在所述图形码的噪声检测得到的噪声值大于设定的噪声值的情况下,确定所述目标图像为防伪图像;
或者,
第二识别子单元,在所述图形码的噪声检测得到的噪声值不大于设定的噪声值的情况下,确定所述目标图像不为防伪图像。
在一个可选的实施例中:
在所述获取单元420之后,所述装置还包括:
计算子单元,计算所述目标图像和所述原始图像的相似度;
所述第一计算单元430,具体包括:
在所述相似度大于设定的阈值的情况下,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码。
在一个可选的实施例中:
在所述获取单元420之后,所述装置还包括:
检测子单元,对所述目标图像进行图形码的噪声检测;
识别子单元,在所述图形码的噪声检测到的噪声值不大于设定的噪声值情况下,确定所述目标图像不为防伪图像;
所述第一计算单元430,具体包括:
在所述图形码的噪声检测到的噪声值大于设定的噪声值的情况下,对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码。
在一个可选的实施例中:
在所述第三计算单元450之后,所述装置还包括:
获取子单元,获取生成所述防伪图像过程中使用到的随机数序列;
删除子单元,将所述频谱叠加逆运算的结果中删除所述随机数序列。
在一个可选的实施例中:
在所述第三计算单元450之后,所述装置还包括:
获取子单元,获取生成所述防伪图像过程中使用到的加密算法;
解密子单元,将所述频谱叠加逆运算的结果进行解密。
在一个可选的实施例中:
所述图形码包括条形码或二维码。
在一个可选的实施例中:
所述目标图像为AR红包的领取方上传的实景照片;
所述防伪图像为所述AR红包的线索图;
所述原始图像为所述AR红包设置方上传的实景照片。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上描述了防伪图像的生成装置的内部功能模块和结构示意,其实质上的执行主体可以为一种计算机存储介质,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待处理的原始图像;
根据图形码算法,生成图形码编码;
对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的幅值编码;
将所述幅值编码和所述图形码编码进行频谱叠加;
对所述频谱叠加后的结果进行频域到空域变换,生成含有所述图形码的防伪图像。
类似的,以上描述了防伪图像的识别装置的内部功能模块和结构示意,其实质上的执行主体可以为一种计算机存储介质,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收识别目标图像是否为防伪图像的请求;
获取所述防伪图像对应的原始图像;
对所述目标图像进行空域到频域变换,计算频域上所述目标图像中灰度变化程度的第一类幅值编码;
对所述原始图像进行空域到频域变换,计算频域上所述原始图像中灰度变化程度的第二类幅值编码;
对所述第一类幅值编码和所述第二类幅值编码进行频谱叠加逆运算;
对所述频谱叠加逆运算的结果进行频域到空域变换,生成所述目标图像和原始图像之间不同内容的检测图像;
对所述检测图像进行图形码的噪声检测;
根据所述图形码的噪声检测的结果,确定所述目标图像是否为防伪图像。
在上述计算机存储介质的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。