智慧自助餐饮系统(SpringBoot+MP+Vue+微信小程序+JNI+ncnn+YOLOX-Nano)

一、项目简介

本项目是配合智慧自助餐厅下的一套综合系统,该系统分为安卓端、微信小程序用户端以及后台管理系统。安卓端利用图像识别技术进行识别多种不同菜品,识别成功后安卓端显示该订单菜品以及价格并且生成进入小程序的二维码,用户扫描后在小程序进行付款和提交订单,用户也可查看订单和菜品等信息,管理员在 Web 后台管理系统进行信息查看餐厅运营情况和管理菜品、订单评价等信息。
本系统涉及的论文文献,可以进行参考和引用。

《基于图像识别的智慧餐饮管理系统》

《YOLOX-Nano Intelligent and efficient dish recognition system》

二、涉及技术

1、后端:SpringBoot、SpringCloud、Mybatis-Plus、SpringSecurity、JWT、Redis、MySQL、Zuul、RabbitMQ

2、前端:Vue、Axios 、ECharts 、微信小程序、Vant Weapp

3、安卓端:JNI、C++、YOLOX-Nano 轻量级模型、ncnn 前向计算框架

三、项目描述

1、为小程序用户端和 Web 管理端以及安卓端提供 RestFul 接口,同时解决前后端跨域问题。

2、使用 SpringSecurity 安全框架、JWT 配合 Redis 保证管理端和用户端数据和认证安全。

3、基于 SpringCloud 将该项目分为数据接口服务、数据统计服务和网关服务。

4、使用消息队列 RabbitMQ 传递订单号实现数据统计服务的数据统计功能,减少用户提交订单的等待时间。

5、利用 Spring 框架的 AOP 特性,采用环绕通知@Around,通过创建切面实现了接口访问的统一日志记录功能。

6、 管理端采用 Vue 框架搭建,采用 Axios 请求数据,使用 ECharts 实现数据可视化。

7、用户端采用微信小程序,用户可以在小程序进行支付并且提交订单信息,同时可对订单进行评分和投诉。

8、 安卓端基于轻量模型 YOLOX-Nano 和 ncnn 框架识别不同种类的菜品并生成进入微信小程序的二维码进行付款。

四、Gitee地址

后端工程:
https://gitee.com/zhong-liangtang/backend-smart-self-service-catering-system

管理端web前端工程:
https://gitee.com/zhong-liangtang/Front-end-Intelligent-self-service-catering-system

用户端微信小程序工程:
https://gitee.com/zhong-liangtang/we-chat-smart-self-service-catering-system

安卓菜品识别工程:
https://gitee.com/zhong-liangtang/ncnn-android-yolox-nano

安卓部署流程:
https://blog.csdn.net/ELSA001/article/details/121032193?spm=1001.2014.3001.5502YOLOX

训练流程:
https://blog.csdn.net/ELSA001/article/details/120918082?spm=1001.2014.3001.5502

五、技术说明

智慧自助餐饮系统拟解决的关键问题在于如何识别多个菜品,该系统拟采用2021年识别率最高的轻量型模型进行菜品识别,并且准确率保证在99.9%以上,确保用户在菜品识别的体验良好,并且需要保证识别系统工作的稳定性,使其在长时间高效率识别的情况下依旧稳定运行。

传统的自助餐饮工作很大程度上依赖人工管理,在餐饮的订单支付信息传达方面比较落后,诸如通过人工计算食物的价格并且给出订单小票,其信息的准确率可能不尽如人意。自助餐饮系统通过MySQL建立订单数据表,通过使用JDBC连接数据库进行连接并操作数据,将用户的订单信息通过小程序的弹框或者订单页面件展示出来,直到用户确认知晓后才可关闭。

在自助餐饮的收费方面,存在收费项目杂乱不统一、收费明细不明确等问题,导致用户认为自助餐饮收费不合理、乱收费、服务与收费价格不符,因而拒绝上交费用。智慧自助餐饮系统将使用持久层框架MyBatis-Plus,将使用MyBatis-Plus框架调用JDBC服务,JDBC连接数据库进行连接并操作数据,再通过接口来封装对数据库的增删改查操作,对自助餐饮收费服务进行严格管理。

智慧自助餐饮系统需要通过训练模型和在稳定的开发软件进行开发,为了达到这一目标,采用以下版本的运行环境和训练环境。

工具 版本

模型训练显卡 GeForce RTX 3070 Laptop GPU

CUDA 11.1

cudnn 8.0

Anaconda 4.10.3

pytorch 1.8.0

后端开发工具 lntelliJ IDEA 2021.2.2 (Ultimate Edition)

后端Java运行环境 jdk1.8.0_301

前端Vue 2.6.11

微信小程序开发工具 微信开发者工具 Stable 1.06.2303220

安卓开发工具 Android Studio Arctic Fox | 2020.3.1 Patch 3

数据库 MySQL 8.0.26

操作系统 Windows 10

相关推荐
百锦再28 分钟前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说31 分钟前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端
Sheldon一蓑烟雨任平生1 小时前
Vue3 表单输入绑定
vue.js·vue3·v-model·vue3 表单输入绑定·表单输入绑定·input和change区别·vue3 双向数据绑定
lang201509282 小时前
Spring Boot缓存机制全解析
spring boot·后端·缓存
摇滚侠2 小时前
Spring Boot 3零基础教程,WEB 开发 默认页签图标 Favicon 笔记29
java·spring boot·笔记
lang201509282 小时前
Spring Boot SQL数据库全攻略
数据库·spring boot·sql
YUELEI1183 小时前
Vue 安装依赖的集合和小知识
javascript·vue.js·ecmascript
是梦终空4 小时前
计算机毕业设计241—基于Java+Springboot+vue的爱心公益服务系统(源代码+数据库+11000字文档)
java·spring boot·vue·毕业设计·课程设计·毕业论文·爱心公益系统
前端付豪5 小时前
万事从 todolist 开始
前端·vue.js·前端框架
华仔啊6 小时前
别再纠结Pinia和Vuex了!一篇文章彻底搞懂区别与选择
前端·vue.js