将深度学习和计算机视觉相结合的隔离项目社会距离化
这个术语已席卷全球,正在改变着我们的生活方式。社交距离也称为“物理距离”,是指在您自己与其他并非来自家庭的人之间保持安全的空间。随着该国开始在激增的COVID-19案件中发挥作用,保持社会隔离已成为关键问题。与COVID-19情况有关的最大担忧是感染通过接触甚至在感染者附近而从一个人传播到另一个人的速度。与“ Covid-19”战斗时,“社交距离”的停留时间比预期更长。
因此,这使我开始思考开发一个AI模型,以检测人们是否在追随社会隔离并同时戴着口罩。因此,这里是模型结果的样本。通过使用深度学习和OpenCV,我们可以从视频剪辑中提取有趣的见解。红色的边框表示该人在另一个人的附近,蓝色的框表示该人正在保持社交距离。我们有单独的边界框,用于识别人员是否戴着口罩。
步骤概述
TensorFlow对象检测API是用于创建解决对象检测问题的深度学习网络的框架。该API提供了经过预训练的对象检测模型,它们被称为Model Zoo,已经在COCO数据集中进行了训练。上下文中的公共对象(COCO)数据集在90个常见对象中具有200,000张图像,其中有超过500,000个对象注释。请参阅下面的图像,这些图像是COCO数据集的一部分。
可可对象类别
在这种情况下,我们关心的是“人”类,它是COCO数据集的一部分。
该API还支持许多模型。请参阅下表以供参考。API支持的一小部分模型
这些模型在速度和准确性之间进行权衡。在这里,我选择了ssd_mobilenet_v1_coco来检测“人”。一旦我们使用对象检测API识别了“人员”,就可以预测人员是否保持社交距离,我们就可以使用OpenCV,它是一个强大的图像处理库。一旦检测到社交距离,我就使用了faster_rcnn_inception_v2_coco API,该API之前曾使用GPU(NVIDIA Quadro P4000 Linux)在前2000张图像上进行训练, 以检测该人是否戴着口罩。
遵循的主要步骤是
- 将ssd_mobilenet_v1_coco模型加载到图形中,并加载属于COCO数据集的类的列表
- 使用cv2.VideoCapture(filename)打开视频,并逐帧读取每一帧并将其写入路径
- 对于每一帧,使用加载的图形执行对象检测
- 从ssd_mobilenet_v1_coco返回的结果是每个已识别的类及其置信度得分和边界框预测。
- 根据类别和置信度得分> 0.60,如下所示检测帧中的人数。
- 根据我们先前得到的边界框预测绘制一个蓝色的边界框,并找到宽度的中点。用ID标记每个边界框。
- 查找框架中点之间的欧几里得距离。
- 具有欧氏距离,找到距离小于200的边界框,并将边界框的颜色更改为red。
- 将所有代码段放在一起,使所有帧通过并保存在路径中。因此,我们将获得一组社交距离检测帧
- 将我在顶部训练的带蒙版和不带蒙版图像的Frozen_inference_graph.pb(faster_rcnn_inception_v2_coco)加载到图形中,并加载类列表
- 对于每个检测到的社交距离帧,使用faster_rcnn模型的已加载图对戴着口罩的人执行对象检测
- 最后,使用先前获得的帧,使用python中可用的moviepy包创建视频
社会隔离以及其他基本卫生措施对于保持Covid-19的传播速度尽可能慢非常重要。该项目只是概念证明。
最后
感谢大家一直以来的支持,现在活动正式开始,一共三本实体书,资料+电子书是人人都有的,私信【1】即可参与!