龙陈锋,雷坚,杨鑫,刘仲华
(1.湖南农业大学信息科学技术学院,湖南 长沙 410128;2.国家植物功能成分利用工程技术研究中心,湖南 长沙 410128;3.茶学教育部重点实验室,湖南 长沙 410128)
农产品追溯系统[1–2]是一种有效的产品质量安全监督与保障机制,茶叶产品追溯系统相关研究已涵盖黑茶、白茶及龙井茶等茶类[3–6]。这类追溯系统中常以二维码作为产品追溯标签,具备快速读写的优势,但存在标签易被复制、保密性不强的缺陷。近年来,将数字水印[7]和二维码相结合,应用于农产品追溯系统,成为研究热点。这种追溯系统先对载体图像进行空间域算法运算,再将要嵌入的二维码水印信息分块隐藏于图像的变换域系数中,得到嵌入水印,通过提取嵌入的二维码水印来进行鉴权防伪。
结合产品溯源系统的特点,笔者改进了一种基于Arnold 置乱和离散余弦变换(DCT,discrete cosine transform)的数字水印–二维码嵌入算法,提出将企业鉴权图像信息嵌入到含产品生产信息的二维码图像标签中,该标签既拥有二维码快速读取的特点,也具备水印技术的产品防伪鉴权能力。以数字水印–二维码标签为基础,串联黄茶的种植、制作和销售溯源流程,设计了黄茶产品追溯系统,以期更好地满足消费者对黄茶产品的防伪追溯需求,促进黄茶品牌价值提升及可持续发展。
以二维码标签作为唯一防伪溯源载体的追溯系统,写入的是加密后的内容,因而无法被开放编码解码标准的二维码识读器识读,只能被系统专用的二维码识读软件识读溯源,增加了生产成本和溯源成本[8]。
基于水印的不可见性、不可复制性及二维码开放编码规则,笔者先对数字水印鉴权信息进行Arnold 置乱加密,再对二维码标签进行分块DCT,根据二维图像的二值性构造Hash 函数来实现水印的嵌入,以期最大限度地保持载体图像原貌,得到更高的鲁棒性及不可见性。嵌入水印后的二维码标签,以明文形式写入的生产信息能被开放标准的识读器读取,而密文形式的水印信息则只能通过系统专用识读器或网页溯源方式进行提取鉴定,因而满足简单追溯及真伪鉴定的双重需求。标签的生成及检测模型如图1 所示。
图1 标签生成与检测模型 Fig.1 Generated and detected mode of label
1.2.1 算法模型
改进了一种将二值水印图像嵌入到二维码载体图像中的数字水印算法[9–12],该算法在DCT 变换的基础上,引入Arnold 变换置乱技术以实现对水印图像的预处理加密,在将水印信息嵌入到DCT 变换系数的过程中,其嵌入系数由根据水印及载体的信号值构造出Hash 函数来确定,从而能有效减小水印嵌入对原始载体图像质量的影响。
在实现水印信息分块嵌入到载体信号中时,对每一分块,嵌入后的载体信号S'及嵌入前的信号值S,有:S'= S×(1+αc) ,其中α 为嵌入系数,c 为控制系数。根据载体分块信号值及水印分块信号值的二值特征,构造相应的Hash 函数以保证原始载体图像质量,算法模型如图2 所示。
算法嵌入:对水印内容进行Arnold 变换,得到置乱后的加密水印内容W 后,对二维码载体进行分块DCT 变换,其嵌入系数是根据水印及载体分块的信号值所构造的Hash 函数确定,最后对每分块进行DCT 逆变换,合并后即得到含水印的载体图像。
图2 水印算法模型 Fig.2 Watermark algorithm mode
算法提取:对含水印信息的载体图像进行分块DCT 后,根据嵌入时所选的系数获得各分块的嵌入信号,将提取到的各分块信号进行合并,再经过Arnold 反变换便可得到原始的水印图像。
1.2.2 算法实现过程
1) 利用Arnold变换对水印图像作预处理,先对经多次变换获得水印的Arnold置乱周期C,对水印图像作C/2次Arnold变换,得到置乱后的图像W′。
2) 将载体图像Z(M×N像素大小)分解成(M/8)× (N/8)个8×8大小的方块BZm,n;同时将W′分解成(M/8)× (N/8)个大小的方块其中:1≤m
式 中,Si指 'nmDBZ , 中 的 位 置 坐 标,1 ≤i ≤
嵌入系数α和控制系数c的取值分别由根据水印及载体图像相对应位置上的信号量构造的Hash函数(式2和式3)决定。此时即是嵌入水印信息后的分块数据。 5) 对上述的每一个进行逆DCT变换,有:
6) 将各子块的IDBZm,n合并可得到整图Z′,即为嵌入水印信息后的新图像。
水印提取过程是嵌入过程的逆过程。
1.2.3 算法试验结果
水印算法的好坏由其鲁棒性及不可见性决定,使用峰值信噪比PSNR 值及归一化参数NC 值2个参数来衡量[13]。PSNR 值表示原始图像和嵌入水印后图像之间的相似程度,是评价水印不可见性的标准。NC 值称为归一化相关系数,用来度量原始水印与提取出来的水印图像之间的相似程度。
本算法采用Matlab R2009a 作为仿真环境,水印为64×64 的二值图像,载体图像则是256×256 的二维码产品标签,取多组不同图像进行试验仿真。随机取1次试验结果如图3 所示。
图3 水印嵌入与提取结果 Fig.3 Result of the watermark embedded and extracted
使用识读设备对嵌入水印后的二维码图像进行读取,其内容与嵌入前的内容保持一致,且识读速度与原始图像无异,说明水印的嵌入不影响二维码图像信息的识读及内容,从嵌入水印的图像中提取的水印图像与原水印相比,虽有个别噪声点,但仍清晰可见,不影响水印信息的鉴别。
对该组试验数据进行运算后,得PSNR= 27.781 5,NC=0.957 2。当PSNR 值大于30 时,肉眼便很难察觉到2个相关图像之间的差异,因此水印的不可见性也就越好;NC 值越是接近于1,表明所检测提取出的水印图像效果越好。因此,该结果表明,算法具备较好的不可见性及鲁棒性。
基于数字水印–二维码标签的黄茶追溯系统是以二维码为数据传递载体、数字水印为防伪信息载体,结合网络通讯、信息系统及数据库应用等技术构建的综合化产品信息追踪平台,通过记录黄茶从种植、制作到销售及溯源的整个产业链信息来实现对产品的全程跟踪与溯源。
系统采用B/S(browser/server,浏览器/服务器)体系结构,使用Java 开发语言+Oracle 数据库服务器+Tomcat Web 服务器实现。系统分为数据采集层、平台应用层和用户访问层,各应用层之间通过阶段性或最终的产品二维码标签实现信息传递,完成对黄茶信息的采集、管理和决策共享,供种植园、加工工厂、经销商、政府监管部门及消费者进行黄茶产品追踪、质量监督和产品溯源查询。系统总体架构设计如图4 所示。
1) 数据采集层。通过各类传感器及识读设备采集黄茶各生产流通过程所产生的数据信息,包括空气、土壤温湿度、茶事活动信息、加工工序、流通销售及溯源查询统计信息等。从种植园到加工厂阶段通过含种植采摘信息的临时二维码进行传递,茶叶出厂包装上的数字水印–二维码永久标签则为之后各流通阶段的信息查询收集提供保证。
图4 黄茶追溯系统架构 Fig.4 Architecture of the tracing system for yellow tea
2) 平台应用层。黄茶追溯系统中的种植园、加工厂及销售溯源子系统能够分别满足茶叶种植园、加工厂、经销商和消费者的多重需求。加工子系统中的数字水印–二维码标签生成模块,根据当前茶叶信息流生成嵌入防伪水印的标签,作为下一步流通的信息载体;在销售溯源子系统中,通过相关软硬件手段识读二维码标签,完成对产品的运输销售追踪和标签解密防伪查询。该应用层中的数字水印–二维码标签嵌入生成及密文水印提取鉴定模块,是整个追溯系统的核心技术。
3) 用户访问层。提供移动终端APP 和计算机终端黄茶产品标签查询接口。移动终端使用普通扫码软件可查询产品生产信息,而真伪信息则需要使用系统配套APP 提取标签中的水印进行比对鉴定。在计算机查询接口端,只需将标签拍照上传到系统查询页面,便能返回包含该产品真伪及生产信息的详情。
运用Arnold 置乱及Hash 函数与DCT 结合改进后的数字水印–二维码嵌入算法,结合二维码图像二值性特点,实现对水印信息的嵌入,可保证嵌入后图像的鲁棒性和不可见性。以嵌入数字水印的二维码图像作为追溯标签,在溯源标志技术上结合数字水印的隐藏性与QR 码快速读取特性,弥补二维码作为单独溯源载体在防伪方面的不足,保证在鉴别产品真伪的同时实现快速溯源。
[1] 白红武,孙传恒,丁维荣,等.农产品溯源系统研究进展[J].江苏农业科学,2013,41(4):1–4.
[2] 付骁,傅泽田,张领先.基于Web 的蔬菜质量安全可追溯系统[J].计算机工程与设计,2009,30(1):85–87.
[3] 朱燕妮,雷坚,龙陈锋.基于双向追溯模式的黑茶防伪溯源系统的构建[J].湖南农业大学学报:自然科学版,2014,40(5):552–555.
[4] 栾汝朋,张峻峰,于峰,等.白茶质量安全可追溯网络管理系统的实现[J].中国农学通报,2011,27(20):137–140.
[5] 詹英,陆德彪,商建农.基于地理标志(GI)的龙井茶资源信息整合研究[J].中国茶叶,2012 (10):5–7.
[6] 周智修,段文华,吴海燕,等.我国名优茶发展现状与趋势[J].茶叶科学,2013,33(2):171–178.
[7] 尹浩,林闯,邱锋,等.数字水印技术综述[J].计算机研究与发展,2005,42(7):1093–1099.
[8] 刘佳.基于二维码的农产品质量安全可追溯系统构建[J].山东农业大学学报:自然科学版,2014,45(5):724–729.
[9] 张春森,范金健,胡平波.小波变换和Arnold 变换的数字水印技术[J].西安科技大学学报,2012,32(1):95–100.
[10] 肖俊,王颖.基于多级离散余弦变换的鲁棒数字水印算法[J].计算机学报,2009,32(5):1055–1061.
[11] 李明建,赖惠成.基于编码和二维条形码的数字水印[J].计算机工程与应用,2008,44(2):67–69.
[12] 陈峥,姚宇红,王晓京.一种基于二维图形码的数字水印技术[J].计算机应用,2006,26(8):1998–2000.
[13] 胡青,龙冬阳,卢伟.一种利用小波系数幅值关系的鲁棒水印算法[J].小型微型计算机系统,2011,32(4):772–776.