APP下载

基于图像处理的果蔬溯源秤系统设计与开发

2016-10-13朱明田爽周锋王如刚

电子器件 2016年2期
关键词:服务端果蔬摄像头

朱明,田爽,周锋,王如刚

(1.盐城工学院信息工程学院,江苏盐城224051;2.南京农业大学工学院,南京210046)

基于图像处理的果蔬溯源秤系统设计与开发

朱明1*,田爽2,周锋1,王如刚1

(1.盐城工学院信息工程学院,江苏盐城224051;2.南京农业大学工学院,南京210046)

为了解决传统溯源秤不够智能、操作繁琐的问题,设计了一种新型果蔬图像溯源秤系统。系统采用C/S架构,包括溯源秤客户端和服务端两大部分,客户端基于图像处理技术可以通过摄像头采集果蔬图像来实现果蔬产品的自动售卖,服务端通过Wi-Fi远程管理客户端,整个系统都是利用QT框架开发。重点研究了基于颜色纹理特征的多类SVM果蔬图像识别算法、QT图形界面开发、基于Tcp协议的网络通信开发等。系统测试表明:果蔬图像识别速度快捷、识别率高,系统整体功能工作良好,可以满足实际使用需求。

溯源秤系统;颜色纹理特征;果蔬识别;QT

随着国家对于食品溯源体系建设的日益重视,商务部“肉类蔬菜流通追溯体系”正在紧锣密鼓的开展中[1-2]。溯源秤作为集计量称重、打印凭证、无线通讯、电子结算、数据上传为一体的终端设备,通过与物联网技术的“嫁接”,已经成为了食品流通追溯体系中的关键一环[3]。目前传统的溯源秤主要采用人工记忆输入或二维码标签、RFID标签扫描的形式来输入果蔬产品的类别信息,不仅需要耗费大量的人力物力成本,同时也不利于果蔬产品的自动售卖。为解决上述问题,本文开发研究了基于图像处理的果蔬溯源秤系统。本系统采用C/S架构模式,客户端和服务端之间采用无线网络进行数据通信,其中客户端运行在嵌入式系统平台上,负责果蔬销售功能和果蔬图像识别;服务端运行在PC机平台上,负责对客户端销售的信息进行管理。

1 系统方案论述

本文提出了一种新型果蔬图像识别溯源秤系统,溯源秤系统包括溯源秤客户端和溯源秤服务端软件,其具体要求与功能为:溯源秤客户端具有果蔬识别和常规电子秤功能,果蔬识别采用本文提出的基于颜色和纹理特征的多类SVM分类算法。本客户端软件通过Wi-Fi模块与服务端软件进行数据通信,进行溯源信息的上传与下载。服务端软件主要负责溯源信息的管理,管理员在PC端登录服务端软件,对销售的果蔬溯源信息进行录入,并且可以通过无线网络远程管理客户端上的数据。通过客户端和服务端的协作,整个溯源秤系统可以完成果蔬产品的自动售卖以及实现果蔬产品信息的追溯功能。

2 系统设计

溯源秤客户端运行在Linux系统上,运行于PC的溯源秤服务端软件和溯源秤客户端运行的应用程序都是利用QT开发。溯源秤客户端和服务端的组成框图如图1、图2所示。客户端主要需要完成图像采集、图像识别、称重信息显示、无线通信等功能。服务端主要负责溯源信息管理以及与客户端之间进行网络通信。

图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接口等硬件资源。

图3 Tiny210V2 SDK底板

图4 Tiny210V2核心板

2.1.2USB摄像头选取

本系统中选用USB摄像头作为图像采集工具,使用USB摄像头的优点是即插即用,并且Linux系统上可以通过V4L2驱动[5]来配置USB摄像头的帧率、图像压缩格式、图像大小等参数,便于程序优化。同时,考虑到溯源秤大小有限,为了方便以后开模加工,摄像头体积应该比较小巧。据此,本系统选择的摄像头为HDF9655-BJ,该产品主要应用于笔记本电脑、一体机、小型摄像机,USB输出,130万像素,符合VGA标准。摄像头实拍图如图5所示。

图5 USB摄像头实拍图

2.1.3Zigbee无线传输模块

本系统使用的Wi-Fi模块是友善之臂公司提供的基于Marvell 8686芯片的SD Wi-Fi模块,如图6所示。

图6 SD Wi-Fi模块

该模块具有低功耗、高性能的特点,通过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所示。

图7 溯源秤客户端主要工作流程图

2.2.2果蔬图像数据库构建

图8 果蔬图像采集装置

