基于图像识别的智慧餐饮管理系统 毕业设计 Springboot+Mysql+YOLOX

作者主页毕业设计精选

作者简介:9年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家

摘   要

针对目前高校就餐排队时长、计费细则缺失与缺乏高效计费系统等问题,笔者以某高校食堂菜品为样本, 基于 Vue、微信小程序、SpringBoot 技术设计一个基于图像识别的智慧餐饮管理系统。实践表明, 该系统能够稳定运行, 可以为管理者提供决策支持,达到预期设计要求。

关键词:智慧餐饮管理系统;计算机视觉;推荐系统;SpringBoot;

0  引言

随着科学技术的不断进步,人工智能已广泛应用于各行  各业中。近年来,高校的招生规模不断扩大,学生人数不断  增加,使得高校食堂经常出现排队时间长、计费不准确以及  大量耗费人力资源等问题。由此可见,高校食堂引入以图像  识别技术为核心的餐饮管理系统具有重要的实践意义。本文  采用计算机视觉、推荐系统、后端微服务框架 SpringBoot  前端 Vue 框架及微信小程序搭建智能化的餐饮管理系统,并  结合高校食堂的具体需求进行优化,旨在为高校提供更准确、 更快速的就餐结算方式。

1  系统核心技术

1.1    计算机视觉

在图像识别模块中,采用 YOLOX  ncnn 计算框架作 为主要技术来实现。YOLOX 是旷视科技公司在 2021 年提 出的高性能的检测器,在 YOLOYou Only Look Once 系列的基础上借鉴了近年来目标检测学术界的最新成果 ,同 时继承了 YOLO 系列容易部署的特点,提供了多种部署版  [1] ncnn 是腾讯优图实验室的首个开源项目 ,是一个为手 机端极致优化的高性能神经网络前向计算框架。该计算框架 无第三方依赖,手机端 CPU 的运算速度快于目前所有已知的 开源框架。它使开发者能够将深度学习算法轻松移植到手机 端并高效执行,开发出人工智能应用 [2]

1.2    推荐系统

项目中的推荐模块利用协同过滤推荐算法(Collaborative  Filtering CF )实现。协同过滤推荐算法利用聚类的思想, 用大数据分析、数据挖掘等技术将许多看起来没有关联的人, 通过某些特定的算法挖掘出具备相似特征的个别群体 ,将 他们感兴趣的事物划分、过滤后推荐给那些具备相似特征的  [3-4] CF 算法主要分为基于存储的方法(Memory_Based  和基于模型的方法(Model_Based )。基于存储的方法是利 用用户评价过的事物信息,根据用户行为数据来预测用户可能感兴趣的未知事物,分为基于用户的协同过滤(User-Based CF )和基于物品的协同过滤(Item-Based CF )两种算法。 基于模型的方法使用机器学习( 聚类、回归等)算法建立用 户与事物之间以及用户与用户之间的关系,然后通过优化过 程得到模型参数,建立的数据模型比原始数据集小,最终根 据模型产生合理的推荐 [5-6]

1.3    微信小程序

微信小程序的开发框架为 MINA 框架,包含视图层 View )和逻辑层(App Service ),视图层和逻辑层通过系 统层的 JS Bridage 进行通信。视图层用于渲染页面结构,通 过使用 WXML 文件搭建页面的基本视图结构,使用 WXSS 文件控制页面的展现样式。逻辑层使用 JavaScript 语言编写, 具有逻辑处理、数据处理、接口调用等功能,将逻辑层中的 数据与页面进行单向绑定,当数据变更时,对应页面组件会 作出对应的更新 [7-8]

1.4    Web 前端技术框架

管理端借助 Web 网站作为媒介实现,Web 前端主要利  Vue 框架实现。Vue 是一套专注于视图层的渐进式框架,与其他大型框架不同的是它被设计为可以自下向上的逐层应 用。Vue 中的数据绑定及组件式开发特性能够有效简化代码, 降低了代码的耦合度,同时增加了代码的可复用性 [9-10]

1.5    Web 后端技术框架

项目后端基于 SpringBoot 框架和 MySQL 数据库实现。 SpringBoot 是由 Pivotal 团队设计的全新框架,用于简化新 Spring 应用的初始搭建以及开发过程,能够有效缩短开发时 间。MySQL 作为一个关系型数据库管理系统,将数据存储 在不同的表中,并且使用标准化的 SQL 语言对数据进行增 删改查操作。利用 Mybatis 持久层框架生成调用 MySQL  SQL 语句,控制 SQL 语句的时序调用,以此建立后台与数 据库之间的操作。

2  系统设计

2.1    系统架构设计

该系统架构设计如图 1 所示,Web 前端采用 Vue 框架搭 建网页端,Web 后端采用 SpringBoot 搭建,将 MySQL 作为 数据库。

图 1   系统架构设计

2.2    系统总体设计

