为了保证消费者利益,卷烟防伪技术越来越受到烟草行业的重视,烟草工商企业不断寻求技术含量高、保密性强的新型防伪技术和防伪产品。目前常见的卷烟防伪技术有包装新型激光全息防伪标识和防伪技术光致变色油墨等。一些卷烟产品采用数码防伪技术,如部分“芙蓉王”香烟在每一盒(条)产品透明纸上喷印有一组惟一性的18位产品防伪数码(即产品的身份代码),使造假者无法批量假冒,对该数码进行查询,便可获得产品真伪信息。该方法可以确定该产品是否出自正规厂家,但无法得知卷烟是由哪家零售户出售的,且只适用于特定品牌的香烟。因此,本文利用国家烟草专卖局对每条卷烟所编32位代码进行查询,32位代码是每条卷烟的惟一身份代码,与零售户信息存在对应关系,通过32位码可获取条烟的准确来源及出库的初始日期等信息,由此辨认是否假冒或者串货卷烟。卷烟32位码是根据零售户订单在烟草专卖局出库时由激光打码机或者是喷码机直接打印或喷涂在卷烟薄膜外侧的一组数字。由于数字串较长,采用人工方式读取编码效率较低,为了让稽查员能迅速将条烟上的代码输入到信息系统,继而获取条烟对应的零售户信息。需要一个类似于条码扫描器的设备,快速获取条码信息,由于图像识别技术较为成熟,应用领域较为广泛,本文采用图像识别算法识别条烟上的32位码,形成数字信息并通过远程通信的方式从远程数据库中查询条码所对应的零售户信息。
1 系统构架
系统由前台和后台两部分组成,前台系统主要是便携式手持识别设备,后台系统是条码查询系统。便携式手持设备包括软硬件两部分,硬件部分由以下四个模块构成:32位码扫描模块、数字识别模块、数字显示和修改模块、短信收发模块。软件部分以图像识别系统为主。条码查询系统由条码处理系统以及短信网关服务器两部分组成。防伪识别系统构架如图1所示。
识别过程是首先由32位码扫描模块拍摄条烟上的条码作为图像,输入到识别模块,由数字识别模块使用智能图像识别算法识别图像中的数字和字母,并将识别后的数字显示在显示屏上,同时对识别错误的数字进行人工更改,使用短信收发模块将识别出的条码以短信形式发送到短信网关服务器中,短信网关服务器通过数据库触发器查询条码数据库,并接收返回查询结果,与此同时条码处理系统每天定时增加当天的打码数据,以确保条码数据库的完整性。
2 防伪识别系统关键技术
2.1 便携式手持识别设备的关键技术
便携式手持识别设备由嵌入式硬件设备以及运行在该硬件设备上的软件系统两部分组成。
2.1.1 嵌入式硬件设备
采用ARM9 SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性,PCB电路板的制作采用沉金工艺的四层板技术,保证关键信号线的信号完整性。
图像扫描模块由数字摄像头、自带补偿光源组成。采用9650数字摄像头作为图像采集设备,同时使用照明LED作为自带补偿光源,可以不受外界干扰地拍摄香烟盒外包装上的防伪码高清图像。采集图像分辨率为800x600,24 b位图格式。
数字识别模块采用SamsungS3C2440A处理器,外接128 MB SDRAM和64 MB FLASH,使用WinCE操作系统。
数字显示和修改模块为1块NEC 3.5英寸TFT触摸屏,是系统的人机交互接口。
短信收发模块采用Siemens公司的TC35i GSM短信收发模块,能够稳定的发送识别结果。由于此装置为便携式设备,采用9 V,2 500 mA锂电池为其提供电能。
2.1.2 嵌入式设备上的软件
软件系统主要包括两部分:基于WinCE系统的人机交互界面和内嵌的图像识别程序。
人机交互界面界面使用EVC 4.0开发,当需要使用本系统进行图像识别时,先启动操作系统,启动应用程序,将带光源的摄像头扣到卷烟条码的位置,当条码完全放到显示框中后,点击“识别”按钮进行自动识别,识别数字将显示到第一个文本编辑框中,如果有未识别出的字符,系统用“*”号代替,然后采用人工方式进行辨认和修改,点击发送后识别结果将显示到第二行文本框中。
根据系统设计的要求,将图像识别过程初步分化为以下几个步骤:
步骤1:色彩模型转换及灰度化处理
为保证在色彩无失真的情况下实现图像处理,将彩色图像从RGB模型转化为HIS模型,并依据该模型对彩色图像进行灰度化处理。式(1)和(2)分别给出了模型转换和灰度化公式:
步骤2:图像平滑及二值化处理
采用中值滤波方法对灰度化图像进行平滑以去除各种加性噪声。二值化处理则采用最大类间方差法(OTSU),该方法通过选取最佳阈值将原图像分成差别最大的前景和背景两个图像。
设前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。则图像的总平均灰度为:
当方差g最大时,可以认为此时前景和背景差异最大,也就是此时的灰度是最佳阈值。
步骤3:去除联通区域
进行噪声处理,去掉一些不必要的小连通区域。通过统计各连通区域内的像素点数,将小于给定阈值的连通区域去除掉。
步骤4:基于支持向量机的数字识别
首先将灰度图像切割成多个具有单独数字的图像,然后采用支持向量机技术的数字进行识别。由于数字全为打印格式,参考文献中算法,采用水平垂直投影和左右轮廓投影结合的方法提取如下特征:垂直和水平投影及投影极值、左右轮廓投影、左右轮廓投影_阶差分、左右轮廓投影变化峰值、数字长、宽及长宽比等。由于数字只有10种情形,故可以将多个支持向量机的二类分类器组合起来构成一个多类分类器来实现数字的识别。如果测试样本与某个训练样本匹配,则给出对应的数字,如果不匹配,则会出现误匹配,这个时候尽量能给出错误提示,提示无法识别。
2.2 后台处理程序的关键技术
后台处理系统由打码数据处理系统、短信网关处理程序以及后台Web监控程序三个部分组成。
系统解析文本数据并存入本地数据库,移动联通短信网关可以接收来自用户的查询短信也可接收来自便携式识别设备发过来的查询短信。Web查询系统的主要作用是领导可以在Web页面上查看使用手持设备的稽查员都检查了哪些零售户,对稽查员的工作情况进行评价。另一方面,稽查人员可以通过网络系统查询32位条码,并查询该卷烟对应的零售户所的基本信息和违规信息等,同时普通用户也可在计算机上查询卷烟条码真伪。
2.2.1 短信网关处理系统
前台短信查询是通过短信网关MAS服务器接收用户请求,并通过查询数据库的方式将查询结果返回给用户。使用华为企业代理服务器V4.1D32,为了使得MAS短信网关自动回复短信,在短信网关服务器的SQL SERVER数据库中需要设计一系列触发器,用于自动处理查询请求。为了让触发器调用远程数据库上的数据,有两种途径,一种是通过Windows系统自带的MSDTC远程传输控制服务直接获取数据,另一种是在触发器中调用一段Java代码从远程数据库中获取数据。
2.2.2 打码数据处理系统
打码处理系统的作用是定时处理中软公司提供的打码到条接口,将中软公司每天给出的打码数据文本文件通过文本解析的方式拼接出卷烟32位码,然后定时存入本地数据库中。处理程序由Java语言swing类库编写的桌面应用程序,当设置好FTP的IP地址、用户名密码、定时处理时间后,程序会每天自动从中软接口中获取当天的打码数据。
2.2.3 后台Web查询系统
后台网络查询程序使用J2EE体系架构设计,采用WebWork这种MVC设计框架使得整个软件系统层次清晰、复用性强,便于系统的二次开发和升级维护。32位码查询系统包括卷烟32位码详细查询子系统、客户记录查询子系统、手机号码查询子系统、数据采集子系统、信息协作子系统以及系统管理子系统6个部分。
3 系统性能分析
图像处理程序的效率对整个系统的性能有着重要的影响,虽然ARM9处理器具有较强的处理能力,但在运行较复杂的图像处理算法时依然会有些吃力,尤其是在使用了支持向量机进行智能识别后,识别速度变慢。为此,这里特别针对本系统图像特点对处理程序进行了大量优化,主要从以下三方面进行:一是在不影响质量或对质量影响很小的情况下尽量简化处理步骤;二是对支持向量机模型进行了最优化设计;三是对程序中代码进行技术优化,使其在内存占用量和执行效率上均达到接近最优的程度。经过以上优化设计后,最终系统的性能达到了基本满意的程度。
4 结论
本文设计并实现了一套基于ARM的卷烟防伪识别系统。整个系统涉及到嵌入式硬件系统的设计、图像识别算法的实现、短信网关的处理程序以及J2EE数据库系统的开发等内容。可使用便携式识别设备、手机短消息以及网站等方式为稽查员、普通消费者以及卷烟零售户提供鉴别真假的手段,试验表明该系统的使用可有效的提高烟草商业的专卖管理水平。随着设备硬件性能的不断提升,在今后的研究工作中,可考虑使用更为复杂的智能识别算法进一步提升系统的识别和使用效果。