孔德锋
摘要:针对当前番茄病害智能识别精度不高、耗时长的问题,提出一种基于Inception-v3和迁移学习相结合的图像分类算法。从试验田中收集8种番茄病害叶片和健康叶片,运用1 000万像素高清扫描仪统一扫描成图像,将图像归类到9种文件夹中,手动标记叶片属性。最后,基于Inception-v3模型结合迁移学习算法对健康和病害叶片进行分类试验,并与传统图像分类算法(KNN、SVM、BP神经网络)和非迁移学习算法进行对比。结果表明,基于Inception-v3模型结合迁移学习算法,在番茄病害图像分类中能够快速有效识别分类生长健康番茄和患病番茄,并且能高效识别番茄病害的种类。其中健康置信度达0.976 0,病害种类平均置信度达0.929 7,可为番茄病害检测和防治提供支持。
关键词:图像分类;迁移学习;番茄病害检测;Inception-v3
中图分类号:TP391.4 文献标识码:A
文章编号:0439-8114(2020)07-0199-05
DOI:10.14088/j.cnki.issn0439-8114.2020.07.041
Abstract: An image classification algorithm based on Inception-v3 and migration learning is proposed to solve the problem that the current intelligent identification of tomato diseases is not accurate and time-consuming. Eight tomato disease leaves and healthy leaves were collected from the experimental field,the images were scanned into images using a 10 megapixel HD scanner,the images were classified into 9 folders,and the blade attributes were manually labeled. Finally,based on the Inception-v3 model combining migration learning algorithms to classify test healthy and diseased leaves,and compare them with traditional image classification algorithms (KNN、 SVM、 BP neural network) and non-migration learning algorithms. The experimental results show that,based on Inception-v3 model combined with migration learning algorithm can quickly and effectively identify grow healthy tomato and diseased tomato in tomato disease image classification,and can identify tomato disease types efficiently. Among them,the classification accuracy of health and disease is 0.976 0,and the average accuracy of disease types is 0.929 7,which provides a certain degree of support for tomato disease detection and prevention.
Key words: image classification; migration learning; tomato diseases detection; Inception-v3
防治番茄病害的關键是认清病害的种类,根据其发生、流行规律,采取相应的管理措施,消除利于病害发生发展的环境条件,再根据不同的发病情况,对症采取相应的措施,及时控制病害的发生。番茄病害的类型可分为侵染性病害和非侵染性病害2种。其中,侵染性病害包括真菌性病害、细菌性病害、病毒病等;非侵染性病害也称为生理障碍,是由温、光、水、肥、气、药、人为等因素引起的[1]。
斯坦福大学研究团队运用深度神经卷积网络CNN[2,3]对129 450张图片进行训练,训练完成后进行验证。结果显示深度神经网络在验证集上的表现都达到了专家的水平,表明了该人工神经网络可以媲美皮肤科医生。依此类比,也可以用像素和疾病标签作为输入,直接从图像中端到端训练出来。训练好的网络可以作为番茄病害检测平台,对叶片进行跟踪检测。但与该团队研究方法不同的是,本方法依托谷歌Tensorflow平台,将Inception-v3算法与迁移学习算法相结合,对番茄病害图像数据集进行训练。该方法使用大数据集进行模型训练,然后使用训练好的参数对小样本进行参数微调,这样使得最终训练出来的模型具有小数据集和高精度的双重优势。
1 材料与方法
1.1 图像采集
为了能清晰完整的获取叶片图像,采用1 000万像素高清扫描仪,将采摘完好的叶片放在扫描仪平台,同时使用LED灯补白光,图像采集装置如图1。通过对试验田采摘回来的番茄叶片在同一环境下进行扫描,总计获得3 000张图像。对扫描不清晰、不完整的图像删除,最终得到2 400张完整清晰图像。每张图像包含一片农作物的叶子,叶子占据图片主要位置。
3.1 遷移学习与非迁移学习对比
非迁移学习就是从头开始训练模型,由于数据量太小,出现了训练样本不足和严重的过拟合现象,导致准确率较低同时耗费大量的训练时间。如表3中所示,在相同9标签分类识别中,迁移学习比非迁移学习识别率高出28.46个百分点,但是耗时却只有非迁移学习的1/5。
3.2 基于Inception-v3算法结合迁移学习算法与传统图像分类算法比较
3种Sklearn算法KNN、SVM、BP神经网络[12]都没有给出非常好的性能,其中在2标签分类的测试结果中,平均识别率为65.28%;在9标签分类的测试结果中,平均识别率为44.43%(表4),表明使用Sklearn方法进行图像识别的效果不够好。它们在复杂图像的分类中并不具备良好的性能,特别是SVM相当于随机猜想。如果要运用这3种分类器对图像进行识别分类,首先要对图像进行复杂的二值化预处理,但是基于Inception-v3算法与迁移学习算法相结合却可以省去复杂的预处理过程。
4 小结
通过将Incepition-v3算法与迁移学习算法相结合,在真实的番茄叶片图像数据集中进行训练,最后测试,同时比对了非迁移学习算法和传统KNN、SVM、BP神经网络算法在相同数据样本中的表现。结果表明,KNN、SVM和BP神经网络不能够很好地完成诸如图像分类这样的特定任务,而基于Tensorflow平台的Incepition-v3模型结合迁移学习算法,在差异细微的图像处理问题上,有更高的准确率和更短的耗时。即使在无GPU作为提速手段的情况下,也可以在短时间内完成训练,同时在小数据集中,可以很好地防止过度拟合。后期可以运用本研究提出的图像识别算法,集成为番茄病害检测系统,帮助更多的番茄种植户方便、快速、及时、准确地检测出病害,以便早发现、早预防、早治疗。
参考文献:
[1] 王俊文. 番茄病害及其综合防治技术[J]. 江西农业学报,2006,18(4):139.
[2] ESTEVA A,KUPREL B,NOVOA R A,et al. Dermatologist-level classification of skin cancer with deep neural networks[J]. Nature,2017,542(7639):115-118.
[3] 卢宏涛,张秦川. 深度卷积神经网络在计算机视觉中的应用研究综述[J]. 数据采集与处理,2016,31(1):1-17.
[4] 黄 琳,王 龙. 系统鲁棒性的若干问题—背景,现状与挑战[J]. 控制理论与应用,1991(1):11-29.
[5] 李俭川,秦国军,温熙森,等. 神经网络学习算法的过拟合问题及解决方法[J]. 振动、测试与诊断,2002,22(4):260-264.
[6] 鲁 恒,付 萧,贺一楠,等. 基于迁移学习的无人机影像耕地信息提取方法[J]. 农业机械学报,2015,46(12):274-279.
[7] 庄福振,罗 平,何 清,等. 迁移学习研究进展[J]. 软件学报,2015,26(1):26-39.
[8] 李岳云,许悦雷,马时平,等. 深度卷积神经网络的显著性检测[J]. 中国图象图形学报,2016,21(1):53-59.
[9] 陶 军. 车牌识别技术研究与实现[D]. 南京:南京理工大学,2004.
[10] 武 强,童学锋,季 隽. 基于人工神经网络的数字字符识别[J]. 计算机工程,2003,29(14):112-113.
[11] KIM D H,MACKINNON T. Artificial intelligence in fracture detection:Transfer learning from deep convolutional neural networks[J]. Clinical radiology,2017,73(5):439-445.
[12] BRENT K,JAMES B,CHRIS E. Hyperopt-sklearn:Automatic hyperparameter configuration for scikit-learn[J]. Proc SciPy,2014:34-40.