在线教程 | 用「网红项目」DeepSOCIAL 进行社交距离监测
创始人
2024-03-26 14:09:16
0次

By 超神经

内容一览:YOLO v4 是一个实时的、高精度的目标检测模型,本教程将详细讲解如何基于 YOLO v4 和 SORT 算法,实现在多目标条件下的人群距离检测。

关键词:YOLO v4   SORT   多目标检测

新冠疫情爆发初期,「保持社交距离」一直是世界各地的「防护共识」,无论是 WHO 的至少 3 英尺(0.9 米),还是我国的 1.5-2 米,其出发点都是希望通过扩大人与人之间的社交距离,降低感染风险。

在过去三年中,我们曾介绍过吴恩达的公司--Landing AI,发布的社交距离警告工具,也报道过亚马逊推出的「距离助手」,因为类似孙悟空给唐僧画的圈引发关注,希望借助这一工具帮助员工保持社交距离。

8dcc128d9be61308da708103107fe3c8.png

亚马逊社交距离助手示意图

左边红圈:警告,这几位员工,散开散开
右边绿圈:安全距离,继续保持

阅读以往报道:

* 吴恩达的公司,发布了一款社交距离警告工具

* 亚马逊推出的「距离助手」,好像孙悟空给唐僧画的圈圈啊

今天我们将从项目出发,演示如何利用 DeepSOCIAL,基于 YOLO v4 和 SORT 算法,对多目标进行跟踪从而实现人群距离监测。

代码传送门:

https://openbayes.com/console/open-tutorials/containers/Qgf0mAml82l

DeepSOCIAL 论文解读:

人群距离监测 DeepSOCIAL 最全汉化论文+源码导读

https://arxiv.org/pdf/2008.11672.pdf

 项目代码详解

本教程主要演示:

  1. 编译 YOLO

  2. 社交距离监测及感染风险评估的推理过程

注意事项:

* infer.ipynb 主要介绍了监测社交距离和评估感染风险的推理过程,你可以输入一段行人视频,得到对应的监测和评估信息

* 推荐使用 GPU 运行

2fe3ff1e24b9c0c102fbc414db43af37.gif

教程运行效果示意图

以下为完整训练过程。

 1. 准备代码环境 

# 引入依赖
from IPython.display import display, Javascript, Image
from base64 import b64decode, b64encode
import os
import cv2
import numpy as np
import PIL
import io
import html
import time
import 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 接口 

bb02976af103af71699e3ccb0d77c406.png

7885ab62090a150a29767b70fafd5e59.png

查看完整代码,请访问:

https://openbayes.com/console/open-tutorials/containers/Qgf0mAml82l

 4. 使用 SORT 算法对目标进行实时跟踪 

!pip install filterpy
from sort import *
mot_tracker    = Sort(max_age=25, min_hits=4, iou_threshold=0.3)

 5. 输入设置 

Input            = "/openbayes/input/input1/OxfordTownCentreDataset.avi"
ReductionFactor  = 2
calibration      = [[180,162],[618,0],[552,540],[682,464]]

 6. DeepSOCIAL 参数设置和函数引入 

7234be829ca5c681e2991736723516dd.png

查看完整代码,请访问:

https://openbayes.com/console/open-tutorials/containers/Qgf0mAml82l

 7. 推理过程 

d647492e1921c8e22bba5e2b06ab978d.png

 8. 结果演示 

show_video('/openbayes/home/darknet/DeepSOCIAL_Crowd_Map.mp4')

4c81716f8ca94e3b98a15caac4a63f56.png

show_video('/openbayes/home/darknet/DeepSOCIAL_DTC.mp4')

38f49c743b52990718619ef53e64af39.png

show_video('/openbayes/home/darknet/DeepSOCIAL_Social_Distancing.mp4')

2d62a16ff2f9597f6a52d8d103ba13c4.png

查看完整 notebook,请访问:

https://openbayes.com/console/open-tutorials/containers/Qgf0mAml82l

 关于 OpenBayes 

OpenBayes 是国内领先的机器智能研究机构,提供算力容器、自动建模、自动调参等多项 AI 开发相关的基础服务。


同时 OpenBayes 还上线了数据集、教程、模型等众多主流公开资源,供开发者快速学习并创建理想的机器学习模型。


现在访问 openbayes.com 并注册


即可享用 


600 分钟/周的 RTX 3090


以及 300 分钟/周 的 CPU 免费计算时

运行完整教程,请点击阅读原文,或访问以下链接:

https://openbayes.com/console/open-tutorials/containers/Qgf0mAml82l

还想学习哪些好玩的教程,欢迎留言告诉我们~

—— 完 ——

58742d381a05aaf8338bd7a946c55ec0.png

b4ee1fae3e91197640676889c25468d2.png

6b2bccf6a9f39c25d4e343104ecc261c.png

cd84ef48255e7cafb1714ef52a41689f.gif

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...