首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不要离我太近!疫情下估计人群传染风险,ECCV Demo 奖大显身手!

作者 | Barack

编辑 | 陈彩娴

在新冠疫情在全球持续蔓延的背景下,来自意大利摩德纳大学的研究者们结合计算机视觉技术以及传染病预测模型设计了一种可以实时运行的多场景人员感染风险估计系统。

该系统可以实时地对摄像头中出现的人员进行检测,界面中还有一系列指标来反映当前场景的传染风险。可以看出,当别人离你太近时,系统就会出现红色警告!

凭借出色的系统演示以及系统背后理论基础扎实的计算机视觉模块和传染风险评估模块,这篇论文获得了 ECCV 2020的 Demo奖。

该系统对计算量的需求非常小,可以直接部署在公共场所中的摄像头上,只需配备一个嵌入式边缘AI计算设备即可满足运算需求,该系统中集成了一个人员检测器和姿态估计模块,用来将视频流中出现的人员位置转换为真实三维场景中的坐标,此外模型中的风险估计模型(模型参数经过流行病学专家验证)可以根据场景中人员的距离实时的计算出场景的传染风险等级,从而对场景的传染防范措施作出指导和监测。

现AI科技评论对这篇论文进行了详细解读。

论文链接:http://arxiv.org/abs/2007.10243

1

实时风险评估

再次来看一下该系统的用户界面,下图进行了详细的展示。

匿名帧:为了遵守欧盟《通用数据保护条例》(GDPR),本系统只对场景中人员的坐标信息进行记录和计算,并且对人脸进行遮挡来保护隐私。人员之间的彩色连接线段表示两人的距离是否低于了安全阈值(通常为3米),线段的颜色表示违规的程度,红色表示严重违规,黄色表示轻微违规。

人员计数器:匿名帧右上角的数字实时显示当前视频帧检测到的人员数量。

动态风险图和场景图:在屏幕右侧有两个实时更新的鸟瞰图,动态风险图表示当前摄像头所拍区域的情况,而场景图表示整体的综合风险,它是由全天的动态风险图综合计算得到,用来描述当前场景的周期性状态。

风险等级状态条:屏幕下方有一个动态的风险状态条,通过风险评估模型计算出当前的风险等级,当超过一定阈值时,系统会发出警告。

2

内部机理

该系统可以分为两个模块,即计算机视觉模块和传染风险评估模块,下面首先介绍传染风险评估模块。

1、风险评估模型

本文的风险评估模型是由经典的SIR(Susceptible-Infected-Removed)模型引申而来,SIR模型是一种传染病模型,其中Susceptible表示易感人群,Infected表示已感染人群,Removed表示恢复人群(即产生抗体),在SIR模型中,这三类人群之间存在一定的转换关系,例如易感人群S与感染人群I接触后可能会被传染,而感染人群I会以一个固定平均速率恢复或者死亡。可以通过这三类人群数量随时间的变化关系来反映传染病的可控程度,但是SIR模型有很多限制条件,此外它通常被用来考虑传染病在一个种群内部的传播情况,本文系统的部署环境是小范围的公共场所,所以SIR模型并不适用,本文作者在SIR的基础上提出了一种新的风险估计模型,首先计算某一时刻场景中两个人和之间的接触风险,有下式:

其中是一个缓解系数,当人们戴上口罩或采取其他防护措施时,相应会变小,定义了场景中每两个人之间的最小安全距离,在不同的场景中,可以动态调整,例如在医院、药店等传染风险较高的场所,的值可以尽可能的小,参数表示当两个人之间的距离大于安全距离,传染风险减小的程度,可以用来模拟场景特征,例如场景中的温度和空气流通情况,假设场景中时刻有个人,那时刻的个人传染风险为整个场景中传染风险的最大值,

时刻整个场景的全局风险计算如下式:

其中为当前场景的最大容量,由场景管理人员给出,然后我们给定一个时间窗参数即可计算出动态的全局风险,如下式:

计算得到的取值范围在0到1之间,表示场景实时的传染风险,其后我们可以求助传染病学专家设定一个警报阈值,当超出阈值时,系统会向工作人员发出警告。

2、计算机视觉模块

1)人员检测

考虑到系统需要在计算资源有限的条件下实时运行,本文选择了CenterNet[1]作为人员检测网络,CenterNet首先会预测得到一系列关键点,进而估算得到bounding boxes的坐标信息,所以这里无需使用NMS之类的后处理方法,这使得CenterNet有更快的运算速度,非常适合部署在有实时计算需求的应用中,但是CenterNet也有一个严重的缺陷,就是没有考虑到真实场景中人员的互相遮挡情况,当面对人员较为拥挤的输入图像时,CenterNet倾向于生成一个较窄的bounding box,甚至将被遮挡部分直接忽略掉,如下图粉色框所示:

