计算机系统应用  2023, Vol. 32 Issue (2): 128-138   PDF    
基于轻量化神经网络的社交距离检测
王林, 张江涛     
西安理工大学 自动化与信息学院, 西安 710048
摘要:保持安全社交距离是有效防止病毒传播的重要手段之一, 不仅可以减少感染者数量和医疗负担, 同时也极大降低死亡率. 在YOLOv4框架基础上使用轻量化网络E-GhostNet代替原网络中的CSPDarknet-53, E-GhostNet网络在输入数据和原始Ghost模块生成的输出特征之间建立关系, 使网络能够捕获上下文特征. 然后, 在E-GhostNet中引入坐标注意力机制(CA)增强模型对有效特征的关注. 另外, 使用SIoU损失函数更换CIoU损失获得更快的收敛速度和优化效果. 最后, 结合DeepSORT多目标跟踪算法来检测和标记行人, 并使用仿射变换(IPM)判定行人间距离的违规行为. 实验结果显示, 该网络检测速度为40 FPS, 精度值达到85.71%, 相比原始GhostNet算法提升2.57%, 达到实时行人距离检测的效果.
关键词: YOLOv4    DeepSORT    社交距离    E-GhostNet    轻量化网络    目标检测    
Social Distance Detection Based on Lightweight Neural Network
WANG Lin, ZHANG Jiang-Tao     
School of Automation and Information, Xi’an University of Technology, Xi’an 710048, China
Abstract: Maintaining a safe social distance is one of the important means to effectively prevent the spread of the virus. Moreover, it can not only reduce the number of infected people and ease the medical burden but also greatly lower the mortality rate. On the basis of the you only look once version 4 (YOLOv4) framework, the lightweight network E-GhostNet is used to replace the CSPDarknet-53 in the original network. The E-GhostNet network establishes a relationship between the input data and the output features generated by the original Ghost module, thereby enabling the network to capture contextual features. Then, the coordinate attention (CA) mechanism is introduced to E-GhostNet to enhance the model’s attention on effective features. In addition, the complete intersection over union (CIoU) loss function is replaced by the soft intersection over union (SIoU) loss function to obtain a faster convergence speed and optimization effect. Finally, the DeepSORT multi-target tracking algorithm is utilized to detect and label pedestrians, and affine transformation (IPM) is employed to determine the violation of the required distance between pedestrians. The experimental results show that the network achieves real-time pedestrian distance detection with a detection speed of 40 FPS and an accuracy of 85.71%, which is 2.57% higher than that of the original GhostNet algorithm.
Key words: YOLOv4     DeepSORT     social distance     E-GhostNet     lightweight network     object detection    

新型冠状病毒于2019年被发现, 面对疫情所带来的巨大风险挑战, 动态清零政策一直是我们坚持的主要方针之一. 随着疫情进入稳定阶段, 全国各地偶尔出现疫情的反弹, 保障人民生命安全给防疫工作带来了严峻的考验. 定期的核酸检测、密集场所佩戴口罩以及保持安全距离是防止病毒传染的重要手段. 在火车站、购物中心和大学校园等人员密集场所保持安全距离对于预防或减缓病毒蔓延尤为重要. 为减少疫情的影响, 保持安全距离与自我隔离被认为是重启经济、打破感染链的最有效途径. 目前人流密集场所多数使用人工监测, 不仅需要大量人力, 且存在监测人员感染风险. 近年, 深度学习被广泛用于各种检测任务中, 并取得显著的效果. 因此, 基于深度学习的视频监控下社交距离检监测对常态化疫情防控具有重要意义和实践价值.

目标检测算法分为两阶段目标检测算法和一阶段目标检测算法. 两阶段目检测算法又叫做基于感兴趣区域的目标检测算法, 其第1个过程目的在于找到目标物体出现的位置生成预选框, 第2个过程对每个预选框进行分类和位置的修正, 主要的特点是精度高, 但速度较慢. 常见的双阶段目标检测算法有Faster R-CNN[1]、R-FCN[2]和FPN[3]等. 一阶段目标检测算法又叫基于回归的目标检测算法, 这类算法不直接生成感兴趣区域而将目标检测任务看做是对整幅图像的回归任, 直接产生目标物体的概率和位置信息. 主要的特点是速度相比两阶段的速度快, 但是精度有所损失. 常见的一阶段目标检测算法YOLO[4-7]、SSD[8]等.

