在工作场所,安全规定的存在是为了保护员工的健康和福祉。然而,确保员工的意识和遵守这些规定可能是一项挑战。即使在疏忽的情况下,员工也可能发现自己处于一个他们不知道需要在特定区域佩戴硬帽的位置。计算机视觉技术在帮助资本密集型行业监控设备和进行定期检查方面找到了自然的契合点,将这些能力扩展到保护人员和设备是一个合理的考虑步骤。
东北大学的研究人员(Xie, Liangbin, 2019)最初收集并开源了硬帽数据集。该数据集包含了7035张需要佩戴防护硬帽的工人图像,涵盖了日常工作中的各种情况。数据集包括27039个标注(平均每张图像约3.8个标注),涵盖三个类别:戴头盔的(19747个)、头部(6677个)和人(615个)。研究人员发布的数据集中,有5269张图像及其标签在训练集中,其余1766张在验证集中。
Roboflow团队在数据集中发现了潜在的错误,并在重新发布前进行了修正。例如,在图像000495.jpg中,存在一个名为“其他”的标注,并且三个看起来像是在学习的人被标记为“其他”。Roboflow团队在数据集发布中移除了这个标注(但保留了图像,因为其他标签仍然存在),因为它看起来是一个错误,导致一个代表性极低的类别,降低了整体数据的训练质量。
此外,这个数据集不仅在实际应用中可能引起兴趣,还为评估和比较模型性能提供了绝佳的领域。图像的形状和大小各异,存在显著的类别不平衡,许多标注特别小(在更广阔的风景中的头部)。这些特点可能成为测试各种模型优缺点的有价值的测试,例如YOLOv3在小边界框上的表现不佳。
可以通过查看完整的数据集。很高兴使这项研究更加开放。
进行了高级数据集健康检查,这使发现了所有这些问题。可以通过查看详细的健康检查结果。
以下是使用Python和Roboflow API加载和使用硬帽检测数据集的示例代码:
import roboflow
# 加载数据集
dataset = roboflow.load("hard-hat-detection")
# 获取训练集
train_ds = dataset.train()
# 获取验证集
valid_ds = dataset.validation()
# 显示训练集中的一张图像
image, label = next(iter(train_ds))
print(label)
这段代码展示了如何使用Roboflow API加载硬帽检测数据集,并获取训练集和验证集。然后,它显示了训练集中的第一张图像及其标签。