论文学习:Context-Aware Crowd Counting

CAN

Context-Aware Crowd Counting

CVPR 2019

洛桑联邦理工学院

论文:https://arxiv.org/pdf/1811.10452.pdf

代码:https://github.com/weizheliu/Context-Aware-Crowd-Counting

论文学习:Context-Aware Crowd Counting

Instruction

作者提出了一种end2end的网络,它可以在多个感受野(尺度)下进行特征提取,并且学习图像中的重要特征,从而解决快速尺度变化问题。

这篇文章是直接将多尺度的上下文信息整合到这个end2end的网络中,使其在每个图像位置能够利用到正确的上下文。

Scale-Aware Contextual Features

这些带有尺度信息和上下文信息的featrue map是怎么得到的呢?

网络的前10层用的是预训练好的VGG16的前10层,输出的特征图为

论文学习:Context-Aware Crowd Counting

F v g g \mathcal{F}_{vgg} Fvgg的局限性在于它在整个图像上编码相同的感受野。为了解决这个问题,作者通过执行Spatial Pyramid Pooling从VGG特征中提取多尺度上下文信息来计算scale-aware特征。

论文学习:Context-Aware Crowd Counting

s j s_j sj:最终得到的featrue map

j j j:尺度

θ \theta θ:网络参数

P a v e ( ⋅ , j ) P_{ave}(·,j) Pave(,j) :将VGG输出的特征图平均为 k ( j ) × k ( j ) k(j)×k(j) k(j)×k(j)个blocks

F j F_j Fj:一个kernel size为1的卷积网络,用于在不更改其尺寸的情况下跨通道组合上下文特征

U b i U_{bi} Ubi:双线性插值,用于将上下文特征数组上采样为与 f v \mathrm{f}_v fv相同的大小

使用S = 4个不同的比例,并具有相应的块大小 k ( j ) ∈ { 1 , 2 , 3 , 6 } k(j)∈\{1,2,3,6 \} k(j){1,2,3,6},因为与其他设置相比,它显示出更好的性能。

使用scale-aware特征的最简单方法是,将所有这些功能连接到原始VGG功能 f v \mathrm{f}_v fv。但是,为了更好地对尺度信息进行表征,作者先预测了权重图,来表示每个空间位置上,每个尺度的权重。

论文学习:Context-Aware Crowd Counting

它们捕获特定位置的特征与附近特征之间的差异,这通常是表示显着性的重要视觉提示。我们把 c j c_j cj作为输入,输入到一个权重为 θ s a j θ^j_{sa} θsaj的辅助网络中,来计算分配给不同scale S的权重$ w_j$,

论文学习:Context-Aware Crowd Counting

F s a j F_{sa}^j Fsaj是一个1*1的卷积层,后面跟着一个sigmoid函数避免除零。然后,我们使用这些权重来计算最终的上下文特征,

论文学习:Context-Aware Crowd Counting

其中[·|·]表示通道级联操作,⊙是权重图和特征图之间的元素级乘积。

Geometry-Guided Context Learning

论文学习:Context-Aware Crowd Counting

由于透视失真,适用于每个区域的上下文范围在整个图像平面上会有所不同。因此,场景几何与上下文信息高度相关,可用于引导网络更好地适应其所需的场景上下文。

为此,用透视图 M i M_i Mi表示图像 I i I_i Ii的场景几何,该透视图对图像中的像素进行编码,与原图有相同的分辨率,将其输入到截断的VGG16中。

为了将几何信息进一步传递到网络后面的阶段,使用上述所说的更改后的VGG特征,作为辅助网络的输入。

论文学习:Context-Aware Crowd Counting

Training Details and Loss Function

无论是否利用到了透视的几何信息,作者都使用了L2 loss

论文学习:Context-Aware Crowd Counting

关于 D i g t D_i^{gt} Digt的获得,同样用到了高斯核来做模糊处理

论文学习:Context-Aware Crowd Counting

其中,μ和σ表示正态分布的均值和标准差。

在最小化损失的时候,对于大小变化的数据集,采用批次大小为1的随机梯度下降SGD,对于固定大小的数据集,采用Adam优化。

在训练期间,在不同的位置随机裁剪原始图像大小的1/4图像块,这些图像块被进一步镜像,以此增广数据。

Experiments

论文学习:Context-Aware Crowd Counting