随着深度学习技术的飞速发展, 国内外许多学者将此技术应用于社交距离检测任务中. 2020年, 赵嘉晴[9]用YOLOv3模型对行人社交距离判断, 将违反信息通过无线信号传送OpenMv模块, 提醒行人保持安全距离. Ramadass等[10]将训练好YOLOv3算法嵌入无人机摄像头中, 提醒公共场合人保持安全距离和口罩监测. Yadav[11]设计通过树莓pi4与计算机结合的方法实现公共场所自动监控口罩佩戴和社交距离, 违反信息通过树莓pi4发送警局中. Rezaei等[12]开发了一个混合的计算机视觉和YOLOv4的深度神经网络模型, 用于室内和室外环境中使用普通闭路电视安全摄像头的人群自动检测. 该模型结合自适应逆透视映射(IPM)技术和排序跟踪算法, 实现了一种鲁棒的人群检测和社会距离监测.

2021年, Ahmed等[13]使用Faster-RCNN在俯视图人类数据集上训练, 同时利用迁移学习, 将新训练层和预训练结构融合, 利用距离对像素信息的影响, 确定两个人是否违反社会距离. Saponara等[14]利用热图像结合YOLOv2算法对行人在室内和室外场景中进行社交距离分类. 杨森泉等[15]设计一辆利用PyramidBox和YOLOv3模块进行口罩和社交距离的自主巡查车, 从而保障安全的社交距离. Li等[16]使用YOLOv4和DeepSORT多目标跟踪算法对行人进行检测, 在分析行人运动的基础上, 提出了一种新的行人聚类算法, 以避免同伴对监测结果的影响. 最后, 选取3个指标对行人进行分类, 分析和评价某一场所的病毒感染风险.

目前大多数算法模型相对较大且检测的速度比较慢, 大多数的检测都忽视了同伴的识别的判定. 因此, 设计出轻量化、实时性以及精确度之间相对平衡的模型框架检测行人之间社交距离, 且能够分辨出同伴的功能. 本文对公共场所行人安全距离进行检测, 针对模型大的问题, 在特征提取阶段使用更加轻量的E-Ghost瓶颈模块进行骨干的特征提取. 通过在骨干特征提取阶段引入坐标注意力模块, 实现对于候选区域特征中重要特征的突出以及噪声特征的抑制, 进而提升了特征的表达能力, 实现了更高的检测精度. 此外, 替代原有YOLOv4网络SPP模块为SPPF模块实现更加高效的检测效果. 在损失函数方面使用SIoU代替CIoU获得更快的收敛效果. 最终结合DeepSORT算法和IPM进行目标跟踪与像素距离的估计, 实现社交距离的防控和检测.

1 相关工作 1.1 YOLOv4网络

YOLOv4网络[7]是单阶段目标检测算法整体包括4个主体部分. 输入端包括Mosaic数据增强、SAT自对抗训练. 主干特征提取网络包括CSPDarknet、Mish激活函数等. 特征融合网络Neck在骨干和输出层之间的模块, 如SPP模块、FPN+PAN结构. Head用于目标检测的输出, 检测头分别检测大中小目标, 每个检测头预设3个先验框. 其中损失函数使用CIoU损失函数. 并使用DIoU_nms替代NMS提高算法的检测精度.

1.2 GhostNet网络模型

Ghost模块[17]图1所示, 先通过普通1×1卷积获得输入特征的充分浓缩, 接着对生成的特征图进行深度可分离卷积操作获得浓缩的相似特征图. 最后将1×1卷积与深度可分离卷积操作生成的特征图进行拼接操作, 得到新的输出.

图 1 Ghost模块

Ghost瓶颈如图2所示, 第1层Ghost模块充当扩展层用于增加通的数目, 第2层Ghost模块减少通道的数目来满足残差路径Add操作. Ghost瓶颈两种结构, 当需要对特征层的宽高进行压缩的时候, 设置这个Ghost瓶颈的Stride=2, 即步长为2.

2 改进的YOLOv4网络

与原本YOLOv4网络相比主要3部分改进: 一是采用轻量化E-GhostNet网络结构, 该模型增加计算量, 因此用SPPF结构替换SPP结构, 提高检测速度的同时获取更多的细节特征信息, 二是引入CA模块增强特征的关注度, 三是在CIoU损失函数基础增加面积尺度调节因子来调整边界框的损失值, 从而获得更好的优化效果. 改进后的EC-YOLOv4网络如图3所示. 其中, K代表卷积核的大小, s表示步长, p表示填充, c表示通道的个数.

图 2 Ghost瓶颈

图 3 EC-YOLOv4网络结构

2.1 Ghost模块改进

