APP下载

基于卷积神经网络在菜单识别的应用

2020-06-08段枕贞吴珺泓朱雅薇邓清佩

现代信息科技 2020年19期
关键词:卷积神经网络深度学习

段枕贞 吴珺泓 朱雅薇 邓清佩

摘  要:菜单图像分割是进行菜单识别的首要步骤,分割的准确性会影响菜单识别的效果。该文对线下餐饮店菜单识别不准确问题进行研究,利用深度学习的卷积神经网络技术对餐饮店菜单进行识别。首先利用数字图像处理技术对拍照菜单图片进行预处理,其次通过卷积神经网络技术预处理后的图像进行识别。实现准确反馈给店家顾客具体的点餐信息,以实现服务人员直接上传点餐照片,便可以直接在本店系统上完成点餐的功能,提高了识别的准确性。

关键词:深度学习;卷积神经网络;数字图像处理技术;菜单识别

Abstract:Menu image segmentation is the first step of menu recognition,and the accuracy of segmentation will affect the effect of menu recognition. This article studies the problem of inaccurate menu recognition in offline restaurants,and deep learning convolutional neural network technology was used to identify menu in restaurants. Firstly,digital image processing technology is used to preprocess the photo menu image,and then the pre-processed image is identified by convolutional neural network technology. Realizing accurate feedback to the store customersspecific order information,so that the service staff can directly upload the order photos,and then the ordering function can be completed directly on the store system,which improves the accuracy of recognition.

Keywords:deep learning;convolutional neural network;digital image processing technology;menu recognition

0  引  言

近年來,我国餐饮行业飞速发展,随着人民生活水平的提升,餐饮行业市场需求不断扩大。同时,餐饮行业的从业门槛相对较低,是大众创业的首选之一。其中,传统中小型餐饮店具有分布广、受众大、数量多等特点。该类餐饮店普遍采取的服务经营模式为现场服务人员通过纸质菜单或肉眼人脑记忆顾客需要的菜品和消费金额,存在人力物力投入较大、耗时长且出错率高的问题。

传统的工作方式已经不能适应高速发展的经济,需要将工作方式与人工智能相结合,进一步减少投入的人力物力,以更低的成本创造更高的利润。本项目基于人工智能技术,应用目标检测方法改善传统餐饮企业需要人工统计点餐信息、结算金额的低效运营方式。

本项目应用于成都理工大学周围的餐饮行业,该餐饮行业以成都码头故事餐饮管理有限公司为代表,使用纸质菜单为顾客点单,进而实现顾客点餐的记录。但是由于使用纸质菜单记录需要大量人力物力,甚至还会出现“上错菜”和纸质菜单丢失的情况,导致顾客用餐不愉快现象产生,造成餐饮店顾客流失。作者基于上述现状进行研究,旨在减少该类餐饮店人力物力的消耗,让顾客用餐更加愉快。

1  基于深度学习的卷积神经网络模型

近年来,对于深度学习的研究在人工智能领域逐渐变得火热,尤其是在学术界和工业界的推广应用[1]。卷积神经网络是深度学习中使用较为广泛的一种神经网络[2],它是一类包含卷积计算且具有深度结构的前馈神经网络[3],具有较强的学习能力,被广泛用于数字图像处理、计算机视觉[4]、自然语言处理[5]等领域。随着深度学习理论的不断加强,TensorFlow和NumPy等矩阵运算包运算效率的提升,CPU和GPU的硬件并行运算能力的不断提升,促进了深度学习算法的效率和速度的不断提升,深度学习的相关研究也变得火热。因此,本文基于卷积神经网络进行研究。

卷积神经网络包括输入层、卷积层、池化层、全连接层和输出层。一般情况下,卷积神经网络在一个卷积层后面会有一个池化层,然后将池化层的结果再一次输入到卷积层进行卷积,以此类推;当经过最后一个池化层之后,一般情况下会有一个全连接层,对图像的信息进行区分,并将最后的输出结果输入到输出层。

