保护员工安全,降低未佩戴PPE的风险
在工作环境中,确保员工正确佩戴个人防护装备(PPE)至关重要。通过使用基于计算机视觉的PPE检测系统,可以提高工作场所的安全性,并减少因未佩戴PPE而产生的风险。
Roboflow提供了多种定制训练的PPEAPI,这些API可以检测PPE以及未正确佩戴PPE的情况(例如,在建筑工地上未佩戴头盔)。本指南将重点介绍Roboflow建筑工地安全PPE API。
为了寻找更多API,请访问RoboflowUniverse,这是一个拥有超过50,000个公共计算机视觉模型的社区,可以在项目中使用这些模型。
在本指南中,将展示如何使用Roboflow建筑工地安全API来检测PPE。到本指南结束时,将从PPE检测模型获得预测结果,这些结果可以用来评估特定环境中PPE的存在或缺失。
from roboflow import Roboflow
rf = Roboflow(api_key="API_KEY")
project = rf.workspace().project("construction-site-safety")
model = project.version(5).model
# 在本地图像上进行推理
print(model.predict("your_image.jpg", confidence=40, overlap=30).json())
# 可视化预测结果
model.predict("your_image.jpg", confidence=40, overlap=30).save("prediction.jpg")
将“your_image.jpg”的值替换为想要进行推理的图像名称。然后,运行脚本。控制台将打印出原始预测数据:
{'predictions': [{'x': 389.5, 'y': 197.5, 'width': 175.0, 'height': 163.0, 'confidence': 0.9049781560897827, 'class': 'Hardhat', 'class_id': 0, 'image_path': 'your_image.jpg', 'prediction_type': 'ObjectDetectionModel'}, {'x': 376.0, 'y': 311.5, 'width': 108.0, 'height': 73.0, 'confidence': 0.8808342218399048, 'class': 'NO-Mask', 'class_id': 3, 'image_path': 'your_image.jpg', 'prediction_type': 'ObjectDetectionModel'}, {'x': 377.5, 'y': 372.0, 'width': 497.0, 'height': 532.0, 'confidence': 0.8804072141647339, 'class': 'Person', 'class_id': 5, 'image_path': 'your_image.jpg', 'prediction_type': 'ObjectDetectionModel'}, {'x': 365.5, 'y': 380.0, 'width': 223.0, 'height': 260.0, 'confidence': 0.6987550258636475, 'class': 'NO-Safety Vest', 'class_id': 4, 'image_path': 'your_image.jpg', 'prediction_type': 'ObjectDetectionModel'}], 'image': {'width': '640', 'height': '640'}}
将在保存为“prediction.jpg”的文件上看到模型的预测结果。
现在,可以开始编写PPE检测API的逻辑。为此,推荐使用supervision,这是一个由Roboflow团队积极维护的开源Python包,它为构建计算机视觉应用程序提供了一系列的工具。
使用supervision,可以:
- 按类别、边框区域、置信度等过滤预测结果。
- 在图像上绘制对象检测和分割预测。
- 使用ByteTrack进行对象跟踪。
- 使用SAHI进行小对象检测。
- 更多功能。