A361-基于yolo模型的flask社区公告绿地浇灌检测管理系统
【购买前必看】
1、关于我们
深度学习乐园是由python哥全职技术团队组建运营【团队成员为:复旦大学博士、华东理工爱丁堡博士、格拉斯哥博士、纽约大学硕士、浙江大学硕士】。
我们只做python业务,精通sklearn机器学习/torch深度学习/django/flask/vue全栈开发。
2、关于项目
我们从2018年开始,就专注于深度学习sci、ei、ccf、kaggle等,至今已有7年,共发表过10多篇顶刊顶会。
官网累积了数百个项目,已有3000多学员付费购买,圈子内有口皆碑:www.zzgcz.com (更多高级私密项目无法对外,联系微信定制:zzgcz_com)
3、售后承诺
包远程安装调试,所有项目均在本地运行通过,大部分都有截图和录屏。
支持二次修改,所有项目都是我们自己写的,改起来也非常容易。
加急定制1-2天可完成,这就是实力证明,远程验收满意后再付全款!
所有客户终身售后。兼职的人家都有主业,谁愿意持续服务你?
社区公共绿地浇灌监测管理系统技术说明文档













模块划分
| 模块 | 主要职责 | 关键文件/函数 |
|---|---|---|
| 用户管理 | 注册/登录/登出;头像上传;角色权限校验 | app.py:/api/login、/api/register |
| 社区管理 | 社区信息增删;负责人权限限定查询 | app.py:/api/addcommunity、/api/communitylist |
| 绿地管理 | 绿地信息增删查改;根据角色过滤所管辖绿地 | app.py:/api/addgreen、/api/greenlist |
| 浇灌记录管理 | 维保人员记录浇灌;负责人审核/统计;分页列举;编辑/删除 | app.py:/api/add_irrigation、/api/irrigation_list |
| 浇灌数据分析 | 按社区维度统计:绿地浇灌次数、用水趋势、用户分布、面积 vs 用水量散点 | jiaoguananalyse.html + /api/irrigationstats |
| 病虫害检测(YOLO) | 接收前端/Qt 界面调用,加载模型、推理、解码、绘框并返回结果 | MainProgram.py:self.model = YOLO(...)\ self.model(img_path, conf, iou) |
| 通用配置 | Flask App 配置、数据库连接池、Session 管理、Menu 生成 | app.py 顶部配置段落 |
后端 RESTful 接口详解
统一前缀:所有 API 均在 /api/ 下
| 方法 | 路径 | 参数(JSON/表单) | 返回示例 | 描述 |
|---|---|---|---|---|
| POST | /api/login | { role, uname, psw } | { success: true/false } | 登录认证,设置 session |
| POST | /api/register | multipart/form-data: role, name, uname, psw, [community/adminRef/leaderRef], avatar | { success: true } | 注册,保存二进制头像 |
| GET | /api/communitylist | — | [{ community_name, address, ... }] | 列出所有或指定负责人社区信息 |
| POST | /api/addcommunity | community_name, address, buildings, green_area | { message: "...", error? } | 新增社区 |
| POST | /api/deletecommunity | { community_name } | { message: "小区已成功删除" } | 删除社区 |
| GET | /api/greenlist | — | [{ green_name, green_size, community_name }] | 列出所有或负责人辖区绿地 |
| POST | /api/addgreen | green_name, green_size, community_name | { message: "绿地已成功添加" } | 新增绿地 |
| POST | /api/deletegreen | { green_name } | { message: "绿地已成功删除" } | 删除绿地 |
| POST | /api/add_irrigation | green_name, duration, irrigation_time, water_amount, notes, photo(blob) | {"success":true} | 维护人员提交浇灌记录 |
| GET | /api/irrigation_list | — | [{ id, green_name, irrigation_time, ... }] | 列举浇灌历史 |
| POST | /api/update_irrigation | id, irrigation_time, duration, water_amount, notes | { success: true } | 编辑浇灌记录 |
| POST | /api/delete_irrigation | { id } | { success: true } | 删除浇灌记录 |
| POST | /api/irrigationstats | { community } | { green_names, irrigation_counts, dates, water_amounts, user_distribution } | 按社区统计并返回 ECharts 所需数据 |
一、系统概述
本系统旨在实现社区范围内的绿地信息统一管理、维护记录及浇灌监测,并结合图像识别技术(YOLOv8)对绿地病虫害等问题进行自动检测,为社区绿化养护工作提供信息化、智能化支持。
系统支持三类用户角色:
管理员:可管理所有负责人账号及权限。
负责人:负责所管辖社区绿地及维护人员的管理。
维护人员:记录并上报绿地浇灌信息,使用病虫害检测模型辅助判断绿地状态。
二、系统功能模块
- 用户权限管理模块
角色 功能权限说明
管理员 添加/删除负责人,系统配置
负责人 添加/管理维护人员、添加/管理绿地、查看数据统计
维护人员 记录浇灌信息、上传绿地照片并运行YOLO检测模块
- 绿地管理模块
绿地属性包括:
绿地名称
面积
所属社区
社区属性包括:
社区名称
社区面积
楼栋数
拥有绿地数量(由系统自动统计)
对应前端页面:
lvdimanage.html
shequmanage.html
- 浇灌信息模块
浇灌记录字段包括:
绿地名称、面积、所属社区
浇灌时间、时长、水量、备注
上传绿地现场图片(供模型检测)
操作维护人员姓名
功能包括:
增删查改(支持负责人审核)
按社区统计浇灌频率、用水趋势、用户行为
对应页面:
jiaoguanlist.html
jiaoguananalyse.html(可视化图表分析)
- 图像检测模块(YOLOv8)
模块功能:通过用户上传绿地照片,检测病虫害、异常植被等目标。
技术实现:
使用 ultralytics.YOLO 加载 YOLOv8 预训练模型
图形界面使用 PyQt5 实现,可导入单张图像或批量文件夹
模型配置与调用逻辑详见 MainProgram.py
检测流程:
用户上传图片至Qt界面
使用模型进行目标检测(支持自定义类别,如害虫、枯萎等)
绘制边框并标注类别、置信度
将结果表格化展示,同时可保存图像
三、技术架构
后端架构(Flask)
路由处理:基于 Flask 路由与视图函数(如 /run, /api/add_irrigation, /api/userlist 等)
数据库:MySQL,使用 SQLAlchemy 管理连接池
用户登录注册、角色管理、权限判断
前端实现(HTML + JS)
各角色功能页面独立,菜单根据 session['role'] 控制
页面包括:
用户管理(usermanage.html)
小区管理(shequmanage.html)
绿地管理(lvdimanage.html)
浇灌信息管理与分析(jiaoguanlist.html, jiaoguananalyse.html)
数据分析图表(ECharts)
展示内容:
每块绿地浇灌频率
各日用水趋势
用户浇灌分布饼图
面积与浇水量的散点图
四、数据库设计(主要表)
表名 说明 关键字段
user_info 用户信息表 uname, role, leaderRef, community, adminRef
community 社区信息表 community_name, address, buildings, green_area
green 绿地信息表 green_name, green_size, community_name
irrigation 浇灌记录表 irrigation_time, duration, water_amount, green_id
五、模型训练与部署说明
模型训练脚本
训练入口:train.py
训练模型:YOLOv8n,数据集:datasets/RiceInsectData/data.yaml
参数:300轮训练,batch=4
在线部署方式
模型界面由 MainProgram.py 通过 PyQt5 实现
模型通过前端 /run 页面按钮调用后端 /runcode 接口执行
检测图片支持单张与文件夹批量处理
六、系统特点与优势
✅ 三层角色权限分明:保障系统安全、分工明确
✅ 支持绿地图像检测:YOLOv8模型结合PyQt前端,辅助识别病虫害
✅ 可视化分析图表:社区维度的多指标用水行为展示
✅ 前后端分离结构清晰:接口丰富、易于拓展维护
✅ 支持模型训练与部署:可在不同社区定制特定模型
七、运行环境依赖
Python 3.9
Flask 2.2+
MySQL 5.7+
PyQt5
ultralytics (YOLOv8)
pandas、sqlalchemy、cv2、torch
八、未来优化方向
智能调度推荐:结合天气与历史浇灌频率优化未来浇灌计划