基于深度学习的茶叶种类识别系统
The Recognition System of Tea Based on Deep Learning
DOI: 10.12677/SEA.2021.104061, PDF, HTML, XML, 下载: 546  浏览: 1,417  科研立项经费支持
作者: 李国志*, 冯泽霖, 方梦瑞, 吕 军#:浙江理工大学信息学院,浙江 杭州
关键词: 茶叶自动识别深度学习移动终端Tea Automatic Identification Deep Learning Mobile Terminal
摘要: 针对茶叶种类多、炒青茶特征不显著,难以快速辨别炒青茶种类的问题,开发了一款基于深度学习的茶叶种类识别系统。采集西湖龙井、安吉白茶、黄山毛峰、建德黄金芽和绩溪金山时雨5种炒青茶图像1048幅,利用图像锐化、水平镜像、垂直镜像、灰度处理和图像旋转等方法进行数据增强,并按照8:1:1的比例划分训练集、验证集和测试集;建立茶叶种类及相关信息数据库,训练了基于VGG16的茶叶种类识别模型,并将茶叶数据库和识别模型部署在服务器;开发了基于Android的茶叶种类识别APP,具有地图定位、茶叶信息搜索、茶叶智能识别和用户信息等模块。经系统测试,茶叶测试集平均识别率为98.1%,系统平均响应时间为12 s,该系统为快速识别茶叶种类提供理论参考和使用工具,对稳定市场秩序和维护消费者权益具有实际应用价值。
Abstract: To solve the problem of the high number of tea, the non-significant characteristics of roasted tea and the difficulty in quickly identifying the type of roasted tea, a tea recognition system based on deep learning has been developed. 1048 images of five kinds of roasted tea were collected; image sharpening, horizontal mirroring, vertical mirroring, grayscale processing, and image rotation were used for data Enhance; the training set, validation set and test set according to the ratio of 8:1:1 was divided; the database of tea and tea identification model based on VGG16 were deployed on the server; an Android-based tea identification APP with modules such as map positioning, tea information search, tea intelligent identification and user information was developed. According to the results, the average recognition rate of the tea test set is 98.1%, and the average response time of the system is 12 s. The system provides theoretical references and tools for quickly identifying tea, and has practical application value for stabilizing market order and safeguarding consumer rights.
文章引用:李国志, 冯泽霖, 方梦瑞, 吕军. 基于深度学习的茶叶种类识别系统[J]. 软件工程与应用, 2021, 10(4): 568-575. https://doi.org/10.12677/SEA.2021.104061

1. 引言

茶,作为重要的保健饮品之一,深受人们的喜爱。但茶叶市场中以假乱真现象的滋生,严重侵犯了消费者的权益和扰乱了市场秩序。茶叶种类多,炒青茶特征不明显,类间差异小,类内差异大等增加了茶叶种类识别的难度。依靠人工识别的方法存在着识别率低、主观因素大等不足。随着光谱分析、图像处理、人机交互和深度学习等技术的交叉研究,茶叶嫩芽智能检测 [1] [2] [3]、机械采摘 [4] [5]、等级鉴定 [6] [7] 和茶叶病虫害检测 [8] 等成为茶学领域的热点,但茶叶种类识别鲜有涉及。罗冬兰等 [9] 采用电子鼻技术,结合线性判别分析和载荷分析,实现了湄潭翠芽茶、石阡苔茶、凤冈锌硒茶和都匀毛尖4种名优茶的鉴别。帅晓华 [10] 通过提取茶叶和茶水图像的色泽特征量来实现茶叶种类识别。徐向君等 [11]、蔡庆空等 [12] 分别利用LIBS光谱数据(190~720 nm)和短波红外(1000~2500 nm)高光谱图像实现了茶叶的快速识别。方敏等 [13]、张程等 [14] 分别借助于茶叶的频域特征和全局特征实现了炒青茶种类识别。以上方法识别成本高且周期长,很难满足无损、快速和准确识别茶叶种类的需求。

