news 2026/4/30 22:57:27

深度学习框架如何训练 智慧工地 无人机航拍反光衣背心头盔穿戴检测数据集 工地安全施工积水检测数据集 无人机工地积水数据集 无人机建筑施工安全智能化监管 (1)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习框架如何训练 智慧工地 无人机航拍反光衣背心头盔穿戴检测数据集 工地安全施工积水检测数据集 无人机工地积水数据集 无人机建筑施工安全智能化监管 (1)

无人机航拍工地安全 建筑工地施工数据集,航拍工地安全检测图片,标注了车、头盔、无背心、人、水坑等多种目标。图片清晰完整,适合目标检测模型训练。2000张 yolo格式

类别 8类【‘objects’, ‘car’, ‘helmet’, ‘no-helmet’, ‘no-vest’, ‘person’, ‘puddle’, ‘vest’]

1

1

以下是您提供的无人机航拍工地安全检测数据集的详细信息整理成的表格:

属性说明
数据集名称无人机航拍工地安全检测数据集
图像数量2000 张
图像来源无人机航拍(俯视视角)
图像质量清晰完整,适合目标检测
标注格式YOLO 格式(.txt
总类别数8 类
类别列表'objects','car','helmet','no-helmet','no-vest','person','puddle','vest'
典型应用场景建筑工地安全监控、人员合规检测(头盔/反光背心)、危险区域识别(水坑)、车辆管理等
适用任务目标检测、安全违规行为识别、智能工地管理系统
推荐模型YOLOv5 / YOLOv8 / RT-DETR 等主流目标检测模型

💡说明

  • 'objects'类别含义需确认:若为“其他物体”或冗余类别,建议在训练前评估是否保留;
  • 'no-helmet''helmet''no-vest''vest'可用于直接判断安全违规行为
  • 'puddle'(水坑)可用于识别工地积水隐患,提升安全生产预警能力。


1

无人机航拍工地安全检测数据集(2000 张图像,8 类目标,YOLO 格式)的完整 YOLOv8 训练、验证、推理及部署代码,包含:

  • ✅ 数据准备建议
  • dataset.yaml配置
  • ✅ YOLOv8 训练脚本(Python API)
  • ✅ 推理示例(单图 + 视频)
  • ✅ 可选:简易 Web 检测界面(Flask)


🗂️ 一、数据目录结构

同学,请确保您的数据按如下结构组织:

construction_safety_dataset/ ├── images/ │ ├── train/ │ └── val/ # 建议划分验证集(如 1800 train / 200 val) ├── labels/ │ ├── train/ │ └── val/ └── dataset.yaml

🔧若尚未划分验证集,可使用以下脚本自动划分(10% 作验证):

# split_train_val.pyimportosimportrandomimportshutilfrompathlibimportPathdefsplit_dataset(img_dir,label_dir,output_dir,val_ratio=0.1):img_paths=list(Path(img_dir).glob("*.jpg"))+list(Path(img_dir).glob("*.png"))random.shuffle(img_paths)n_val=int(len(img_paths)*val_ratio)fori,img_pinenumerate(img_paths):lbl_p=Path(label_dir)/(img_p.stem+".txt")ifnotlbl_p.exists():continuesplit="val"ifi<n_valelse"train"(Path(output_dir)/"images"/split).mkdir(parents=True,exist_ok=True)(Path(output_dir)/"labels"/split).mkdir(parents=True,exist_ok=True)shutil.copy(img_p,Path(output_dir)/"images"/split/img_p.name)shutil.copy(lbl_p,Path(output_dir)/"labels"/split/lbl_p.name)# 使用split_dataset("original/images","original/labels","construction_safety_dataset",val_ratio=0.1)

📄 二、dataset.yaml配置文件

# construction_safety_dataset/dataset.yamlpath:/your/absolute/path/to/construction_safety_dataset# 替换为你的绝对路径train:images/trainval:images/valnc:8names:['objects','car','helmet','no-helmet','no-vest','person','puddle','vest']

⚠️ 注意:若'objects'是冗余类别(如标注错误或“其他”),建议在训练前清理或合并。


🧪 三、YOLOv8 完整训练代码(Python)

# train_construction_safety.pyfromultralyticsimportYOLO# 1. 加载预训练模型(推荐 yolov8n 或 yolov8s)model=YOLO('yolov8n.pt')# 可替换为 'yolov8s.pt' 获取更高精度# 2. 开始训练results=model.train(data='construction_safety_dataset/dataset.yaml',epochs=100,imgsz=640,# 输入尺寸(航拍图建议 640~1280)batch=16,# 根据 GPU 显存调整(16 for 16GB GPU)name='construction_yolov8n',project='runs/construction_safety',device=0,# GPU ID,CPU 用 'cpu'cache=False,# 缓存图像加速(占内存)workers=8,exist_ok=True,verbose=True,# 可选:启用早停防止过拟合patience=15# 15 轮无提升则停止)print(f"✅ 训练完成!最佳模型保存于:{results.save_dir}/weights/best.pt")

运行:

python train_construction_safety.py

🔍 四、推理代码(单图 + 视频)

单图推理

# infer_single.pyfromultralyticsimportYOLOimportcv2 model=YOLO('runs/construction_safety/construction_yolov8n/weights/best.pt')results=model('test_image.jpg',conf=0.3)# 置信度阈值 0.3annotated=results[0].plot()cv2.imshow("Safety Detection",annotated)cv2.waitKey(0)cv2.destroyAllWindows()

视频/摄像头实时检测

# infer_video.pyfromultralyticsimportYOLOimportcv2 model=YOLO('runs/construction_safety/construction_yolov8n/weights/best.pt')cap=cv2.VideoCapture("drone_video.mp4")# 或 0(摄像头)whilecap.isOpened():ret,frame=cap.read()ifnotret:breakresults=model(frame,conf=0.4)annotated=results[0].plot()cv2.imshow("Construction Safety AI",annotated)ifcv2.waitKey(1)==ord('q'):breakcap.release()cv2.destroyAllWindows()

🌐 五、简易 Web 界面(Flask + HTML)

后端(app.py

# app.pyfromflaskimportFlask,request,render_template,send_from_directoryfromultralyticsimportYOLOimportcv2importos app=Flask(__name__)UPLOAD_FOLDER='static/uploads'RESULT_FOLDER='static/results'os.makedirs(UPLOAD_FOLDER,exist_ok=True)os.makedirs(RESULT_FOLDER,exist_ok=True)model=YOLO('runs/construction_safety/construction_yolov8n/weights/best.pt')@app.route('/')defindex():returnrender_template('index.html')@app.route('/detect',methods=['POST'])defdetect():file=request.files['image']path=os.path.join(UPLOAD_FOLDER,file.filename)file.save(path)img=cv2.imread(path)results=model(img,conf=0.3)annotated=results[0].plot()result_path=os.path.join(RESULT_FOLDER,'result_'+file.filename)cv2.imwrite(result_path,annotated)returnf''' <h3>检测结果:</h3> <img src="/static/results/result_{file.filename}" width="800"> <br><a href="/">返回</a> '''if__name__=='__main__':app.run(debug=True)

前端(templates/index.html

<!-- templates/index.html --><!DOCTYPEhtml><html><head><title>工地安全AI检测</title></head><body><h2>上传无人机航拍工地图片</h2><formmethod="post"enctype="multipart/form-data"action="/detect"><inputtype="file"name="image"accept="image/*"required><buttontype="submit">开始检测</button></form></body></html>

运行 Web 应用:

pipinstallflask python app.py# 访问 http://localhost:5000

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:57:10

MySQL扛不住了?PHP项目分库分表适配紧急方案(限时时效架构指南)

第一章&#xff1a;MySQL扛不住了&#xff1f;PHP项目分库分表适配紧急方案&#xff08;限时时效架构指南&#xff09;当单机MySQL在高并发场景下出现响应延迟、连接数打满、主从延迟严重等问题时&#xff0c;说明系统已触及数据库瓶颈。对于正在线上运行的PHP项目&#xff0c;…

作者头像 李华
网站建设 2026/5/1 5:48:46

企业微信+豆包智能体:实现自动化智能客服与数据分析

引言在数字化转型的浪潮中&#xff0c;企业微信已成为企业内部沟通和客户服务的重要平台。本文将详细介绍如何将豆包智能体&#xff08;基于Coze大模型&#xff09;接入企业微信&#xff0c;实现自动化智能客服与数据分析功能。通过本文&#xff0c;您将了解完整的系统架构设计…

作者头像 李华
网站建设 2026/5/1 5:48:20

【R语言+GPT数据分析实战】:掌握AI驱动生态环境研究的5大核心技能

第一章&#xff1a;R语言与GPT融合驱动的生态环境分析概述 将R语言强大的统计计算能力与GPT系列大语言模型的自然语言理解及生成能力相结合&#xff0c;正在为生态环境数据分析开辟全新的研究范式。这种跨技术栈的融合不仅提升了数据处理效率&#xff0c;还增强了科研人员对复杂…

作者头像 李华
网站建设 2026/5/1 5:48:46

揭秘PHP大数据场景下的分库分表适配难题:99%开发者忽略的3个关键点

第一章&#xff1a;PHP大数据场景下分库分表的背景与挑战随着互联网业务的快速发展&#xff0c;传统单一数据库架构在面对海量数据和高并发请求时逐渐暴露出性能瓶颈。PHP作为广泛应用于Web开发的脚本语言&#xff0c;其底层依赖的MySQL等关系型数据库在单机部署模式下难以支撑…

作者头像 李华