Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
指南

缺失 PPE 检测:使用 Construction-PPE 训练 Ultralytics YOLO

了解 Construction-PPE 如何标注缺失的头盔、背心和手套,然后训练 Ultralytics YOLO,让它在你自己的现场摄像头画面中检测缺失的 PPE。

Paula DerrengerPaula Derrenger9 分钟阅读
了解 Construction-PPE 如何标注缺失的头盔、背心和手套,然后训练 Ultralytics YOLO,让它在你自己的现场摄像头画面中检测缺失的 PPE。

要可靠地检测缺失的 PPE,只标注摄像头能看到的内容。在新的 Ultralytics Construction-PPE 数据集中,躲在钢梁后面的头部不代表缺少头盔。只有实际可见且没有戴头盔的头部才会标注 no_helmet 框;被遮挡或位于画面之外的头部则完全不会标注为缺少装备。

我们于 2026 年 11 月 3 日在 Ultralytics 8.4.200 中发布了该数据集:包含 1,000 张图像、12 个类别和 14,863 个经过审核的边界框,涵盖人员、叉车、防护装备和可见的装备缺失情况;图像和标注采用 CC BY 4.0 许可。类别包括专门的 no_vest 和 forklift,标注由 Ultralytics 团队审核。本指南将介绍数据集内容、缺失 PPE 标注规则,以及如何在该数据集上训练、验证和部署 Ultralytics YOLO26 模型。

Construction-PPE 是一个经过审核、包含 12 个类别的 PPE 检测数据集#

Construction-PPE 是一个面向建筑和工业场所的原创目标检测数据集,由 Ultralytics 团队于 2026 年 11 月创建并开源。图像涵盖建筑工地、车间、仓库、装卸区和维护作业,呈现了多样的视角、光照、工人分布和叉车活动。该数据集旨在教会检测器识别防护装备的外观,以及装备明显缺失时的样子。

根据 Construction-PPE 数据集文档,训练前需要了解以下关键信息:

  • 规模: 1,000 张图像、12 个类别,共 14,863 个边界框
  • 数据划分: 固定的 800/200 训练集/验证集划分,没有单独的测试集
  • 格式: 边界框采用 Ultralytics YOLO 格式,无需转换即可用于训练
  • 图像: 人工采集和生成的图像,包含横向、纵向和方形构图,分辨率各异
  • 标注: 专家人工标注结合 AI 自动标注,由 Ultralytics 团队于 2026 年 11 月完成
  • 许可: 图像和标注采用知识共享署名 4.0 国际许可协议,允许在注明出处的情况下用于商业用途

生成的图像并非真实事件的照片,因此,任何在此数据集上训练的模型都必须最终在你自己的摄像头录像上进行测试。

你可以在 Ultralytics Platform 上浏览所有图像和标注、将数据集克隆到你的工作区,或直接使用该数据集进行训练。

Ultralytics Platform 上的 Construction-PPE 数据集页面,显示图像、类别和标注数量

每个 PPE 类别都有对应的装备缺失类别#

这 12 个类别分为三组:五个装备类别、五个装备缺失类别,以及两个用于标注现场人员和车辆的类别。下面的 ID 与标注和 construction-ppe.yaml 一致:

ID类别标注框的对象
0helmet防护头盔或安全帽
1gloves工作手套
2vest高可视度安全背心、夹克或衬衫
3boots防护工作靴或工作鞋
4goggles防护眼镜
5Person人员
6no_helmet可见但未戴头盔的头部
7no_goggle可见但未佩戴防护眼镜的眼部区域
8no_gloves可见但未戴手套的手部
9no_boots可见但未穿防护工作鞋的脚部或鞋子
10forklift叉车
11no_vest可见但未穿高可视度安全服的躯干

每个装备类别都有对应的“缺失”类别。这种配对为模型提供了装备缺失的直接示例,因此模型可以将裸露的头部或未穿背心的躯干作为独立目标标出,而不必让你的代码根据缺少的检测框来推断装备缺失。