为了模拟溯源秤的实际使用环境,本系统搭建了如图8所示的图像采集装置。以超市常用的ACS电子秤为基础,安装了开发板和USB摄像头。其中摄像头安装在电子秤的顶部,斜向下约45°拍摄,秤盘大小为32 cm×24 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均值聚类分割算法[6]。

预处理主要步骤如下:(1)对摄像头采集到的图片进行切割处理,由于设备摄像头位置固定,故仅保留图片中秤盘内的部分,可以切除外围的干扰;(2)对切割后的图片进行中值滤波;(3)将RGB彩色图像转换到Lab颜色空间,采用K均值聚类方法对图像进行分割;(4)对分割后的二值图像进行形态学处理,填充孔洞;(5)中值滤波后的图片与形态学处理后的图片做交集,即得到去除背景后的果蔬图片。图9为预处理前后图像。

图9 预处理前后果蔬图像

2.2.4特征提取

通常,描述果蔬图像的特征一般包括颜色特征、纹理特征。本系统提取了HSV全局颜色直方图作为颜色特征,提取了局部二值模型(LBP)作为纹理特征。下面简要给出这两种特征的提取方法。

2.2.4.1颜色特征

HSV颜色直方图按照公式(1)计算,通过计算可以得到一个256维的颜色直方图:

式中:H、S、V是量化后的颜色分量,本文将H分量非均匀量化为16级,S、V分量分别均匀量化为4级;QS、QV分别为S、V分量的量化级数。

2.2.4.2纹理特征

局部二值化模式LBP(Local Binary Pattern)最早是由Ojala[7-8]等人在1996年提出,由于具有计算速度快和实现简单的优点,而且该方法是计算局部的纹理特征,对光线变化具有较好的承受能力,可以得到良好的识别效果,得到了许多研究人员的认可,现在多将其应用于图像纹理特征的提取上,因此本文提取果蔬图像的LBP特征作为纹理特征用于果蔬识别。

图10是一个LBP编码过程例子,首先使用一个3×3大小的窗口从原始图像中取出对应像素值,通过中心点阈值化,得到LBP二进制编码,再与权值窗口中对应的权值相乘,即可得到中心点对应的LBP十进制编码值。

图10 LBP编码过程示例

2.2.3基于颜色纹理特征的多类SVM果蔬图像识别算法

本文提取果蔬图像的颜色纹理特征,并通过多类SVM分类器[9]进行识别,整个果蔬识别算法流程如图11所示。训练阶段,首先将样本图像进行预处理,然后提取果蔬图像的GCH特征(256维)和LBP特征(256维),将这两种特征采用级联的方式融合成图像特征矢量(512维),并采用最大最小归一化方法归一化到0和1之间,随后,使用一对一(OAO)SVM多类分类器[10]进行训练,得到分类器模型。其中,SVM的核函数均为径向基函数RBF(Radial Ba⁃sis Function);在一对一SVM分类器训练时,采用5折交叉验证法进行训练,然后采用网格搜索法来得到最优的惩罚因子C和RBF核函数的参数g。

图11 基于颜色纹理特征的多类SVM果蔬识别算法

测试阶段,首先读入测试图像,进行预处理、提取特征并归一化(方法同训练过程),然后,将待测图像特征输入训练好的多类SVM分类器中,即可得到识别结果。

在实际编程实现时,先在MATLAB中训练好SVM模型,将模型导出为SVM.Model模型文件供溯源秤系统客户端软件在进行果蔬识别时使用。

2.3溯源秤服务端软件设计

Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架[11]。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。本设计的上位机软件正是用QT开发,选用的集成开发环境是Qt Creator。

2.3.1信息管理模块

信息管理界面是数据库与用户直接交互的工具,需要具备信息录入、信息修改、信息删除以及信息查询这4个主要功能。主界面分为5个Tab页,分别是商户信息、商品信息、交易信息、账号密码和网络管理。服务端和客户端都采用Sqlite3数据库[12]来存储溯源数据信息。

商户信息Tab页如图12所示,包含该商户的名称、电话、经营主体备案号以及商户的地址。直接在输入框内输入相应信息,然后单击“保存”,商户信息随后会写入服务端数据库。点击“取消”后,输入框内的信息会清空,同时数据库清除商户信息数据。

商品信息Tab页,用于果蔬产品信息的输入、修改、查询,采用Qt中的QTabelView表格控件来显示,如图13所示。

图12 商户信息Tab页

交易信息Tab页用于显示和查询客户端的交易信息,如图14所示。为了保证溯源信息不被修改,本页面只提供数据检索和数据删除功能,不提供数据添加和数据修改功能。

