ESH系列02丨多摄像头社交距离检测用例

一、用例介绍

我们知道,保持必要的社交距离和戴口罩可以有效降低疫情传播的风险。多摄像头社交距离检测用例可以检测人员并根据多个输入源计算人员之间的社交距离,并对违规人员进行标记和计数,且在浏览器中实时可视化,从而提供了一种预防疾病传播的解决方案。

二、支持的软硬件平台

  • 系统要求:Ubuntu18.04.3 LTS / CentOS 7.x
  • 硬件要求:具有英特尔Iris Plus图形或英特尔HD图形的第六至第十代英特尔酷睿处理器
  • 外设要求:usb摄像头

三、工作原理

20210113162430

四、安装步骤

  • 注:此用例不配置国内源加速亦可正常安装使用,本次演示使用了5G移动网络环境。

1.解压下载的包 unzip multi_camera_detection_of_social_distancing.zip

2.进入解压目录,更改edgesoftware文件的权限 chmod 755 edgesoftware

3.运行命令,安装 ./edgesoftware install

4.会提示输入秘钥,我们输入下载时保存好的key就可以了。

2021-01-1310-08-40

5.安装完成

2021-01-1310-09-20

五、运行使用

1.进入工作路径

cd MultiCamera_Detection_of_Social_Distancing_Reference_Implementation_<version>/MultiCamera_Detection_of_Social_Distancing/mcss-covid19/

2.下载示例视频

以1280x720的分辨率下载该视频:https://www.pexels.com/video/black-and-white-video-of-people-853889/

3.把该视频放到mcss-covid19/resources路径下

2021-01-1310-10-49

4.我们在mcss-covid19/application下打开run.sh,可以看到INPUT1的输入视频名称是否与我们下载的相对应。

  • 我们也可以使用自定义的视频,前提是在resources目录下已添加自定义的视频,且在run.sh进行对应的文件名替换。
  • 或者使用USB摄像头采集实时数据,需要先在系统中找到USB设备名,然后在run.sh中指定设备号,修改INPUT1MIN_SOCIAL_DIST1 两个参数。

2021-01-1310-11-08

5.初始化环境变量:我们可以在当前终端执行下面脚本,也可以添加到bashrc

source /opt/intel/openvino_2021/bin/setupvars.sh

6.我们可以使用intel的CPU、GPU、HDDL、MYRIAD等计算资源来运行,这里我们以CPU为例来演示,通过打开run.sh来设置,如下图:

2021-01-1310-24-59

7.等所有配置都修改完成后,我们就可以给权限然后运行了。

chmod +x run.sh
./run.sh

8.在下图中我们可以看到调用了4个channel,在每个图像的左上角可以看到运行的参数信息,比如FPS、平均FPS、CPU使用率等。视频中的人们在安全距离的会用蓝框显示,违规的会用红框显示,并注明违反了社会安全距离。

2021-01-1310-19-45

9.视频检测完成后,可以在终端看到本次运行的相关信息,比如视频解码设备、调用的线程数、通道数、总时间、总帧数等信息。

2021-01-1310-25-38

六、在浏览器的数据可视化

1.在浏览器上导航到localhost:3000,使用用户admin和密码admin登录。

2021-01-1310-36-47

2.我们在主页面左侧点击Configuration图标,选择Data Sources,在打开的界面点击Add data source

2021-01-1310-44-24

3.选择InfluxDB

2021-01-1310-45-32

4.按照下图配置参数并保存

2021-01-1311-23-34

5.主页的左侧点击+,然后选择Import,在界面跳转后点击下方的Import按钮

2021-01-1311-04-29

6.在该界面点击Upload.json file

2021-01-1316-45-03

7.导入mcss-covid19/resources/multi_cam.json

2021-01-1316-45-26

8.操作完成后会自动跳转到仪表板,以查看实时违规数据。

2021-01-1311-32-51