E-Ghost模块生成的输出特征融合了输入数据和原始Ghost模块生成的输出特征, 如图4所示. 由于E-Ghost模块能够捕获多层次的空间上下文特征, 增强了网络的特征表达能力. 另一方面, 由于两个模块生成的输出特征数相等, 因此本文不向网络引入额外的计算. 但是将输入数据拼接到Ghost模块生成的输出特征中, 内存量增加, 从而影响网络的识别速度.

图 4 E-Ghost模块

E-Ghost瓶颈由两个E-Ghost模块组成的网络结构, 其余与原Ghost瓶颈网络结构一致, 如图5所示.

图 5 E-Ghost 瓶颈

2.2 引入坐标注意力网络模型

坐标注意力机制(coordinate attention)[18]是一种新颖且高效的注意力机制如图6所示, 通过嵌入位置信息到通道注意力, 从而使移动网络获取更大区域的信息而避免引入大的开销. 为了避免2D全局池化引入位置信息损失, 提出分解通道注意为两个并行的1D特征编码来高效地整合空间坐标信息到生成的注意特征图中.

具体而言, 用两个池化核(H, 1)和(1, W)沿着特征图的两个方向池化, 得到两个嵌入式的信息特征图, 沿空间维度拼接激活, 卷积激活后沿着空间维度进行split获得两个分离的特征图, 对其进行转换和激活, 最后得到注意力向量.

2.3 引入SPPF结构

SPP网络[19]图7所示, 将输入并行通过多个不同大小的MaxPool, 进一步融合一定程度上解决多目标尺度问题. SPPF网络如图8所示, 将输入串行通过多个5×5大小的MaxPool层, 其中两个串行5×5大小的MaxPool层和一个9×9大小的Maxpool层计算结果是一样的, 串行3个5×5大小的MaxPool层是和一个13×13大小的MaxPool层计算结果是一样. 通过表1, 可看出同数据同迭代次下, SPPF的效率更高.

图 6 坐标注意力网络模型

图 7 SPP模块

图 8 SPPF模块

表 1 SPP和SPPF网络结构运行时间对比(s)

2.4 改进损失函数

CIoU是目前比较优秀的回归定位损失函数, 它主要考虑3种几何参数: 重叠面积、中心点距离、长宽比. CIoU即在DIoU的基础上增加了检测框尺度的loss, 增加了长和宽的loss, 这样预测框就会更加的符合真实框, 如式(1)所示:

$ CIoU = IoU - \left( {\frac{{{\rho ^2}\left( {B, {B^{gt}}} \right)}}{{{c^2}}} + \alpha v} \right) $ (1)
$ v = \frac{4}{{{\pi ^2}}}{\left( {\arctan \frac{{{w^{gt}}}}{{{h^{gt}}}} - \arctan \frac{w}{h}} \right)^2} $ (2)
$ \alpha = \frac{v}{{\left( {1 - IoU} \right) + v}} $ (3)

其中, $ B $ 表示预测边界框的中心坐标, $ {B^{gt}} $ 表示真实边界框的中心坐标. $ \;{\rho ^2}(B, {B^{gt}}) $ 代表 $ B $ $ {B^{gt}} $ 之间欧式距离的平方. 两个边界框最小外接的对角线的长度用 $ c $ 表示. $ \alpha \nu $ 代表目标边界的长宽比.

为了进一步修正CIoU损失, 从面积差的角度对CIoU损失进行修正, CIoU在理论上无法区分所有的边界框信息并在大损失值点的周围的梯度趋于平滑, 因此在CIoU的基础上添加面积调节因子, 即SIoU损失[20], 如式(4)所示:

