混沌图像防伪技术

时间:2022-03-12 02:25:00

导语:混沌图像防伪技术一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

混沌图像防伪技术

1混沌图像的产生

混沌现象无处不在,只要细心留意,就会发现身边到处都有混沌现象。例如,拿一张纸随意一撕,就会发现纸的边缘有很多毛刺。这些毛刺既没有规律也不可以被重复产生。类似于以上现象,用钢笔在受潮的纸上画一条线时,墨水马上就在纸上渗透开来,在线的两侧出现了无数长短、形状都不一样的“毛刺”。这也是一个混沌现象,同样也是不可复制的。混沌防伪技术正是基于这种混沌现象。显然,这种方法制作容易,成本低,非常适合应用于各种各样的票证。在本文中,为了增加防伪的信息量和美观,用钢笔画了四条长短一至、相互并行的线条在受潮的纸上,外加一个定位框组成混沌防伪图像(如图1)。图中有四条混沌轨道,每条混沌轨道四周是长短参次不齐、弯曲不同的毛刺。混沌防伪技术正是利用这些混沌轨道的不可复制性来达到防伪的目的。

2混沌防伪标记的识别和信息化

从摄像机上得到的图像,无论从几何形状(尺寸、倾斜角度)上,还是从光照度上都是不确定的。为了能够对图像进行分析,必须首先获得以上的信息,也就是说必须对图像进行定位,然后归一化到某一个确定的几何形状、光照度。在具体实现时,需要在混沌防伪图像周围设计定位符。识别过程如图2所示。

采用图像模式识别、图像定位、图像光照强度分析、图像均衡、图像放大、缩小和旋转等等图像处理技术,获取定位符的几何、光照等信息。然后根据定位符的这些信息对混沌防伪图像进行归一化处理,从而使得防伪图像具有较强的几何适应性和光照适应性,抗干扰能力强,从而大大降低了硬件的成本。

由于每条混沌轨道相对于混沌防伪图像是不确定的,图像识别、定位后,不能直接读取混沌防伪图像的数字信息,还必须采用直线拟合的方法定位每条混沌轨道(结果如图1)。把图1中的许多″毛刺″所组成的弯弯曲曲的曲线看作是一条不规则的波形。然后对它进行采样。于是可以得到以下序列:

xi=x1x2x3…xi…xn(1)

3用复杂性算法提取特征值

由于混沌图像的信息量大、结构细微,而现有仪器的精度却很有限,不适合直接计算″毛刺″的长短作为混沌图象的特征信息。为此本文采用类似于符号动力学的方法,也就是粗粒化方法,将序列1的复杂性测度作为混沌轨道的特征序列。复杂性方法是计算给定一个序列的复杂程度,任何信号根本上都是一个序列,复杂性测度就反应这个序列的一个重要的非线性特征。

首先取序列(1)的均值:

按(3)式可以把序列(1)变为符号序列{si}=s1s2s3…si…snKolmogorov认为序列{si}的复杂性可以代替序列{xi}的复杂性。

采用最基本的Kolmogorov复杂性算法处理序列{si}。根据Kolmogorov复杂性可认为是产生某给定(0,1)序列最少的计算机程序的比特数,它可以用来衡量序列的复杂程度如何。Lempel和Ziv定义了由有限集合的元素所构成的有限序列的复杂度C(n),它反映了序列接近随机的程度。按有限序列从头开始反复进行以下操作:每次添加一个元素构成一个检验子串,如果该子串在除去最后添加的那个元素之前所构成的序列中已出现过,那么所构成的新序列的复杂度保持不变,并继续添加元素,直到由上述相继添加元素所构成的添加子串在除去最后添加的那个元素之前所形成的整个序列中从未出现过为止。此时整个序列的复杂度增加一,当往后继续添加元素时重新建立新的检验子串,如此反复进行,直到结束。如果最后一个检验子串在除去末尾一个元素之前的序列中出现过,复杂度也仍然加一。具体来说,分以下几个步骤:

