近年来国内食品安全问题突出,饮食和医疗健康越来越受到人们的重视。《2007年中国食品安全报告》中指出,可追溯性是食品安全保障的基本原则[1]。农产品的质量安全追溯标志技术在国外已经有了较为成熟的应用,欧盟己形成较为完善的农产品/食品质量安全追溯法律体系[2],欧盟实施的IDEA项目期间4种动物上的电子耳标平均回收率为82.1%[3]。美国提出了建设“从农场到餐桌”的食品质量安全管理体系[4-5]。McMahon[6]提出了基于虹膜识别的溯源方法,Pongpiachan等[7]建立了基于多环芳烃的大豆产品追溯方法。任守纲等[8]提出了基于RFID/GIS物联网的肉品跟踪及追溯系统,张友桥等[9]提出了基于NFC的农产品溯源系统,这些技术成本高,需要特定的扫描仪器,不适宜大面积推广。王野等[10]在Android溯源平台上采用四线聚焦法定位和校正了二维码,但缺乏对受污二维码信息容量研究。本研究针对农产品生产运输过程中信息滞后、二维码受到污损等问题,基于压缩感知(Compressed sensing,CS)法预处理受污二维码,融合移动互联网、数据库、物联网等技术,在移动平台下实现二维码的拍照生成、上传、解码等功能。
1 移动平台系统总体设计方案在农产品溯源系统中,由各个环节的企业、政府监管部门和认证机构把农产品生产、加工、运输、销售等过程的数据提交到农产品溯源信息服务中心,统一建立信息数据库。信息服务中心根据提交的内容整合并生成的二维码统一发放到各企业。各经销商同时也可以将物流、销售情况、消费者的反馈推送到溯源平台。消费者可利用移动终端扫描二维码获得详细的溯源信息。由于溯源数据中心是独立于厂商和用户并且受到政府监管的第三方机构,确保了信息不被篡改、作假,保障了食品安全[11]。
1.1 系统原理设计溯源系统采用B/S体系结构,B/S具有开放性、低成本、使用简单、开发灵活以及安全性等优点[12-13],并采用了基于SMSSDK短信开发组件(Short messaging service software development kit,SMSSDK)、物联网(Internet of thing,IOT)[14]技术和多运营商统一接入的服务实现农产品质量追溯系统整体系统架构(图 1)。
|
图 1 溯源系统原理图 Figure 1 Schematic diagram of the traceability system |
图 2为系统构架,用户通过表示层中用户界面(User interface,UI)控制逻辑构件与业务实体进行数据传输对象(Data transfer object, DTO)交换,模式查看控制器(Model viewer controller,MVC)负责界面命令分发。用户也可以采用基于超文字标记语言(Hyper text markup language,HTML)和动态服务器页面(Active server pages,ASP)的浏览器方式进行访问。业务层采用Domain model建模,整合验证、事务、权限、流向等操作。数据访问对象(Data access object,DAO)和系统服务层(System server layer,SSL)构成了业务数据访问层,通过访问接口,可以挂载不同的数据源[15-16]。
|
图 2 系统架构图 Figure 2 System structure |
里德-索洛蒙(Reed-Solomon,RS)码是一种基于伽罗华域(Galois field,GF)的数据位编码,纠错能力强。对于每个码字均有a∈GF(pm),p为域的序,常用p为2,m表示GF(p)中m次扩域,生成的多项式g(x)可表示为:
| $g(x)=(x-a)(x-a^1)…(x-a^{d-2}),$ |
式中,d表示最小码距,a表示码字,x表示编码信息。
对于可以纠正r个错误的RS码,则:
| $g(x)= x^{2r}+g_{2r-1}x^{2r-1}+ g_{2r-2}x^{2r-2}+…+g_1x^1+g_0,$ |
式中,gi(i=1, 2, 3,…)表示伽罗华域中的元素,r表示错误编码数,x表示编码信息。
对原始信息的多项式d(x)进行RS编码后的表达式w(x)为:
| $w(x)= x^{2r}d(x)+ x^{2r}d(x)\text{mod}\ g(x),$ |
式中,r表示错误编码数,x表示编码信息,d(x)表示原信息多项式,mod g(x)表示对g(x)取模运算解码:
| $S_j=∑\limits^{n-1}_{i=0}r_iα^{ji},$ |
式中,Sj为伴随多项式,ri为第i个接收图样,
由二维码编码标准可得,共有4种不同纠错等级,其中:
| $e+2t≤d-p,$ |
式中,e为拒读错误数,t为替代错误数,d为纠错码字数,p为错误译码保护码字。
稳定的各个版本编码性能见图 3。从图 3可知,对于同一个版本,纠错容量随纠错等级提高而增大,对于同一个纠错等级,纠错容量基本是稳定在同一水平线上。替代错误数在模块中占有的比率随着版本的增加基本与纠错容量相当。
|
图 3 不同版本下的编码性能 Figure 3 The coding performance of different version numbers 图中E、R分别表示纠错容量、纠错码比率,下标L、M、Q、H分别表示从小到大4种纠错等级。 |
从图 4可知,纠错码数之间随着版本号的增大而增大。因为相同版本号总码字数是一定的,故纠错等级越高,相对可编码数据容量越少,具体二维码编码见图 5。
|
图 4 各个版本不同纠错等级下数据的容量关系 Figure 4 The relationship of data capacity and version at different error correction level L、M、Q、H分别表示从小到大4种纠错等级。 |
|
图 5 二维码编码程序框图 Figure 5 The flow diagram of QR encoding |
CS是一种采用部分傅里叶变换系数可精确重构原始信号的算法理论[18]。该理论认为只要信号
| $x=\mathit{\boldsymbol{\varPsi}}α,$ |
式中,
| $y=\mathit{\boldsymbol{\varPhi}}\mathit{\boldsymbol{\varPsi}}α=\mathit{\boldsymbol{\varTheta}}α,\\ α^*=\text{arg}\ \min\limits_α‖α‖,\\ 约束\mathit{\boldsymbol{\varPsi}}\mathit{\boldsymbol{\varPhi}}α=y,\\ x^*=\mathit{\boldsymbol{\varPsi}}α^*,$ |
式中,
在理想条件下,摄像头为面阵CCD成像最低可读度和版本之间有关系:对于设置模块像素k,版本号n,则总模块像素为k×(4n+17)2 (n=1, 2, … 40),基于互补金属氧化物半导体(Complementary metal oxide semiconductor,CMOS)堆栈式摄像头识别最低像素有以下关系:
| $ l=(a^2/2p)^{1/2},\\ a=2\sqrt{2}d\text{tan}(0.5θ),\\ l/l_1=d/d_1,\\ i=2.54×10^{-2}k/l_1,\\ s=6.451 6×10^{-4}×(4n+17)^2m^2k^2/i^2,$ |
式中,a为单芯片感光基底对角线长度,p为像素值,l为单位感光像素感光长度,θ为感光基层广角,d为基片与成像孔距离,d1为摄像头与二维码距离,l1为最小成像分辨长度,k为模块像素,i为打印机打印分辨率,s为打印的二维码面积,m为打印放大倍数。依上述各式得摄像机要求的最低像素(pmin)为:
| $p_{\text{min}}=\frac{6.2×10^3×i^2d^2_1\text{tan}^2\frac{θ}{2}}{k^2},$ |
在扫描解码中,市面上普通手机,CMOS单芯片感光基底广角θ=120°,二维码与摄像头距离d1=0.3 m,打印i=300二维码单个模块像素k=8,需要最小的摄像机像素值为2.354×106,约200万像素。
实际基于Android系统环境中,由于环境光照、对焦、成像距离、COMS感光质量、解码软件的设计等因素均影响扫描清晰度和解码质量,实际需要的像素值大于200万。因此,本系统采用自适应编码,根据实际输入信息自动选择编码版本、像素和默认纠错版本,同时也可以手动选择调节生成的二维码像素大小以满足实际扫描需要。
3.2 压缩感知算法预处理结果分析在MATLAB中,采用CVX凸优化工具箱优化
|
图 6 基于多种滤波去噪和压缩感知的效果对比 Figure 6 Comparative analysis of different filtering method and compressed sensing |
在执行过程中,频域分布见图 7,从频域观察中间2条相交的白线,得出原始二维码高频分量很少,经过Gaussian噪声后的CS变换和重构后高频分量基本不变。在加噪过程中,远离交叉白线描述了二维码变化快的特性,低频成分变化较快但集中在1个区域内,中低频有规律地分布在频域四周,组成“井”字结构,且分量为负值。Gaussian、Log和Disk变换都使得原始二维码的频域不同程度变形。
|
图 7 基于不同去噪方法的频域变化 Figure 7 Changeinfrequency domain with different filtering method |
针对农产品信息编码受损问题,输入的信号经过RS编码后,受擦除性、突发性、缩短性错误共同作用[22],通过统计RS编码后的信息码得到误码率(Bit error rate,BER)和信噪比(Signal noise rate,SNR),对比CS算法、Gaussian,Disk和Log滤波,得到图 8。
|
图 8 不同去噪方法和CS重构性能对比 Figure 8 Comparison of the reconstruction performances by different filtering method and compressed sensing |
由图 8可知,CS对于RS编码具有良好重构效果。当RS编码经过擦除性、突发性、缩短性错误综合,CS经过稀疏学习和特征表示能够捕获RS信息编码中的结构,在过完备字典中采用追踪匹配法经过多次迭代更新重构RS,消解突发性错误。随着信噪比增大,CS优势增大,当SNR为10.7 dBm,CS法和Log滤波的BER分别为0.040 1和0.042 5,CS性能开始超过Log,11.7 dBm时Gaussian性能开始比CS下降快,其中CS和Gaussian的BER分别为0.011 3和0.014 7。采用峰值信噪比(Peak signal to noise ratio,PSNR)来评价去噪效果,PSNR值越大,失真越小,结果见表 1。
|
|
表 1 基于不同噪声的QR Code图像去噪峰值信噪比 Table 1 The peak signal to noise ratio of QR code image denoising for different noise |
从表 1可知,较Guassian和Disk法,CS在高斯噪声、椒盐噪声、乘性噪声和泊松噪声中均有较好表现,稳定性高,PSNR均大于10 dBm。Log法在乘性噪声和泊松噪声表现较差,滤波效果不稳定。考察二维码中CS局部重构特性,设置像素值50,区域噪声分布模板为每上下隔4个像素点分布,定位区大小7像素,Gaussian噪声置零比例为0.1,CS稀疏度为20,将标准二维码分为3×3等份,1到9号区分别从左上角到右下角竖直依次编排,分别考察在不同区域、噪声模板下识别率关系。当高斯噪声分布在不同的区域时,对二维码解码的干扰不同(表 2)。由表 2可知,噪声对定位区比较敏感,找不到定位,意味着解码完全失败。噪声模板越大,对二维码的信息编码干扰越大,其中2号区域为初始信息编码区。综合3种不同噪声模板,分别考察位置区和编码区的识别率,得噪声掩盖区域对位置区影响最大,综合3种噪声模板,噪声在位置区和编码区的解码平均正确率分别为87.68%和91.24%。随着噪声区域增加,CS重构后的准确率下降,采用凸优化求解
|
|
表 2 不同噪声区域二维码识别率1) Table 2 The recognition rate of QR code in different noise region |
在解码设计环节,可以采用通用的APP客户端如微信平台,也可以采用农产品溯源中心专门开发的应用程序,同时可对产品进行销售登记。解码模块采用了Google开源的Zxing Android核心库core.jar,其中com.google.zxing.client.android.camera包用于摄像头控制,Capture Activity Handler类用于解码,View finder View类用于显示结果[23]。手机摄像头对准二维码后自动调整对焦模式,拍摄到的图像经灰度化、二值化、定位、校正、解码等过程恢复原信息从扫描结果获得了农产品加工企业、品种、产地、联系方式、认证编号等关键信息。
4 结论针对农产品生产流通过程中信息滞后问题,本文构建了一种基于移动平台的农产品溯源系统,采用了二维码技术改善了农产品信息溯源过程中的不足,使公众能够快速、便捷地获取农产品加工、流通、销售中的各种信息,切实参与到食品安全监督体系中,提升了农产品质量跟踪溯源的效能,为企业、政府构筑质量控制信息平台提供了更为优质、高效的服务。
该系统基于分布式移动平台B/S架构,各种访问请求可通过业务层以不同的模式进行数据访问,并可通过SMS-SDK短信开发组件通知用户,实现移动手机端高效率解码。手机端摄像头最小分辨率为200万像素,实际环境中光照、对焦、成像距离、COMS感光质量、解码软件的设计等因素均影响扫描清晰度和解码质量。二维码识别中CS方法能明显降低RS编码的误码率,RS编码信噪比为10.7、11.7 dBm时,CS误码率分别为0.040 1和0.011 3,低于Log和Gaussian法的0.042 5和0.014 7。CS在多种噪声中具有良好的重构原信息表现,PSNR均大于10 dBm。噪声掩盖区域对位置区影响最大,噪声在位置区和编码区的解码平均正确率分别为87.68%和91.24%。
本系统下一步计划结合农产品大数据分析和融合技术,尝试采取Tikhonov、迭代、奇异值截断等方法求解病态矩阵方程,使得CS精度提高;尝试采用RESTful Web服务连通性和接口一致性特点,结合ATOM数据聚合方法实现溯源信息自动推送、按需供应。
| [1] |
白红武, 孙爱东, 陈军, 等. 基于物联网的农产品质量安全溯源系统[J]. 江苏农业学报, 2013, 29(2): 415-420. ( 0) |
| [2] |
SCHWAGELE F. Traceability from a European perspective[J]. Meat Sci, 2005, 71(1): 164-173. DOI:10.1016/j.meatsci.2005.03.002 ( 0) |
| [3] |
BOSONA T, GEBRESENBET G. Food traceability as an integral part of logistics management in food and agricultural supply chain[J]. Food Control, 2013, 33(1): 32-48. DOI:10.1016/j.foodcont.2013.02.004 ( 0) |
| [4] |
SMITH G C, TATUM J D, BELK K E, et al. Traceability from a US perspective[J]. Meat Sci, 2005, 71(1): 174-493. DOI:10.1016/j.meatsci.2005.04.002 ( 0) |
| [5] |
MURPHY G L, SCANGA J A, BELK K E, et a1. Review: Animal identification systems in North America[J]. PAS, 2008, 24(4): 277-286. ( 0) |
| [6] |
MCMAHON K. Animal "eye" dentification[J]. Farm Ind News, 2000, 33(6): 26-27. ( 0) |
| [7] |
PONGPIACHAN S. A preliminary study of using polycyclic aromatic hydrocarbons as chemical tracers for traceability in soybean products[J]. Food Control, 2015, 47: 392-400. DOI:10.1016/j.foodcont.2014.07.032 ( 0) |
| [8] |
任守纲, 徐焕良, 黎安, 等. 基于RFID/GIS物联网的肉品跟踪及追溯系统设计与实现[J]. 农业工程学报, 2010, 26(10): 229-235. ( 0) |
| [9] |
张友桥, 吕昂, 邵鹏飞. 一种基于NFC的农产品溯源系统[J]. 中国农机化学报, 2015, 36(2): 145-149. ( 0) |
| [10] |
王野, 宋欣, 宋占伟. 基于Android的二维码食品药品回溯系统[J]. 吉林大学学报(信息科学版), 2014, 32(6): 599-604. ( 0) |
| [11] |
白红武, 孙爱东, 陈军, 等. 基于物联网的农产品质量安全溯源系统[J]. 江苏农业学报, 2013, 29(2): 415-420. ( 0) |
| [12] |
李善杰, 周凤飞. 数字图书馆服务评价系统的设计与实现[J]. 情报科学, 2008, 26(5): 718-720. ( 0) |
| [13] |
李敏. C/S和B/S模式及混合模式研究[J]. 西华师范大学学报(自然科学版), 2006, 27(2): 198-201. ( 0) |
| [14] |
WAN J, TANG S, SHU Z, et a1. Software-defined industrial Internet of things in the context of industry 4.0[J]. IEEE Sens J, 2016, 16(20): 7373-7380. ( 0) |
| [15] |
徐玲, 蒋欣志, 张杰. 手机二维码识别系统的设计与实现[J]. 计算机应用, 2012, 32(5): 1474-1476. ( 0) |
| [16] |
孟猛, 孙继华, 邓志声. 基于二维码技术的热带水果质量安全追溯系统设计与实现[J]. 包装工程, 2014, 35(5): 13-20. ( 0) |
| [17] |
孙道达, 赵健, 王瑞, 等. 基于稀疏表示的QR码识别[J]. 计算机应用, 2013, 33(1): 179-181. ( 0) |
| [18] |
YIN W T, OSHER S, GOLDFARB D, et al. Bregman iterative algorithms for l(1)-minimization with applications to compressed sensing[J]. SIAM J Imaging Sci, 2008, 1(1): 143-168. DOI:10.1137/070703983 ( 0) |
| [19] |
任越美, 张艳宁, 李映. 压缩感知及其图像处理应用研究进展与展望[J]. 自动化学报, 2014(8): 1563-1575. ( 0) |
| [20] |
杨福增, 张艳宁, 王峥, 等. 基于小波变换的Wiener滤波算法去除苹果图像噪声[J]. 农业机械学报, 2006, 37(12): 130-133. ( 0) |
| [21] |
宋怀波, 何东健, 韩韬. Contourlet变换为农产品图像去噪的有效方法[J]. 农业工程学报, 2012, 28(8): 287-292. ( 0) |
| [22] |
KAUR H, SINGH M L. Performance analysis of RSCC based WiMax system for different SUI channel conditions using QPSK and QAM-16[J]. Wirel Pers Commun, 2016, 88(4): 787-796. DOI:10.1007/s11277-016-3205-0 ( 0) |
| [23] |
施连敏, 郭翠珍, 盖华之, 等. 基于二维码的绿色食品溯源系统的设计与实现[J]. 制造业自动化, 2013, 35(8): 144-146. ( 0) |
2017, Vol. 38


,
0)