$ \begin{split} {\textit{SIoU}}_{loss} &= \left( {\gamma + 1} \right)\left( {1 - IoU} \right) + \frac{{{\rho ^2}\left( {B, {B^{gt}}} \right)}}{{{c^2}}} + \alpha v \\ & = 1 - IoU + \frac{{{\rho ^2}\left( {B, {B^{gt}}} \right)}}{{{c^2}}} + \alpha v + \gamma \left( {1 - IoU} \right) \\ & = CIo{U_{loss}} + \gamma \left( {1 - IoU} \right) \\ \end{split} $ (4)
$ \gamma = \left\{ {\begin{array}{*{20}{l}} {{{\left( {\tanh \left( {k \times \dfrac{{s - {s_{gt}}}}{{{s_{gt}}}} - 2.3} \right) + \tanh \left( {2.3} \right)} \right)} \mathord{\left/ {\vphantom {{\left( {\tanh \left( {k \times \dfrac{{s - {s_{gt}}}}{{{s_{gt}}}} - 2.3} \right) + \tanh \left( {2.3} \right)} \right)} 2}} \right. } 2}},&{IoU > 0} \\ 0,&{IoU = 0} \end{array}} \right. $ (5)
$ k = \left\{ {\begin{array}{*{20}{l}} {1.25},&{s - {s_{gt}} \geqslant 0} \\ { - 1.25},&{s - {s_{gt}} < 0} \end{array}} \right. $ (6)

其中, $ \gamma $ 是引入新的几何因子代表面积差, 面积差与重叠面积并不相同. 当边界框完全覆盖目标或被完全覆盖时, 其面积差可描述为式(7)所示:

$ \begin{split} 面积差&=\dfrac{\left|s-{s}_{gt}\right|}{{s}_{gt}}=\left|s/{s}_{gt}-1\right|\\ &=\left\{ {\begin{array}{ll}1-IoU,& s < {s}_{gt}\\ 1/IoU,& s\geqslant {s}_{gt}\end{array}} \right. \end{split} $ (7)

图9所示, 两个边界框对同一个目标框IoU相同, 但是面积之间存在差别. 当图形中目标框的面积比例变化比较大时, 边界框和目标框之间会出现更多情况, 当每对边界框满足式(8)时, 现有的3个几何因子失去效果, 无法区分它们.

$ Io{U}_{1}=Io{U}_{2},\; {w}_{1}/{h}_{1}={w}_{2}/{h}_{2}, \;{d}_{1}/{c}_{1}={d}_{2}/{c}_{2} $ (8)
图 9 不同IoU损失对比

3 DeepSORT多目标跟踪算法

DeepSORT算法[21]在SORT算法[22]的基础上增加了级联匹配机制和新轨迹的确认. 轨迹分为确认态和不确认态, 新产生的轨迹是不确认态. 不确认态的轨迹必须要和检测连续匹配一定的次数(默认3)才可以转化成确认态. 确认态的轨迹必须和检测连续失配一定次数(默认30次), 才会被删除. 为解决ID切换和遮挡问题, DeepSORT在SORT的基础上加入外观度量信息. 因此, 使用改进的网络同DeepSORT结合实现行人目标的检测和跟踪.

3.1 匈牙利算法

匈牙利算法是解决指派问题简单且新颖的一种方法. 主要是将检测和预测目标之间进行匹配. 具体是将融合运动特征和外观特征级联匹配形成代价矩阵求解得到最优解, 实现上下两帧检测和预测目标的匹配. 流程如算法1.

算法1. 匈牙利算法
1) 发现每行最小元素, 每一行元素减去最小值; 2) 发现每列最小元素, 每一列元素减去最小值;3) 用最少的行线和列线将新矩阵中的零全部穿起来, 检查目前是否为最优分配. 如果行线和列线没有将矩阵所有元素都穿起来, 进入第4步, 否则进入步骤5); 4) 将行线和列线没有穿起来的元素中找到最小元素, 将剩余元素减去最小元素, 对应行线和列线的交叉点的元素加上最小元素; 5) 找到每一行对应0元素和列对应的0元素. 根据0元素找到最优解.

3.2 卡尔曼滤波算法

最初, 跟踪的场景定义在八维状态空间上 $ (u, v, \gamma , h, \dot u, \dot v, \dot \gamma , \dot h) $ , 其包含边界框的中心 $ (u, v) $ , 长宽比例 $ \gamma $ 及高 $ h $ 它们各自在图像坐标系中的速度, 并取边界坐标 $ (u, v, \gamma , h) $ 为目标的观测值. 通过卡尔曼滤波器进行预测和更新, 预测是利用上一帧检测框和运动速度等预测当前帧相应信息, 预测方程和协方差方程, 如式(9)和式(10)所示:

$ {\hat x_k} = A{\hat x_{k - 1}} + B{u_{k - 1}} $ (9)
$ P_k^ - = A{P_{k - 1}}{A^{\rm{T}}} + Q $ (10)

其中, $ \hat x_k^ - $ $ k - 1 $ 时预测 $ k $ 时的状态向量; $ {\hat x_{k - 1}} $ $ k - 1 $ 时刻的最优状态向量; $ P_k^ - $ $ {P_{k - 1}} $ 分别为与的协方差矩阵; $ Q $ 为噪声的协方差.

测量更新, 计算卡尔曼增益, 如式(11)所示:

$ {K_k} = P_k^ - {H^{\rm{T}}}{\left( {HP_k^ - {H^{\rm{T}}} + R} \right)^{ - 1}} $ (11)

