智能备件管理系统的设计与实现

2024-03-25 06:03张婧庞毅飞李有松
科技创新与应用 2024年8期
关键词:烟草企业图像识别数字化

张婧 庞毅飞 李有松

摘  要:烟草企业生产线位居行业前列,主要采用国际先进设备,专用机械相对较少。随着科技发展,设备维护、更换和技术改造速度加快,备件管理成为重要工作。为提高备件查询效率、增进烟厂工作效率,构建一套结构清晰、功能全面的智能备件管理系统。智能备件管理系统前后端分离,并且提供移动端和PC端2个选项,在查询备件信息时,采用先进的弹性搜索算法(ElasticSearch)和图像识别算法,提高搜索的准确性和容错性,提高烟厂工作效率,实现数字化赋能,为高效管理备件、提升生产效益提供可行的解决方案。

关键词:烟草企业;备件管理;弹性搜索;图像识别;数字化

中图分类号:TP311.5      文献标志码:A          文章编号:2095-2945(2024)08-0122-07

Abstract: The tobacco enterprise's production line ranks among the industry leaders, mainly adopting internationally advanced equipment with relatively fewer specialized machinery. With the rapid development of technology, the speed of equipment maintenance, replacement, and technological upgrades has accelerated, making spare parts management a crucial task. In order to improve spare parts query efficiency and enhance the overall operational efficiency of the tobacco factory, a well-structured and comprehensive intelligent spare parts management system has been developed. The intelligent spare parts management system features a clear separation between the front and back ends, providing options for both mobile and PC platforms. When querying spare parts information, advanced elastic search algorithms(ElasticSearch) and image recognition algorithms are employed to enhance search accuracy and fault tolerance, thereby increasing the operational efficiency of the tobacco factory. This system has achieved digital empowerment, providing a feasible solution for efficiently managing spare parts and enhancing production efficiency.

Keywords: tobacco enterprises; spare parts management; elastic search; image recognition; digitization

煙草企业生产线装备水平处于行业前列,主要装备均采用国际先进设备,在用烟草专用机械设备相对较少。由于科学技术不断发展,设备的维护、更换和技术改造的速度也随之加快,因此,备件管理成为烟草企业管理重要工作内容之一。随着工业互联网、大数据等技术的发展,在国家“中国制造2025”战略引导下,建立一套科学的、规范的备件管理系统不仅能够确保生产及设备稳定运行,还能为企业带来可观的经济效益,进而为企业高质量发展提供有力保障。

1  相关技术介绍

1.1  Vue.js

Vue.js是一款现代的JavaScript框架,专注于构建用户界面,以其渐进式、轻量级的特性脱颖而出,使得逐步引入到项目中变得轻松。采用声明式渲染,通过直观的模板语法将数据轻松渲染到编程接口(DOM)中,提高了代码的可读性。Vue.js鼓励组件化开发,使得应用程序更易维护和扩展。其响应式数据系统确保数据变化时自动更新相关DOM,简化了开发流程。指令和事件处理使得在模板中实现常见操作变得简单而灵活。生命周期钩子函数和路由管理为开发者提供了更精细地控制和组织应用程序的能力。对于状态管理,Vue.js提供了状态管理模式(Vuex),使得数据的集中管理更为便捷。总体而言,Vue.js是一个功能强大、易学易用的框架,适用于构建各种规模的现代Web应用,受到了广泛的开发者和企业的青睐。

1.2  Token

Token是一种在计算机科学和网络安全领域广泛应用的概念,通常指代一段具有特定含义的字符串。在身份验证和授权方面,Token被用于验证用户的身份和授予其访问权限。在Web开发中,常见的Token包括身份验证令牌(authentication token)和访问令牌(access token)。身份验证令牌用于验证用户身份,而访问令牌则用于授予用户对资源的访问权限。OAuth和JWT是常见的Token相关标准,它们定义了Token的生成、传输和验证规范,提供了安全而灵活的身份验证和授权机制。通过使用Token,开发者能够实现单点登录、安全地共享用户身份信息,以及确保在分布式系统中安全地管理用户访问权限。Token的机制不仅在Web开发中得到广泛应用,在移动应用、云计算和区块链等领域也发挥着关键作用,为系统安全和用户体验提供了坚实的基础。

1.3  弹性搜索(ElasticSearch)

