基于卷积神经网络的食品图像识别

DOI:10.16660/jki.1674-098X.2011-5640-5137
基于卷积神经网络的食品图像识别①
韩筠  罗泽钦
(广东海洋大学数学与计算机学院  广东湛江  524088)
摘 要:随着消费观念的升级,人们对饮食健康越来越重视,因此,食品图像识别成为众多领域研究的热点。针对传统食品图像识别方法提取特征能力差、准确率差等问题,采用Google团队发布的卷积神经网络模型——Inception_ResNet_V2模型对食品图像进行识别和分类,该模型曾经在图像分类测试中实现了当下最好的成绩。在Food-101数据集中随机选取10个分类共计10000张图片建立数据集Food-10,通过多层卷积神经网络提取图像特征,自动进行分类,并将其与来自Kaggle库中的图像集做预测对比实验。结果表明,Inception_ResNet_V2模型能够较好地去除背景噪音,达到较好的识别效果,迭代次数为5000次时,Loss值降至0.0512,准确率可达到82.7%,为该模型用于食品图像识别提供有价值的参考。
关键词:食品图像  卷积神经网络  Inception_ResNet_V2-CNN模型  图像识别
中图分类号:TP183                            文献标识码:A                    文章编号:1674-098X(2021)01(c)-01
段静莉
04-04
Food Image Recognition based on Convolution Neural Network
HAN Yun  LUO Zeqin
(Guangdong Ocean University, Zhanjiang, Guangdong Province, 524088 China)
Abstract: With the upgrading of consumption concepts, people pay more and more attention to healthy diet. Therefore, food image recognition has become a research focus in many fields. In view of the poor feature extraction ability and poor accuracy of traditional food image recognition methods, the Inception_ResNet_V2 model, a convolutional neural network model released by the Google team, is used to identify and classify food images. This model has achieved the current best results in the image classification test. Randomly select 10 categories in the Food-101 data set with a total of 10,000 images to build a data set Food-10, extract image features through a multi-layer convolutional neural network, automatically classify, and make predictions with the image set from the Kaggle library Comparative Experiment. The results show that this method can remove background noise well and achieve better recognition results. When the number of iterations is 5000, the loss value is reduced to 0.0512, and the accuracy rate can reach 82.7%. It provides a valuable r
eference for this model to be used in food image recognition.
Key Words: Food image; Convolutional neural network; Inception_ResNet_V2-CNN model; Image recognition
①基金项目:广东省普通高校青年创新人才项目(项目编号:Q18285)。作者简介:韩筠(1983—),女,工学博士,讲师,研究方向为机器学习2013苏迪曼杯
食品是人类生命生活的必需品,随着物质生活水平的不断提高,人们对健康和饮食方面也越来越重视,因此,食品图像识别成为计算机视觉、人工智能等许多领域的热点研究课题。目前,食品图像识别在食品自动化检测、食品安全与管理、饮食营养、智慧餐厅自助结账以及智能家居等方面都有着广泛的应用。食品图像识别属于细粒度分类,食品图像子类别间相似
度高且类间差异性大,与普通图像识别相比,其识别难度更大,因此食品识别一直是计算机识别领域的难题之一。随着深度神经网络(深度学习)学习技术的提出,图像识别领域也产生了巨大突破[1-4]。深度学习更容易提取特征,提取到的图更加精确,模型识别的准确率也更高,因此,深度学习模型被成功应用到包括食品图像识别在内的众多领域[5-10]。传统的图像识别
是人们告诉计算机如何去做,而深度神经网络不需要告诉计算机如何处理问题,而是通过从输入的数
据中自动地反复学习,计算出理想的解决方案。在2012年的ImageNet大规模视觉挑战赛(ILSVRC)中,Hinton教授小组的深度学习卷积神经网络AlexNet以高出第二名10%的性能优势取得了冠军,值得一提的是,其他小组均采用了传统的图像识别方法,AlexNet网络也成为了深度学习的经典网络结构之一。之后,更多的更深的神经网络被提出。近几年,深度学习在计算机视觉、搜索引擎和语音识别等方面都取得了优异的表现。Tahir 等[9]利用卷积神经网络(CNN )模型对5个不同种类的真菌进行分类,准确率达94.8%,效果较好;Philipsen 等
[10]
利用CNN模型对不同种类家禽的不同部位内脏
进行识别,肌肉分类准确率高达91.58%;谷歌公司基于深度学习的图像搜索引擎比之前的搜索引擎准确率得到大幅提升。在2015年的ILSVRC比赛中,微软亚洲研究院的何恺明等人设计的深度残差网络(ResNet )
达到了152层之深[11]。残差网络的提出有效缓解了深度学习中随着网络深度的加深而出现的梯度消失和梯度爆炸问题。受此启发,谷歌公司在2016年提出CNN分类模型Inception_ResNet_V2,这是一个在ILSVRC图像分类基准上取得顶尖准确率的卷积神经网络[10]。它集成了早期的Inception_V3-CNN模型和微软的ResNet 的优势。相比于Inception_V3-CNN模型,Inception_ResNet_V2-CNN模型的网
络更深,模型训练速度更快,结果更准确。鉴于此,采用Inception_ResNet_V2-CNN模型对食品图像进行实验,探讨其识别食品图像的能力。
1  卷积神经网络(CNN )
卷积神经网络(CNN )[12]主要包括卷积层、池化层和全连接层。卷积层的作用是提取图片每个小部分里具有的特征。卷积层中的卷积核会按照一定的步长遍历图像中的像素,当所有的像素点都至少被覆盖一次后,
就可以产生一个卷积层的输出。机器一开始并不
图1  ResNet的残差学习模块Batch_size\Epoch
8\516\1024\1532\2040\25Val_loss    1.0950.89670.81010.72240.7014Val_acc_top170.20%77.20%79.20%82.70%82.00%Val_acc_top386.95%93.30%93.85%94.65%95.05%Val_acc_top594.35%96.85%97.5597.60%97.65%Loss 0.61620.1530.08370.05120.1113Acc_top179.79%95.00%97.25%98.11%96.44%Acc_top394.83%99.59%99.85%99.88%99.80%Acc_top5
98.07%
99.96%
99.99%
100.00%
方舟子 李开复
99.95%
表1  不同Batch_size对模型性能的影响
知道要识别的部分具有哪些特征,是通过与不同的卷积核相作用得到的输出值,相互比较来判断哪一个卷积核最能表现图片的特征,比如我们要识别图像中的某种特征(如曲线),也就是说,这个卷积核要对这种曲线有很高的输出值,对其他形状(如三角形)则输出较低。卷积层输出值越高,就说明匹配程度越高,越能表现该图片的特征。池化层的任务有两个,一是减少训练参数的数量,降低卷积
层输出的特征向量的维度,二是减小过拟合现象,只保留最有用的图片信息,减少噪声的传递。最常见的两种池化层的形式包括最大池化和均值池化。最大池化是选取指定区域内最大的一个数来代表整片区域,而均值池化是选取指定区域内数值的平均值来代表整片区域。由上面的论述可知,卷积层和池化层的工作就是提取特征,并减少原始图像带来的参数。然而,为了生成最终的输出,模型还需要应用全连接层来生成一个符合需求的分类器。全连接层的工作原理和之前的神经网络学习很类似,需要把池化层输出的张量重新切割成一些向量,乘上权重矩阵,加上偏置值,然后对其使用ReLU激活函数,用梯度下降法优化参数。
2  Inception_ResNet_V2-CNN模型
2.1 Inception网络
Inception网络又称为GoogLeNet,是2014年提出的一种全新的深度学习结构,在当年的ILSVRC比赛中它和VGGNet均取得了优异的成绩。在这之前,卷积神经网络的结构都是按照先卷积层后池化层这样的顺序链接,因此要提高模型性能,增加网络深度和宽度是一个有效途径,但会出现参数量过大,当数据量较少的时候,训练出来的网络容易过拟合,且网络很深时会有梯度消失的现象等副作用。这些副作用制约着又深又宽的卷积神经网络的发展。Inception网络使用了卷积核的并行合并(也称为Bottleneck Layer),有效缓解了这些问题,因此,2014年之后,CNN模型在图像分类领域有了极大
的应用。Inception网络具有局部拓扑结构,可以让多个卷积层和池化层运算并行执行,把每一层的输出构成一个很深的特征图,并通过使用许多1×1的卷积核,减少计算量。在这之前的网络为了提升学习能力都采用了随机稀疏链接,以搭建出更好的框架,但稀疏数据结构会降低计算速度,而Inception的设计能兼顾网络结构的稀疏性和网络的高效运算性能。Inception的结构比较复杂,并经历了几次版本的迭代,一直到目前最新的Inception-v4,每个版本在性能上都有一定的提升。
2.2 深度残差网络(ResNet)
理论上,随着网络深度的加深,模型的性能会不断提高,即网络深度越深越好。基于此,CNN分类网络从Alexnet的7层发展到了VGG的16层乃至19层,后来的Inception_V1模型达到了22层。可是随着网络的加深,人们发现模型会出现训练集准确率下降、难以收敛、模型过拟合等问题,这说明当网络变得很深以后,训练错误会越来越多,深度网络变得更加难以训练了。针对这个问题何恺明等人在2015年提出了一种全新的网络结构,即深度残差网络(Deep residual network, ResNet),其核心思想是直接跳过一个或多个层,引入一个所谓的恒等快捷连接(Identity shortcut connection),如图1所示,这使得下一层不用学习上一层的整个部分,而只需要学习其输出的一部分,即残差。此外,ResNet在激活函数之前使用了Batch Normalization (BN)[45]。这种设计在训练更深网络的同时,又能保证良好的性能。ResNet网络的收敛速度快,且分类效果更好,它的出现使得神经网络的层数可以超越之前的约束,达到几十层、上百层甚至上千层,因为随着网络深度的增加,模型的性能可以得到有
效提升,这为高级语义的特征提取和分类提供了可行性。ResNet一经问世便在ILSVRC 比赛中获得三项冠军,这个模型除了取得辉煌的成绩之外,更重要的意义是启发了对神经网络的更多的思考。可以说ResNet的提出是CNN图像史上的一件里程碑事件。Inception-ResNet网络是在Inception模块中引入ResNet的残差结构,集成了Inception的检测准和ResNet的训练速度快的优势。
3  结果与分析
3.1 实验环境与数据
采用Keras深度学习框架,实验环境支持多GPU并行运算,操作系统采用Linux,开发语言是Python3.6。实验的数据来自Kaggle平台分享的数据集Food101,原始的图像数据集有101种食品类型,每个类别有1000张,共计101000张图像数据,从中随机抽取10种食品图片进行实验,并用Python中PIL库的Image工具统一成256×256的分辨率。将这10种食品类别共计10000张图片定义为数据集Food-10,采用img_to_array函数对图像进行预处理,并将其划分成2个部分,80%作为训练集,20%作为测试集。
3.2 训练结果与分析
采用预先在Keras中训练好的Inception_ResNet_
V2模型。修改该模型的最后一层全连接层的参数,即将模型最终的密集层舍弃,采用平均池化,将最终的类别改成10类,激活函数选用Softmax函数。设置ModelCheckpoint,按照验证集的准确率进行保存。设置Loss、Top1、Top3和Top5并实时监控训练过程。设置每步的Batch-size为8,学习的轮数设置为10,输入数据,开始训练。
经过10轮的训练,得到的模型的准确率为77.05%,Loss值为0.7662,效果不够理想。于是重新导入这个模型,再对它进行10轮训练。这一次得到的模型的准确率为80.45%,Loss值为0.1572。与第一次相比,准确率有提升,Loss值也明显下降了。为了探究更好的准确率,在这个基础上,对Batch_size进行了重新设置。在一定的范围内增大Batch_size,可以使内存的使用率提高,跑一轮的迭代次数减少,模型确定的下降方向变准,减小训练震荡从而达到提高准确率的效果。将Batch-size的数值分别设置为8、16、24、32、40,因为Batch变大要达到相同准确率必须要增大Epoch。所以学习轮数分别设置为5、10、15、20、25。再分别进行实验,表1统计了不同Batch_size下模型的准确率。表中的Val_loss、Val_acc_top1、Val_acc_top3和Val_acc_ top5分别是指测试集上的损失值、排名第一的类别与实际结果相符的准确率、排名前三的类别包含实际结果的准确率和排名前五的类别包含实际结果的准确率;而Loss、Acc_top1、Acc_top3和Acc_top5分别是指训练集上的相应的结果。可以看出,训练集和测试集上的损失值和准确率并不一致,有时候模型在训练集上取得理想的精度,但是在测试集上的表现并不理想。这里模型的准确率主要以Val_acc_top1值为准,兼顾其他参数的取
值,从表1可以看出,当Batch_size为32,Epoch为20,即迭代次数为5000次时,Loss值降至0.0512,准确率可达到82.7%。同时可以看到,在训练集中,当Batch_size为40时,准确率相较于Batch_size 为32时并没有得到提升,反而还下降了,Loss值也变大了,所以不是Batch-size越大越好。此外,可以推测Batch_size的最优解在24~40之间,此时准确率达到最大。
4  结语
采用目前顶尖的卷积神经网络模型对食品图像进行识别分类,在数据集Food-101中的随机选出10个分类共10000张图像集进行实验,并考察了不同的batch_size对模型准确率的影响。结果表明,当Batch_size为32,epoch为20,即迭代次数为5000次时,Loss值降至0.0512,准确率可达到82.7%;当Batch_size为40时,训练集的准确率相较于Batch_size为32时并没有得到提升,反而还下降了,Loss值也变大了,因此,可以推测Batch_size的最优解在24到40之间,模型准确率将会进一步提高,由于时间等条件的限制这里没有进一步进行实验。
参考文献
[1] 张琦,张荣梅,陈彬.基于深度学习的图像识别技术
研究综述[J].河北省科学院学报,2019,36(3):28-36.
[2] 罗曦.浅谈深度学习在图像识别领域的应用现状与
优势[J].科技资讯,2020(3):21-22.
[3] 江伟忠.基于深度学习的行人检索与模型压缩[D].
北京:中国科学院大学,2020.
[4] 屈薇.基于深度学习的图像识别算法研究[J].数字技
术与应用,2019,37(9):36-37.
[5] 田小路,张莉敏.基于卷积神经网络的宠物狗种类识
别[J].信息技术与信息化,2019(8):21-22.
[6] 廖恩红,李会芳,王华,等.基于卷积神经网络的食
品图像识别[J].华南师范大学学报:自然科学版, 2019,51(4):113-119.
[7] 厉溢成.基于web的食品图像识别系统的设计与实
现[D].武汉:武汉轻工大学,2019.
[8] 林云森, 范文强,姜佳良.基于深度学习的水果识别
技术研究[J]. 光电技术应用,2019,34(6):45-58 [9] Tahir MW, Zaidi NA, Rao AA, et al. A fungus
spores dataset and a convolutional neural network based approach for fungus detection [J].IEEE Trans Nanobiosci,2018,17(3):281–290.
[10] P hilipsen MP, Dueholm JV, Jorgensen A, et al.
大型圆形水池模板施工视频
Organ segmentation in poultry viscera using RGB-D [J]. Sensors, 2018, 18(1): 1-15.
[11] He KM, Zhang X, Ren S, et al. Deep residual
learning for image recognition[C]. Proceedings of the IEEE conference on computer vision and pattern recognition,2016:770-778.
学生知识现状分析[12] Y u D, Wang H, Chen P, et al. Mixed pooling for
convolutional neural networks [M]. Rough Sets and Knowledge Technology. Springer International P危险化学品安全管理条例
ublishing,2014:364-375.

本文发布于:2024-09-21 07:59:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/475025.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   学习   深度   食品   卷积   图像   准确率   网络
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议