其中, 增益 $ {K_k} $ $n{{ \times {{m}}}}$ 阶矩阵, 目的是使后验估计误差协方差最小, $ R $ 为观测噪声的协方差, $ P_k^ - $ 表示先验估计误差的协方差.

多目标跟踪使用一般忽略 $ u $ 控制输入得到最终更新结果, 如式(12)和式(13)所示:

$ {\hat x_k} = \hat x_k^ - + {K_k}\left( {{{\textit{z}}_k} - H\hat x_k^ - } \right) $ (12)
$ {p_k} = \left( {I - {K_k}H} \right)P_k^ - $ (13)
4 社交距离估计

通过使用单目摄像头, 使得三维世界场景投影到二维平面图像会导致对象之间存在不切实际的像素距离, 称为透视效应. 在透视效应中, 无法感知整个图像中距离的均匀分布, 如平行线在地平线相交, 距离相机远的人比距离相机坐标中心的人要小得多.

在三维空间中, 每个边界框的中心与 $ (x, y, {\textit{z}}) $ 这3个参数有关, 但在相机成像中, 原始三维空间变为两个维度 $ (x, y) $ 深度参数 $ {\textit{z}} $ 消失. 为了应用IPM转换, 需要设 $ {\textit{z}} = 0 $ 来进行相机矫正, 达到消除透视效果[23]. 同时还需要摄像机的给固定参数. 例如摄像机位置、高度、视角等. 通过IPM, 将2D像素点 $ \left( {u, v} \right) $ 映射到世界坐标 $ ({X_w}, {Y_w}, {Z_w}) $ 如式(14)所示:

$ \left[ {u, v, 1} \right] = KRT[{X_w}, {Y_w}, {Z_w}, 1] $ (14)

其中, $ R $ 为旋转矩阵, $ T $ 为转移矩阵, $ K $ 摄像机固有参数矩阵.

$ R = \left[ {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&{\cos \theta }&{ - \sin \theta }&0 \\ 0&{\sin \theta }&{\cos \theta }&0 \\ 0&0&0&1 \end{array}} \right] $ (15)
$ T = \left[ {\begin{array}{*{20}{c}} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&1&{ - \dfrac{h}{{\sin \theta }}} \\ 0&0&0&1 \end{array}} \right] $ (16)
$ K = \left[ {\begin{array}{*{20}{c}} {f \times ku}&s&{{c_x}}&0 \\ 0&{f \times kv}&{{c_y}}&0 \\ 0&0&0&1 \end{array}} \right] $ (17)

其中, $ h $ 是相机高度, $ f $ 是焦距, $ ku $ $ kv $ 分别是以水平和垂直像素单位测量的校准系数值. $ ({c_x}, {c_y}) $ 是校正图像平面光轴的主点偏移.

相机通过世界坐标上的三维点投影在视网膜平面上形成图像. 利用齐次坐标, 三维点与投影得到的图像点之间的关系如式(18)所示:

$ \left[ {\begin{array}{*{20}{c}} u \\ {\left( v \right)} \\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{m_{11}}}&{{m_{12}}}&{{m_{13}}}&{{m_{14}}} \\ {{m_{21}}}&{{m_{22}}}&{{m_{23}}}&{{m_{24}}} \\ {{m_{31}}}&{{m_{32}}}&{{m_{33}}}&{{m_{34}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{X_w}} \\ {\left[ {\begin{array}{*{20}{c}} {{Y_w}} \\ {{Z_w}} \end{array}} \right]} \\ 1 \end{array}} \right] $ (18)

其中, $ M \in {R^{3 \times 4}} $ 为式(18)中含有 $ {m_{ij}} $ 元素的变换矩阵, 由相机位置和参照系将世界坐标点映射到图像点, 由相机固由矩阵 $ K $ 、旋转矩阵 $ R $ 和平移矩阵 $ T $ 提供.

摄像机图像所在平面垂直于世界坐标系中的 $ Z $ 通道, 即 $ {\textit{z}} = 0 $ , 上述方程的尺寸可简化为式(19)所示:

$ \left[ {\begin{array}{*{20}{c}} u \\ {\left( v \right)} \\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{m_{11}}}&{{m_{12}}}&{{m_{13}}} \\ {{m_{21}}}&{{m_{22}}}&{{m_{23}}} \\ {{m_{31}}}&{{m_{32}}}&{{m_{33}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{X_w}} \\ {\left( {{Y_w}} \right)} \\ 1 \end{array}} \right] $ (19)

透视空间到逆透视空间的转换可用以下的标量形式, 如式(20)所示:

