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/4/21 21:55:01

【R语言空间自相关建模全攻略】:掌握地理数据分析核心技能

第一章&#xff1a;R语言空间自相关建模概述空间自相关建模是地理统计分析中的核心内容&#xff0c;用于衡量空间位置上的观测值是否存在聚集性或分散性模式。在R语言中&#xff0c;通过一系列专用包&#xff08;如sp, sf, spdep, gstat等&#xff09;可高效实现空间数据的读取…

作者头像 李华
网站建设 2026/4/27 9:18:12

YOLOv8模型转换为ONNX后推理性能测试

YOLOv8模型转换为ONNX后推理性能测试 在智能安防摄像头、工业质检产线和无人机巡检系统中&#xff0c;目标检测模型的部署正面临一个共同挑战&#xff1a;如何在保证高精度的同时&#xff0c;将训练好的复杂网络高效运行于从云端服务器到边缘设备的多样化硬件上。YOLOv8作为当…

作者头像 李华
网站建设 2026/4/25 19:55:10

YOLOv8训练时如何使用EMA指数移动平均?

YOLOv8训练时如何使用EMA指数移动平均&#xff1f; 在深度学习模型的训练过程中&#xff0c;一个常见的挑战是&#xff1a;即使最终损失函数趋于收敛&#xff0c;验证指标&#xff08;如mAP&#xff09;仍可能出现剧烈波动。这种不稳定性不仅影响对模型真实性能的判断&#xf…

作者头像 李华
网站建设 2026/4/29 9:29:23

电子产品为什么要做FCC认证?

电子产品出口美国需要做FCC 认证&#xff0c;核心是满足美国联邦通信委员会&#xff08;FCC&#xff09;的法规要求&#xff0c;实现合法市场准入、管控电磁干扰、规避合规风险&#xff0c;具体原因如下&#xff1a;美国市场准入的强制性要求FCC 认证是电子产品进入美国市场的法…

作者头像 李华
网站建设 2026/4/28 17:34:28

蓝牙音箱CCC认证的申请流程是怎样的?

蓝牙音箱&#xff08;属 CCC 目录 0801 音视频设备类&#xff09;的 CCC 认证流程&#xff0c;按 “准入确认→申请受理→型式试验→工厂检查→合格评定→发证与维护” 闭环执行&#xff0c;通常可先发证后审厂&#xff08;获证后 3 个月内完成首次工厂检查&#xff09;&#x…

作者头像 李华