# smartConstruction **Repository Path**: xiaobenkang/smartConstruction ## Basic Information - **Project Name**: smartConstruction - **Description**: 视频分析 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-25 - **Last Updated**: 2025-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 安全帽检测项目 - YOLOv8 基于YOLOv8的智能安全帽检测系统,可以自动识别工地人员是否佩戴安全帽,提升施工现场安全管理水平。 ## 🎯 项目特点 - **高精度检测**: 基于YOLOv8先进的目标检测算法 - **多类别识别**: 检测安全帽、未佩戴安全帽、人员三种类别 - **实时处理**: 支持图片、视频和摄像头实时检测 - **安全分析**: 自动计算安全合规率并生成分析报告 - **易于使用**: 提供简单易用的命令行界面 ## 📊 数据集信息 - **类别数量**: 3个类别 - `Helmet`: 佩戴安全帽 - `No-Helmet`: 未佩戴安全帽 - `Person`: 人员 - **数据格式**: YOLO格式 - **数据来源**: Roboflow平台的建筑安全数据集 ## 🚀 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 训练模型 使用快速训练脚本(推荐新手使用): ```bash python quick_train.py ``` 或使用完整训练脚本: ```bash python train_helmet_detection.py ``` ### 3. 测试模型 运行测试脚本: ```bash python test_detection.py ``` ### 4. 使用训练好的模型进行检测 对单张图片进行检测: ```bash python detect_helmet.py --input path/to/your/image.jpg --save ``` 对视频进行检测: ```bash python detect_helmet.py --input path/to/your/video.mp4 --save ``` ## 📁 项目结构 ``` CONSTRUCTION_SAFETY/ ├── train/ # 训练数据 │ ├── images/ # 训练图片 │ └── labels/ # 训练标签 ├── valid/ # 验证数据 │ ├── images/ # 验证图片 │ └── labels/ # 验证标签 ├── test/ # 测试数据 │ ├── images/ # 测试图片 │ └── labels/ # 测试标签 ├── data.yaml # 数据集配置文件 ├── requirements.txt # 项目依赖 ├── quick_train.py # 快速训练脚本 ├── train_helmet_detection.py # 完整训练脚本 ├── detect_helmet.py # 检测推理脚本 ├── test_detection.py # 测试脚本 └── README.md # 项目说明 ``` ## 🔧 详细使用说明 ### 训练参数配置 在 `quick_train.py` 中可以调整的主要参数: ```python model.train( data='data.yaml', # 数据集配置 epochs=50, # 训练轮数 imgsz=640, # 图像尺寸 batch=8, # 批次大小 device='auto', # 设备选择 workers=2, # 数据加载线程 patience=15, # 早停耐心值 lr0=0.01, # 初始学习率 ) ``` ### 检测参数说明 使用 `detect_helmet.py` 进行检测时的参数: - `--input`: 输入文件路径(图片或视频) - `--model`: 模型路径(默认使用训练好的最佳模型) - `--conf`: 置信度阈值(默认0.5) - `--save`: 是否保存检测结果 ### 支持的文件格式 - **图片格式**: .jpg, .jpeg, .png, .bmp, .tiff - **视频格式**: .mp4, .avi, .mov, .mkv, .flv ## 📈 训练结果 训练完成后,可以在以下位置找到相关文件: - **模型权重**: `runs/detect/helmet_detection/weights/` - `best.pt`: 最佳模型 - `last.pt`: 最新模型 - **训练图表**: `runs/detect/helmet_detection/` - `results.png`: 训练曲线 - `confusion_matrix.png`: 混淆矩阵 - `train_batch0.jpg`: 训练样本可视化 - `val_batch0_pred.jpg`: 验证预测结果 ## 🎭 安全分析功能 系统会自动分析检测结果,提供以下信息: - **检测统计**: 人员总数、佩戴安全帽人数、未佩戴安全帽人数 - **合规率计算**: 安全帽佩戴率百分比 - **安全评级**: 根据合规率给出安全状态评估 - 优秀 (≥90%) - 良好 (≥70%) - 一般 (≥50%) - 需要改进 (<50%) ## 💡 使用技巧 1. **提高检测精度**: - 增加训练轮数(epochs) - 使用更大的模型(yolov8s.pt, yolov8m.pt) - 调整置信度阈值 2. **加速训练**: - 使用GPU训练 - 减小批次大小如果内存不足 - 使用缓存加速数据加载 3. **优化检测效果**: - 根据实际场景调整置信度阈值 - 对检测结果进行后处理过滤 ## 🛠️ 系统要求 - **Python**: 3.8+ - **PyTorch**: 2.0+ - **CUDA**: 11.0+ (可选,用于GPU加速) - **内存**: 最少4GB RAM - **存储**: 最少2GB可用空间 ## 📞 技术支持 如果在使用过程中遇到问题,请检查: 1. 确保所有依赖包正确安装 2. 检查数据集路径配置是否正确 3. 确认模型文件是否存在 4. 查看错误日志获取详细信息 ## 📄 许可证 本项目使用 CC BY 4.0 许可证。 ## 🙏 致谢 - 数据集提供: Roboflow平台 - 算法基础: Ultralytics YOLOv8 - 开源社区的支持和贡献