本文开发了茶叶种类智能识别系统,建立了基于深度学习的茶叶种类识别模型,降低传统图像识别过于依赖特征提取的影响;开发了基于Android的茶叶种类识别APP,该APP具有位置定位、茶叶信息查询、茶叶智能识别和历史记录查询等功能。装有茶叶种类识别APP的Android手机,通过调用手机摄像头或访问图库的方式进行茶叶图像采集或选择,图像上传至服务器并调用识别模型,识别结果反馈于手机端,该系统可以提供一个准确和便捷的茶叶种类识别工具。基于深度学习和Android的茶叶智能识别系统技术流程图如图1所示。

Figure 1. Technology development flow chart of tea species intelligent identification system

图1. 茶叶种类智能识别系统的技术开发流程图

2. 茶叶种类识别模型的建立与部署

2.1. 茶叶图像预处理

利用华为P20手机(快门设定为1/50 s,光圈f值为1.8)采集绩溪金山时雨、建德黄金芽、安吉白茶、黄山毛峰和西湖龙井5种茶叶图像,共1050幅,图像尺寸为2976*3968,以jpg格式存储,5种茶叶图像如图2所示。按照8:1:1的比例划分训练集、验证集和测试集。利用图像锐化、水平镜像、垂直镜像、灰度处理和45度旋转的方法对训练集和验证集进行茶叶数据增强,增强后图像和样本量如图3表1所示。

(a) 绩溪金山时雨 (b) 建德黄金芽 (c) 安吉白茶 (d) 黄山毛峰 (e) 西湖龙井

Figure 2. Images of five teas

图2. 五种茶叶图像

(a) 原图 (b) 图像锐化 (c) 水平镜像 (d) 灰度处理 (e) 垂直镜像 (f) 45度旋转

Figure 3. Tea image enhancement

图3. 茶叶图像增强

Table 1. Number of tea sample sets

表1. 茶叶样本数量表

2.2. 基于VGG16的茶叶种类识别模型

2.2.1. 基于VGG16的茶叶种类识别模型

VGG16模型 [15] 包含13个卷积层和3个全连接层。将原始图像resize至224*224*3,通过反复增加3*3的卷积核和2*2的最大池化层对茶叶特征进行提取与降维,将提取的特征送至3个全连接层进行加权求和,最后由softmax输出最终结果。基于VGG16卷积神经网络的茶叶种类识别模型如图4所示。

Figure 4. Tea species recognition model diagram based on VGG16 convolutional neural network

图4. 基于VGG16卷积神经网络的茶叶种类识别模型图

2.2.2. 茶叶种类VGG16识别模型的训练

在pytorch框架下完成茶叶图像预处理和VGG16识别模型的训练,具体流程如下:

1) 数据转换:将5类1050幅茶叶图像按照8:1:1的比例分为训练集、验证集、测试集。通过transform.Compose()函数对训练集和验证集进行数据增强和归一化等处理。使用class_to_idx()函数将分类的类别名与对应的索引建立映射关系并写入Json文件。

2) 模型加载及训练:通过torch.utils.data.DataLoader()函数加载数据集,将数据集输入到框架VGG16网络中。调用load_state_dict函数调用预训练模型,可加快模型训练时的收敛速度。损失函数采用交叉熵损失函数,优化器使用Adam,初始学习率设置为0.0001。批处理图片数量batch_size设置为4,多线程数量num_works设置为8,迭代最大次数设置为1000,模型每隔50次保存一次。训练的Loss曲线图和验证集识别准确率如图5所示。

(a) Loss损失曲线图 (b) 验证集识别准确率曲线图

Figure 5. Training model parameter diagram of tea recognition based on VGG16

图5. 基于VGG16的茶叶种类识别训练模型参数图

2.3. 数据库与茶叶识别模型的部署

数据库主要由茶叶信息数据库和用户注册信息数据库。其中茶叶信息数据库主要包含茶叶种类、标准图像和相关介绍;用户注册信息数据库主要包含用户名和登录密码等。

