1、基于卷积神经网络的饮食分类基于卷积神经网络的饮食分类与识别与识别毕业设计答辩目录123课题背景研究内容实验结果对比分析4总结与展望1课题背景现在的物质生活丰富但不加控制的饮食会影响身体健康控制饮食的有效方式记录摄入的食物图1医院饮食记录图2 手机APP1记录方式这些方法需要参与者客观评价自己的行为过于乏味和繁琐不能够提供准确详细的信息图3 可穿戴照相机可穿戴照相机自动记录一天的行为自动识别食物照片减少了参与者的负担方便,准确一、传统的食物图像识别方法通常是 特征提取+分类器(SVM)缺点:1、受环境影响较大。易受光照、反射、位置的影响。2、提取到的是浅层特征,正确率不高。传统方法一般在60%7
2、0%二、深度神经网络优点:1、神经网络能够提取初级、中级和高级特征。2、对尺度、光照不敏感。正确率较高。能做到80%90%。缺点:为了能够提取到各种特征,神经网络通常设计的非常深,导致网络参数量极大,需要消耗大量计算资源。普通的机器无法运行,无法移植到便携式设备。2过去方法的不足2研究内容本课题要研究的是基于卷积神经网络的饮食分类与识别含有食物场景不含有食物场景2研究内容食物分类2研究内容1、在日常拍摄的照片中识别存在食物场景的图片并提取出来。2、识别出食物类别3、设计精简的网络2研究深度1、食物场景识别正确率达到90%以上 食物分类正确率达到85%以上。2、具备实时性,运行时间在100ms以
3、内。3、网络模型尽可能的小,在50M以下,使其具备向便携式设备移植的可能2研究内容对图像进行预处理对是否存在食物进行识别对食物进行分类日常饮食的识别和分类,总体流程分为以下三步:主食蔬菜肉水果汤输出食物类别2研究内容123图像预处理精简模型的方法食物场景识别算法4食物分类算法1图像预处理因为本文的数据集来自于自己拍摄的照片在拍摄过程中存在抖动、模糊的情况,不同的光照环境也会对识别工作带来影响。所以,对图像进行预处理,可以滤除这些噪声干扰,转化成统一标准,有利于算法的收敛和提高识别分类的准确率1图像预处理计算步骤:1、将高斯核在待处理的图像上平滑移动2、高斯核与输入图像的像素值相乘3、将第2步的
4、结果相加输出222xy221G x,ye2(公式1)1图像预处理图像的归一化是利用图像的不变矩特性,寻找一组参数来消除其他变换方法对图像变换的影响归一化步骤:1111xyyxeexxeexyyy(2)尺度归一化1200cxxycy(3)旋转归一化(1)平移归一化,并使其坐标平行于M的特征向量cossinsincosuxvy (公式2)(公式3)(公式4)2精简模型方法深度可分离卷积卷积运算具有提取和组合特征的作用为了能提取更多的特征,现在网络通常很“深”GoogLeNet模型22层VGG模型19层2精简模型方法精简网络的思想:1、结合具体问题,不需要很“深”的卷积网络2、卷积结构可以优化3、全
5、连接层可以优化2精简模型方法深度可分离卷积模仿GoogLenet中Inception结构。将标准卷积分解成了深度卷积和点卷积。深度卷积对输入的每个特征图做过滤运算、提取特征点卷积将特征组合深度可分离卷积=深度卷积+点卷积Inception结构2精简模型方法深度可分离卷积2=+11KKFFFFKKFFkDDMDDMNDDDDMNDDND深度可分离卷积标准卷积深度卷积 点卷积标准卷积当卷积核大小为3*3,参数可以减少89倍(公式6)2全局均值池化优化全连接层全连接层作用:将学到的“分布式特征表示”映射到样本标记空间全连接层的缺点:1、参数量极大。80%90%的参数量在全连接层2、容易过拟合全连接层
6、2全局均值池化全局均值池化是在卷积层后面生成相应数量的特征映射优点:1、保留了特征空间的空间特性2、没有训练参数,避免过拟合,减少网络大小一个特征图的计算一组特征图的计算3食物场景识别算法食物识别流程图3食物识别算法Faster RCNN 需要单独训练一个区域候选框生成网络训练复杂,耗时长YOLO对图像中每一个格子进行预测对小物体和邻近物体检测不好3食物识别算法3食物识别算法(a)标记图片(b)8*8 feature mapmaxminminminmax1,1,10.2,0.9ksssskkmmss()r1a1,2,32长宽比例:aakkkrkrswsaha,default box 计算:0.
7、50.5,feature mapi,j0,kkkkijfkfff,表示第 个的大小,default box 长宽:default box 坐标:(公式7)(公式8)(公式9)3食物识别网络0explogloge p,xpNNipppconfijiiipi Posi NegipcLxcxcccc,其中损失函数:,L1,Nkmmloci jjji Posmcx cy w hLx l gx smoothlgcxcxcycyjijicxcyjjwhiigdgdddg,gloglogwhjjwhjjwhiiggddg,g1,x,c,conflocL x c l gLLx l gN(公式10)(公式11)
8、(公式12)(公式13)(公式14)3食物识别网络训练优化算法:Momentum训练时间:78小时训练技巧:1、数据倍增 2、dropout训练曲线图4食物分类算法食物分类流程图4食物分类算法4食物分类算法1,jkaTakjex l geS每一类别的预测概率:损失函数:1logTjjjLyS(公式15)(公式16)4食物分类算法优化算法:Adam训练时间:56小时训练技巧:1、Bacth Normalization 2、dropout训练曲线图3实验结果对比分析12本课题数据集本课题食物检测实验结果3本课题食物分类实验结果1在日常生活中拍摄,包含饮食和非饮食两种场景,共10000张食物识别数据
9、集饮食场景其他场景11、ImageNet中食物的数据集,分成主食、蔬菜、肉类、水果和汤五类,共10000张。2、在日常生活中拍摄,将食物分成主食、蔬菜、肉类、水果和汤五类,共5000张食物分类数据集ImageNet食物数据集部分图片自制食物数据集部分图片2本课题食物检测实验结果食物食物非食物非食物食物食物47624非食物非食物44456精准率为91.5%,召回率为95.2%,正确率为93.2%,f1分数为93.3%2本课题食物检测实验结果算法运行时间算法运行时间准确率准确率模型大小模型大小颜色纹理特征颜色纹理特征+SVM729ms69.9%1.31MFasterR-CNN186ms93.4%1
10、.01GYOLO10ms90.7%326M本文算法本文算法17ms93.2%27.8M表1 食物检测算法比较所以,本模型用了较小的模型,实现了较高的准确率3本课题食物分类实验结果主食蔬菜肉水果汤主食蔬菜肉水果汤主食蔬菜肉水果汤主食蔬菜肉水果汤主食蔬菜肉水果汤主食蔬菜肉水果汤ImageNet中食物分类图3本课题食物分类实验结果主食主食蔬菜蔬菜肉肉水果水果汤汤主食主食92.4%2.3%2.7%1.5%1.1%蔬菜蔬菜1.6%95.7%0.7%1.8%0.2%肉肉3.3%1.0%93.5%0.5%2.6%水果水果0.6%2.7%1.1%94.8%0.8%汤汤5.7%1.1%2.1%0.8%90.3%
11、表2 ImageNet上分类准确率3本课题食物分类实验结果主食蔬菜肉水果汤主食蔬菜肉水果汤 主食蔬菜肉水果汤主食蔬菜肉水果汤主食蔬菜肉水果汤主食蔬菜肉水果汤 自制测试集中食物分类图3本课题食物分类实验结果主食主食蔬菜蔬菜肉肉水果水果汤汤主食主食87.3%3.3%5.4%2.7%1.3%蔬菜蔬菜1.4%90.6%2.8%3.1%2.1%肉肉5.2%2.4%89.5%1.2%1.7%水果水果2.3%6.7%3.8%86.7%0.5%汤汤7.5%2.3%4.2%1.1%84.9%表3 自制数据集上分类准确率3本课题食物分类实验结果主食主食蔬菜蔬菜肉肉水果水果汤汤正确率正确率运行时间运行时间模型大小模
12、型大小SIFT+SVM70.1%74.3%71.2%68.3%66.7%70.1%752ms1.61MAlexNet89.3%90.5%87.3%89.7%88.9%89.14%24ms228MVGGNet92.4%94.1%93.2%91.1%90.2%92%26ms528MGoogleNet91.7%93.4%93.5%91.5%89.7%91.96%15ms45.8M本文算法本文算法87.3%90.6%89.5%86.7%84.9%88%11ms10.2M表4 食物分类算法比较所以,本模型,实时性好,模型小,准确率较高4总结与展望12总结展望1总结(1)研究了卷积神经网络模型精简化的方法(2)设计了食物识别网络和食物分类网络(3)通过大量实验证明本课题基本满足了日常生活中食物识别和分类的要求,达到了本课题的研究目的。2展望(1)本课题的自制数据集不够大,如果可以制作更大的数据集,算法的准确率可以进一步提高。(2)网络模型的压缩还可以从网络剪枝和权值二值化的角度出发,如果做这两部分工作,模型可以进一步减小。(3)受时间限制,本模型没能移植到便携式设备上,如果能移植到便携式设备,可以检验其实际功效。