原创项目合集 c80

基于 YOLOv8 的盲道障碍检测系统

一、项目简介

本项目面向无障碍出行场景,基于 YOLOv8 构建盲道障碍物目标检测模型,并使用 PyQt5 开发可视化桌面端。系统可对盲道及其周边常见障碍物进行检测,为盲人出行辅助、道路巡检和课程项目演示提供直观参考。

项目将模型推理、图片与视频处理、摄像头实时检测、用户认证和检测历史管理整合在同一应用中,形成从模型训练到桌面端使用的完整流程。

二、主要功能

1. 用户登录与注册

支持用户注册、登录与安全问题找回密码。用户信息保存在本地 users.json 中,密码使用 SHA-256 哈希方式保存。

盲道障碍检测系统登录界面

2. 图片、视频与摄像头检测

支持导入图片和本地视频进行目标检测,也支持调用摄像头实时识别。检测结果会绘制目标类别、置信度和边界框,便于快速查看盲道周边的障碍情况。

盲道障碍图片检测界面 盲道障碍视频检测界面

3. 检测历史管理

系统将检测记录保存到本地 history.json,可刷新、删除或清空历史记录,方便回溯不同图片、视频和摄像头任务的检测结果。

4. 可视化界面与模型自动加载

桌面端提供浅蓝、深蓝、绿色和橙色等主题风格,并使用侧边栏组织功能入口。应用会自动查找 runs/train/ 下最新训练结果中的 best.pt 权重,减少手动配置步骤。

三、检测类别

模型覆盖 16 类盲道及周边常见目标,既可识别盲道本身,也能识别可能影响通行的车辆、行人和路障。

盲道障碍检测类别示例
类别标识中文名称
blind track盲道
pole立杆
ashcan垃圾桶
fire_hydrant消防栓
car汽车
stop_sign停车标志
bicycle自行车
truck卡车
person行人
dog
spherical_roadblock球形路障
motorbike摩托车
warning_column警示柱
bus公交车
tricycle三轮车
reflective_cone反光锥
盲道障碍检测结果示例

四、项目技术栈

类别技术 / 工具用途
目标检测YOLOv8 / Ultralytics模型训练、验证与推理
深度学习框架PyTorch模型运行环境
桌面界面PyQt5可视化应用与交互界面
图像与视频处理OpenCV-Python、NumPy媒体读取、摄像头采集与结果绘制
数据存储JSON用户信息与历史记录持久化

五、项目结构

盲道障碍检测系统项目结构
c80/
├── gui.py                         # 主界面与检测功能入口
├── login.py                       # 登录、注册与密码找回
├── theme.py                       # 界面主题配置
├── history_manager.py             # 检测历史管理
├── train.py                       # YOLOv8 模型训练入口
├── requirements.txt               # 依赖清单
├── users.json                     # 用户信息
├── history.json                   # 检测历史
├── data/
│   └── data.yaml                  # 数据集配置
└── runs/train/blindtrack_detection/weights/best.pt

六、运行说明

建议使用 Python 3.8 及以上版本,在安装依赖并准备好训练权重后启动桌面应用。

pip install -r requirements.txt
python gui.py

七、模型训练结果

训练过程会生成损失曲线、Precision / Recall 曲线、混淆矩阵等可视化结果,便于评估模型在盲道障碍检测任务上的表现。

盲道障碍检测模型训练曲线 盲道障碍检测模型评估结果 盲道障碍检测混淆矩阵 盲道障碍检测标签分布

本项目为个人原创,结构清晰,功能完整,适合计算机视觉方向课程设计、毕业设计和项目演示使用。有定制化需求可以评论或私信作者。

微信二维码
Jay 微信二维码