$ \begin{split} &\left( {u, v} \right) = \\ &\left( {\frac{{{m_{11}} \times {x_w} + {m_{12}} \times {y_w} + {m_{13}}}}{{{m_{31}} \times {x_w} + {m_{32}} \times {y_w} + {m_{33}}}}, \frac{{{m_{21}} \times {x_w} + {m_{22}} \times {y_w} + {m_{23}}}}{{{m_{31}} \times {x_w} + {m_{32}} \times {y_w} + {m_{33}}}}} \right) \end{split} $ (20)
4.1 同伴识别

移动行人主要是判断两者之间的距离. 距离太近会增加病毒感染的风险. 然而, 现实的生活中家人、朋友之间的陪伴是不可或缺的, 例如有孩子或者需要照顾的老人. 如果将他们判定为存在违规社交距离显示是不正确的, 他们之间不会增加的感染风险. 如果这类人群被视为危险人群, 感染风险更大, 这将增加人们对公共场所危险的恐慌. 因此, 将此看作为一个同组质点去计算行人距离, 满足如下条件.

(1)两个行人之间的距离小于阈值, 不仅是同伴判断的前提, 同时也是社会距离检测的判断条件.

$ d\left( {centroi{d^{\left( 1 \right)}}, centroi{d^{\left( 2 \right)}}} \right) \leqslant threshol{d^{\left( 1 \right)}} $ (21)

(2)在最大记忆帧中, 若两行人速度方向 $ \vec f{r_v} $ 基本相同, 并且速度的大小 $ \left| {f{r_v}} \right| $ 也是基本一样的, 则可表示两个行人具有相同的运动状态.

$ \theta \left( {\vec fr_v^{\left( 1 \right)}, \vec fr_v^{\left( 2 \right)}} \right) \leqslant threshol{d^{\left( 2 \right)}} $ (22)
$ d\left( {\left| {fr_v^{\left( 1 \right)}} \right|, \left| {fr_v^{\left( 2 \right)}} \right|} \right) \leqslant threshol{d^{\left( 3 \right)}} $ (23)

(3)在前面条件的前提下, 如果两个行人的速度方向之和与距离的夹角大约是90°. 可认为两行人是肩并肩行走.

$ \theta \left( {\vec {f} r_v^{\left( 1 \right)} + \vec {f} r_v^{\left( 1 \right)}, {{\vec {d} }_v}} \right) \in \left[ {90^\circ - \varepsilon ,\; 90^\circ + \varepsilon } \right] $ (24)

其中, $ f{r_v} $ 表示帧速向量, 其大小是单位帧中像素的变化, 方向是从初始状态到最终状态. 它抽象地描述了行人的运动. $ {\vec d_v} $ 表示距离向量, 其大小是两点之间的欧氏距离, 方向是一点指向另一点. 它描述了某一时刻两点之间的位置关系. $ d(x, y) $ 欧氏距离是一个反映数据之间差异的标量. $ \theta $ 矢量角是一个标量 $\theta \in (0, 180^\circ)$ .

5 社交距离检测系统

社交检测系统图主要由3部分构成: 一是目标检测模块本文采用EC-YOLOv4模型对视频帧进行行人检测, 获取边界坐标信息并计算坐标中心, 二是跟踪模块结合DeepSORT算法对行人跟踪并绘制行动轨迹, 三是行人距离模块使用IPM技术对行人的距离进行估计且达到能识别同伴的效果, 最终将违规信息显示出来便于之后相关人员的分析, 其系统框图如图10.

图 10 社交距离检测系统

6 实验结果与分析 6.1 实验环境

实验的环境配置如表2所示.

6.2 实验数据集和Anchor的重新聚类

本文从UNN数据集、ShanghaiTechCampus数据集以及通过网络爬虫等, 总共选取2 820张图片, 其中训练使用2 538张图片, 测试使用282张图片. 如表3所示, 对数据集使用K-means重新聚类, 在VOC07+12的训练的基础之上进行迁移学习, 训练过程中参数设置如表4所示, 训练损失曲线结果如图11所示. 同时根据召回率(Recall)和精确度(Precision)绘制P-R曲线, 如图12所示, 行人的AP为85.71% (class: 85.71%=person AP), AP表示曲线包围的面积大小可衡量类别的好坏.

实验的评价指标采用mAP (mean average precision)、视频每秒传输的帧数(frame per second, FPS). 其中mAP的值高说明模型性能好, FPS数值越大模型的实时检测能力越强.

表 2 实验环境及其配置

表 3 K-means聚类

表 4 训练参数

图 11 训练损失

图 12 P-R曲线