Ultralytics Platform 上 Construction-PPE 的 Classes 选项卡,显示全部 12 个类别的标注数量;出现频率最高的是靴子和 Person,最低的是 forklift 和 no_goggle

缺失 PPE 标注的是可见身体部位,而不是推测#

装备缺失类别需要有精确的定义。如果标注人员把所有看不到头盔的头部都标上框,包括被横梁挡住或被画面边缘截断的头部,模型就会学到“被遮挡本身就代表违规”。

Construction-PPE 对全部五个装备缺失类别采用统一规则:缺失装备框标注的是装备本应覆盖的可见身体区域;身体部位被遮挡或位于画面之外,本身并不能证明装备缺失。具体来说:

  • 可见且未戴头盔的头部应标注 no_helmet 框。
  • 可见的裸露手部应标注 no_gloves 框,而不是藏在工具箱后面的手。
  • 可见但未穿高可视度服装的躯干应标注 no_vest 框。
  • 可见但未穿防护工作鞋的脚部或鞋子应标注 no_boots 框。
  • 可见但未佩戴防护眼镜的眼部区域应标注 no_goggle 框。
  • 装备类别标注的是可见装备本身,因此背心有一个框,穿着背心的人则有另一个框。

同一工地上的两名工人:一名工人的头部被自己搬运的胶合板遮挡,只标注 Person 和背心框;另一名工人头部可见且未戴头盔,标注为 no_helmet 和 no_vest

左侧工人的头部被自己搬运的胶合板遮挡,因此标注既不表示戴了头盔,也不表示没戴头盔。右侧工人可见的裸露头部和未穿高可视度服装的可见躯干,都标注了装备缺失框。

这条规则不仅适用于此数据集,也适用于数据标注。如果你用自己的摄像头图像扩展 Construction-PPE,就要遵循同一规则进行标注,否则模型会针对同一个问题收到两种相互矛盾的答案。我们的 Academy 课程介绍了如何将这类规则写进标注指南,以及人在回路中的审核为何能发现自动化流程遗漏的情况,详见标注最佳实践。

Forklift 和 no_vest 让车辆区域也能纳入同一个模型#

许多现场规定涉及人员与车辆共用空间,而不只是装备缺失。forklift 类别将车辆和工人纳入同一个检测器,因此一个 YOLO26 模型就能在一次推理中返回叉车、附近人员,以及未穿高可视度服装的可见躯干。

借助专门的 no_vest 类别,在 Construction-PPE 上训练的模型可以在一次推理中为装卸区返回 forklift、Person 和 no_vest 框。

仓库装卸区,一辆叉车、一名穿着背心的工人,以及另一名被标注为 no_vest 和 no_helmet 的工人

将这些框关联成一个事件属于应用逻辑:把每个 no_vest 框与正确的人员匹配,确定叉车附近的判定范围,并设置某种情况需要持续多久。若要测量距离,距离计算指南可以计算所选检测框中心之间的像素距离;实际距离则需要进行摄像头标定。

几行代码即可在 Construction-PPE 上训练 YOLO26#

先安装 Ultralytics Python 包。首次使用时,YOLO 会下载并解压数据集压缩包。

from ultralytics import YOLO

# 从使用 COCO 预训练的 YOLO26 nano 模型开始
model = YOLO("yolo26n.pt")

# 使用 Construction-PPE 压缩包进行训练
model.train(
    data="https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip",
    epochs=100,
    imgsz=640,
)

对应的 CLI 命令只有一行:

yolo detect train model=yolo26n.pt data=https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip epochs=100 imgsz=640

YOLO26n 是检查训练流程是否正常的合理起点。在现场摄像头的拍摄距离下,手套、护目镜和靴子都是小目标,因此在确定模型前,可以对比更大的 YOLO26s 或 YOLO26m;训练文档介绍了图像尺寸、批量大小和其他所有参数。如果你更喜欢在浏览器中使用免费 GPU,Ultralytics 也提供了 Construction-PPE 的 Colab 笔记本。

