(先占坑,已经看完了慢慢写)
ICCV2019的文章,本文着眼于解决scale variation问题,主要创新点和贡献是引入了
- Structured Feature Enhancement Module (SFEM),人称结构化特征增强模块,基于conditional random fields (CRFs)条件随机场。CRF在著名的deeplab系列中的V1被使用。SFEM用于建立不同scale 之间的交流通道。
- Dilated Multiscale Structural Similarity loss,空洞(或称带孔)结构多尺度结构化相似性损失。dilation同样在deeplab中被使用。
Motivation
two-fold
- 不同尺度scale的信息包含了互为补充的不同信息,深层的高阶语义信息,浅层的有低阶的外观细节。有必要使用更有效的模块而非简单的concat来结合不同scale的信息。
- 相同邻域内的人头有近似的分布,同时也存在近大远小的问题。之前常采用的欧式损失函数(L2 LOSS)无法捕捉这个信息因此需要结构化的损失函数。
Method
Overview
有三列并列的子网络,处理不同大小的输入,结构都是用的VGG的前10层,应该是只有一组参数,全部共享(which have the same architecture and share parameters.),分别输入2H*2W,H*W,H/2*W/2尺寸,网络中的features命名规则为
f
i
,
j
k
f_{i,j}^{k}
fi,jk,下标表示VGG中的第几个卷积部分(被池化分为4部分)上标表示第几个,网络中相同大小的features放在一组(Figure 3的纵向)如
{
f
4
,
3
2
,
f
3
,
3
,
3
}
\{f_{4,3}^{2},f_{3,3,}^{3}\}
{f4,32,f3,3,3},作者使用了一个名为Structured
Feature Enhancement Module(SFEM)的结构,利用每一组的其他features的信息完善features,再输入后面的网络。到最后只有一组features,尺寸为H/16*W/16,用1*1conv降维到128channels,然后用3*3网络卷积的到H/16*W/16大小的density map,名为
M
4
M_{4}
M4,这个map尺寸太小了,缺失了人群的密度信息,比如输入是1080*720,输出只有67*45的大小,图像过于模糊和笼统。为了得到分辨率更高的density map,作者继续从小到大再逐步进行分辨率扩张。如,把尺寸为H/16*W/16的
{
f
4
,
3
2
,
f
3
,
3
,
3
}
\{f_{4,3}^{2},f_{3,3,}^{3}\}
{f4,32,f3,3,3}concat后经过与获得
M
4
M_{4}
M4类似的2个卷积,第一个是1*1降channels到128,第二个是3*3用于从features回归得到密度图,得到尺寸为H/8*W/8的
M
3
~
\tilde{M_{3}}
M3~(因为比
M
4
M_{4}
M4少经过一个池化层),然后计算
M
i
=
w
i
∗
M
~
i
+
w
i
+
1
∗
U
p
(
M
i
+
1
)
,
i
=
3
,
2
,
1
,
0
M_{i}=w_{i} * \tilde{M}_{i}+w_{i+1} * U p\left(M_{i+1}\right), i=3,2,1,0
Mi=wi∗M~i+wi+1∗Up(Mi+1),i=3,2,1,0,不断得到分辨率增大的密度图,
w
i
,
w
i
+
1
w_{i},w_{i+1}
wi,wi+1是2个卷积层,
U
p
Up
Up是双线性插值上采样。得到的
M
0
M_{0}
M0分辨率就是H*W了。
Structured Feature Enhancement Module
Dilated Multiscale Structural Similarity Loss
Experiments
效果是有提升的,表格自己看吧,就不放了