SkillAgentSearch skills...

BridgeDiseaseBackend

桥梁病害检测分割系统后端项目

Install / Use

/learn @YHJYgain/BridgeDiseaseBackend
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

桥梁病害检测与分割系统后端

项目介绍

桥梁病害检测与分割系统是一个基于 Flask 框架开发的后端服务,用于对桥梁结构进行病害检测、分割和评估。系统利用计算机视觉和深度学习技术,能够自动识别和分析桥梁表面的各类病害,如裂缝、锈蚀等,并提供详细的评估报告。

主要功能

  • 用户管理:支持用户注册、登录、登出和权限管理,使用 JWT 进行身份验证
  • 模型管理:支持上传、查询和管理多种病害检测模型
  • 媒体处理:支持上传和管理图片、视频等媒体文件
  • 病害检测:使用深度学习模型对桥梁图像/视频进行病害检测和分割
  • 病害评估:基于多种指标(如病害数量、面积、形状复杂度等)对病害进行综合评估
  • 操作日志:记录系统中的各类操作,便于追踪和审计
  • API限流:防止 API 滥用,保障系统稳定性

技术栈

  • Web框架:Flask
  • 数据库:MySQL + SQLAlchemy ORM
  • 认证:Flask-JWT-Extended
  • 跨域支持:Flask-CORS
  • 图像处理:OpenCV, Pillow
  • 视频处理:MoviePy
  • 深度学习:Ultralytics YOLO11-seg

安装指南

环境要求

  • Python 3.8+
  • MySQL 5.7+

依赖版本

Flask==3.1.2
flask_cors==6.0.1
Flask_JWT_Extended==4.7.1
flask_sqlalchemy==3.1.1
moviepy==2.2.1
numpy==2.3.3
opencv_python==4.12.0.88
Pillow==11.3.0
scikit-image==0.25.2
SQLAlchemy==2.0.44
torch==2.8.0
torchvision==0.23.0
torchaudio==2.8.0
ultralytics==8.3.213
Werkzeug==3.1.3

安装步骤

  1. 克隆项目到本地
git clone https://github.com/YHJYgain/BridgeDiseaseBackend.git
cd BridgeDiseaseBackend
  1. 安装依赖包
pip install -r requirements.txt
  1. 配置数据库

编辑app/config.py文件,修改数据库连接信息:

SQLALCHEMY_DATABASE_URI = 'mysql://username:password@localhost/bridge_disease'  # SQLAlchemy 数据库 URI
  1. 初始化数据库
mysql -u username -p < sql/init_db.sql
  1. 启动服务
python run.py
  1. 如有需要,也可以编辑app/config.py文件,修改SECRET_KEY
SECRET_KEY = 'WZY'  # Flask 密钥,用于签名 cookies 和其他需要加密的操作

项目结构

.
├── app/                   # 应用主目录
│   ├── __init__.py        # 应用初始化
│   ├── config.py          # 配置文件
│   ├── constants.py       # 常量定义
│   ├── decorators/        # 装饰器
│   ├── models/            # 数据模型
│   ├── routes/            # 路由和控制器
│   ├── static/            # 静态文件
│   │   ├── avatars/       # 用户头像
│   │   ├── medias/        # 媒体文件
│   │   ├── models/        # 模型文件
│   │   └── results/       # 检测结果
│   ├── templates/         # 模板文件
│   └── utils/             # 工具函数
├── docs/                  # 文档
├── logs/                  # 日志文件
├── sql/                   # SQL 脚本
├── tests/                 # 测试代码
├── requirements.txt       # 依赖包列表
└── run.py                 # 应用入口

病害评估指标

系统使用以下指标对桥梁病害进行综合评估:

  • 病害数量:检测到的病害实例数量
  • 病害周长:病害轮廓的总周长
  • 病害面积:病害区域的总面积
  • 形状复杂度:病害形状的复杂程度
  • 纹理粗糙度:病害表面纹理的粗糙程度
  • 裂缝宽度:裂缝的平均宽度(适用于裂缝类病害)
  • 平均色调:病害区域的平均色调(适用于锈蚀类病害)

基于上述指标,系统会计算出病害严重性得分,并给出相应的病害等级(轻微、中等、严重、危急)和评估描述。

安全性考虑

  • 使用 JWT 进行身份验证和授权
  • 密码使用哈希存储
  • API 限流防止滥用
  • 文件上传类型和大小限制

联系方式

如有问题或建议,请联系项目维护者。

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated18d ago
Forks1

Languages

Python

Security Score

70/100

Audited on Mar 17, 2026

No findings