使用FinalShell软件通过SSH连接到本地Linux服务器,使用Anaconda配置所需的虚拟环境,并安装Django框架。使用Pycharm软件开发Django项目,实现初始化模型、调用模型测试及其他功能,并配置路由,使用框架内部的视图函数来接收请求和返回响应。开发完成后将模型、项目和数据库等配置在服务器,并进行调试。在本地服务器上使用Screen终端,保持服务不会被关闭,通过python manage.py runserver命令开启web服务器,并使用Postman软件对服务进行测试。部署完成后,APP即可通过配置好的接口访问不同的功能服务。

3. 茶叶种类识别APP的设计与开发

茶叶种类识别APP包含地图定位、茶叶信息查询、茶叶种类识别和用户登陆等模块。

地图定位模块利用百度地图SDK接口,通过GPS定位功能获取到设备当前位置,服务器会将附近的茶叶信息以Json数据格式返回,客户端解析后结合Glide图像加载库,在地图上显示利用该APP识别茶叶时的地点分布和距离。

茶叶信息查询模块利用ListView控件实现茶叶种类的呈现,利用SearchView控件结合精确查询和模糊查询的方式实现符合条件的茶叶信息搜索功能,再通过页面的跳转实现茶叶相关信息查询功能。

茶叶种类识别模块提供了相机拍照上传与图库选取两种茶叶图像获取的方式,通过HTTP协议与服务器进行信息交互,服务器端接收到茶叶图像后调用茶叶识别模型进行识别,最后将识别结果按Json数据格式反馈回客户端,并通过一个ListView显示在屏幕上。

用户登陆模块通过一个数据库连接函数,用于访问服务器上的数据库。用户注册时先将用户信息通过数据库连接函数导入到服务器的库中,通过Jason数据响应是否用户名被占用;用户登陆时,通过post发送用户信息到数据库进行比对,并通过Jason响应是否登陆成功。

4. 茶叶种类识别系统的测试

4.1. 茶叶种类识别结果

利用茶叶种类VGG16识别模型对105张测试集图像进行试验,测试结果如表2所示。从表2可知,建德黄金芽、安吉白茶和西湖龙井识别准确率为100%,绩溪金山时雨和黄山毛峰的识别准确率为95.2%。将误判图像(如图6所示)与训练样本进行比对发现,绩溪金山时雨训练图像中茶叶较堆积,误判情况比较散,个体样本与西湖龙井的形态较为相似;黄山毛峰与建德黄金芽在形态上较为相似,说明后期需要通过规范图像采集标准和提高茶叶样本特征的显著性,以减少误判,提高识别准确率。

Table 2. The identification result of test sets

表2. 茶叶识别系统结果数据

Figure 6. Samples of miscalculation

图6. 误判样本

4.2. 茶叶识别APP的测试

将茶叶识别APP安装在具有Android系统的手机或平板上,测试APP的用户注册登录、茶叶信息查询、茶叶种类自动识别、地图定位等功能。利用APP对测试集样本进行识别,并记录从图像上传到结果显示过程的响应时间。APP功能如图7所示,APP平均响应时间在12秒以内。

(a) 用户注册界面 (b) 用户登录界面 (c) 茶叶信息查询界面 (d) 位置定位 (e) 图像选择 (f) 图像识别 (g) 用户界面 (e) 识别记录

Figure 7. Tea identification APP interface

图7. 茶叶种类识别APP的界面

5. 总结

茶叶种类识别是维护茶叶市场稳定和消费者权益的重要前提,也是茶学研究的重要分支。针对目前人工识别中存在的识别率低、主观因素大和非实时性等问题,训练了基于VGG16卷积神经网络的茶叶种类自动识别模型,对测试集进行实验发现,平均识别准确率为98.1%;设计了一款面向Android移动终端的APP,该APP具备地图定位、茶叶信息查询和用户信息修改等基本模块,还可以通过拍照或图库选择的方式上传茶叶图像至服务器,自动识别后将识别结果和相关信息反馈到客户端并显示。经测试发现,系统功能稳定,平均响应时间在12 s以内。

