未识别的网络基于卷积神经网络菜单识别的应用
作者:段枕贞 吴珺泓 朱雅薇 邓清佩
来源:《现代信息科技》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 customers’specific 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函数。