6.3 消融实验

为了验证本文算法的有效性和可靠性采用mAP和FPS作为消融实验的评价指标, 以GhostNet-YOLOv4算法为基准, 并将改进分为A、B、C、D四组进行消融实验. 其中, “√”表示在网络使用该改进方法, “×”表示在网络不使用该改进方法.

通过表5可看出, A组使用E-Ghost模块作为主干网络后, 模型精度提升了1.38%, 检测速度下降了2 FPS, 这是由于将输入数据拼接到Ghost模块生成的输出特征, 使得特征浓缩更高mAP提升, 同时此模型增加计算量导致检测速度下降; B组在A组的基础引入CA模块, 精度提升了0.53%, 检测速度下降1 FPS; C组在B的基础上使用SPPF模块, 模型精度提升0.04%, 检测速度保持稳定; D组在C组的基础上使用SIoU损失函数, 模型精度提升0.62%, 检测速度下降1 FPS; 总体上, D组相比A组模型精度提升2.57%, 检测速度下降4 FPS, 满足实时性的基本需求.

表 5 消融实验结果对比

6.4 EC-YOLOv4与其他算法对比

通过表6分析可得, 本文提出算法在行人检测方面比MobileNetv3-YOLOv4、YOLOv4-tiny、GhostNet-YOLOv4算法精度分别提升3.12%, 7.93%, 2.57%. 模型大小和参数量大小相对较小, 但检测速度相比GhosNet-YOLOv4减少4 FPS, 与YOLOv4算法相比检测精度低6.81%, 但是检测速度比其高23 FPS. 如图13所示, 对比发现在YOLOv4-tiny、MobileNetv3-YOLOv4、GhostNet-YOLOv4中都存在不同程度漏检, 同时YOLOv4-tiny中存在少量误检, 本文算法几乎正确检测到所有行人. 实验表明, 改后网络在轻量化网络中检测精度和检测速度方面取得不错的效果.

通过校园拍摄数据分别对3种算法结合DeepSORT进行测试, 将视频集转为帧统计跟踪结果, 如表7所示, 分析得C算法在跟踪方面相比A和B算法有一定的提升, 跟踪的准确率达到91.34%, 分别提升了8.65%和6.73%, 基本达到对视频行人的检测和跟踪. 其中A、B、C分别为MobileNetv3-YOLOv4、GhostNet-YOLOv4及EC-YOLOv4算法. 人员数量是视频出现的人数, 跟踪准确率是跟踪人数占人员数量的比例.

本文算法通过结合使用DeepSORT对行人在校园和公开牛津市中心数据集进行跟踪测试, 并对其进行行动轨迹绘制和ID标记. 通过如图14所示, 可以看出本文算法在检测和跟踪都取得不错的表现.

表 6 不同网络数据对比

图 13 不同算法检测对比

表 7 不同检测器跟踪结果对比

距离检测在跟踪的基础上通过IPM实现, 假设社交的安全距离为1.2 m, 成人身高为1.7 m, 通过行人身高所占图片的像素值, 结合IPM实现距离的估计. 如图15所示, 其中图15(a)是校园环境中做核酸检测的场景, 共检测到17个行人, 安全13个行人, 4个行人处于高风险, 此帧上行和下行通过紫色与黄色撞线分别为2个行人. 图15(b)图15(c)在公开牛津市中心数据集测试, 在满足距离检测判定的同时, 最大的不同是可以识别出同伴且看作一个整体去估计距离. 这些数据的统计结合跟踪轨迹便于分析此区域感染风险的程度, 同时也可以提醒行人保持安全的社交距离. 其中红、绿、黄圈分别表示违反社交距离、安全距离以及同伴组.

图 14 跟踪结果

图 15 距离检测结果

7 结论与展望

本文提出一种基于深度学习的社交距离检测和跟踪方法. 检测模型中在YOLOv4的基础上替换轻量化骨干网络GhostNet并对其改进为E-GhostNet便于捕获多层次的空间上下文特征, 增强了网络的特征表达能力. 同时, 在骨干中引入坐标注意力模块, 提升检测性能. 然后, 引入SPPF模块减少E-GhostNet中Concat对网络的识别速度影响. 其次是将损失函数有CIoU改为SIoU加快网络的收敛速度, 从而提升检测性能. 最后结合DeepSORT跟踪算法和IPM将2D像素点映射到3D世界, 最终估计出行人间的距离. 本文提出的算法可有效地平衡检测精度、速度以及网络模型的大小, 平均精度为85.71%, 检测速度为40 FPS, 模型总参数量为10 216 628. 该算法对视频流测试发现, 其在行人的检测、跟踪及距离检测3方面都取得良好的效果, 对减少病毒传播发挥着重要作用. 在未来的工作中可以结合行人的姿态特征, 如咳嗽、打喷嚏等与感染病毒相关的行为综合分析社交距离存在的危险等级, 以便更好地保障人民生命以及减轻医疗负担.

