APP下载

基于深度学习和迁移学习的水果图像分类

2019-09-19

测控技术 2019年6期
关键词:分类器准确率水果

(北京工商大学 计算机与信息工程学院 食品安全大数据技术北京市重点实验室,北京 100048)

近年来,随着人工智能、计算机视觉技术的迅猛发展,图像识别作为深度学习技术中重要应用之一,受到越来越多的关注。目前,人们对水果图像的识别研究主要集中在水果品质分级、成熟度识别等方面,而对智慧农业以及采摘机器人的多类水果分类识别的研究较少[1],且大多采用传统机器学习的方法进行分类识别。传统的机器学习方法如HOG(Histogram of Oriented Gradient,方向梯度直方图)和SIFT(Scale Invariant Feature Transform,尺度不变特征变换)等,对水果图像进行特征提取,并将提取到的特征输入到分类器实现对水果的分类识别。而该方法提取到的特征,本质上是一种人为设定的特征,虽然对特定的数据规模不大的识别任务更有效,但整体泛化能力较差,具有一定的局限性[2]。深度学习方法与上述传统方法相比,其优势在于图像特征无需人为设定,而是通过深层次的网络结构提取到更精确的特征。因此,笔者提出利用深度学习框架下的 Inception-V3模型进行迁移学习,从而实现对水果的快速准确识别分类。

1 水果分类算法架构

所设计的水果分类算法架构如图1所示。在TensorFlow深度学习框架下,利用Google公司开发的Inception-V3模型进行迁移学习。图1中以ImageNet大量数据集训练的CNN模型作为预训练模型,将保留Inception-V3模型中分类器前的整体结构,并在模型中定义新的Softmax分类器,再利用水果数据集做进一步迁移学习训练,得到新的网络模型,以用于水果图像的分类。

图1 水果分类算法架构图

1.1 Inception-V3模型

近年来,美国Google公司开发了许多图像分类模型,如QuocNet、AlexNet、Inception(GoogleNet)、BN-Inception-V2等,Inception-V3用来训练2012年ImageNet的Large Scale Visual Recognition Challenge数据集[3]。这是计算机视觉领域的一类标准任务,模型要把整个图像集分为“斑马”、“达尔玛西亚狗”和“洗碗机”等1000个类别。为了对模型性能进行比较,检查模型预测中前5个分类结果不包含正确类别的错误率,即“top-5 错误率”。在2012年的验证数据集上,AlexNet取得了15.3%的 top-5错误率;BN-Inception-V2的错误率是6.66%;Inception-V3的错误率是3.46%[4]。由此可见,Inception-V3模型对图像分类有更好的效果。

Inception-V3模型由11个Inception模块组成,典型的Inception结构如图2所示,该结构将不同的卷积层通过并联的方式结合在一起,同时使用所有不同尺寸的过滤器,然后再将得到的矩阵拼接起来。Inception-V3模型一共96个卷积层,模型预训练时计算量较大,故很难在普通计算机上实现[5]。因此,采用对预训练模型迁移学习的方式进行水果分类识别模型的训练。

图2 Inception模块结构图

1.2 深度学习与迁移学习

深度学习概念源于人工神经网络的研究,是机器学习中一种基于对数据进行表征学习的方法。含多隐层的多层感知器就是一种深度学习结构。深度学习的最大优势在于用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。

在深度学习领域,迁移学习是一种将预训练的模型重新训练后应用在其他任务中的学习方式。通常这些预训练的模型在开发时已经消耗了巨大的时间资源和计算资源[6]。利用Inception-V3模型进行迁移学习,将该模型对图像分类的优势发挥在水果图像识别上,使水果图像的分类识别更加快速准确。

2 Inception-V3模型迁移学习训练

迁移学习训练过程主要包含以下几个步骤:数据集建立、模型准备、分类器设计及模型迁移训练。

2.1 数据集建立

数据集包括六类水果(苹果、香蕉、猕猴桃、芒果、柑橘、梨),每一类各1500张图片,其中1000张作为训练样本,500张作为测试样本。数据集主要来源于百度、Google等网站图片库,其余部分由相机实景拍摄。根据需求对图片进行筛选过滤,最终得到数据集。在项目目录下建立文件夹fruit_photos,包含6个文件夹apple、banana、kiwifruit、mango、orange、pear。

2.2 模型准备

首先下载由Google公司提供的训练好的Inception-V3模型作为本次迁移学习的预训练模型,模型文件名为inception_V3.ckpt。

训练前还要设置训练相关参数,如模型特征提取后输出节点个数为2048,学习率为0.01,并设置梯度下降的批尺寸(batch)为100,分类个数为6。

2.3 分类器设计

