分享
基于神经网络的面包销售系统_苏一水.pdf
下载文档

ID:2571415

大小:1.69MB

页数:5页

格式:PDF

时间:2023-07-24

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 神经网络 面包 销售 系统 苏一水
科技与创新Science and Technology&Innovation462023 年 第 13 期文章编号:2095-6835(2023)13-0046-05基于神经网络的面包销售系统苏一水(桂林电子科技大学计算机与信息安全学院,广西 桂林 541004)摘要:随着人们生活节奏加快,面包等烘焙类食品逐渐成为大众早餐甚至正餐的选择,烘焙行业的兴起也成为必然。而随着买面包的人越来越多,如何避免排队付款的“长龙”便成为亟需解决的难题。使用 VGG 神经网络模型对面包的纹理进行特征提取,构建了一整套智能面包销售系统,包含面包生产商和门店店员管理产品信息的后台管理端、支持拍照查询面包产品信息的客户小程序端以及和系统数据库相连的门店自助结算平台。这套系统不仅能让上游生产商更有效率地对面包批量定价,避免下游实体店篡改产品信息,还能加快顾客在实体店挑选产品和结账的速度,使交易更加便捷。关键词:VGG 模型;销售系统;图像识别;面包产品中图分类号:TP391文献标志码:ADOI:10.15913/ki.kjycx.2023.13.0131研究背景当今世界各国文化交往越来越密切频繁,各式各样的烘焙类食品走进了大众的视线。而随着人们生活节奏加快,中国传统的粥粉面饭早餐已经不能满足广大上班族对早餐方便省事的要求。相比之下,面包等烘焙类食品购买快捷,携带方便,还可以边走边吃。正因如此,烘焙类食品的消费者群体逐渐扩大。福建轻纺刊登的2019 年烘焙食品市场分析与行业发展趋势1中指出,近年来中国的烘焙类食品销售规模稳步增长,在 20122017 年间年均复合增长率达12.8%。而在中国食品安全报发布的2021 年烘焙食品零售额有望达近 3 000 亿2中预测,2021 年的预计销售额将达到 2 856 亿元人民币。随着烘焙类食品行业的发展,人们对行业的要求也日渐提高。首先是食品安全方面的要求,目前中国烘焙行业食品加工水平参差不齐,存在部分企业技术力量薄弱、企业管理水平低等问题。在对烘焙类食品的抽验中,超量使用添加剂的情况较为普遍,也存在菌落总数超标等问题3-4。在如今新冠疫情的大环境下,人们对食品安全的要求越来越高,维护食品安全迫在眉睫。其次是商品交易效率的要求,烘焙门店内,拥挤的人流会影响客户的购物体验,等候结账的长队也会影响门店的售卖效率。由此可见,一套能防止门店商家篡改产品信息且可以代替收银员结账、减少排队结账时间的自动销售系统能够有效满足这些要求。本文结合上述市场需求,使用 VGG16 神经网络模型,开发构建了一套面包销售系统。本系统预先采集大量的面包产品进行特征提取,使用这些特征对VGG16 神经网络模型进行大量训练后,得到一套适配当前类别产品的特征值提取模型,用于进行面包产品图像识别。本系统从源头开始,在生产流水线就对面包纹理进行特征值提取,配套以它的产品信息(名称、生产日期、价格、产地等)存储进数据库中。当顾客挑选产品时,可以直接用手机 APP 对面包拍照并上传图片。系统通过 VGG16 模型提取图片特征值,并与数据库中相关数据进行比对后,返回产品相关信息给用户。同时线下实体商户也可以使用配套的自动售卖机读取产品信息,从而完成结账操作。最重要的是,在这个过程中,价格信息完全由上游生产商记录入库,线下门店无权对面包产品信息进行修改,保证了面包产品信息真实可靠,不会出现商家以次充好的情况,使得面包产品食品安全得到保障。系统流程图如图 1所示。2特征提取模型本系统需要对面包图像进行识别,识别的精准程度是这个系统的核心之处。图像识别技术起源于 20 世纪 40 年代。从 20 世纪 80 年代起,诸如 BP 神经网络、支持向量机等技术被用于图像识别。这些方法识别效果很好,但是有一个缺陷:需要在图像被识别之前进行预处理,比如转换为灰度图像、平滑/锐化图像、图像降噪等等,会增加系统的工作量。随着科技发展,计算能力大幅提升,神经网络模型开始受到人们关注。基金项目教育部产学合作育人项目(编号:202101397002);桂林电子科技大学研究生教育创新计划项目(编号:2022YXW09)Science and Technology&Innovation科技与创新2023 年 第 13 期47而在诸多神经网络模型中,卷积神经网络(CNN)在图像识别和物体检测领域从一众模型中脱颖而出。卷积神经网络是一种特殊的深层前馈网络,主要包括输入层、卷积层、池化层、全连接层和输出层5。这些结构及特性降低了整个神经网络模型的复杂度,降低了过拟合风险,对被变形以及局部缩放的图像也有着出色的鲁棒性,具有很强的泛化性能6。常见的改进型CNN 模型有 LeNet-5、AlexNet、ZF-Net、VGGNet、DenseNet、ResNet 等7。图 1系统流程图2.1模型选择为了选择面包特征提取效果最好的模型,对DenseNet121、DenseNet169、ResNet50、VGG16 等卷积神经网络模型的性能进行了一系列检测和对比,结果如表 1 所示。表 1各神经网络模型的预测准确率神经网络模型名称样本个数预测准确个数预测准确率/(%)DenseNet1212005628.0DenseNet1692005728.5ResNet5020018693.0VGG1620018894.0VGG1920018894.0可以看到,ResNet50、VGG16 和 VGG19 模型在面包类产品的特征提取上具有较高的准确率,能够满足本系统的要求。而 SU 等8的研究中,系统地测试了18 个如 AlexNet、ResNet、DenseNet、VGG Nets 等模型的鲁棒性,结果表明 VGG 系列的模型具有比 ResNet更强的鲁棒性,在实际工业场景中可靠性更强。同时,VGG16 模型在和 VGG19 模型获得几乎一样的效果的情况下,卷积层相较于后者精简了 3 层,实际应用时训练速度更快,所以采用 VGG16 模型作为图像识别的特征提取模型。VGG16 卷积神经网络模型由牛津大学在 2014 年提出,其结构如图 2 所示,该神经网络由 13 层卷积层和 3 层全连接层构成,池化层由于不计权重不算在内。卷积和池化层相互堆叠,使得提取输入图像特征时具有更大的感受野,同时还能降低网络参数,并且通过ReLU 函数将整个过程非线性化,使得模型的学习能力更强9。全连接层和输出层将样本分类处理,通过softmax 函数得到当前样本属于不同类别的分布概率10。图 2VGG16 卷积神经网络结构图2.2迁移学习神经网络的迁移学习是指将一个预训练的模型通过微调其中相关各层的参数后,继续训练,直到新训练的模型在另一个与原训练模型领域相关的目标任务中仍具有高度的可用性,将训练过的新模型投入目标任务的使用。由于目标任务的领域可能缺乏相关数据或者训练过程复杂,为了避免繁杂的调参工作,本系统采用迁移学习的思想11-12,找到和目标任务在神经网络上相似的参数信息,使用这些信息和数据在对原模型大量训练的基础上,再对模型的卷积层进行冻结、微调,使用少量目标任务的数据对模型再次训练,即可得到新的模型。迁移学习训练流程如图 3 所示。图 3迁移学习训练过程3软件模块介绍使用软件系统的主要是 3 类用户:面包工厂管理员、实体门店管理员、普通顾客。对应系统的 3 种模块,这些模块的可操作内容和权限皆不相同,同时系统还包含了存储各种数据的后端。软件系统的模块划分图如图 4 所示,下面将逐一介绍这些模块。产品信息产品图像产品信息产品特征值数据库VGG模型产品图像拍照训练返回生产线上的面包准确率不达标预训练顾客和店家Text标准率达标预训练模型原神经网络模型调节参数标准率达标标准率不达标迁移训练训练模型调节参数CNN 网络检验模型准确率检验模型准确率 科技与创新Science and Technology&Innovation482023 年 第 13 期图 4软件系统模块划分图3.1面包工厂管理员在系统中,面包工厂管理员端最主要的功能是对在流水线上的面包一一拍照并记录产品信息,提取面包照片的特征值并和产品信息一起存入数据库。同时,随着市场需求的变化,工厂生产的面包产品种类也会发生变化,这时就需要工厂管理员更新模型,使用根据新种类面包的纹理特征来训练的神经网络模型。本系统采用Vue-cli技术来构建工厂管理员端和实体门店管理员端。Vue-cli 用于搭载 Vue+Webpack 的开发环境。Vue 是一个用于构建 Web 界面的 JavaScript库,它的理念是期望通过尽可能简单的编程接口实现组件式的视图组合和响应式的数据绑定13。由于 Vue采用自底向上增量开发的设计思路,且他的核心库只关注视图层,所以非常容易学习,也非常容易与其他库或者已有项目进行整合。Vue 在发行后就受到了众多前端开发者的青睐。Webpack 是目前比较流行的前端资源模块化管理工具,它能把有依赖关系的各种文件打包成一些静态资源,并把松散的模块按依赖规则打包成符合生产环境的资源14。Webpack 是目前流行的模块化打包工具。综上所述,本系统选用 Vue-cli 作为管理员后台的前端框架。工厂管理端各界面如图 5所示。3.2实体门店管理员在系统中,实体门店管理员需要做的是对各类面包定价,根据面包生产日期的新旧对面包价格区间进行规划,线下门店的自助结算平台会根据门店管理员的定价区间对商品进行结算。需要特别注意的是,实体门店管理员只能根据生产日期进行面包价格调整,而没有修改某一个或某些面包产品生产日期的权限,这样做保证了线下实体店不会篡改产品信息来以次充好。同时,销售记录需被记录在库并能被管理员随时查询。不仅如此,为了促销的需要,实体门店管理员端还要实现在普通用户 APP 上发布各种优惠促销活动公告的功能。门店管理端各界面如图 6 所示。图 5工厂管理端各界面图 6门店管理端各界面3.3普通顾客uni-app 框架可以说是一个开发平台集成方案或者说是混合应用开发的集合体,使用 Vue.js 作为开发语言,可以让开发者使用框架内部 API 实现在 IOS、Android、H5 以及诸如支付宝、微信等主流厂商平台小程序的跨平台产品研发15。该技术上手门槛低,支持跨平台差异化开发,插件库内容丰富,开发难度小。综上所述,本系统使用 uni-app 搭载了一个微信小程序端以供普通顾客使用。用户直接使用微信小程序就能打开系统用户端界面,通过点击拍照按钮对面包产品拍照,在系统对面包图像进行识别后,即可得到这个面包产品的详细信息并返回给用户。同时小程序还会保存顾客之前的拍照查询记录,以便顾客购买过程中查看、比对。不仅如此,小程序里还有公告界面和价格公示界面,通过价格公示界面可以快速查阅各种面包的日期-价格区间,而公告界面则包含了门店管理员发布的优惠促销公告。普通顾客微信小程序界面如图 7 所示。-Science and Technology&Innovation科技与创新2023 年 第 13 期49图 7普通顾客微信小程序界面3.4后端本系统后端采用基于 Python 的 Flask 后端框架。Flask 是使用 Python 语言基于 Werkzeug 工具箱编写的轻量级的 Web 开发框架。Flask 可以自由选择多种数据库,比如 MySQL 和 NoSQL。而它的 WSGI 工具箱采用 Werkzeug,模板引擎采用 Jinja2。这些特性使得 Flask自由、灵活、可扩展性强、第三方库选择面广16。而且尽管 Flask 入门简单,但是它同样能胜任大型网站的开发,所以本系统选取 Flask 作为后端框架,且采用MySQL 数据库存储各种数据。由于用户拍照查询时需要调用到神经网络,运算量较大,容易导致服务器宕机。所以本系统将管理员模块和用户模块划分为 2 个Web 服务,管理员端口上传和修改信息与用户模块查询神经网络 2 种行为分别消耗不同的服务器资源,使得 2 个服务器能独立运行,即使其中一个服务器宕机,另一个服务器也能维持正常运行。4配套硬件完成一套完整的

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开