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

来源 :科技创新导报 | 被引量 : 0次 | 上传用户:hmgujie
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  DOI:10.16660/j.cnki.1674-098x.2011-5640-5137
  摘 要:随着消费观念的升级,人们对饮食健康越来越重视,因此,食品图像识别成为众多领域研究的热点。针对传统食品图像识别方法提取特征能力差、准确率差等问题,采用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)-0104-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 reference for this model to be used in food image recognition.
  Key Words: Food image; Convolutional neural network; Inception_ResNet_V2-CNN model; Image recognition
  食品是人类生命生活的必需品,随着物质生活水平的不断提高,人们对健康和饮食方面也越来越重视,因此,食品图像识别成为计算机视觉、人工智能等许多领域的热点研究课题。目前,食品图像识别在食品自动化检测、食品安全与管理、饮食营养、智慧餐厅自助结账以及智能家居等方面都有着广泛的应用。食品图像识别属于细粒度分类,食品图像子类别间相似度高且类间差异性大,与普通图像识别相比,其识别难度更大,因此食品识别一直是计算机识别领域的难题之一。随着深度神经网络(深度学习)学习技术的提出,图像识别领域也产生了巨大突破[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]主要包括卷积层、池化层和全连接层。卷积层的作用是提取图片每个小部分里具有的特征。卷积层中的卷积核会按照一定的步长遍历图像中的像素,当所有的像素点都至少被覆盖一次后,就可以产生一个卷积层的输出。机器一开始并不知道要识别的部分具有哪些特征,是通过与不同的卷积核相作用得到的输出值,相互比较来判断哪一个卷积核最能表现图片的特征,比如我們要识别图像中的某种特征(如曲线),也就是说,这个卷积核要对这种曲线有很高的输出值,对其他形状(如三角形)则输出较低。卷积层输出值越高,就说明匹配程度越高,越能表现该图片的特征。池化层的任务有两个,一是减少训练参数的数量,降低卷积层输出的特征向量的维度,二是减小过拟合现象,只保留最有用的图片信息,减少噪声的传递。最常见的两种池化层的形式包括最大池化和均值池化。最大池化是选取指定区域内最大的一个数来代表整片区域,而均值池化是选取指定区域内数值的平均值来代表整片区域。由上面的论述可知,卷积层和池化层的工作就是提取特征,并减少原始图像带来的参数。然而,为了生成最终的输出,模型还需要应用全连接层来生成一个符合需求的分类器。全连接层的工作原理和之前的神经网络学习很类似,需要把池化层输出的张量重新切割成一些向量,乘上权重矩阵,加上偏置值,然后对其使用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] Philipsen 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] Yu D, Wang H, Chen P, et al. Mixed pooling for convolutional neural networks [M]. Rough Sets and Knowledge Technology. Springer International Publishing,2014:364-375.
