为了解决传统溯源电子秤不够智能、操作繁琐的问题,设计了一种新型果蔬图像溯源秤系统。系统采用C/S架构,包括溯 源秤客户端和服务端两大部分,客户端基于图像处理技术可以通过摄像头采集果蔬图像来实现果蔬产品的自动售卖,服务端 通过Wi-Fi远程管理客户端,整个系统都是利用QT框架开发。重点研究了基于颜色纹理特征的多类SVM果蔬图像识别算 法、QT图形界面开发、基于Tcp协议的网络通信开发等。系统测试表明:果蔬图像识别速度快捷、识别率高,系统整体功能工 作良好,可以满足实际使用需求。
随着国家对于食品溯源体系建设的日益重 视,商务部“肉类蔬菜流通追溯体系”正在紧锣密 鼓的开展中。溯源秤作为集计量称重、打印凭 证、无线通讯、电子结算、数据上传为一体的终端 设备,通过与物联网技术的“嫁接”,已经成为了食 品流通追溯体系中的关键一环|31。目前传统的溯 源秤主要采用人工记忆输人或二维码标签、RFID 标签扫描的形式来输人果蔬产品的类别信息,不 仅需要耗费大量的人力物力成木,同时也不利于 果蔬产品的自动售卖。为解决上述问题,木文开 发研究了基于图像处理的果蔬溯源秤系统。木系 统采用C/S架构模式,客户端和服务端之间采用 无线网络进行数据通信,其中客户端运行在嵌入 式系统平台上,负责果蔬销售功能和果蔬图像识 别;服务端运行在PC机平台上,负责对客户端销 售的信息进行管理。
1.系统方案论述
木文提出了一种新型果蔬图像识别溯源秤系 统,溯源秤系统包括溯源秤客户端和溯源秤服务端 软件,其具体要求与功能为:溯源秤客户端具有果 蔬识别和常规电子秤功能,果蔬识别采用木文提出的基于颜色和纹理特征的多类SVM分类算法。本 客户端软件通过Wi-Fi模块与服务端软件进行数 据通信,进行溯源信息的上传与下载。服务端软件 主要负责溯源信息的管理,管理员在PC端登录服 务端软件,对销售的果蔬溯源信息进行录人,并且 可以通过无线网络远程管理客户端上的数据。通 过客户端和服务端的协作,整个溯源秤系统可以完 成果蔬产品的自动售卖以及实现果蔬产品信息的 追溯功能。
2.系统设计
溯源秤客户端运行在Linux系统上,运行于PC 的溯源秤服务端软件和溯源秤客户端运行的应用 程序都是利用QT开发。溯源秤客户端和服务端的 组成框图如图1、图2所示。客户端主要需要完成 图像采集、图像识别、称重信息显示、无线通信等功 能。服务端主要负责溯源信息管理以及与客户端 之间进行网络通信。
2.1硬件设计
2.1.1Tiny210V2开发板平台
本系统使用的嵌人式开发平台为Tiny210V2开发板4。该开发板是一款高性 能 Cortex-A8核心板,米用了 Samsung S5PV210 作 为处理器,运行主频高达1 GHz,64/32位内部总线结 构,可以实现2 000 DM instraction/s(每秒运算2亿条 指令集)的高性能运算能力,内部集成了 PowerVR SGX540高性能图形引擎,可以流畅运行Android, Linux和WinCE6等高级操作系统,具有低功耗高效 率的特性,能够充分满足溯源秤系统的基本要求。
Tiny210V2开发板米用了核心板加底板的设计 方法,如图3和图4所示。核心板上主要有 S5PV210 处理器,512 Mbyte DDR2 RAM 内存,512 Mbyte NAND Flash存储器以及若干与底板连接的 接口等。底板上主要有LCD显示屏接口、网口、 RS232 串口、SD 卡座、USB 接 口、SDIO Wi-Fi 接 口 等硬件资源。
2.1.2USB摄像头选取
本系统中选用USB摄像头作为图像采集丁具, 使用USB摄像头的优点是即插即用,并且Linux系 统上可以通过V4L2驱动来配置USB摄像头的帧 率、图像压缩格式、图像大小等参数,便于程序优 化。同时,考虑到溯源秤大小有限,为了方便以后开 模加丁,摄像头体积应该比较小巧。据此,本系统选 择的摄像头为HDF9655-BJ,该产品主要应用于笔 记本电脑、一体机、小型摄像机,USB输出,130万像 素,符合VGA标准。摄像头实拍图如图5所示。
2.1.3Zigbee无线传输模块
本系统使用的Wi-Fi模块是友善之臂公司提 供的基于Marvell 8686芯片的SD Wi-Fi模块,如 图6所示。
该模块具有低功耗、高性能的特点,通过 Tiny210 SDK底板上的 SDIO 接口与 Tiny210V2 开发板连接使用。该模块丁作特性为:(1)支持
IEEE 802.11b/g; (2) 11g: 54/48/36/24/18/12/9/6M 自 适应;(3)11b: 11/5.5/2/1M自适应;(4)常规功耗 (3.3 V 供电):180 mA(接收)270 mA(发送)。
2.2溯源枰客户端软件设计
2.2.1系统工作流程
本系统在丁作时,首先拨动开发板上电开关, Linux系统启动后自动加载溯源秤客户端软件,加 载数据库以及SVM图像样本特征库,随后开启串口 通信和网络通信线程,等待接收数据,并显示出软 件操作界面等待用户操作。用户打开摄像头后,摄 像头采集到YUV格式的图片,转换成QImage格式 并实时显示在LCD屏上,随后进行图像处理和识别 过程,识别出果蔬产品的种类后,结合数据库中的 信息将交易结果显示在屏幕上,即完成一笔自动售 卖交易。交易结果可以通过无线网发送到远程的 服务端软件内。丁作流程如图7所示。
2.2.2果蔬图像数据库构建
为了模拟溯源秤的实际使用环境,本系统搭建 了如图8所示的图像采集装置。以超市常用的ACS 电子秤为基础,安装了开发板和USB摄像头。其中 摄像头安装在电子秤的顶部,斜向下约45°拍摄,秤盘大小为32 cmX24 cm,摄像头距离秤盘垂直高度为 35 cm。米用基于Tiny210V2开发板自主开发的图 像采集软件,来采集果蔬图像,果蔬产品的摆放位置 随机,个数随机,包含了贴近、堆叠、粘连等情况。
本文构建的果蔬图像数据库一共包含13种果 蔬,包括苹果、香蕉、桃子、梨、猕猴桃、火龙果、提 子、土豆、西红柿、黄瓜、西兰花、青菜、油麦菜。为 了保证构建的图像数据库尽可能接近实际光照情 况,设计了 6种光照,包括阴影(光强73 cd)、弱侧光 (光强103 cd)、强测光(光强118 cd)、室内光(光强 98 cd)、正面强光(光强124 cd)、正面弱光(光强 110 cd)。所有的果蔬在每种光照下拍摄260张照 片,六种光照下果蔬图片共计1 560张。
2.2.3果蔬图像预处理
作为一款应用于超市、菜市场里的实用产品,周 围的图像采集环境肯定不是一成不变的,亮度不均匀、 阴影、遮挡、镜面反光、背景混乱以及摄像头可能存在 缺陷导致拍摄图像失真,这些因素都会严重的影响果 蔬农产品的识别。在与处理中,将果蔬产品与背景准 确的分割开来是图像预处理的关键步骤,本文采用了 一种基于Lab颜色空间的K均值聚类分割算法。
预处理主要步骤如下:(1)对摄像头采集到的 图片进行切割处理,由于设备摄像头位置同定,故 仅保留图片中秤盘内的部分,可以切除外围的干 扰;(2)对切割后的图片进行中值滤波;(3)将RGB 彩色图像转换到Lab颜色空间,采用K均值聚类方 法对图像进行分割;(4)对分割后的二值图像进行 形态学处理,填充孔洞;(5)中值滤波后的图片与形 态学处理后的图片做交集,即得到去除背景后的果 蔬图片。图9为预处理前后图像。
2.2.4特征提取
通常,描述果蔬图像的特征一般包括颜色特 征、纹理特征。本系统提取了 HSV全局颜色直方图 作为颜色特征,提取了局部二值模型(LBP)作为纹 理特征。下面简要给出这两种特征的提取方法。
2.2.4.1颜色特征
HSV颜色直方图按照公式(1)计算,通过计算 可以得到一个256维的颜色直方图:
L = HxQgxQV + SxQV + V ⑴
式中:H、S , V是量化后的颜色分量,本文将H分 量非均匀量化为16级,S、分量分别均匀量化为 4级;Qs、Qv分别为S、分量的量化级数。
2.2.4.2纹理特征
局部二值化模式LBP(Local Binary Pattern)最早 是由Ojala^81等人在1996年提出,由于具有计算速 度快和实现简单的优点,而且该方法是计算局部的纹 理特征,对光线变化具有较好的承受能力,可以得到 良好的识别效果,得到了许多研究人员的认可,现在 多将其应用于图像纹理特征的提取上,因此本文提取 果蔬图像的LBP特征作为纹理特征用于果蔬识别。
图10是一个LBP编码过程例子,首先使用一 个3x3大小的窗口从原始图像中取出对应像素值, 通过中心点阈值化,得到LBP 二进制编码,再与权 值窗口中对应的权值相乘,即可得到中心点对应的 LBP十进制编码值。
2.2.3基于颜色纹理特征的多类SVM果蔬图像识 别算法
本文提取果蔬图像的颜色纹理特征,并通过多 类SVM分类器191进行识别,整个果蔬识别算法流程 如图11所示。训练阶段,首先将样本图像进行预处 理,然后提取果蔬图像的GCH特征(256维)和LBP 特征(256维),将这两种特征采用级联的方式融合 成图像特征矢量(512维),并采用最大最小归一化 方法归一化到0和1之间,随后,使用一对一(OAO) SVM多类分类器11101进行训练,得到分类器模型。其 中,SVM的核函数均为径向基函数RBF(Radial Ba-sis Function);在一对一SVM分类器训练时,米用5 折交叉验证法进行训练,然后采用网格搜索法来得 到最优的惩罚因子C和RBF核函数的参数g。
测试阶段,首先读人测试图像,进行预处理、提取特 征并归一化(方法同训练过程),然后,将待测图像特征 输人训练好的多类SVM分类器中,即可得至IJ识别结果。
在实际编程实现时,先在MATLAB中训练好 SVM模型,将模型导出为SVM.Model模型文件供 溯源枰系统客户端软件在进行果蔬识别时使用。
2.3溯源秤服务端软件设计
Qt是1991年奇趣科技开发的一个跨平台的 C++图形用户界面应用程序框架lul。它提供给应用 程序开发者建立艺术级的图形用户界面所需的所 用功能。本设计的上位机软件正是用QT开发,选 用的集成开发环境是Qt Creator。
2.3.1信息管理模块
信息管理界面是数据库与用户直接交互的工 具,需要具备信息录人、信息修改、信息删除以及信 息查询这4个主要功能。主界面分为5个Tab页’ 分别是商户信息、商品信息、交易信息、账号密码和 网络管理。服务端和客户端都采用Sqlite3数据 库1121来存储溯源数据信息。
商户信息Tab页如图12所示,包含该商户的名 称、电话、经营主体备案号以及商户的地址。直接在 输人框内输人相应信息,然后单击“保存”,商户信息 随后会写人服务端数据库。点击“取消”后,输人框 内的信息会清空,同时数据库清除商户信息数据。
商品信息Tab页,用于果蔬产品信息的输人、 修改、查询,采用Qt中的QTabelView表格控件来显 示,如图13所示。
交易信息Tab页用于显示和查询客户端的交易 信息,如图14所示。为了保证溯源信息不被修改, 本页面只提供数据检索和数据删除功能,不提供数 据添加和数据修改功能。
本系统的服务端和客户端采用的是基于无线 网络的Tcp通信,服务端软件主要负责创建服务端 口,等待客户端建立Tcp通信,网络管理界面如图15 所示。在使用时,输人本机IP地址及网络端口号, 点击开启服务,待客户端状态由“未连接”变成“已 连接”时,即可点击右侧相应按钮进行数据通信。
本服务端软件初始账户为Admin账户,在实际 使用时可以根据需要在该页面修改Admin账户的密 码,或者为其他管理员新创建账户密码。具体界面 如图16所示。
2.3.2网络通信模块
Qt 提供了 的 QTcpSocket 类和 QUdpSocket 类, 分别对应实现TCP和UDP传输协议。TCP是面向 连接的基于数据流的可靠传输协议,适用于连续大 量的数据传输;UDP是轻量级无连接的基于数据报 文的不可靠传输协议,适用于离散信息包在网络节 点间传输。为了保证客户端和服务端之间数据传输 的正确可靠,本系统选择使用TCP协议来进行数据 传输,TCP服务端和客户端创建流程如图17所示。
服务端软件和客户端软件中,网络通信模块都 是在单独的线程中运行,这样可以实时进行数据的 上传下载以及数据库的更新。为了方便数据传输 和解析,本系统按照自定义的通信巾贞协议来传输数 据库表中的数据,数据通信帧格式见表1和表2。
其中每组数据之间用“%”间隔,不同字段之间用” &”间隔,并且字段与字段之间的顺序严格按照数据库 表设计的顺序排列。月艮务端和客户端通信采用字符串 流的形式传输数据,且每次通信发起方都是服务端。 客户端在正确收到服务端的请求后,立即回复表2中 的”10ACK”帧命令,随后再完成服务端请求中要实现 的功能,如保存信息、删除信息、更新系统时间等。
3.系统测试
系统开发完毕后,为了测试本系统的性能,搭建 了如图18的系统联试环境。主要包括ACS电子秤 一台、USB摄像头一个、安装了溯源秤客户端软件的 Tiny210V2开发板一套、安装了溯源秤服务端软件的 笔记本电脑一台、无线路由器一台以及串口线两根等。
打开摄像头,将两个苹果随意摆放在秤盘上, 如图19所示,从图像显示区可以实时看到USB摄 像头采集到的苹果的图像,同时将苹果的重量 0.346 kg显示在屏幕上,此时交易按钮处于使能状 态,等待点击开始果蔬识别并交易。
单击“交易”按钮后,后台开始对采集到的果蔬 图像进行识别,等待约3 s,弹出交易对话框。对话框 中给出3种备选产品类别,依次为OAO SVM分类器 获得的投票数排名前三的果蔬类别,等待用户确认。
点击人工确认的产品名称所在的按钮,客户端软 件根据产品名查询数据库,得到本次交易信息详情,如 图20所示,显示在QLable控件内。随后,点击“确认 购买”,本次交易完成并且将交易信息写人数据库内。
在当天销售结束后,通过点击服务端软件的网 络管理模块的“接收交易信息”按钮,客户端将交易 信息上报至服务端,服务端将交易内容写人数据库 并在交易信息Tab页内显示,如图21所示。
本次交易中的苹果图像识别总耗时约2.303s,识 别过程中各阶段耗时如表3所示。
其中预处理阶段耗时最长,占总耗时的66.17%, 由于使用了基于LAB颜色空间的K-means聚类算 法,聚类时需要对图像中每个像素点与聚类中心计算 欧式距离,因此所需计算量较大,耗时较长。
为了测试溯源秤客户端在实际环境下对数据库中 的13种果蔬的识别能力,定义图20交易界面中的 OAO SVM分类获得票数最高的识别结果为直接识别 结果;定义3种备选结果中至少包含一次正确类别的结 果为自动识别结果。对这13种果蔬分别进行20次试 验,每次试验摆放个数不定,摆放姿态随意,记录如表4 所示。从表4可以看出系统的平均果蔬自动识别率达 到了 97%,且平均识别时间在2.5 s内,是在用户使用时 的允许等待时间范围内。果蔬实地测试结果表明本果 蔬溯源秤系统的识别功能具有较高的实用价值。
4.结论
本文利用果蔬图像识别技术,设计了一种新型 果蔬图像溯源秤,解决了目前市场上现有的溯源秤 不够智能、不易于自动售卖的问题。文中详细给出了溯源秤各功能模块的开发设计方法,并在最后对 整个系统进行了实地测试,测试验证了系统能够稳 定运行,并且具有较好的果蔬自动识别能力,可以 满足超市、菜场等地的自动售卖需求。