biditatropa1-create/WestMine-Project

GitHub: biditatropa1-create/WestMine-Project

基于YOLOv8和ByteTrack的矿区实时计算机视觉监控系统,通过分析CCTV视频流自动检测工人与车辆的危险接近并发出告警,用于职业健康安全合规。

Stars: 0 | Forks: 0

# WestMine 实时工人安全监控系统 **课程:** ICT619 - 人工智能 **作业:** 作业 2 – AI 方案实现 **机构:** Murdoch University,信息技术学院 **学期:** 2026 年第 1 学期 ## 项目简介 该系统采用 YOLOv8s (small) 计算机视觉技术,并结合内置的 ByteTrack 跟踪算法,用于监控矿区的监控录像。它可以检测步行工人是否进入危险区域或过于靠近重型车辆(卡车、轿车)。当发现危险情况时,系统会在 Streamlit 仪表板上显示视觉警报,并记录带有时间戳和保存帧的事件,以便进行合规审计。 ## 如何设置和运行 ### 前置条件 - Python 3.9 或更高版本 - pip (随 Python 一起提供) - 网络摄像头或测试视频文件 (.mp4, .avi, .mov) - 网络连接(首次运行将下载 YOLOv8s 模型权重,约 22 MB) ### 设置步骤 ``` # 步骤 1:在 WestMine_Safety_System 文件夹中打开终端 # 步骤 2:创建 virtual environment python -m venv venv # 步骤 3:激活 virtual environment # 在 Windows 上: venv\Scripts\activate # 在 Mac/Linux 上: source venv/bin/activate # 步骤 4:安装所有必需的 packages pip install -r requirements.txt # 步骤 5:运行 Streamlit dashboard streamlit run app.py ``` 仪表板将在您的默认浏览器中通过 `http://localhost:8501` 打开。 ## 项目文件结构 ``` WestMine_Safety_System/ │ ├── app.py # Main Streamlit dashboard (entry point) ├── config.py # All system settings in one place ├── detector.py # YOLOv8 detection engine and safety checks ├── evaluator.py # Evaluation metrics and chart generation ├── visualiser.py # Drawing overlays on video frames (OpenCV) ├── run_evaluation.py # Standalone script to evaluate from command line │ ├── requirements.txt # Python package dependencies ├── SETUP_GUIDE.html # Detailed setup guide with screenshots ├── README.md # This file │ └── output/ ├── alerts/ # Saved alert frame images ├── logs/ # CSV alert logs for compliance auditing ├── evaluation/ # Evaluation charts and metrics JSON │ └── ground_truth_TEMPLATE.csv # Template for manual annotation └── test_frames/ # Extracted test frames for evaluation ``` ## 仪表板使用说明 ### 1. 实时监控页面 - 上传视频文件 (.mp4, .avi, .mov) 或连接网络摄像头/RTSP 流 - 系统通过 YOLOv8 处理每一帧并显示: - 检测到的人周围有绿色边界框 - 检测到的车辆周围有橙色边界框 - 红色危险区域多边形覆盖层 - 人与车辆之间的距离线 - 检测到危险时的红色边框和警告横幅 - 所有警报都会记录在底部的表格中,并附带时间戳 - 您可以将警报日志下载为 CSV 文件 ### 2. 评估页面 - 上传测试视频以运行模型并收集实际性能指标 - 显示:已处理帧数、平均 FPS、推理时间、置信度分数 - 如果存在 `ground_truth.csv` 文件,它将计算 precision、recall 和 F1 - 生成图表:置信度分布、按类别的检测情况、随时间变化的 FPS ### 3. 设置页面 - 查看和调整检测参数(置信度阈值、IoU、安全距离、图像尺寸) - 切换测试时数据增强,以提高对小型/部分隐藏目标的召回率 - 编辑危险区域多边形坐标(带有自动缩放到当前视频的实时预览) - 点击“应用设置”将更改推送到正在运行的检测器中,无需重启应用 ### 4. 关于页面 - 系统概述、技术栈、已知局限性 - 记录相对于原始提案所做的更改
标签:Kubernetes, Streamlit, YOLOv8, 人员安全监测, 目标检测, 视频监控, 计算机视觉, 访问控制, 逆向工具