基于深度学习和Android系统的茶叶种类识别APP可以快速、无损、准确地识别茶叶种类,为用户提供参考依据。但系统后期还需增加茶叶种类数量和提高算法的普适性和鲁棒性,尤其是相似种的识别,以提高系统的应用价值;进一步优化系统界面与缩短响应时间,提高系统的友好性和可操作性。

基金项目

浙江省高等教育“十三五”教学改革研究项目(jg20190138),浙江理工大学本科生科研创新计划项目。

参考文献

[1] 孙肖肖, 牟少敏, 许永玉, 等. 基于深度学习的复杂背景下茶叶嫩芽检测算法[J]. 河北大学学报: 自然科学版, 2019, 39(2): 211-216.
[2] 江东. 名优茶智能采摘视觉系统的研究[D]: [硕士学位论文]. 武汉: 华中农业大学, 2017.
[3] Karunasena, G.M.K.B. and Priyankara, H.D.N.S. (2020) Tea Bud Leaf Identification by Using Machine Learning and Image Processing Techniques. International Journal of Scientific & Engineering Research, 11, 624-628.
https://doi.org/10.14299/ijser.2020.08.02
[4] 汤一平, 韩旺明, 胡安国, 等. 基于机器视觉的乘用式智能采茶机设计与试验[J]. 农业机械学报, 2016, 47(7): 15-20.
[5] 王升. 便携式电动采茶机关键部件设计与试验研究[D]: [硕士学位论文]. 镇江: 江苏大学, 2018.
[6] Huang, D., Bian, Z., Qiu, Q., et al. (2019) Identification of Similar Chinese Congou Black Teas Using an Electronic Tongue Combined with Pattern Recognition. Molecules, 24, 4549.
https://doi.org/10.3390/molecules24244549
[7] Meng, L., Chen, X., Chen, X., et al. (2019) Linear and Nonlinear Classifi-cation Models for Tea Grade Identification Based on the Elemental Profile. Microchemical Journal, 153, Article ID: 104512.
https://doi.org/10.1016/j.microc.2019.104512
[8] Lee, S., Lin, S. and Chen, S. (2020) Identification of Tea Foliar Diseases and Pest Damage under Practical Field Conditions Using a Convolutional Neural Network. Plant Pathology, 69, 1731-1739.
https://doi.org/10.1111/ppa.13251
[9] 罗冬兰, 邵勇, 巴良杰, 等. 贵州四种名优茶叶的电子鼻鉴别与香气成分分析[J]. 保鲜与加工, 2020, 20(3): 191-198.
[10] 帅晓华. 基于计算机视觉的茶叶色泽检测研究[J]. 农机化研究, 2019, 41(6): 209-213.
[11] 徐向君, 王宪双, 李昂泽, 等. 基于激光诱导击穿光谱的茶叶品种快速分类[J]. 中国激光, 2019, 46(3): 285-291.
[12] 蔡庆空, 李二俊, 蒋金豹, 等. 联合光谱-空间信息的短波红外高光谱图像茶叶识别模型[J]. 光谱学与光谱分析, 2019, 39(8): 2522-2527
[13] 方敏, 方梦瑞, 汪洋, 等. 基于频谱的茶叶种类识别方法研究[J]. 黄山学院学报, 2018, 20(3): 28-30.
[14] 张程, 王进, 鲁晓卉, 等. 基于图像颜色和纹理特征的成品茶种类与等级识别[J]. 中国茶叶加工, 2020(2): 5-11.
[15] Simonyan, K. and Zisserman, A. (2014) Very Deep Convolutional Networks for Large-Scale Image Recognition. https://xueshu.baidu.com/usercenter/paper/show?paperid=2801f41808e377a1897a3887b6758c59&site=xueshu_se