ElasticSearch是一款开源的、基于全文检索引擎库(Apache Lucene)构建的分布式搜索引擎。其由Elastic公司开发并维护,旨在提供实时的全文搜索和分析能力。ElasticSearch使用Java编程语言编写,通过Web接口(RESTful API)提供与用户的交互,支持多种数据类型的索引和查询[1]。

随着数字化浪潮蓬勃发展,在各行各业的大数据搜索场景中都可以见到ElasticSearch的身影。Voit等[2]通过ElasticSearch技术解决匿名用户登录系统验证问题,建立了全文搜索和可视化管理系统。王强等[3]利用ElasticSearch优化证券交易系统日志数据采集平台,通过数据解决方案(ELK)日志实现了日志的采集、清洗、日志检索警报和存储功能。刘宏宏等[4]通过银行服务器中的日志数据并结合银行系统以及ElasticSearch技术的特点,设计了一套专用于银行的系统运维平台。

王博等[5]通过ElasticSearch实现了数据的动态筛选管理、关键词查询等功能,适用于企业的数据筛选和分析。陶林等[6]利用ElasticSearch技术结合聚合支付方式,设计并实现了分布式的电商平台,提高了聚合支付系统安全性,增强了系统的开发效率和运行效率,增加了系统的抗高并发能力,确保了系统的稳定运行。阮晓龙等[7]将ElasticSearch系统应用于反向代理服务器(NginX)日志分析,用于观察和监控网站运行状况,建立了智能监控系统。

1.4  深度学习

深度学习是一种模拟人脑神经网络结构的机器学习方法[8],通过多层次的神经网络(深度神经网络)来学习和解析复杂的数据模式。这一领域的兴起得益于计算能力的提升和大规模数据的可用性,使得深度学习在图像识别、自然语言处理、语音识别等领域取得显著的成果。

深度学习的核心是人工神经网络,其基本单元是神经元,通过模拟神经元之间的连接和信息传递来实现学习任务。深度学习网络的层次结构使其能够从数据中提取抽象特征,逐层进行特征表示学习,从而更好地捕捉数据的复杂关系。常见的深度学习模型包括卷积神经网络(CNN)用于图像处理,循环神经网络(RNN)用于序列数据,以及自注意力机制模型(Transformer)在自然语言处理等领域的广泛应用。

深度学习的成功得益于大量的训练数据和优秀的优化算法,其中梯度下降等方法被广泛使用。此外,深度学习还借鉴了一些生物学原理,如神经网络中的权重更新类似于突触强度的调整。

2  智能备件管理系统设计

2.1  系统总体架构

系统架构(图1)设计遵循了分层架构思想,明确分离了表现层和业务逻辑,确保了应用服务逻辑的一致性、结构的开放性、功能的可扩展性和可维护性。利用基于Python的现代Web框架(Fastapi)技术平台和大型关系数据库PostgreSQL,建立了前后端分離的系统架构。这一构想确保了系统的高效性、弹性和可靠性,同时满足了对简洁性、跨平台性、可扩展性、可移植性和稳定性的多重要求,为系统提供了可信赖的基础设施。

2.1.1  模块功能解析

1)数据存储层。数据存储层采用流行的大型关系型数据库软件PostgreSQL,旨在安全存储和备份数据。该层为业务逻辑层提供灵活、高效的数据操作,包括数据库创建、更新、读取、删除(CURD)操作和文件系统读写。数据存储层确保数据安全、一致性、可用性,为系统提供可靠基础支持。

2)应用层。应用层以Python语言运行在高性能Web服务器(Uvicorn)应用服务器上,连接系统前台和后台数据处理。涵盖系统门户、信息、流程、统计、辅助、系统管理和帮助等功能,为用户提供全面服务。其设计目标是用户友好性和与后端数据处理的高效连接,为系统提供可靠支持,满足多样化业务需求。

3)表示层。表示层采用框架(Vue)技术,一种现代JavaScript框架,构建用户界面。Vue简洁、灵活,帮助构建交互强、用户体验优秀的界面。系统更具动态交互性,Vue提供丰富功能和数据驱动视图,提高系统响应速度,让用户体验更个性化、直观。

4)接口模块。接口模块是备品备件管理系统与NC系统进行数据交互的关键。为解决系统技术和平台差异,系统采用了独特的设计风格(RESTful)技术构建接口,实现多平台间动态数据交互。RESTful接口屏蔽了系统差异,降低了系统平台依赖性和接口稳定性问题。这种方法使得系统间对接更灵活高效,提升了数据交互稳定性和通用性,确保了系统间数据传输的可靠无缝。