本文使用的卷积神经网络是Le-Net5[6],Le-Net5是一种经典的手写数据集识别的卷积神经网络模型,通过该神经网络对经典的MNIST手写数据集[7]识别的准确率可达到95%以上。由于前期的模型训练数据集比较简单,具体数据集如图1和图2所示,图1作为测试集和训练集标签为1的图像;图2为测试集和训练集中标签为0的图像;其中测试集中两种标签的训练集图像共有4 000张,两种标签的测试集共有1 000张,数据集足够保证模型的数据需求。由于菜单中顾客是否点单的数据集和MNIST数据集类似,为此,初期尝试运用该神经网络模型,对其模型的学习率、输入图像大小和池化层窗口大小等模型参数进行修改,并将其运用到菜单的点餐图像识别中,经过测试后,发现对菜单图像识别的准确率高达95%,且能够快速地实现对模型准确的收敛。

本文的菜单识别的卷积神经网络模型是基于Le-Net5模型基础上进行修改,具体模型结构大致如图3所示。

Input:读入需要被处理的图像信息,具体图像信息如图1所示。将其进行预处理后作为该神经网络模型的输入值。经过预处理之后的图像大小为30像素×30像素的黑白图像,即为Le-Net5神经网络的输入矩阵大小。

C1:输入图片大小为30像素×30像素,图片的通道数为1;卷积核Convolutions1的维度为3×3×1×16,卷积核的大小为3×3,卷积核的通道数为1,卷积核的个数为16;stride=[1,1,1,1],表示卷积核在原图像矩阵每一次左右移动的步长为1,上下移动的步长为1;padding=‘SAME,表示为了保证经过卷积处理后图像矩阵的大小保持不变,使用边缘全0填充;使用的激活函数是ReLU函数。

Max Pool 1层:具体结构示意图如图4所示。将C1层的输出结果输入到最大池化層;其中维度为1×2×2×1,维度的batch和channel都为1,表示我们一般不在batch和channel上进行池化操作,池化窗口的大小为2×2;stride=[1,2,2,1],表示池化窗口每一次左右移动的步长为2,上下移动的步长为2。padding=‘SAME,表示为了保证经过卷积处理后图像矩阵的大小保持不变,使用边缘全0填充。

C2层:将C1层的输出结果作为该层的输入;卷积核维度为3×3×16×32,卷积核的大小为3×3,卷积核的通道数为16,卷积核的个数为32;stride=[1,1,1,1],表示卷积核每一次左右移动的步长为1,上下移动的步长为1;padding=‘SAME,表示为了保证经过卷积处理后图像矩阵的大小保持不变,使用边缘全0填充;使用的激活函数是ReLU函数;

Max Pool 2层:将C2层的输出结果输入到最大池化层;维度参数设置同Max Pool 1。

最后两层F1和F2层为全连接层,将P2层最大池化的结果进行全连接处理,利用ReLU激活函数和Dropout损失函数进行处理,得到最终的预测得分。在其输出结果的基础上使用softmax概率函数,将所有的预测结果归一化,使得所有的概率结果相加值等于1。

模型的基本原理是:随机选取一张数据集里面的图片,图片经过预处理之后变成了30像素×30像素大小的图片,且该图片是黑白图片,通道数量为1。通过第一层卷积通道为16,所以原图像的通道数量变为16。输出的公式为:

其中,N为输出图像的大小,W为输入图片的大小,其值为30像素×30像素;F为3像素×3像素卷积核;P为填充的像素,其值为1像素;S为移动的步长,其值为1像素。则输出图像大小为30像素×30像素。

输出的图片通过最大池化层,使得图像大小变为原来的一半大小。池化窗口的大小为2×2,步长为2×2,所以经过卷积处理后的图像大小变为原来的二分之一大小。输出的公式为:

其中,N为输出图像的大小,W为输入图片的大小,其值为30像素×30像素;K为池化窗口的大小,其值为2像素×2像素卷积核;P为填充的像素,其值为1像素;S为移动的步长,其值为2像素。则输出图像大小为15像素×15像素。

2  实验调配与结果

本实验在Windows 10操作系统进行,实验的配置环境为Python 3.5.0,实验工具为GTX 1080Ti GPU。

完成初期的传统餐饮业市场调研后,进行人工智能点菜系统的开发。收集大量顾客点餐的菜单图像数据,建立深度学习的目标检测模型,采用Python语言和TensorFlow框架开发点菜识别算法程序,并对识别准确度进行不断调整,以达到较高的识别准确度。在点菜识别程序识别的准确度达到95%以后,进行线下模型的验证。通过与少数几家商家合作,并向他们提供相应的技术支持和产品服务,商家向我们反馈的使用情况和数据情况、用户体验感等一系列问题,在基于该反馈的基础上进行修改,进而优化程序代码。系统完善后,进行市场的推广,技术可通过接口与APP兼容或通过餐饮服务系统进行搭建,可以实现商业化,同时也为不同类型、不同规模的餐饮企业的灵活推广发展提供可能。以下介绍具体实现技术搭建过程。