本系统的服务端和客户端采用的是基于无线网络的Tcp通信,服务端软件主要负责创建服务端口,等待客户端建立Tcp通信,网络管理界面如图15所示。在使用时,输入本机IP地址及网络端口号,点击开启服务,待客户端状态由“未连接”变成“已连接”时,即可点击右侧相应按钮进行数据通信。

本服务端软件初始账户为Admin账户,在实际使用时可以根据需要在该页面修改Admin账户的密码,或者为其他管理员新创建账户密码。具体界面如图16所示。

图13 商品信息Tab页

图14 交易信息Tab页

图15 网络管理Tab页

图16 账号管理Tab页

2.3.2网络通信模块

Qt提供了的QTcpSocket类和QUdpSocket类,分别对应实现TCP和UDP传输协议。TCP是面向连接的基于数据流的可靠传输协议,适用于连续大量的数据传输;UDP是轻量级无连接的基于数据报文的不可靠传输协议,适用于离散信息包在网络节点间传输。为了保证客户端和服务端之间数据传输的正确可靠,本系统选择使用TCP协议来进行数据传输,TCP服务端和客户端创建流程如图17所示。

图17 服务端和客户端TCP通信流程图

服务端软件和客户端软件中,网络通信模块都是在单独的线程中运行,这样可以实时进行数据的上传下载以及数据库的更新。为了方便数据传输和解析,本系统按照自定义的通信帧协议来传输数据库表中的数据,数据通信帧格式见表1和表2。

表1 服务端指令帧格式

表2 客户端指令帧格式

其中每组数据之间用“%”间隔,不同字段之间用”&”间隔,并且字段与字段之间的顺序严格按照数据库表设计的顺序排列。服务端和客户端通信采用字符串流的形式传输数据,且每次通信发起方都是服务端。客户端在正确收到服务端的请求后,立即回复表2中的”10ACK”帧命令,随后再完成服务端请求中要实现的功能,如保存信息、删除信息、更新系统时间等。

3 系统测试

系统开发完毕后,为了测试本系统的性能,搭建了如图18的系统联试环境。主要包括ACS电子秤一台、USB摄像头一个、安装了溯源秤客户端软件的Tiny210V2开发板一套、安装了溯源秤服务端软件的笔记本电脑一台、无线路由器一台以及串口线两根等。

图18 系统联试环境

打开摄像头,将两个苹果随意摆放在秤盘上,如图19所示,从图像显示区可以实时看到USB摄像头采集到的苹果的图像,同时将苹果的重量0.346 kg显示在屏幕上,此时交易按钮处于使能状态,等待点击开始果蔬识别并交易。

图19 客户端运行界面

单击“交易”按钮后,后台开始对采集到的果蔬图像进行识别,等待约3 s,弹出交易对话框。对话框中给出3种备选产品类别,依次为OAO SVM分类器获得的投票数排名前三的果蔬类别,等待用户确认。

点击人工确认的产品名称所在的按钮,客户端软件根据产品名查询数据库,得到本次交易信息详情,如图20所示,显示在QLable控件内。随后,点击“确认购买”,本次交易完成并且将交易信息写入数据库内。

图20 交易界面

在当天销售结束后,通过点击服务端软件的网络管理模块的“接收交易信息”按钮,客户端将交易信息上报至服务端,服务端将交易内容写入数据库并在交易信息Tab页内显示,如图21所示。

图21 服务端查看交易结果

本次交易中的苹果图像识别总耗时约2.303s,识别过程中各阶段耗时如表3所示。

表3 果蔬识别各阶段耗时

其中预处理阶段耗时最长,占总耗时的66.17%,由于使用了基于LAB颜色空间的K-means聚类算法,聚类时需要对图像中每个像素点与聚类中心计算欧式距离,因此所需计算量较大,耗时较长。

为了测试溯源秤客户端在实际环境下对数据库中的13种果蔬的识别能力,定义图20交易界面中的OAO SVM分类获得票数最高的识别结果为直接识别结果;定义3种备选结果中至少包含一次正确类别的结果为自动识别结果。对这13种果蔬分别进行20次试验,每次试验摆放个数不定,摆放姿态随意,记录如表4所示。从表4可以看出系统的平均果蔬自动识别率达到了97%,且平均识别时间在2.5s内,是在用户使用时的允许等待时间范围内。果蔬实地测试结果表明本果蔬溯源秤系统的识别功能具有较高的实用价值。

表4 果蔬识别实地测试结果