2.1.2  系统配置

1)软件平台配置如下。

系统开发平台:OpenCV4.6.0.66、PostgreSQL 16.1、pycharm2022。

系统开发语言:Python。

运行平台:openEuler(欧拉)22.03。

运行环境:nodejs。

内存:16 G。

分辨率:1 366*768或以上。

2)终端设备配置如下。

规格:虚拟化服务器。

处理器:4核心CPU,主频2.1 GHz及以上。

内存:16 GB内存及以上。

硬盘:1TB HDD硬盘及以上。

网卡:配置1个4口千兆以太网控制器。

2.2 系统功能设计

智能备件管理系统是一款专为烟草行业提供全面备件管理解决方案的系统,目前分为移动版和PC版,致力于帮助烟草企业高效、精确地管理备件信息,降低管理成本,确保备件合规使用。系统内主要集合了备件查询、备件业务、库存管理、使用记录和个人中心等功能。具体功能模块如图2所示。在权限设置中,设置了维修工、高架库管理员、设备员和领料员四种角色权限,具体权限见表1。

2.3  数据库设计

PostgreSQL是一款强大的、开源的关系型数据库管理系统(RDBMS),以其可扩展性、灵活性和遵循标准化查询语言(SQL)标准的特性而闻名。其版本更新通常包含性能优化、安全增强和新功能的引入。采用PostgreSQL 16.1作为本系统的数据库,在16.1版本中,具有先进的查询优化、更强大的并行处理能力以及对特殊数据类型(JSONB)和空间数据的更好支持。部分数据结构见表2。

3  智能备件管理系统实现

3.1  前端实现

本系统的前端框架基于Vue.js,其中涉及多组件间的跳转切换,用户相关信息的获取、权限设置,前端和后端数据的请求交互[9]。前端实现过程中用到Vue.js的核心组件包括:①路由管理器(Vue-router):用于实现前端组件的加载以及页面间的跳转;②客户端(Axios)。用于实现后端的接口(API)请求,并对Axios进行二次封装。

本系统用到的插件和组件包括以下内容。①滚动视图库(easy-scroller):针对移动端页面图片的局部放大与缩小,可以任意放大图片的局部部位,并进行一系列点击等操作。②文本转语音库(speak-tts):针对webAPP的一款语音播放插件,用于实时提醒用户新消息的接收。③界面组件库(Element-UI):对于涉及用户交互的页面,本系统选用Element-UI组件。Element-UI组件拥有成熟的api文档,使用方式也很灵活。在一些移动端组件无法达到预期要求时使用,有不错的效果;④移动端界面组件库(Vant):对于一些布局、表单、弹出框等内容,本系统选用Vant组件,该组件涵盖常见的表单、导航和按钮等元素,支持自定义样式,修改灵活,可快速迭代出一套可用组件;⑤日期和时间处理库(momentjs):针对前端时间单位进行快速格式化。

对于不同权限的用户,设计了不同的登录界面,登录界面如图3所示。

3.2  后端實现

智能备件管理系统后端使用了基于web开发常用的软件设计模型(model view controller,MVC)设计思想。详细架构如图4所示。

3.2.1  控制器(controller)

本系统将备件查询功能内嵌入控制器当中。其中,备件查询主要指的是主题框架逻辑实体识别算法,模板分类算法和查询构建等部分。

3.2.2  模型(model)

本系统的模型(model)收到控制器确切的查询要求,进而对Elasticsearch进行相关模糊查询,在完成一系列查询工作,为了后续对智能查询效果做进一步的分析和研究,将问答记录保存在PostgreSQL数据库当中。具体操作都是通过后台Python代码进行处理。

3.2.3  视图(view)

视图(view)指用户进行人机交互操作的页面展示,在对比了Python语言的Web应用框架(Django、Flask、Tornado、Fastapi)后,本系统选择了Fastapi框架。Fastapi框架的优势在于自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库。

本系统的后端通过接口,可以获取其他数据库中的数据。以烟草行业常见的备件数据系统(NC系统)为例,可以定时从NC数据库收集备件相关信息,并通过获取的数据进行后续业务。获取NC数据的请求参数见表3。

3.3  搜索功能实现

智能化备件管理系统存在根据备件信息查询的功能,在实现这个功能时,对比了多个搜索算法,最终确定了搜索准确率最高和速度较快的弹性搜索(ElasticSearch)来作为本系统的搜索算法,通过弹性搜索(ElasticSearch)实现输入备件的相关信息检索到与输入信息最相似的备件。