通过对本地运行环境的搭建,使用程序命令控制程序的运行,最终对原有数据进行训练和测试,生成最终的针对菜单识别的卷积神经网络模型。对该模型进行封装打包,将其核心内容移植到手机或者平板等带有摄像头设备中,保证该模型能够在该设备中正常运行工作,并将其运用到线下的餐饮店中。图像识别系统具体流程如图5所示。

该项目团队与成都某餐饮公司合作,后者提供数据资料、实验场景等相关支持。收集大量实地拍摄和餐厅提供的大量产品图像数据,并对这些图像进行标记处理,标记出图像中各种商品的名称,对各种商品的各个角度选取不同数量图片。以下展示一张菜单图像识别的效果图,具体图像如图6所示。

通过这些设备在各大餐饮业的应用,我们从服务器获得识别数据,并且获取商家反馈的结果,对其数据和反馈的结果进行分析和总结,该识别模型菜单识别正确率能够达到95%以上,能够实现在不同的餐饮企业使用。

3  结  论

菜单识别作为目标检测的一种,属于计算机视觉这一热门领域。为了实现菜单图像能够准确地识别,本文引入了深度学习中的卷积神经网络模型,提高了菜单图像的识别准确度。选取了成都码头故事餐饮管理有限公司的菜单作为研究对象,进行了进一步地检测和试验,得出了以下结论:

(1)菜单图像数据集简单,运用数字图像处理的图像增强技术、图像去噪技术、旋转、剪裁、翻转等,对初始数据集进行增强,得到训练所用到的数据集,通过这些图像处理技术,使得不同标签的数据集差异特征明显。

(2)针对图像预处理后样本数据集标签为0的未点单数据和标签为1的已点单数据样本过少的问题,程序通过对数据进行旋转和翻转等图像处理,使得数据集可以均匀的增加,训练的准确度从90%提高到95%。通过这一处理,会使得菜单识别的准确率提高。

(3)采用经典的Le-Net5卷积神经网络技术,通过对其结构的参数进行修改,在初期数据集识别的准确度可达99%,且训练时间只有1 000秒。对于该项目而言,可以得出以下结论:程序具有鲁棒性,能够避免欠拟合和过拟合现象,可以应用于不同的企业。

本文的不足之处在于没有利用其他相似的卷积神经网络进行预测,没有考虑其他的模型方法是否适用于该领域。下一步的研究工作是使用其他的卷积网络模型和迁移学习进行评判,并且将其推广到更多的使用纸质菜单的行业进行使用,以获得更多的数据,使得模型在多方面使用具有更强的稳定性。

参考文献:

[1] 刘万海,靳荫雷.近十年国内教育领域深度学习研究综述——基于CNKI的文献计量可视化分析 [J].教育理论与实践,2020,40(16):54-59.

[2] 李嘉宁,刘杨,胡馨月,等.基于深度学习的无人驾驶视觉识别 [J].工业技术创新,2020,7(4):54-57.

[3] 吴志强,王波.基于优化前馈神经网络的铁路建设风险评估 [J].软件工程,2020,23(10):26-29.

[4] 赵敏清.人工智能领域下计算机视觉发展与应用 [J].计算机产品与流通,2020(11):57.

[5] 林莉.人工智能时代背景下自然语言处理技术的发展 [J].电子世界,2020(22):24-25.

[6] 张睿恺,吴克河.基于优化特征集的LeNet-5攻击检测模型的态势感知技术 [J].计算机应用研究,2020,37(S1):287-289.

[7] 尹晓伟,王真真,孟庆林,等.基于改进的LeNet-5手写数字识别研究 [J].信息通信,2019(3):17-18.

作者简介:段枕贞(2000.11—),男,汉族,江西抚州人,本科在读,研究方向:数字媒体技术;吴珺泓(2000.09—),男,汉族,山东青岛人,本科在读,研究方向:软件工程;朱雅薇(2000.12—),女,汉族,江苏泰州人,本科在读,研究方向:数学与应用数学;邓清佩(1999.12—),女,汉族,四川广汉人,本科在读,研究方向:应用统计学。

猜你喜欢

卷积神经网络深度学习
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究