Journal of Image and Signal Processing 图像与信号处理, 2019, 8(4), 203-214
Published Online October 2019 in Hans. /journal/jisp
/10.12677/jisp.2019.84026
Fruit and Vegetable Identification System
Based on Deep Learning
Tong Xue, Hui Chen, Na Xu
手机座充College of Information, Zhejiang Sci-Tech University, Hangzhou Zhejiang
Received: Sep. 20th, 2019; accepted: Oct. 5th, 2019; published: Oct. 12th, 2019
储值卡系统
Abstract
In the processing of sorting agricultural products, the classification of fruits and vegetables mostly stays in the traditional classification mode. This mode increases the labor cost on the one hand and the inconvenience to the workers on the other hand. Thanks to the continuous development of computer vision technologies, replacing labor with machines has gradually become possible.
The paper studies the model structure and principle used in the development of fruit and vegeta-ble recognition systems. Tensorflow is applied as core deep learning framework and OpenCV is used as in image processing. Based on the collected images of fruits and vegetables, a model with high accuracy was obtained through multiple adjustments and training. Image datasets, model parameter adjustment, training results and application performance are visualized and analyzed in the system. Four functional modules of image recognition, object detection, semantic segmenta-tion and real-time detection are realized in the Web APP.
Keywords
Image Recognition, Object Detection, Semantic Segmentation, Real-Time Detection
基于深度学习的果蔬识别系统
薛桐,陈辉,徐娜
浙江理工大学信息学院,浙江杭州
脂肪酸酰胺
收稿日期:2019年9月20日;录用日期:2019年10月5日;发布日期:2019年10月12日
摘要
活性炭面膜
在农产品分拣过程中,果蔬的分类大多还停留在传统的分类模式,由人工进行果蔬筛选,这不但增加了薛桐等
成本,还可能给劳动者带来不便的体验。得益于计算机视觉相关技术的不断发展,以机器代替人工劳动的运营模式逐渐成为可能。本文探讨了以Tensorflow深度学习框架为核心,利用OpenCV进行图像 处理的果蔬识别系统。基于收集的果蔬图像数据,通过多次调参及训练获得了准确率较高的模型。在系统构建上对图像数据集的使用、模型参数调整、训练结果以及应用性能进行了可视化设计与分析,通过Web App实现并展示了图像识别、目标检测、语义分割、实时检测四大功能模块。 关键词
图像识别,目标检测,语义分割,实时检测
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
/licenses/by/4.0/玩具滑翔机制作
1. 引言
随着社会信息化程度的提升和AI技术的广泛普及,人们对美好生活的向往迫切要求社会向智能化、便
捷化发展[1]。计算机视觉技术在人民生活的各方各面起着越来越重要的作用,果蔬识别技术作为其中的一环,与商品零售、智能农业、智慧医疗等方向密切联系,既可有效减少劳动力开销,又能使人民在享受便捷精致生活服务的同时得到膳食引导[2],其广泛需求推动着相关领域的发展。
果蔬识别技术凭借其高效便捷的特性广泛应用于智能农业和产品分拣中。卡内基梅隆大学机器人学院科学家已提出建立农业机器人队伍来实现对农作物生产的辅助管理,通过AI技术判断农作物的成熟度等特性[3];比利时已通过视觉识别技术识别成熟果蔬并采摘,对未成熟果蔬的成熟时间给以预测[4];中国部分地区在茶叶采摘过程中利用视觉技术识别茶树嫩芽并实现定位及采摘以保证叶片完整性。
本文以果蔬识别为中心,探索智能分类功能的实现与应用,并结合基于深度学习的计算机视觉技术与传统互联网技术进行项目应用与展示,完成一个较为完善的果蔬识别系统。
2. 数据集
论文研究中通过数据增强技术取得2500张源自自行拍摄的果蔬图像作为主要训练集,16854张源自Kaggle平台Fruits360 dataset中的果蔬图像作为辅助训练集。
考虑到图像像素大小对识别的准确率会产生一定的影响,需要选择较为合适的像素大小对图像进行输入来达到提高准确率的目的[5]。由于所用计算机性能一般,为提升训练速度并使后期调用模型能够有
较快的速度,选用像素大小分别为299 × 299、300 × 300、400 × 400、500 × 500、600 × 600、700 × 700的图像数据集测试图像像素大小对识别准确率的影响,验证结果如图1所示,对比分析选择大小为400 × 400像素的图像数据集作为开发数据集。
3. 图像识别
如图2所示[6],图像识别我们采用了常规卷积模型和Inception v3模型。在常规卷积模型构建上选用辅助训练集进行训练,包含三类不同品种苹果、黄桃、樱桃、荔枝、山竹、橘子、梨、火龙果共10类果蔬图像共16854张图像,其中80%作为训练集,20%作为测试集。由于数据量较多,训练所需时间较长,考虑到计算机性能、时间因素等多方面原因,论文采用的网络较为简单,使用综合性能较好的
薛桐 等
AdamOptimizer 作为优化器,分别采用神经元为32 × 64、64 × 16的卷积层,使用3 × 3卷积核,步长为2的max_pool ,128个神经元的全连接层和softmax 回归层进行实现。
Figure 1. Effect sits on verification accuracy of images of different pixel sizes 图1. 不同像素大小图像对验证准确率影响图
Figure 2. General convolution model feature implementation flowchart 图2. 常规卷积模型功能实现流程图
根据如图3训练结果所示,64-16结构能比32-64结构取得更好的效果,在测试时二者训练集准确率分别为0.9654和0.9318,测试集准确率分别为0.9231和0.8990,选择64-16结构进行后续优化,分别使用值为0.9、0.85、0.8的dropout 来降低过拟合。如表1所示当dropout 值为0.9时效果较好,既提升了测试集准确率,又缩小了测试集与训练集准确率的差距,降低了过拟合。
电工工具袋
在Inception v3模型构建上选用主要数据集进行训练,包含香蕉、橘子、黄桃、柠檬、梨子五种较为相近的水果共2500张图像,将80%的数据集作为训练集,10%的数据集作为验证集,10%的数据作为测试集。
模型构建所使用的优化器分别选用较为常见的Gradient Descent Optimizer 和Adam Optimizer 。其中
Gradient Descent Optimizer 分别采用值为0.005、0.01的学习率训练,Adam Optimizer 分别采用值为0.0001、0.0003、0.0005的学习率进行训练,训练集训练情况如图3所示。当训练3000步时Adam-0.0005结构和Adam-0.0003结构准确率较为突出且较快达到收敛,而两个GradientDescent 结构均训练效果较差。
薛桐 等
Table 1. Convolution model effect comparison 表1. 卷积模型效果对比
结构 32-64 64-16 64-16-d0.9 64-16-d0.85 64-16-d0.8 训练集准确率 0.9318 0.9651 0.9601 0.9388 0.9414 测试集准确率
0.8990
0.9231
0.9349
0.9133
0.8720
Figure 3. General convolution model training accuracy diagram 图3. 常规卷积模型训练准确率展示图
如图4所示,在训练3000步时验证集中各结构均基本收敛。Adam 结构网络在该案例上明显优于Gradient Descent 结构网络,均达到了较高的准确率,由于学习率的不同达到收敛时间有所差异。如图5所示。在测试集上测试最终结果时,Adam-0.0001结构、Adam-0.0003结构、Adam-0.0005结构
均达到了98.8%准确率,GradientDescent-0.005结构和GradientDescent-0.01结构均达到98.4%准确率。最终选择Adam-0.0005结构生成的模型完成系统应用功能开发。
4. 目标检测
分析测试中使用了Faster RCNN 模型[7]和SSD 模型[8],通过对二者进行分析,选用综合时间、mAP 性能较好的faster_rcnn_inception_v2_coco 模型、ssd_mobilenet_v1_coco 模型和ssd_inception_v2_coco 模型作为预训练模型对主要数据集进行测试,在loss 值趋势不再降低时停止训练。
如图6、图7所示,ssd_mobilenet_v1结构的loss 相比ssd_inception_v2结构的loss 值较低,训练效果相比较好,因此选用ssd_mobilenet_v1结构进行后续对比。
如图8所示,对ssd_mobilenet_v1结构与faster_rcnn_inception_v2结构进行目标检测结果对比,faster_rcnn_inception_v2结构的loss 值明显低于ssd_mobilenet_v1结构的loss 值。如图9所示,准确率测试结果中faster_rcnn_inception_v2结构也取得了明显的优势。这两个模型的检测准确率有一定差异,但基于Faster RCNN 和SSD 的基本特性,该SSD
模型虽然准确率较低,但在模型调用速度上有一定优势,
薛桐 等
在实时性和mAP 综合性能上可能超过该Faster RCNN 模型。
Figure 4. Inception v3 training accuracy trends 图4. Inception v3训练准确率趋势图
Figure 5. Inception v3 verification accuracy trend chart 图5. Inception v3验证准确率趋势图