4 结论

本文利用果蔬图像识别技术,设计了一种新型果蔬图像溯源秤,解决了目前市场上现有的溯源秤不够智能、不易于自动售卖的问题。文中详细给出了溯源秤各功能模块的开发设计方法,并在最后对整个系统进行了实地测试,测试验证了系统能够稳定运行,并且具有较好的果蔬自动识别能力,可以满足超市、菜场等地的自动售卖需求。

[1]解玲.国务院关于加强食品安全工作的决定[J].农业工程技术(农产品加工业),2012,23(7):4-7.

[2]赵岩,吴莉宇,王强.我国农产品质量安全追溯系统的建立研究[J].现代农业科技,2009,33(18):323-325.

[3]厉志飞.基于智能溯源秤技术构建肉类、蔬菜流通追溯体系[J].中国计量,2012,43(2):30-32.

[4]http://www.arm9.net/tiny210.asp[EB/OL].

[5]徐家,陈奇.基于V4L2的视频设备驱动开发[J].计算机工程与设计,2010,20(16):3569-3572.

[6]陶华伟,赵力,奚吉.基于颜色及纹理特征的果蔬种类识别方法[J].农业工程学报,2014,23(16):305-311.

[7]Ojala T,Pietikäinen M,Harwood D.A Comparative Study of Tex⁃ture Measures with Classification Based on Featured Distributions [J].Pattern Recognition,1996,29(1):51-59.

[8]Ojala T,Pietikainen M,Maenpaa T.Multiresolution Gray-Scale and Rotation Invariant texture classification with local binary pat⁃terns[J].IEEE Transactions on Pattern Analysis and Machine In⁃telligence,2002,24(7):971-987.

[9]He L M,Kong F S,Shen Z Q.Multiclass SVM Based Land Cover Classification with Multisource Data[C]//Machine Learning and Cybernetics,2005.Proceedings of 2005 International Conference on.IEEE,2005(6):3541-3545.

[10]Lingras P,Butz C.Rough Set Based 1-v-1 and 1-vr Approaches to Support Vector Machine Multi-Classification[J].Information Sciences,2007,177(18):3782-3798.

[11]任立松.基于嵌入式QT4渔业电台GUI的设计和实现[D].大连:大连海事大学,2013.

[12]穆红显,杨林楠,武尔维.基于QT4的SQLite可视化管理工具的研究与开发[J].计算机工程与设计,2012,37(5):1795-1800.

朱明(1971-),男,汉族,江苏盐城人,盐城工学院信息工程学院讲师。主要研究方向为电子与信息处理,嵌入式处理技术等,zhumycit@163.com。

Research and Development of Fruits and Vegetables Traceability Scale System Based on Image Processing*

ZHU Ming1*,TIAN Shuang2,ZHOU Feng1,WANG Rugang1
(1.College of Information Engineering,Yancheng Institute of Technology,Yancheng Jiangsu 224051,China;2.College of Engineering,Nanjing Agriculture University,Nanjing 210046,Chian)

In order to solve the traditional traceability scale is not intelligent enough and fussy operation,a new fruits and vegetable traceability system was designed based on image processing.The system uses C/S architecture,including client and server.The client can use an USB camera to take photos of fruits and vegetables,and recognize their kinds by image processing technology to realize auto sale.The server can manage the data in the client through Wi-Fi.And the whole system is developed under QT framework.In this paper,we mainly research on the algorithm of multi-SVM fruit image recognition based on color and texture,user interface development,network communica⁃tion based on Tcp protocol.Finally,the tests on the whole system show that the algorithm proposed can recognize fruits and vegetables fast and accurate,and the system works well,it has a high practical value.

traceability;color and texture feature;fruits and vegetables recognition;QT

TP391.4

A

1005-9490(2016)02-0487-08

EEACC:6140C10.3969/j.issn.1005-9490.2016.02.048

项目来源:江苏省自然基金项目(14KJB510034);2015年江苏省产学研前瞻性联合研究项目(BY2015057-39);东南大学水声信号处理教育部重点实验室2015年开放课题项目(UASP1501);中央高校基本科研业务费专项资金项目(2242013K30010);2014年江苏省“双创计划”项目;盐城工学院人才引进项目(KJC2013014)

2015-05-04修改日期:2015-05-20

猜你喜欢

服务端果蔬摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
奇思妙想的果蔬们
清洗果蔬农残 你做对了吗
云存储中基于相似性的客户-服务端双端数据去重方法
这些果蔬能保护呼吸道
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
果蔬大作战
奔驰360°摄像头系统介绍