内容一览: YOLO v4 是一个实时的、高精度的目标检测模型,本教程将详细讲解如何基于 YOLO v4 和 SORT 算法,实现在多目标条件下的人群距离检测。
关键词: YOLO v4 SORT 多目标检测
新冠疫情爆发初期,「保持社交距离」一直是世界各地的「防护共识」, 无论是 WHO 的至少 3 英尺(0.9 米),还是我国的 1.5-2 米,其出发点都是希望通过扩大人与人之间的社交距离,降低感染风险。
在过去三年中,我们曾介绍过吴恩达的公司--Landing AI,发布的社交距离警告工具,也报道过亚马逊推出的「距离助手」,因为类似孙悟空给唐僧画的圈引发关注,希望借助这一工具帮助员工保持社交距离。
亚马逊社交距离助手示意图
左边红圈:警告,这几位员工,散开散开
右边绿圈:安全距离,继续保持
阅读以往报道:
今天我们将从项目出发,演示如何利用 DeepSOCIAL,基于 YOLO v4 和 SORT 算法,对多目标进行跟踪从而实现人群距离监测。
代码传送门:
DeepSOCIAL 论文解读:
人群距离监测 DeepSOCIAL 最全汉化论文+源码导读
项目代码详解
本教程主要演示:
-
编译 YOLO
-
社交距离监测及感染风险评估的推理过程
注意事项:
-
infer.ipynb 主要介绍了监测社交距离和评估感染风险的推理过程,你可以输入一段行人视频,得到对应的监测和评估信息
-
推荐使用 GPU 运行
以下为完整训练过程。
1. 准备代码环境
# 引入依赖from IPython.display import display, Javascript, Imagefrom base64 import b64decode, b64encodeimport osimport cv2import numpy as npimport PILimport ioimport htmlimport timeimport matplotlib.pyplot as plt%matplotlib inline
2. 编译 YOLO
%cd darknet !sed -i 's/OPENCV=0/OPENCV=1/' Makefile!sed -i 's/GPU=0/GPU=1/' Makefile!sed -i 's/CUDNN=0/CUDNN=1/' Makefile!sed -i 's/CUDNN_HALF=0/CUDNN_HALF=1/' Makefile!sed -i 's/LIBSO=0/LIBSO=1/' Makefile
!make
3. 使用 Darknet 的 Python 接口
查看完整代码,请访问:
4. 使用 SORT 算法对目标进行实时跟踪
!pip install filterpyfrom sort import *mot_tracker = Sort(max_age=25, min_hits=4, iou_threshold=0.3)
5. 输入设置
Input = "/openbayes/input/input1/OxfordTownCentreDataset.avi"ReductionFactor = 2calibration = [[180,162],[618,0],[552,540],[682,464]]
6. DeepSOCIAL 参数设置和函数引入
查看完整代码,请访问:
7. 推理过程
8. 结果演示
show_video('/openbayes/home/darknet/DeepSOCIAL_Crowd_Map.mp4')
show_video('/openbayes/home/darknet/DeepSOCIAL_DTC.mp4')
show_video('/openbayes/home/darknet/DeepSOCIAL_Social_Distancing.mp4')
查看完整 notebook,请访问:
关于 OpenBayes
OpenBayes 是国内领先的机器智能研究机构,提供算力容器、自动建模、自动调参等多项 AI 开发相关的基础服务。
同时 OpenBayes 还上线了数据集、教程、模型等众多主流公开资源, 供开发者快速学习并创建理想的机器学习模型。
现在访问 openbayes.com 并注册
即可享用
600 分钟/周的 RTX 3090
以及 300 分钟/周 的 CPU 免费计算时
点击链接运行完整教程:
还想学习哪些好玩的教程,欢迎留言告诉我们~
—— 完 ——