人群密度估计-Crowd Density

一. 应用背景

      在安防大背景下,对敏感区域人流量的管控是一个重要的课题,防止人群骚乱、踩踏现象的发生,对非预期的人员汇聚进行预警等等,最常用的方法是检测到每个目标,然后借助 Perspective 矩阵完成到实际位置的映射,当然,在目标很难检测的情况下(密度极大、遮挡严重),基于回归的方法就派上了用场。

      本节主要讲基于深度学习的回归方法来实现人群密度检测。


二. 人群密度之 Crowd Net

      不想绕过这篇有代表性的论文:

      论文:CrowdNet: A Deep Convolutional Network for Dense Crowd Counting 【点击下载】

      Caffe代码:【Github】

      先来看架构图:

        人群密度估计-Crowd Density_第1张图片

       论文采用了两个网络的融合,可以理解为不同的网络提取的特征不同,上面 Max Pool 对边缘特征(细节)提取较好,下面的 Shallow Net 采用 Avrg Pool 对于整体特征描述较好,两个网络通过一个 concat 进行连接,然后1*1的conv进行降维,非常简单。

       这里面有两个细节要注意:

1)文中采用了膨胀卷积,提取整体特征,这个现在用的也比较多了,估计都很熟;

2)数据增广,采用了不同尺度的样本采样,Hard mining 策略,也都是老套路了;

       实验效果自己看论文吧,只能说,这篇文章比较典型,作为普及性的输入材料是很不错的,这里有其巨大的贡献。


三. 基于视频的密度估计

       论文:Spatiotemporal Modeling for crowd counting in videos 【点击下载】

       Caffe代码:【Github】

       在讲这篇文章之前,先来熟悉一下 RNN,LSTM,在图像领域应用不多,但在NLP、文本处理中发挥着巨大的价值。

       在含有时间信息的视频中,RNN(LSTM)成为该问题的有效手段之一(当然还有 Two Stream,Conv3D等)。

1)RNN 循环神经网络

      这个比较好理解,在计算当前帧的时候,加入了上一帧的信息。

2)LSTM

      由于之前信息在多次迭代后的 vanish 问题,采用 gate 的方式实现信息的存储。

      关于 LSTM 可以参考这篇Blog,讲的还是比较透彻的:【简书】

       言归正传,如何通过时序信息来进行密度估计的呢?我们来看:

    > ConvLSTM

       人群密度估计-Crowd Density_第2张图片人群密度估计-Crowd Density_第3张图片

       ConvLSTM 是将 LSTM 中的全连接替换为卷积,将 LSTM的时序与 CNN的空间域特征结合起来,右边是公式。

   > Bidirectional

       人群密度估计-Crowd Density_第4张图片

       双向 RNN,即用到前面序列,又用到后面序列,对实时性要求高的系统是不合适的,会有延迟。

   > 实验效果

       看一下实验效果还是很不错的:

        人群密度估计-Crowd Density_第5张图片

你可能感兴趣的:(深度学习,深度学习基础)