基于数字水印技术的新型门票防伪检测系统
2013-10-17 来源:21ic
1防伪检测系统概述
防伪系统概述
水印是不被感知地在作品中嵌入信息的操作行为。数字水印是将具有特定意义的标记(水印),利用数字嵌入的方法隐藏在数字图像、声音、文档、图书、视频等数字产品中,用以证明创作者对其作品的所有权,同时通过对水印的检测和分析保证数字信息的完整可靠性。数字水印是一种新兴、有效的数字产品版权保护和数据安全维护技术。把数字水印技术用在印刷品仿伪方面是近几年大家研究的一个新方向。
数字水印门票防伪系统由数字水印嵌入子系统和数字水印识别子系统两部分组成,每个子系统又分别由硬件与软件两部分组成。使用者可以通过在门票的印刷品中嵌入不能为肉眼觉察且不影响所保护印刷品原有的视觉感观形象的数字水印密钥,并通过特有的检测设备——机读设备来读取该数字水印,以鉴别印刷品的真伪,从而达到防伪目的。
本文介绍了数字水印在门票中的嵌入,并对水印识别系统中的软硬件进行详细描述。硬件由摄像头、ARM、液晶屏等构成。
就目前门票使用情况而言,主要是对其进行打印(或印刷)扫描(或照相)操作,于是我们要寻找一种抗打印扫描数字水印算法。可用于印刷品仿伪的算法多是在变换域实现的,其思想大多基于J.Coxdeng等人提出的括频通信算法。
本文将用基于DCT(离散余弦变换)算法来嵌入水印。离散余弦变换属于正交变换图像编码方法中的一种。对于一幅典型的图像,经过变换后,图像中的大部分DCT能量会集中在直流系数和低频交流系数中,许多中频和高频的交流系数接近,把它们去掉并不会明显影响重构图像的质量。本文通过对门票图片进行DCT变换,结合人的视觉特性,适当改变某个中频系数值来完成水印的嵌入。水印提取时只需判断相应中频系数的正负就可恢复水印图像。实验表明,该算法简单,并能有效抗打印扫描。
水印嵌入前后及嵌入信息的图片如图2~图4所示。
2水印检测系统设计
针对嵌入了水印的门票真伪检测需要由专门的机读设备辨别。该设备主要由操作系统定制、图像采集、图像数字水印检测三部分组成。系统的核心芯片选用SAMSUNG半导体公司生产的S3C2410嵌入式微处理器。软件环境选用Microsoft Windows CE.NET操作系统。系统首先通过USB摄像头采集到门票静态图片,接着进行数字水印检测和提取,通过比对提取出的数字水印跟原先嵌入的水印,判断门票的真伪。
2.1操作系统的定制
嵌入式系统是指以应用为中心,以计算机技术为基础、软硬件可裁剪、适应于特定应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统嵌入式系统具有实时性等特点,其应用前景非常广阔。
系统硬件平台选用博创科技产品嵌入式开发平台UP_NETARM2410_S。该平台采用了S3C2410X微处理器。该处理器使用ARM920T核、采用0.18μm工艺CMOS标准宏单元和存储编译器开发的。它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。该平台同时配备了LCD液晶屏,方便对水印结果的观察。
Windows CE是一种具有抢先式多任务功能与强大通信能力的嵌入式操作系统,也是微软公司专门为移动设备和消费类电子产品、嵌入式应用等非PC领域而设计的全新操作系统产品,具有高级模块化、良好实时性、强大通信能力、支持多种CPU等特点。Windows CE采用了友好的用户界面,外观很像流行的Windows NT界面,大大降低了用户使用时的难度。同时它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,可以选择、组合和配置Windows CE的模块和组件来创建用户版的操作系统。
微软针对Windows CE推出了集成开发环境:Platform Builder和Visual Studio 2003。通过Platform Builder,开发人员可对Windows CE操作系统进行定制、构建、下载、调试及发布。Visual Studio 2003可用来开发基于Windows CE的应用程序。
博创科技产品自带了Bootloader,BSP,SDK,首先安装Platform Builder并进行了Windows CE的移植。(移植具体过程参考产品说明光盘)
2.2 图像采集
本系统采用市面常见的USB中星微摄像头采集门票图片,安装Windows CE时已经默认安装USB驱动,要让摄像头能采集数据,只要针对该摄像头编写流接口驱动程序。
流接口驱动程序是为连接到Windows CE.NET平台上的外围设备而设计的。实际上,流接口驱动程序是一个管理外围设备的用户级的动态链接库(DLL)。流接口驱动程序几乎可以支持任何类型的连接到Windows CE.NET系统的外围设备。实现流驱动程序需要完成以下几个步骤:
(1)选择代表设备的文件名前缀CAM;
(2)实现驱动的各个入口点:CAM_Init,CAM_Close等;
(3)建立.DEF文件;
(4)在注册表中为驱动程序建立表项;
(5)生成流驱动程序zc030x.dll。
系统在自动加载驱动程序时,首先要将驱动程序复制到\Windows文件夹下。当摄像头通过USB接口接到硬件平台时,将提示输入摄像头驱动,我们通过软键盘敲入“zc030x”,则摄像头就能正常工作了。
2.3水印检测软件设计
水印检测软件采用C#作为开发语言,基于VisualStudio.NET(2003)集成开发环境(IDE)进行编写。Visual Studio.NET和.NET框架为开发人员提供了一套完整的解决方案。Visual Studio.NET提供了一个能够基于.NET框架来创建应用程序的开发环境,该开发环境提供了一些工具,这些工具可以简化应用程序的创建、部署和升级。由于Windows CE.NET自带.NET Compact Framework 1.0,在PC中用VisualStudio 2003生成的应用程序可直接下载到Windows
CE.NET中使用,程序的部署十分方便。
本系统直接通过USB摄像头获取图像信息。软件流程如图5所示。
在Visual Studio 2003中进行软件设计,并在模拟器中调试成功之后,就可以将软件下载到实验平台中运行,在软件进行部署前安装ActiveSync 4.1,并在软件进行部署时选中“Windows CE.NET、设备”见图6。
软件在WinCE系统上的运行界面见图7。
4结 语
数字水印印刷防伪技术突出了防伪的惟一性和不可仿制性,具有高保密性和随机性,以及不改变原印刷品的视觉形象,不改变成熟的印刷工艺,不改变印刷材料与设备,不增加印刷成本等特点。本文介绍了完整的水印嵌入及检测系统,该系统稍加修改,便可以用在其他领域,例如证件检测,包装防伪等。本系统还存在着一些不足,例如水印提取出来后是靠验票员主观判断,嵌入的水印不能很好地反映门票的ID等。这些都需要继续改进。但是数字水印检测技术应用到印刷品领域将有着十分广阔的应用前景.