在建筑行业工作期间,经常提醒分包商穿戴适当的个人防护装备(PPE)。正确的PPE穿戴可以挽救生命。从2018年到2019年,建筑工地的伤害事故上升了61%,超过5000名工人在工作时死亡。此外,大约有65000人在工作中受伤。尽管PPE的重要性不言而喻,但在建筑工地上不穿戴适当的PPE是一个常见的安全违规行为。因此,开发了一个应用程序,使用计算机视觉来检测个人防护装备(PPE)。
那么,什么是计算机视觉呢?计算机视觉是人工智能的一个领域,它训练计算机使用数字图像和视频来解释和理解视觉世界,就像人类理解视觉世界一样。这个项目的目的是教会计算机以在建筑行业工作时的方式检测PPE——但计算机理想情况下会比更有效率。这被称为目标检测,即计算机能够识别图像中一个或多个感兴趣的对象。在这种情况下,目标是让计算机识别出安全违规(当PPE穿戴不当或根本没有穿戴)和非安全违规(当PPE穿戴得当)。
为了实现解决方案,首先收集了建筑工人现场的图像。最初,尝试通过抓取图像来自动化这一过程,但发现很多图像是卡通图像或不适合用例,所以手动收集了这些图像。在整理完图像后,使用了Roboflow来标注这些图像。最初,数据显示出不平衡的类别。大约80%的图像中没有安全违规,大约17%的图像中存在安全违规。其余的图像至少包含一个安全违规和一个“适当PPE”对象。在迭代模型时,收集了更多包含安全违规的图像并将它们添加到数据中。
为了安全违规模型的目的和功能,优化了实际正面被正确识别的比例,也称为召回率或灵敏度。这是因为宁愿捕捉到每一个安全违规并有一些误报,而不是优化准确率,这将导致大量的误报。
Roboflow的简洁性如何节省了预处理的大量时间(或天数)。最初,当开始构建这个应用程序时,对计算机视觉几乎没有经验,除了使用手写数字数据集进行练习。在进行大量研究如何预处理图像数据后,遇到了Roboflow。Roboflow简化了从图像预处理和图像增强到训练模型的整个计算机视觉过程。
Roboflow允许用户标注图像,然后选择如何预处理和增强图像,从而实现对象检测模型的快速图像预处理。使用的一种预处理技术是调整图像大小,使它们统一大小。默认的调整尺寸,416x416,压缩了图像以加快训练和推理速度。在完成图像预处理后,Roboflow允许以各种文件格式下载图像数据,包括PASCAL VOC XML、COCO JSON、Tensorflow TFRecord等。这些格式特定于构建的模型类型。可以从中选择的计算机视觉模型范围从MobileNet模型到新的尖端CLIP模型。
Roboflow还免费提供笔记本来创建模型,只需更改几行代码即可使用数据。由于其简洁性,使用了Roboflow的笔记本将对象检测模型适配到数据上,看看模型与标准的预训练MobileNet模型相比如何。
将模型作为应用程序部署。项目的最后一步是将模型集成到Streamlit应用程序中进行部署。通过简单地添加在应用程序上传图像时调整图像大小的功能,能够使用用户友好的Streamlit API设置一个检测安全帽安全违规并为每个违规创建必要表格的应用程序。
通过使用Roboflow进行图像上传、标注、组织和训练,以及使用Streamlit进行部署,这个过程比从头开始编写所有代码要快得多,也容易得多。可以在这里找到编写的用于构建模型的图像和代码,以及Streamlit应用程序。