微服务架构的西江河道漂浮物检测系统设计及实现

2024-06-26 04:25曾庆湖陈新儒
电脑知识与技术 2024年14期
关键词:生态环境

曾庆湖 陈新儒

摘要:随着西江内河河道漂浮物污染问题日益引起人们的重视,智能漂浮物检测也成为西江内河流域治理的重要研究内容之一。针对人工巡检西江内河河道效率偏低和花销大的问题,文章提出了基于微服务技术设计的西江河道漂浮物智能检测系统。该系统采用SpringBoot Alibaba技术构建,使用YOLOv5算法对漂浮物进行识别。系统根据业务需求设计微服务,能够实时观察河道情况,并及时发现异常情况,从而降低人工定点巡视的次数。

关键词:漂浮物检测;生态环境;微服务架构

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2024)14-0046-03 开放科学(资源服务)标识码(OSID) :

1 漂浮物检测研究背景和现状

1.1 研究背景

经济的繁荣通常伴随着大规模的城市化,但也影响了发展地区的生态环境。西江部分内河河道中遍布的漂浮物已经威胁到了水生生物的栖息环境,也对西江内河河道航运的发展产生了不利影响。西江作为一个重要的水域资源,其环境治理工作尤为重要,这些工作需要多个部门的协调配合,要有科学的方略,按时践行。只有做好西江流域环境保护工作,才能够实现西江内河河道环境的持久改善,确保西江流域经济的可持续发展。

1.2 研究现状

当前,国内外学者在水面漂浮物检测领域已有一定的研究。例如,ZHANG等[1]针对早期的水面物体检测方法存在鲁棒性差和检测效果容易受到背景影响的问题,提出了一种基于改进的RefineDet模型的表面漂浮物体实时检测方法,能有效实现较高精度和实时检测。LIN F等[2]提出了一种FMA-YOLOv5s算法,通过在主干网络的底端添加FMA层,进而达到航道漂浮物实时监测的效果。国内学者李宁等[3]提出了一种水面漂浮物识别方法,该方法比基于传统的HOG特征提取方法,能够卓有成效地提高漂浮物识别率。陈任飞等[4]则通过改进SSD算法实现了水面漂浮物检测。SUN H等[5]基于MobileNet V2网络模型提出一种水面漂浮物检测方法,该方法与现有图像识别方法相比,能够减少模型参数量,并实现高效率检测。唐小敏[6]提出了基于SSD神经网络的识别方法,并基于该方法设计了基于安卓端的检测系统。

虽然众多学者在河道漂浮物研究领域投入了大量精力,但仍然存在很多问题需要解决。西江河道漂浮物的运动轨迹会受到多种外因的影响,包括水流速度、水深、漂浮物形状和重量等,这些因素都会对漂浮物的预测精度造成不同程度的影响。研究智能漂浮物检测能够有效减少多种因素对识别结果的影响,提高检测效率,因此研究西江河道漂浮物智能检测系统具有重要意义。

2 需求分析

2.1 业务需求分析

系统主要包括图片推理微服务、摄像推理微服务、统计微服务和日志微服务,其中不同的推理微服务所用的业务处理流程不同。为了能够让市民也参与西江环境保护工作,系统还设有投诉模块的微服务。一旦市民拍照或拍视频上传,并填写好相关表单,系统将通过自动识别并将推理结果推送至生态环境局工作人员,帮助工作人员快速处理。

2.2 用户和安全性分析

系统的用户分别为生态环境局工作人员和市民,其中市民通过小程序端进行访问,而生态环境局工作人员则在后台管理端进行处理。不同用户拥有不同的权限,系统能够自动鉴别不同用户,并根据用户身份展示不同的界面。

3 系统总体设计

3.1 系统架构设计

系统架构图如图1所示,分为访问层、接口层、业务服务层和存储层。

3.1.1 访问层

用户在PC端或者Mobile端接入系统,并向系统发送推理和识别漂浮物服务的请求。通过负载均衡方法处理请求后,向各个微服务发送,最后将处理结果渲染在前端界面。

3.1.2 接口层

接口层主要用于处理用户请求,并转发至各个微服务。通过Ribbon和Feign的使用,能够有效处理并发的请求,从而提高系统的处理能力和性能,并能有效地降低服务器的压力,降低出现故障的概率。

3.1.3 业务服务层