搜索功能实现过程如下:首先,通过开源平台(Docker)对弹性搜索(ElasticSearch)做虚拟化处理,接着Python编程,把相关数据处理为弹性搜索所需要的数据类型(JSON)格式,并导入其数据库。这样系统后端可以通过端口(REST API)对弹性搜索模块做相关的查询操作。如图5所示,通过/v1/search端点,程序可以查询信息。

3.4  图像识别功能实现

备件图像识别查询是基于深度学习开发的图像识别查询方式,采用图像识别PP-ShiTu技术方案,主要由主体检测、特征学习和向量检索3个模块组成,是一个实用的轻量级通用图像识别系统。基于此技术方案,可实现备件的一键式智能化识别,大大提高识别效率,节省人工及时间成本。

此外,当备件迭代更新时,PP-ShiTu无须重新训练模型,能够做到“即增即用”,增加新备件时无须对模型进行重新训练,极大地节省了模型训练成本及时间成本。

3.4.1  数据采集

备件图像识别功能主要适用于工作人员在工业场景上在不同的光照环境下对零部件实时进行图像采集和零部件识别。为了提升目标数据采集的质量,从工业实际生产的条件出发,同时综合考虑深度学习数据的要求,对目标零件多角度旋转。同时,对灯光照明和摄像角度做出多次分析和调整,通过相机的视角变换、光照强弱的改变、图片背景的干扰等操作,采集大量上述特定条件下的目标图像,以制作训练本模型所需的数据集。

3.4.2  主体检测

主体检测技术是目前应用非常广泛的一种检测技术,其指的是检测出图片中1个或者多个主体的坐标位置,然后将图像中的对应区域裁剪下来,进行识别,从而完成整个识别过程。主体检测是识别任务的前序步骤,可以有效提升识别精度。

考虑到备件识别实际应用场景中,需要快速准确地获得识别结果,故本系统选取适用于CPU或者移动端场景的轻量级主体检测模型PicoDet作为本系统主体检测部分的模型。此模型融合了目标检测算法(ATSS)、损失函数(Generalized Focal Loss)、余弦学习率策略、循环指数移动平均线算法(Cycle-EMA)、轻量级检测头(head)等一系列优化算法,基于COCO train2017数据集进行大规模预训练,最终推断(inference)模型大小(MB)仅30.1 MB,mAP可达40.1%,在CPU下单张图片预测耗时仅29.8 ms,完美符合本系统实际落地需求,故在本系统中不对主体检测部分做适应性训练。

3.4.3  特征提取

特征提取是图像识别中的关键一环,其作用是将输入的图片转化为固定维度的特征向量,用于后续的向量检索。好的特征需要具备相似度保持性,即在特征空间中,相似度高的图片对其特征相似度要比较高(距离比较近),相似度低的图片对,其特征相似度要比较小(距离比较远)。深度度量学习(Deep Metric Learning)用以研究如何通过深度学习的方法获得具有强表征能力的特征。

考虑到本系统的真实落地的场景中,推理速度及预测准确率是考量模型好坏的重要指标,所以本系统采用CPU级轻量化骨干网络PP_LCNet_x2_5作为骨干网络,颈部(Neck)部分选用线性层(Linear Layer),头部(Head)部分选用边界损失函数(ArcMargin),损失(Loss)部分选用交叉熵损失函数(CELoss),并结合度量学习arcmargin算法,对高相似物体的区分效果远超单一模型。在Intel至强6148处理器,PP-LCNet的单张图像5.39 ms的预测速度下,在图像数据库(ImageNet)上Top1识别准确率可以达到80.82%,准确率超越大模型ResNet50的模型效果,预测速度可以达到后者的3倍。PP-ShiTu充分挖掘该网络的潜力,学习一个具有超强泛化能力的特征提取模型,同一模型可在多个数据集上同时达到较高精度。

3.4.4  向量检索

PP-ShiTu的第三个模块是向量检索。在获得了图像特征后,通过计算向量距离来获得2张图像的相似度,进一步通过向量检索获取最终识别结果。这种方式最大的优点是,当增加新的品类时,不需要重新训练提取特征模型,仅需要更新检索库即可识别新的目标。为了更好地兼容(Linux, Windows, MacOS)多平台,在图像识别系统中,本系统使用专门用于高效相似性搜索和聚类的库(Faiss)。在此过程中,本系统选取HNSW32为检索算法,使得检索精度、检索速度能够取得较好的平衡,更为贴切本系统实际应用场景的使用需求。