不想写代码?在 Ultralytics Platform 上训练#

在 Ultralytics Platform 上打开 Construction-PPE 数据集,然后使用 YOLO26 模型开始云端训练,并在浏览器中选择训练轮数、图像尺寸和 GPU。Platform 会跟踪损失曲线、每轮的精确率、召回率和 mAP,还能让你并排比较不同训练运行。若要添加自己的摄像头图像,请从 Explore 克隆数据集(参见 Ultralytics Platform Explore 指南),上传图像,然后在标注编辑器中进行标注;Smart Annotation 可以先生成框供你审核。

按类别评估模型,不要只看一个平均值#

单一的 mAP 数值无法体现安全团队需要了解的情况。模型可能因为能可靠地检测人员、头盔和背心而获得不错的总体分数,却漏掉大多数 no_gloves 或 no_goggle 情况。验证时要查看各类别的指标:

from ultralytics import YOLO

model = YOLO("runs/detect/train/weights/best.pt")
metrics = model.val()  # uses the dataset's 200-image validation split

print(f"mAP50: {metrics.box.map50:.3f}  mAP50-95: {metrics.box.map:.3f}")
for c in metrics.box.ap_class_index:
    print(f"{model.names[c]:>10}  mAP50-95: {metrics.box.maps[c]:.3f}")

先查看装备缺失类别对应的结果行,并打开验证时保存的混淆矩阵。如果 helmet 和 no_helmet 混淆,或某个缺失类别很少被检测到,就检查漏检图像,并确认训练集划分中该类别包含多少个实例,然后再考虑其他调整。YOLO 性能指标指南介绍了如何解读各类图表。

这 200 张验证图像与训练集来自同一批数据。部署前,请从实际运行模型的摄像头采集一组独立数据,并在这组数据上再次验证,用它来衡量模型在你现场的性能。

将缺失 PPE 检测结果转化为可审核的事件#

由于装备缺失本身就是一个类别,最初的审核规则可以很简单:标记所有包含置信度超过阈值的缺失 PPE 框的画面。

from ultralytics import YOLO

MISSING = {"no_helmet", "no_goggle", "no_gloves", "no_boots", "no_vest"}

model = YOLO("runs/detect/train/weights/best.pt")
for r in model.predict("site_camera_frame.jpg", conf=0.4):
    for cls, conf in zip(r.boxes.cls.int().tolist(), r.boxes.conf.tolist()):
        if r.names[cls] in MISSING:
            print(f"Review: {r.names[cls]} ({conf:.2f})")

处理视频时,将 predict 替换为 track。目标跟踪会为跨帧检测结果分配 ID。然后,应用程序将每个缺失 PPE 框与某个人员轨迹关联起来,例如,检查其中是否包含 Person 框;再应用持续时间和事件规则,让审核人员看到一个事件,而不是一连串画面:

从 Ultralytics 8.4.202 起,保存 RTSP 流和网络摄像头预测结果时会使用各数据流自身的帧率,因此录制的片段能够以正确速度回放。模型准备就绪后,可以将模型导出为 ONNX、TensorRT、OpenVINO 或其他格式,用于边缘设备;也可以从 Platform 部署到专用端点。

检测器报告摄像头能看到的内容。它无法判断头盔是否经过认证或背心是否损坏,因此要将检测事件交给能够作出判断的人处理。

哪些人适合使用 Construction-PPE#