系统由网页端和小程序端组成,两者共享同一个后端, 所有数据从同一个后端中获取、保存。网页端负责实现管理 员的权限,小程序端负责实现用户的权限。

系统管理端功能模块如图 2 所示,共分为餐厅管理模块、菜品管理模块、用户管理模块、反馈管理模块以及数据统计 模块 5 个模块。餐厅管理模块负责管理管理员的账号信息及 餐厅的信息;菜品管理模块负责管理餐厅所设置菜品的信息; 用户管理模块可以查看用户的所有信息,方便管理员对用户 信息进行处理;用户反馈模块为用户端提交给管理者的信息,方便管理者快速获得用户的诉求,及时处理;数据统计模块 负责统计餐厅的收支情况、菜品消耗的数据,便于餐厅管理 者及时作出判断。

系统用户端功能模块如图 3 所示,由登录注册页、首页、 个人中心页、搜索页组成。用户在登录注册页可以利用手机号进行注册;用户在首页可根据需求选择不同的餐厅,查看 各餐厅设置的菜品信息,系统也会根据用户平时的用餐习惯 进行推荐;用户在个人中心中可查看订单信息,能够对每个 菜品进行评价,能够将有疑问的地方反馈给管理员,方便餐 厅进行改善及个性化推荐。

图 2   系统管理端功能模块

图 3   系统用户端功能模块

2.3    数据库及关联关系设计

智慧餐饮管理系统按照用途分为管理端与用户端两大  板块。其中,管理端板块分为管理员信息管理模块( 利用  Manager 表实现)、 餐厅信息管理模块( 利用 Restaurant   实现)、菜品信息管理模块(利用 Menu 表及其相关联的各  类表实现)、 用户信息管理模块(利用 Consumer 表及其相  关联的各类表)、 数据统计模块( 利用 Day Month Year   表及其相关联的各类表统计餐厅数据实现)以及评价与反馈  模块( 利用 feedback evaluate 表实现)。 用户端板块包括  用户信息模块(利用 Consumer 表及其相关联的各类表实现)、 菜品餐厅信息展示模块(利用 Menu 表及其相关联的各类表  实现)、搜索历史模块(利用 history 表实现)。数据库表及  关联关系如表 1 所示。

3  系统实现

3.1    图像识别模块实现

试验所需图像在广东海洋大学食堂的菜品中采集,共 采集 15 类菜品,利用采集的数据集对轻量化模型 YOLOX- Nano 进行训练,将训练好的模型使用 ncnn 计算框架部署于 安卓平台的手机端,并通过连接 USB 摄像头对准菜品进行精 准识别。菜品识别系统安卓程序开启时,如果摄像头开始检 测到有菜品,则每 0.5 s 拍摄并识别一次图像,在 2 s 后停止 拍摄,检测效果如图 4 所示。

3.2    管理端实现

管理端实现效果如图 5 所示,Web 前端基于Vue 框架实现, 左部导航栏囊括所有功能模块,便于餐厅的管理者全面了解相 关信息,进一步参与餐厅的决策,实现数字化与智能化。

表 1   数据库表及关联关系

表索引

表名

主键字段

表描述

关联表名称

关联关系

T1

Consumer

C_id

用户表

history

evaluate

feedback

day_mp

month_mp

year_mp

order

1

1

1

1

1

1

1

      

n

n

n

n

n

n

n

T2

Restaurant

res_id

餐厅信息表

T3

Menu

M_id

菜品信息表

evaluate

Menu_Order

Day_Menu

Month_Menu

Year_Menu

Day_MP

Month_MP

Year_MP

1 1 n n n 1 1

1

       

1

1

1

1

1

1

1

1

T4

Order

O_id

订单信息表

Consumer

Menu_Order

evaluate

n 1 1

  

1 n n

T5

Manager

MA_id

管理员信息表

T6

Day

D_id

日餐厅数据统计信息表

Day_Menu

1

n

T7

Month

MON_id

月餐厅数据统计信息表

Month_Menu

1

n

T8

Year

Y_id

年餐厅数据统计信息表

Year_Menu

1

n

T9

Day_Personal

DP_id

日个人就餐数据统计信息表

Day_MP

1

n

T10

Month_Personal

MP_id

月个人就餐数据统计信息表

Month_MP

1

n

T11

Year_Personal

YP_id

年个人就餐数据统计信息表

Year_MP

1

n

图 4   图像识别模块实现效果

图 5   管理端实现效果

3.3    用户端实现

用户端实现效果如图 6 所示,用户端基于微信小程序的 MINA 框架实现系统基本功能。用户通过使用本餐饮系统, 进入微信小程序查看菜品,扫描二维码后可以进行支付、评 价与反馈等操作。

在日常使用中,用户会产生大量的行为数据,通过前端 将用户的行为数据存入数据库,后端定期调用协同过滤算法 脚本,离线构建推荐结果,将推荐结果存入数据库,供前端 利用该数据形成推荐结果可视化,如图 7 所示。