在业务服务层,在前期系统规划中,按照业务逻辑将系统分成多个独立的微服务模块。采用Nacos组件管理各个微服务,降低系统管理开支;采用Gateway 组件为微服务提供路由和监控等服务;而Feign作为声明式的客户端,使得调用各个微服务成本降低,减低系统的响应时间;消息管理则采用RabbitMQ中间件,为各个微服务提供异步的消息服务支持。

3.1.4 存储层

存储层采用关系型数据库和非关系型数据库。每个微服务都有自己的本地数据,采用KingBase 存储,保证了数据的独立性和隔离性。Redis非关系型数据库作为缓存中间件使用,能够降低查询压力,减低查询的等待时间。

3.2 数据库设计

系统主要包括了用户表、图片检测表和视频检测表等3张数据表。

4 基于微服务架构的西江漂浮物检测系统的主要实现

4.1 图片推理微服务

图像推理微服务模块主要负责图片的推理。待测图像输入系统后,便进行图像推理。用户通过该模块输入待识别的西江内河河道漂浮物的航拍图片,系统会对图像进行预处理,调整图像至模型识别的尺寸大小,随后调用算法识别漂浮物,并在页面显示结果如图2所示。

4.2 摄像头推理微服务

摄像头推理微服务模块负责视频推理,摄像头实时拍摄的视频作为输入视频,然后进行推理。通过对RTSP视频推流进行视频处理,然后识别漂浮物和实时推理。

4.3 视频推理微服务

视频推理微服务模块负责视频推理,按照输入视频的格式要求输入视频,然后进行视频结果推理,如图3所示。通过对RTSP视频推流进行视频处理,然后识别漂浮物和结果,可以识别出漂浮物类别、地理位置等信息,如图4所示。

4.4 日志微服务

通过日志微服务,用户可以方便地查看系统检测到的漂浮物信息,包括图像和位置等细节。这种实时的信息展示可以帮助相关用户更快速地了解西江内河河道中的漂浮物情况,从而提高处理效率。用户可以根据日志中提供的信息,有针对性地采取措施,例如派遣人员前往特定位置清理漂浮物,或者调整巡航路线等。

4.5 统计微服务

统计微服务主要用于统计各个推理任务的结果,或在摄像头推理中实时统计,并可视化表现出必要的统计信息。统计微服务可以通过设定时间段,周期性统计并保存西江河道某处出现漂浮物的频率和种类等信息,并且可以对比各个时间段的信息。统计微服务的统计结果能够为后期西江河道环境治理提供数据支持,既能够直观展现信息,又便于对西江河道环境治理进度进行实时把控。

5 结束语

本文基于微服务架构,设计和实现了西江河道漂浮物检测系统。在算法方面,采用了基于YOLOv5算法对西江内河河道漂浮物进行检测,通过YO?LOv5算法快速对西江内河道河漂浮物进行识别和定位;然后对系统的架构和各个模块做出了详细的介绍。

参考文献:

[1] ZHANG L L, WEI Y X, WANG H B, et al.Real-time detection of river surface floating object based on improved RefineDet[J].IEEEAccess,2021(9):81147-81160.

[2] LIN F,HOU T,JIN Q N,et al.Improved YOLO based detection algorithm for floating debris in waterway[J].Entropy,2021,23(9):1111.

[3] 李宁,王雨萱,徐守坤,等.基于AlexNet的小样本水面漂浮物识别[J].计算机应用与软件,2019,36(2):245-251.

[4] 陈任飞,彭勇,吴剑,等.基于深度学习的水面漂浮物智能检测方法[J].工程科学与技术,2023,55(3):165-174.

[5] SUN H X,ZHANG S J,REN R,et al.Maturity classification of “hupingzao” jujubes with an imbalanced dataset based on im?proved MobileNet V2[J].Agriculture,2022,12(9):1305.

[6] 唐小敏.河道漂浮物智能检测系统研究与开发[D].南昌:南昌航空大学,2020.

【通联编辑:谢媛媛】

基金项目:梧州市科技计划项目(项目编号:2022C01002) ;梧州学院大学生创新创业训练计划项目(项目编号:S202311354069)

猜你喜欢
生态环境
发展工业经济与保护生态环境问题的分析
建设湿地园林工程研究
矿山生态环境保护问题及对策研究
浅议郊野公园对城市宜居性提升的设计策略
从社会问题视角看转型期人的发展的失衡
鞍山生态矿山平台构建的对策研究
产权视角下的西宁特钢企业环境风险评价与控制
自然资源资产离任审计评价体系研究
对媒体融合生态环境中出版教育的思考
我国对外贸易促进经济发展的研究