你可以用 Construction-PPE 作为起点,在建筑工地、车间、仓库或装卸区检测其中五种 PPE 类型及其缺失情况。如果你需要以下能力,这个数据集就很适合你:

  • 检测装备缺失,而不只是检测装备。五个专门的装备缺失类别采用一致的可见身体部位规则进行标注,为模型提供了装备缺失情况的直接示例。
  • 在一个模型中同时识别车辆和行人。forklift、Person 和 no_vest 共同覆盖装卸区场景。
  • 许可清晰且可直接用于训练的标注。图像和标注采用 CC BY 4.0 许可,允许在注明出处的情况下用于商业用途;YOLO 格式的标注无需转换即可用于 YOLO26 训练。你在此数据集上训练的 YOLO 模型采用单独的许可协议;请参阅下方的许可问题。

如果你的项目只需大规模检测安全帽和背心,Ultralytics Platform 还托管了 Safety Helmet and Reflective Jacket,包含 10,138 张图像和 2 个类别。对于只检测安全帽的任务,Safety Helmet Detection 包含 5,000 张图像,标注了 head、helmet 和 person。如果你需要完整的现场工作流程,从制定第一条规则到监控部署,请阅读我们的指南:使用 Ultralytics 进行 PPE 检测和工作场所安全。

常见问题

  • 使用专门的装备缺失类别进行训练,例如 no_helmet 和 no_vest;仅在身体部位可见时标注这些类别;在依赖警报前,先检查模型在你自己的摄像头图像上的各类别指标。Construction-PPE 提供了五个此类类别,并采用一致的可见性规则。

  • 这取决于你需要哪些类别。Ultralytics Construction-PPE 在 1,000 张经过审核的图像中涵盖 12 个类别,包括五个装备缺失类别、forklift 和 Person,并采用 CC BY 4.0 许可。如果只需要检测安全帽和背心,Ultralytics Platform 上的 Safety Helmet and Reflective Jacket 数据集提供了更多图像;Safety Helmet Detection 则只涵盖安全帽。无论选择哪一个,要部署到现场都应添加来自你自己的摄像头的图像。

  • 2026 年 11 月发布的版本包含 1,000 张图像、14,863 个边界框和 12 个类别,训练集/验证集的划分为 800/200。类别包括 helmet、gloves、vest、boots、goggles、Person、no_helmet、no_goggle、no_gloves、no_boots、forklift 和 no_vest。

  • 安装或更新 ultralytics 软件包,加载 yolo26n.pt,并使用 Construction-PPE 压缩包 URL 作为 data 调用 model.train(),例如使用 epochs=100 和 imgsz=640。你也可以不写代码,直接在 Ultralytics Platform 上进行云端训练。

  • 专门的装备缺失类别能为模型提供装备缺失情况的直接示例,因此模型可以将可见的裸露头部作为独立目标检测出来。简单的“人员框内没有头盔框”规则可能会把被遮挡的头部误判为裸露头部,除非它也会检查可见性。Construction-PPE 只在身体部位可见时标注装备缺失,因此适用于第一种方法。

  • 可以。图像和标注采用知识共享署名 4.0 国际许可协议发布,允许分享和改编(包括商业用途),但需要注明出处。请注明 Ultralytics 团队,链接到数据集和许可协议,并说明是否进行了修改。这仅适用于数据集:你在此数据集上训练的 Ultralytics YOLO 模型采用单独的许可协议(请参阅下一个问题)。

  • 所有 Ultralytics YOLO 训练模型默认采用 AGPL-3.0 许可,包括在 Construction-PPE 上训练的模型。要使用 Ultralytics YOLO 代码或模型,你需要将整个项目按 AGPL-3.0 开源,或获取 Ultralytics 企业版许可证。这也适用于内部使用和研发。如果你希望项目保持私有,则需要企业版许可证。

作者

Paula Derrenger
Paula Derrenger

增长副总裁 · Ultralytics

Paula Derrenger 是 Ultralytics 的增长副总裁。Ultralytics 是 Ultralytics YOLO 背后的公司,其计算机视觉模型在全球应用最广泛。她负责领导市场营销和合作伙伴关系,建立合作关系并制定市场推广策略,将视觉 AI 带给世界各地的企业。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来