本次夏令营实验室安排的任务是精读并理解IJCAI2018的论文Crowd Counting using Deep Recurrent Spatial-Aware Network,本文记录了我对这篇论文的一些解读
Highlight
人群计数是实际应用中一个非常重要的任务,已有的方法不能很好地处理图片中人群的规模和旋转角度变化的问题,本文提出的 Deep Recurrent Spatial-Aware Network通过使用可学习的空间变化模块结合区域优化过程,首次解决了旋转角度变化的问题,并取得了很好的效果。相比于已有的最优方法,本文提出的方法在WorldExpo’10和UCF CC 50数据集上的效果都取得了很大的进步。
Problem & Challenge
人群计数即估计拥挤场景中的总人数,这在实际生活中十分重要。比如在一些大型活动中,如果能够准确估计出当前场景中的人群密度,就可以安排相应级别的安保措施,从而避免发生踩踏事故。
由于光照和摄像机视角的变化,要准确估计同一个场景的不同图片中的人群密度绝非易事,已有的方法仅处理了人群规模的变化而没有解决摄影角度变化的问题。而且这些方法大多使用了预先设计好的固定网络结构,这使得它们仅能处理有限的规模变化。
Method
本文提出了一种新型网络Deep Recurrent Spatial-Aware Network来完成人群计数的任务,第一次解决了旋转角度变化的问题。
模型整体网络结构如图所示:

网络总共包含两个模块:Global Feature Embedding(GFE)和Recurrent Spatial-Aware Refinement(RSAR)。
GFE
GFE(Global Feature Embedding)模块对输入的图像进行特征提取,得到的feature map通过 1 ∗ 1 1*1 1∗1的卷积运算得到初始的人群密度图 M 0 M_0 M0。
g = G F E ( I ) , M 0 = C o n v ( g ) g = GFE(I), M_0 = Conv(g) g=GFE(I),M0=Conv(g)
GFE模块网络结构如图所示,包含3列CNN,每一列都有7个不同kernel size、channels的卷积层,并且有3个max-pooling池化层,最终把3列CNN的输出拼接得到全局特征 g g g

图中的 k ∗ k , N k * k, N k∗k,N表示卷积核大小为 k ∗ k k * k k∗k,输出channel为 N N N
RSAR
RSAR模块用于提高密度图的质量,它通过一个空间转换机制来定位图像中的注意区域,然后利用残差学习来对密度图进行优化。最终在经过 n n n次RASR模块的迭代后可以得到一个能够准确估计人群数量的高质量密度图。由此可知RSAR包含两个模块:
- 定位注意区域,核心是LSTM和Spatial transformer Network
- 优化密度图,核心是Local Refinement Network
定义RSAR模块的第 i i i次迭代的输入为 M i − 1 M_{i-1 } Mi−1。
Attentional Region Localization
首先把 M i − 1 M_{i-1} Mi−1通过全连接层编码为512维的特征,用作LSTM的输入:
c i , h i = L S T M ( c i − 1 , h i − 1 , F C ( M i − 1 ) ) c_i, h_i = LSTM(c_{i-1}, h_{i-1}, FC(M_{i-1})) ci,hi=LSTM(ci−1,hi−1,FC(Mi−1))
c i c_i ci和 h i h_i hi分别代表LSTM的memory cell和hidden state, h i h_i hi会被通过用全连接层来计算得到变换矩阵 T i T_i Ti的参数,根据变换矩阵 T i T_i Ti就可以从完整密度图 M i − 1 M_{i-1} Mi−1中提取出区域密度图