在本系统中,进行人员检测的根本目的是得到场景中人员在三维场景中的具体坐标信息,我们需要清楚的知道人员的落脚点,所以单独使用CenterNet并不能解决问题。

2)头部和落脚点检测

为了解决CenterNet无法预测遮挡部位的问题,作者加入了一个小网络来预测人脚的位置,网络的输入是CenterNet得到的bounding box图像(图像中人的下半身可能被遮挡),网络会回归得到以两脚连接线段的中点作为新bounding box的下界,使用类似的方法也可以得到标注图像中人头的位置。

这里使用的数据集是JTA[2],JTA是一个带有遮挡现象且对人体姿势进行标注的监控视角数据集,为了模拟真实场景中的遮挡现象,作者在JTA中重点选取了那些行人下半身被遮挡的样本,同时为了模拟CenterNet的检测结果,作者也将JTA中的标注bounding box的长度随机变短,网络经过训练,可以同时预测得到bounding box中人头的位置,以及落脚位置,进而对原bounding box进行补全,如上一节图中绿色标注框所示。

3)从图像平面到真实场景平面

上两步综合起来可以得到场景中人员的落脚点的坐标,但是这个坐标还无法直接带入风险估计模型中进行计算,还需要进行一步图像空间到三维场景空间的坐标转换。

设是3D空间中的一点,是对应相机投影在2D平面中的一点,两点的坐标都用齐次坐标表示,然后根据相机的投影矩阵就可以对二者进行转换,即,将投影矩阵展开:

其中和为相机的内在参数,和为相机的外在参数,分别表示相机的焦距、像素大小、位置和旋转方向,左侧和是投影点的坐标,以像素为单位,右侧和是3D点在世界坐标空间中的坐标,为了简化计算,这里考虑了更为简单的平面点投影的情况,假设每个3D点都位于同一平面上,可以令为零,将3D到2D的投影变换简化到2D到2D空间的转换:

进一步可以得到两个平面的转换矩阵:

的逆矩阵就是所需要的目标变换矩阵:

得到上述关系后,还需要针对特定场景和特定摄像头计算对应的矩阵,为此作者对系统做了一次“标定”,首先设计了一个特殊的地毯,上面按照网格形式摆放了九个标记,同时确保这九个标记在监控画面中是完全可见的,然后在用户界面中用鼠标依次点击这九个标记,来获得它们在图像平面中的像素坐标,如下图所示:

由于事先知道地毯上九个标记的位置,这样就得到了九个3D-2D的坐标样本对,然后进行拟合就可以近似得到目标转换矩阵。由于之前假设空间所有点都处于同一平面中,这就限制得到的转换矩阵只能作用在较为平坦的场景中,为了避免一些不必要的检测,系统还提供了一个额外的用户接口来人为的选择检测的区域,排除一些楼梯、镜子和窗户区域,因为它们可能存在平面的不一致,还可能带来人员的镜面反射,导致不必要的检测,手动选择检测区域效果如下:

系统整体的pipeline如下图所示:

3

系统评估

为了验证本系统的有效性,作者在JTA数据集上进行了行人检测实验,实验数据选取了JTA测试集的一部分子集,同时删除了一些摄像机运动和人物平面不一致(楼梯)的样本。

分别考虑了不同的摄像机距离对检测精度的影响,随着距离的增加,检测性能会下降,作者提到这可能是由于距离太远,摄像机捕捉到的行人面积太小导致的,同时作者也对系统标定做了消融实验,实验数据表明,进行系统标定在多种情况中会对检测性能带来一致的提升,尤其是在摄像机距离较近的时候。

4

总结

本文提出了一个简单有效的系统,为很多公共场所的疫情防控工作提出了一个新的解决方案,同时也是计算机视觉技术在公共服务领域的又一个全新尝试。文中进行的实验也极具有挑战性,足以证明该系统的可行性。

参考文献:

[1] X. Zhou, D. Wang, and P. Kra ̈henbu ̈hl, “Objects as points,” arXiv:1904.07850, 2019.

[2] M. Fabbri, F. Lanzi, S. Calderara, A. Palazzi, R. Vezzani, and R. Cuc- chiara, “Learning to detect and track visible and occluded body joints in a virtual world,” in Proceedings of the European Conference on Computer Vision (ECCV), 2018.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200904A0M4PI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券