(1)假如有一数列(x1,x2,x3,...xn),首先求得这个数列的平均值m,再把这个数列重构。大于平均值m的值,令它们为1;小于平均值m的,令之为0。这样,就构成了(s1,s2,...sn)新的(0,1)序列。

(2)在这样的(0,1)序列中已形成的一串字符S=s1,s2,...sr后,再加称之为Q的一个或一串字符Sr+1或者(Sr+1,Sr+2…Sr+k),得到SQ。令SQπ是一串字符SQ减去最后的一个字符,再看Q是否属于SQπ字符串中已有的“字句”。如果已经有过,那么

把这个字符加在后面称之为“复制”。如果没有出现过,则称之为“插入”。“插入”时用一个“。”把前后分开。下一步则把“。”前面的所有字符看成S,再重复如上步骤。例如,序列0010的复杂度可以由下列步骤而得:

a)第一个符号永远是插入→0.

b)S=0,Q=0,SQ=00,SQπ=0,Q属于SQπ→0.0.

c)S=0,Q=01,SQ=001,SQπ=00,Q不属于SQπ→0.01.

d)S=001,Q=0,SQ=0010,SQπ=001,Q属于SQπ→0.01.0.这时c(n)=3。如符号列0000...应是最简单的,它的形式应是0.0000…,c(n)=2。符号列01010101…应是0.1.0101…,c(n)=3。

(3)如上所述,就得到用“。”分成段的字符串。分成了段的数目就定义为“复杂度”c(n)。

根据Lampel和Ziv的研究,对几乎所有的x属于[0,1]区间的c(n)都会趋向一个定值:

其中,b(n)是随机序列的渐进行为,可以用它来使c(n)归一化,称为“相对复杂度”。

定义相对复杂度:

C(n)=c(n)/b(n)=[c(n)logn]/n(5)

通常就是用这个函数来表达时间序列的复杂性变化。从这种算法可以看出,完全随机的序列C(n)值趋向于1,而有规律的周期运动的C(n)值则趋向于0。

如果有一个随机序列,其中“1”的概率并非是0.5,那么它的复杂性就被认为是一个概率为P的随机序列的复杂性。由此可以表达为:

h≤1,h称为源熵,其极大值在p=0.5的位置。h<1时,比较与1的偏差,当两者很接近时,认为符号串是复杂性较高的串,即为随机串;否则认为在符号串中存在着某种模式。

Kolmogorov复杂性也称为算法复杂性,它是一种随机性测度,反映了一个随机序列随其长度的增长出现新模式的速率,表现了序列接近随机的程度,在某种程度上反映了符号序列的结构特性,而不是动态系统的特性。

4混沌防伪标记的应用

仅靠一个混沌防伪标记是无法达到防伪的目的,必须结合数字信息和混沌防伪标记来达到防伪的目的。具体说来,即可以直接将混沌图像的特征数据加密后,将加密后的数字信息以二维条码的形式打印在防伪标记旁边,组成一个完整的防伪标记(图3)。在真假鉴别过程中,用公开密钥解密混沌防伪标记上二维条码的数字信息,然后对照混沌防伪标记的特征数据。如果一样,则认为是真的防伪标记,否则则是假的防伪标记。

此外,也可以结合查询防伪技术,直接将混沌防伪特征数字保存在自己的服务器上。混沌防伪技术可以应用于各种证件、支票等,这里都不再详细介绍。

本文利用不可复制的混沌图像作为防伪标记,然后用复杂性算法提取特征数据,是一种全新的防伪技术,不同于激光防伪、生物防伪、条码防伪等技术。其制作过程是不依赖于任何技术保密,没有一个人能够造假出完全一样的防伪标记。由于混沌图像中包含大量的类似于美圆中微印刷所产生的微结构,有效地防止了造假者通过复印等手段来造假。

混沌轨道具有极为丰富的微结构,所以包含有大量的信息量。这为区分混沌图形创造了极为有效的条件,据报道指纹失误率可达到1/243,本项技术可容易地达到1/2100。而且需要时,达到1/2200也不成问题。任何能在纸上用物理和化学的方法产生不规则的图案都可以作为防伪图像标记。本文所描述的防伪技术已经申请了专利。