吴珺泓,朱雅薇,段枕贞
(1.成都理工大学信息科学技术学院(网络安全学院、牛津布鲁克斯学院),成都610000;2.成都理工大学管理科学学院,成都610000)
餐饮业,作为存在历史悠久的行业种类,不断在创新中发展。近年来,更是呈现成出蓬勃的生命力。菜单,作为餐饮企业经营活动中的主要展示窗口,侧面展示了企业文化和经营策略。高质量、便捷的点菜方式一直是餐饮企业的追求。从挂牌菜单、纸质菜单到电子设备菜单、移动设备扫码等,多种菜单形式的演变也体现了其具有不同的利弊和能够解决的痛点。
传统中小型餐饮店具有分布广、受众大、数量多等特点。该类餐饮店普遍采取的服务经营模式为现场服务人员通过纸质菜单或肉眼人脑记忆顾客需要的菜品和消费金额。过程中就会存在人力物力投入较大、服务耗时长且出错率高的问题。
互联网时代的来临,特别是人工智能技术的迅速发展,给传统餐饮店带来了巨大的经济带动效力和发展机遇。笔者经过调研统计发现,纸质菜单在中国餐饮业仍有极大的普及度。但存在上文中提到的困境。针对传统纸质菜单存在的弊端,笔者将图像处理技术、计算机视觉方法引入餐饮服务领域,提出创新性思路方案。
挂牌菜单,常见于上世纪老式餐馆。因其信息匮乏、展示效果差、不易更新等诸多缺点,除特色风格餐厅外,极少餐饮店会选择使用。挂牌菜单样例如图1。
图1 挂牌菜单样例
一般情况,我们所接触到的餐单主要是纸质菜单。传统纸质菜单形式具有以下几个特点:
(1)具有高认可度和熟悉度,操作简单。精致的纸质菜单体现餐饮店文化氛围和经营理念。
(2)服务人员与顾客在点菜时可以有良好的交流介绍,能够更好的提供服务。
(3)纸张消耗量虽大,但成本并不多,一般店家完全可以接受。
(4)需要人员人工记忆和结算金额等环节耗时长、易出错。
电子菜单是在二十一世纪后伴随着移动电子商务的火热而发展起来的。目的是节约人力、集成业务流程。常见于高档餐厅,具有一下特点:
(1)易于及时更新、信息容量大、良好的客户体验感特点。
(2)需结合无线网络、触摸屏等硬件设备和数据库、软件系统等。
(3)购买硬件设备软件系统维护的成本开销对于数量众多的中小型餐饮店是难以承受的负担。
(4)存在数据传输稳定性、降低消费者点餐欲望和自主点菜没有服务人员介绍等隐形缺陷。
菜单在现在餐厅中的主要使命为商家向食客推广介绍自己的菜品,通过拟定菜品名称和搭配精美的图片,以提供价位与简介等信息给消费者。菜单不仅是餐厅的消费指南,更是餐厅对外界作形象宣传的重要名片[1]。改进纸质菜单点菜方式保留使用纸质形式,通过智能手机拍摄顾客勾选后的菜单,通过深度学习中的目标检测算法,如SSD(Single Shot Multibox Detector)[2]、YOLO(You Only Look Once)[3]等可以实现对菜单中勾选菜品的检测识别、信息传输。
但在目标检测领域存在不可避免的准确度和时间复杂度的问题。笔者通过数字图像处理技术对该方法中的诸多问题提出改进思路。一定程度上保留了纸质菜单的主流使用行、仪式感、品牌传递性等优势,克服了耗时长、结算易出错、等弊端。
一幅图像可定义为一个二维函数f(x,y),当空间坐标、和幅值为有限的离散数值时,称该图像为数字图像[4]。应用计算机来合成、变化已有的数字图像,从而产生一种新的效果,并把加工处理后的图像重新输出的过程称为数字图像处理[5]。图像处理技术伴随计算机发展到现阶段,技术不断在理论和实际应用中完善,在生物医学、地球科学、航天航空、军事、电子商务等诸多领域发挥重要作用。笔者针对前文提出的需求和特点分析,让计算机完成人们通过人眼获取和人脑记忆就可菜单信息的一系列动作。探讨该技术在纸质菜单目标检测中的应用。并与成都码头故事有限责任公司合作,经过实验和实际测试表明该思路和方法革新取得明显的效果。
搭载摄像设备的智能手机可以让人们随时随地轻易地拍摄数字图像。同样,用餐的客户或者是服务人员可以通过智能手机拍摄完整的菜单图像。图像可以通过开发的软件接口传输输入服务器进行图像处理识别以获取后续需要处理的信息。OpenCV 技术是开源的计算机视觉库,为用户提供了计算机视觉处理的算法和图像处理函数库。实验中通过计算机对图像的读取、各种处理和输出的实现均依托于Python 语言和OpenCV 技术。
餐饮菜单普遍具有背景花哨、文字图形复杂等特点,直接将图像应用于目标检测算法中会导致准确率大大降低。小目标检测、精准定位、虚检漏检等问题同样是在数字图像处理方面影响目标检测算法的因素。笔者提出通过一系列组合图像处理技术进行图像特定处理已到达优化目标检测的效果。
(1)图像预处理
对拍摄的菜单图像进行灰度化处理得到灰度图。灰度图像上每个像素的颜色值成为灰度,指黑白图像中点的颜色深度,范围一般从0 到255。拍摄的彩色图像采用RGB 色彩模式,处理图像时就要对三种分量进行处理,而实际该信息不能反映内容特征。灰度化可以将颜色信息忽略,得到梯度信息。通过高斯滤波对图片进行噪声抑制。数字图像的噪声抑制是图像预处理的关键步骤,直接影响到图像增强、图像分割、图像编码等后续图像处理的效果[6]。高斯滤波是一种线性非平均滤波器,通过对像素的灰度值进行计算重新赋值达到对平滑图像的效果。处理后效果如图2。
图2 预处理效果图
(2)定位及图像矫正方法
为快速准确的获取菜单在图像中的位置和内部待识别信息的相对位置,提出一种改进方法:在菜单的左上、左下、右上添加绘制一个简单“二维码”,如图3。通过局部二值化,将图像的像素灰度值设置为0 或255,也就是非黑即白,使整个图像呈现出明显的黑白效果。在对其进行数学形态学中的膨胀运算,作用是在结构元素的约束下将与目标区域(二维码)相接触的背景合并到该目标物中,使二维码显示完整。处理效果如图4。在图像处理与机器视觉等应用领域中,形状是物体的重要信息。数学形态学通过物体的边缘、形态骨架等对图像的几何结构进行描述,提供了一个有效的形状描述与分析方法[7]。选择腐蚀、膨胀、开启、闭合四种基本运算处理图像可以实现许多使用算法。为实现依据二维码定位的目的,利用OpenCV 寻找子轮廓深度是2 且近似正方形的轮廓,对查找到的轮廓进行范围过滤,确定二维码定位点。处理后效果如图5。
图3 菜单正面图
图4 形态学膨胀
图5 中心定位
为适应实际中出现的菜单在不同拍摄图像中位置的差异和畸变,如平移、旋转、弯曲、背景噪声等,对图像能进行精确的识别操作。图层拷贝后根据三个定位点使用最小包围矩阵并进行仿射变换、透视变换、旋转矫正操作。仿射变换(Affine Transformation)是一种二维坐标到二维坐标的线性变换,保持了图形的平直性和平行性。透视变换(Perspective Transformation)是将图像投影到一个新的视平面。以上的矫正操作实现了对受手机角度、高度等影响拍摄的不规则图像转换成矩形的结果。以某次实验拍摄图像处理,处理效果如图6-图7。
图6 某次拍摄图像的二值化图
图7 仿射变换后图像
(3)子菜单分割及信息提取
同样通过树形结构递归查找轮廓得到过滤后符合条件的子菜单轮廓,用最小矩阵包围。以实验菜单为例,菜单正面有七个子菜单,反面有五个子菜单。效果如图。根据二维坐标将每个矩形框进行定位并分组、排序。为检测到勾选的菜品目录,对子图像进行二值化、形态学闭合操作。闭运算是先膨胀后腐蚀的组合运算,目的是填充目标内部的细小间隙,断开与临近目标的连接,在不明显改变形状的条件下平滑边界。实现后续识别每个菜品前的勾选标记。对坐标进行按行水平分割并排序。通过目标检测算法可以提取勾选标记所在行位置,存储记录以和后台数据库匹配。以子菜单1 为例展示子菜单分割及按行分割效果如图8-图10。
将现代流行的深度学习中目标检测算法应用在传统餐饮行业,提出是智能化纸质菜单点餐结算方式有利于餐饮店的经营和顾客的消费感受。图像数字处理在目标检测这一计算机视觉领域又有着重要的地位。针对菜单识别的实际背景和特点,提出了诸多改进识别准确度和时间的思路。通过对成都码头故事有限责任公司的纸质菜单的实验,进一步的验证了思路的可行行和结果。能够将传统识别算法的准确度提高10-20%。同时也能够满足通过App 软件接口实时响应的效果。创新性的点餐和结算方式将可能扩展于更多的餐饮店,逐渐体现出该方法的优势,推动行业的高速高质量发展。
图8 寻找轮廓分割子菜单
图9 子菜单1二值化及闭运算
图10 子菜单1按行分割