参考文献
[1]
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031
[2]
Dai JF, Li Y, He KM, et al. R-FCN: Object detection via region-based fully convolutional networks. Proceedings of the 30th International Conference on Neural Information Processing Systems. Barcelona: ACM, 2016. 379–387.
[3]
Lin TY, Dollár P, Girshick R, et al. Feature pyramid networks for object detection. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2117–2125.
[4]
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 779–788.
[5]
Redmon J, Farhadi A. YOLO9000: Better, faster, stronger. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 6517–6525.
[6]
Redmon J, Farhadi A. YOLOv3: An incremental improvement. arXiv: 1804.02767, 2018.
[7]
Bochkovskiy A, Wang CY, Liao HYM. YOLOv4: Optimal speed and accuracy of object detection. arXiv: 2004.10934, 2020.
[8]
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 21–37.
[9]
赵嘉晴, 易映萍, 黄松. 基于YOLOv3的无人机智能社交距离监测系统. 软件, 2020, 41(12): 107-112. DOI:10.3969/j.issn.1003-6970.2020.12.025
[10]
Ramadass L, Arunachalam S, Sagayasree Z. Applying deep learning algorithm to maintain social distance in public place through drone technology. International Journal of Pervasive Computing and Communications, 2020, 16(3): 223-234. DOI:10.1108/IJPCC-05-2020-0046
[11]
Yadav S. Deep learning based safe social distancing and face mask detection in public areas for COVID-19 safety guidelines adherence. International Journal for Research in Applied Science and Engineering Technology, 2020, 8(7): 1368-1375. DOI:10.22214/ijraset.2020.30560
[12]
Rezaei M, Azarmi M. DeepSOCIAL: Social distancing monitoring and infection risk assessment in COVID-19 pandemic. Applied Sciences, 2020, 10(21): 7514. DOI:10.3390/app10217514
[13]
Ahmed I, Ahmad M, Jeon G. Social distance monitoring framework using deep learning architecture to control infection transmission of COVID-19 pandemic. Sustainable Cities and Society, 2021, 69: 102777. DOI:10.1016/j.scs.2021.102777
[14]
Saponara S, Elhanashi A, Gagliardi A. Implementing a real-time, AI-based, people detection and social distancing measuring system for COVID-19. Journal of Real-time Image Processing, 2021, 18(6): 1937-1947. DOI:10.1007/s11554-021-01070-6
[15]
杨森泉, 陈泳豪, 张镇宇, 等. 口罩佩戴检测和社交安全距离预警巡查车设计. 单片机与嵌入式系统应用, 2021, 21(7): 79-81.
[16]
Li JX, Wu ZA. The application of YOLOv4 and a new pedestrian clustering algorithm to implement social distance monitoring during the COVID-19 pandemic. Journal of Physics: Conference Series, 2021, 1865: 042019. DOI:10.1088/1742-6596/1865/4/042019
[17]
Han K, Wang YH, Tian Q, et al. GhostNet: More features from cheap operations. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 1577–1586.
[18]
Hou QB, Zhou DQ, Feng JS. Coordinate attention for efficient mobile network design. Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021. 13708–13717.
[19]
He KM, Zhang XY, Ren SQ, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. DOI:10.1109/TPAMI.2015.2389824
[20]
Du SJ, Zhang BF, Zhang P, et al. An improved bounding box regression loss function based on CIOU loss for multi-scale object detection. Proceedings of 2021 IEEE 2nd International Conference on Pattern Recognition and Machine Learning. Chengdu: IEEE, 2021. 92–98.
[21]
Wojke N, Bewley A, Paulus D. Simple online and realtime tracking with a deep association metric. Proceedings of 2017 IEEE International Conference on Image Processing (ICIP). Beijing: IEEE, 2017. 3645–3649.
[22]
Bewley A, Ge ZY, Ott L, et al. Simple online and realtime tracking. Proceedings of 2016 IEEE International Conference on Image Processing (ICIP). Phoenix: IEEE, 2016. 3464–3468.
[23]
Rezaei M, Klette R. Vision-based driver-assistance systems. In: Rezaei M, Klette R, eds. Computer Vision for Driver Assistance. Cham: Springer, 2017. 1–18.