图 6   用户端实现效果

图 7   推荐实现流程

4    

本文基 于计算机视觉、推荐 系统、后端微服务框架 SpringBoot 、前端 Vue 框架及微信小程序搭建的餐饮管理系 统,不仅能够提高餐饮业管理者的决策与管理能力,还能够 降低成本。由于研究时间有限,还需要在更多功能设计、系 统高并发访问速度等方面加以完善,为传统餐饮业提供更多 稳定、创新的方案。

参考文献

[1]GE Z,LIU S,WANG F,et al.YOLOX: exceeding YOLO series in 2021[Z].2021

[2] 林志斌 , 黄智全 , 颜林明 . 基于 Android 平台人脸检测研  [J]. 电子质量 , 2021(11):40-45.

[3]    ,   ,    , .   Spring Boot                  [J].        ,2021,17(3):109-112.

[4] 梁莹 . 基于 Spring Boot 的教师企业实践管理系统的设计 与实现 [D]. 南宁 : 广西大学 ,2021:123-125.

[5] 杨军 . 基于购物特征分类的混合推荐算法研究 [D]. 长春 : 吉林大学 ,2021:18-20.

[6] 刘军 , 杨军 , 宋姗姗 . 基于用户购买意愿力的协同过滤推 荐算法 [J]. 吉林大学学报 ( 理学版 ),2021,59(6):1432-1438.

[7] 范国婷 , 任乐琦 , 周灵辉 ,  . 基于微信小程序的二 维码点餐系统设计研究 [J]. 赤峰学院学报 (  自然科学  ),2019,35(12):59-62.

[8]  申燕萍 , 何梦磊 . 基于微信小程序的点餐系统 [J]. 电脑知 识与技术 ,2018,14(4):62-63.

[9] 何豪 . 基于 Vue.js 的国家语委申报管理系统的设计与实  [D]. 武汉 : 华中师范大学 ,2021:35.

[10] 肖子量 . 基于 Vue 的云通信调度系统客户端的设计与实  [D]. 北京 : 北京邮电大学 ,2021:5-6.

一、需求分析 随着社会服务行业的发展,餐饮业对自身服务的质量和能力也有了更高的要求。餐饮管理系统正是在这样的情况之下越来越受到重视。餐厅的内部服务项目众多,既需要完成前台的服务工作,还需要完成后台的管理工作,如果没有一套可靠的餐饮管理系统,单凭手工操作,不仅效率低,而且会极大地影响到酒店的服务质量。 设计的目标:实现餐饮管理的科学化、自动化,提高各个模版的办公效率,为高质量的餐饮服务提供保证。 系统功能概述 民以食为天,随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。经过多年发展,餐饮管理已经逐渐由定性管理,进入到重视定量管理的科学阶段。众所周知,在定量管理的具体实现方法和手段方面,最有效的工具就是计算机管理。 传统的手工操作管理存在着许多无法避免的问题,例如: 人工计算机账单金额出现差错; 收银工作中跑单、漏单、偷钱现象普遍; 个别服务员作弊、改单、宰客情形时有发生; 客人消费单据难以保存和查询。 如果借助计算机来管理,就可以轻松的解决处理这些问题。一个餐饮管理信息系统应该包括基本的餐厅的服务管理、管理人员信息的维护等,以及与之相应的操作。所以整个餐饮管理信息系统分为两个大部分,即后台的数据管理维护和前台的操作。后台数据库的管理能保证系统各项功能正常运行,前台操作能提供给客户尽可能方便快捷的服务。 功能模块划分 1. 前台操作系统 订餐管理模块:点菜(输入桌台代码和食物代码)、加菜、下单。 结账管理模块:结账(输入桌台代码)、结账方式选择(包括现金结账、信用卡结账、支票结账、签单等)。 交班管理模块:统计当班数据(包括桌台数、人民币结账金额以及总金额等),为下班操作作准备。 2. 后台管理维护系统 用户权限设置:可以查询员工的基本资料(姓名、性别、年龄、出生年月、籍贯、家庭住址等),员工登录名称、密码、员工操作权限等,可以根据需要进行设置。 菜谱设置:新菜单录入(包括菜式名称、代码、类型、价格、成本等)、菜式修改、删除等菜式维护。 付款方式设置:分为人民币付款、信用卡、支票签单等,可以根据需要进行添加和删除。 系统流程分析 系统流程图1所示。当用户进入系统主界面以后,新用户经过注册后才能凭借其用户名和密码登录,老用户可以直接登录。用户登录以后,系统自动判断出其操作权限。操作权限包括普通员工和管理人员。新用户的操作权限默认为是普通员工。普通员工只能进行订餐、结账操作,而管理人员除此之外还可以进行系统设置与营业分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计精选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值