下面将对模型的分类器进行设计,模型采用Softmax分类器,它是在逻辑回归(Logistic Regression)分类器的基础上发展而来的。Softmax作为逻辑回归在多分类问题上的推广,能够一次完成对多个类别的分类任务,Softmax是一种有监督的单层神经网络的分类器,目前它一般与深度学习的方法相结合,从而用于分类识别问题。

在Inception-V3模型中,将299×299的图片作为输入,经过卷积层的处理后输出图片特征向量x(i),大小为1×2048。本文将图片特征向量x(i)与图片标签值作为Softmax分类器的输入,可表示为{x(1),x(2),…,x(m)},有y(i)∈{1,2,…,k},其中m为样本数,k为水果类别总数值为6,则针对给定的输入样本x(i)被归为每一类的概率值P可表示为

(1)

Softmax的代价函数是对函数中对类标记的k个概率值进行累加,可以表示为

(2)

式中,1{·}为示性函数,当大括号中值为真时,函数值为1。

在训练中,利用梯度下降法不断调整训练模型参数θ,使其能够最小化代价函数J(θ),保证收敛到全局最优解。

2.4 模型迁移训练

本次训练是在NVIDIA的Jetson TX2上进行,TX2开发板如图3所示,它是一台基于NVIDIA PascalTM架构的AI单模块超级计算机,运行Ubuntu 16.04系统,运行内存4 GB。模型训练中,定义训练迭代次数为5000次,学习率为0.01。每隔100次进行一次权值调整,并输出测试准确率。

图3 NVIDIA Jetson TX2开发板

为了更加方便地查看模型训练过程,训练过程中每隔200次设立一个检查点,对测试集中数据进行测试,输出测试准确率,最后保存模型和测试摘要,训练最终输出结果如图4所示,经过5000次迭代次数,训练结果准确率为98.5%。

3 训练结果分析

3.1误差值与准确率分析

模型训练过程中的损失值(loss)和准确率(accuracy)是判断模型性能的重要指标,损失值为模型预测值与真实值的差距,即代价函数中的J(θ)[7],准确率为训练过程中每次迭代后测试的准确率。

图4 训练最终输出结果

利用TensorFlow框架的可视化模块Tensorboard,可以在Web界面上来查看通过训练数据生成的曲线,下面将对比在不同迭代次数下loss的值,如图5所示,当迭代次数为1000次时,loss为0.18;当迭代次数为3000时,loss为0.13;当迭代次数大于3000时,loss为0.11。

图5 不同迭代次数的loss

训练过程中准确率的变化曲线如图6所示,图中已对曲线进行平滑滤波处理,在水果数据集迁移训练过程中,训练准确率在迭代次数为1000次左右时迅速提升至95%,之后经过4000次的迭代,训练过程中accuracy缓慢提升至98.5%。

3.2 性能对比

根据实验,在相同水果图像数据样本下,将Inception-V3模型迁移学习的识别效果与采用传统机器学习的方法[8]进行对比,识别准确率如表1所示。

表1 不同方法水果识别准确率

通过表1数据分析可以看出,采用基于CNN的Inception-v3模型迁移学习的方法,相对于传统方法识别准确率上有很大提升。由于传统方法在提取特征过程中需要有丰富的人为经验,这就造成了传统方法特征提取存在着很大的不确定性,而且传统方法还存在着复杂的调参过程,很大程度上增加了训练时间。利用Inception-V3模型迁移学习可以在较好的分类模型内进行参数微调,快速提升分类识别准确率。

4 水果实时分类测试

本节将对训练好的网络模型进行实时分类测试。在测试中,将摄像头实时拍摄到的水果图片输入到训练好的模型中进行识别,测试输出显示水果图片并输出预测概率和预测分类结果,图7为水果图片,图8中预测概率值分别对应苹果、香蕉、芒果、猕猴桃、柑橘、梨,最终预测水果类型为芒果(mango)。

图7 测试图像显示

图8 测试程序结果图

5 结束语

本文提出基于CNN的Inception-V3模型迁移学习的图像分类方法,在迁移预训练好的CNN模型到小目标集时,保留原有卷积层结构并搭建新的Softmax分类器对数据进行分类。利用迁移学习的Inception-V3模型较传统水果分类算法水果识别准确率明显提升。所设计的水果实时分类算法,可用于苹果、香蕉、猕猴桃、芒果、柑橘、梨六类水果的实时识别,在智慧农业等方面具有很好应用前景。本文中训练集和测试集均采用相似光强的水果图片,但在实际应用中,采集的图像往往受光照、旋转、遮挡等因素的影响,后期可针对这些影响因素进行水果分类识别研究。

猜你喜欢

分类器准确率水果
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
四月里该吃什么水果
水果篇之Cherry
水果畅想曲
基于层次化分类器的遥感图像飞机目标检测