其他文献
DOI:10.16660/j.cnki.1674-098X.2011-5640-8970  摘 要:隨着医疗大数据时代的到来,从大量原始数据中挖掘出相关有用的信息,对治病防病及医疗决策进行有效辅助,起到非常好的作用。本文基于MongoDB数据库,利用Python编程语言,编写数据处理程序,通过将原始的多个数据表入库转换,找出已治愈患者,在此基础上找出复燃、复发患者并筛选出没有重复的数据;通过多进程
摘 要:如何获取能够代表卫星观测尺度、并揭示空间异质性的土壤水分数字地图,是被动微波土壤水分产品真实性检验研究的关键问题。本研究选取河北省深州市为研究区域,首先基于MODIS长时间序列的NDVI、LST和Albedo产品数据集,综合利用HANT重构方法和降尺度模型优选,获取1km分辨率的土壤水分估算结果。其次,为保证检验真值的高精度要求,本研究基于地面实测数据的空间异质性和空间相关性规律,构建了研
摘 要:随着一体化电量与线损管理(以下简称”同期线损系统”)不断深化应用,高损排查与降损治理成为基层单位工作的主要内容,由于缺乏有效的分析手段,基层线损排查在采集系统基础上,仍然需要大量的手工分析工作,工作效率和质量均难以保证。同时在多源数据融合的背景下,小负损、小电量异常、间隙性窃电等疑难问题的出现,对一线员工的技术水平提出了更高的要求,因此运用大数据分析原理,研究同期线损系统各项数据,研发“配
摘 要:我国计算机技术的发展、通信技术水平的提升给人们的生活带来了极大便利。人们可以随时随地利用网络技术来获取自己想要的信息和网络资源。而信息技术不仅可以为人们带来便利,而且可以为人们日常办公服务。企业掌握信息便掌握了商机,很多企业开始认识到信息的重要性,并且重视信息的管理工作,在实际运营和管理中积极应用信息。随着计算机技术的成熟,企业不断完善方案,将数据库系统与信息管理工作有效结合在一起,增强自
DOI:10.16660/j.cnki.1674-098X.2010-5640-5409  摘 要:在高校教学管理的实践过程中,职称评审工作是非常科学且关键的工作。为全方位提升高校的整体教学水平以及教学质量,全面优化高校人力资源管理工作,需要做好高校职称评审的人力资源管理和创新工作。基于此,本文探讨了高校人力资源管理的核心特点,分析了高校职称评审工作中突出存在的问题,研究了高校职称评审的人力资源管
DOI:10.16660/j.cnki.1674-098X.2011-5640-4627  摘 要:针对海外电力项目安全形势严峻的特点,电建海投公司创造性建立与海外项目安全生产工作高度契合的“54321”安全管理体系,强化管控成效,杜絕生产安全事故,安全生产形势持续稳中向好,全面提高了企业安全保障能力。该做法在操作层面能够落地实施,具有良好的示范推广应用价值,为有关企业解决海外项目安全保障能力不足
摘 要:住宅小区的“生命通道”关系居民的生命财产安全,包括火灾、疾病、自然灾害的发生,都是需要关注的风险因素。“生命通道”整改是加速人员疏散、提高救援效率、降低损失程度的需求所在。但是A市在实施整改的过程中也面临小区停车位不足、障碍物堆积较多、执法难度大、矛盾纠纷突出的问题。今后A市应进一步健全住宅小区的基础设施建设,依法加大整改力度,寻求多个部门的联合,并开展广泛的宣传教育。  关键词:住宅小区
DOI:10.16660/j.cnki.1674-098X.2011-5640-6486  摘 要:工程车辆是保证城市地铁安全运行不可缺少的设备。目前,城市轨道交通车辆的设备采用维修策略,保证轨道车辆的正常运行。然而,维修容易出现问题,如:维修不足、维修过剩等,极大地影响了车辆运行的安全性,影响到车辆维修成本。鉴于此,本文根据城市轨道交通车辆的特点,探讨如何对其进行管理,加强维修的管理方法和措施,
摘 要:本文介绍新开发的一款基于CNN技术的医疗垃圾运输机器人。该机器人由底盘部分、抬升部分、夹取部分、识别部分四个部分组成。底盘部分的全方位移动能够满足复杂环境要求。抬升部分能够抓取到不同高度的物品。夹取部分的气阀式抓取能够更加迅速,牢固地抓取物品。识别部分通过OV5640摄像机获取目标,通过深度学习CNN技术来对物品进行图像处理以及分析,并将数据实时传送给STM32F427进行处理。  关键词
DOI:10.16660/j.cnki.1674-098x.2009-5640-2737  摘 要:将PSIM仿真软件引入电力电子技术课程设计,以有源功率校正电路为例阐述电路仿真模型构建方法和关键参数设计原则,并对比参数变化对电路性能的影响。结果表明,将PSIM软件引入电力电子课程设计有助于提高学生分析、解决问题的能力,激发学习本课程的兴趣,提高学生的创新能力和解决问题能力。  关键词:PSIM