4  功能测试

4.1  Bug调试

智能备件管理系统从2023年9月25日开始试运行,测试功能点265个,执行了1 536个测试用例,平均每个功能执行测试用例5.8个,系统维护人员根据使用测试情况对测试中发现Bug进行处理。

由Bug的版本分布图6可以看出,v0.1—v0.3版本质量是非常不稳定的。Bug数量最高达到41个,经过不断地优化,相关Bug都已经进行解决,目前系统中的遗留Bug数量已经达到测试结束的标准。目前,使用版本能够达到项目预期包含的功能业务。

4.2  搜索功能

智能备件系统在录入每个备件的信息时,设置了名称、库存、编码、图号、型号和规格字段,当某个字段不存在时,使用“暂无”替代。为了验证搜索功能的完整性,随机选择一件备件,分别输入备件的名称、编码、图号、型号和规格来观察最相似的备件是否为目标备件。

现随机选取1件备件。名称:钻石杆,编码:0401700101218,图号:SQ35.05-123-MY。分别输入备件名称、备件编码和备件图号,结果表明,输入备件名称、备件编码和备件图号都可以成功搜索到目标备件。搜索结果如图7所示。

4.3  图像识别功能

使用图像识别功能时,采用21 724张图片作为训练集,5 432张图片作为验证集,共27 156张图片2 089种备件来训练特征提取模型。经过100个轮次(epoch)的训练,选取了其中效果最好的模型来实际使用,模型的性能参数如下,recall1:0.942 58,recall5;0.974 47;mAP:0.909 51。

随机选取一种备件,使用手机进行拍照,并将该图片进行图像识别,结果表明,可以成功识别目标备件,识别结果如图8所示。

(a)  备件照片             (b)  图像识别结果

5  结束语

智能备件系统采用了B/S架构,将核心功能集中在服务器上,简化了开发、维护和使用,在查询备件时创新性地考虑各个烟厂部门的备件查询习惯,设计了多种查询方式:机型关联关系查询、备件信息查询、圖像识别方式查询和层级图册查询,满足了不同部门的查询需求。并且,为了方便查询,本系统提供移动端和PC端2种选择,移动端提供灵活的备件管理,随时可查询和操作。PC端则提供广泛的数据展示与分析功能,提高了烟厂工作效率,实现了数字化赋能,为高效管理备件、提升生产效益提供了可行的解决方案。

参考文献:

[1] 张国威,于申,徐冰清.Elasticsearch企业级搜索在国元证券的应用研究[J].现代信息科技,2023,7(8):160-163.

[2] VOIT A, STANKUS A, MAGOMEDOV S, et al. Big data processing for full-text search and visualization with elasticsearch[J].International Journal of Advanced Computer Science and Applications,2017,8(12).

[3] 王强,倪巍伟,何争.证券交易系统日志采集分析平台的设计与实现[D].南京:东南大学,2021.

[4] 刘宏宏,李泽鹏,马丽琴.基于ES的银行系统智能运维平台的设计与研究[D].兰州:兰州大学,2020.

[5] 王博,王风宇.基于ElasticSearch的科技型企业数据筛选与分析管理系统[D].济南:山东大学,2019.

[6] 陶林,瞿少成.基于ElasticSearch与聚合支付的分布式电商平台的设计与实现[D].武汉:华中师范大学,2020.

[7] 阮晓龙,宋斌伟,邓汪涛,等.基于ElasticSearch的Nginx日志分析平台的研究与实现[J].现代信息科技,2022,6(6):1-7,14.

[8] 刘冰.农作物病虫害识别的关键点及应用研究——基于深度神经网络方法[J].河北农机,2023(7):103-105.

[9] 江家龙.基于Vue.js框架的餐饮WebAPP设计与实现[J].科技创新与应用,2023,13(36):128-132,136.

猜你喜欢
烟草企业图像识别数字化
家纺业亟待数字化赋能
基于Resnet-50的猫狗图像识别
高中数学“一对一”数字化学习实践探索
高速公路图像识别技术应用探讨
高中数学“一对一”数字化学习实践探索
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于网络环境下烟草企业营销的创新思考
烟草商业企业定点采购优化探讨
数字化制胜