师兄ICCV的论文哈哈。有人问到了模型效率问题,参数量还可以,但是flop很多,速度比较慢。实验室的另一个工作讨论了crowd counting的一些模型的运行效率:
Efficient Crowd Counting via Structured Knowledge Transfer
DSSINet overview
模型非常清晰,三个不同分辨率的图片经过三个网络支干,不断进行卷积&下采样,融合不同支干网络的特征,并小特征不断进行上采样再与之前的特征融合(类似FPN的模型流程)。
三条网络,最后一层都是VGG中的Conv4_3
本文主要贡献在:
- 特征的融合方式上,不是简单的加权叠加或者通道拼在一起。
使用了基于CRFs的Structured Feature Enhancement Module(图中的SFEM)
- 一种在不同尺寸下,对局部区域输出高质量density maps的loss计算方式—— a Dilated Mul-tiscale Structural Similarity loss
模块分析
论文中3.1节overview中表述了SFEM模块的作用,
下面具体介绍
SFEM
SFEM在不同scale,refine the features,并与CRFs model具有互补性
用CRFs model将特征refine:
然后这是特征融合方式???
就是这样稍微数学一点的融合方式??
反正最后,得到了这样的一个迭代公式(7):
f
i
f_i
fi都是初始特征(论文中i=0,1,2),他们之间利用公式(7)相互迭代融合n次,最终得到若干个最终状态
h
i
n
h_i^{n}
hin,作为融合后的特征。
其中迭代时的参数
w
j
i
w_j^{i}
wji是可学习的,代表了 information content passed from
f
j
f_j
fj to
f
i
f_i
fi .
w
j
i
w_j^{i}
wji是一个1x1的conv:
(how to train an iterative model???)
这种特征融合方式优点是比较稳:
DMS-SSIM loss
对每个像素周围的一定区域计算prediction和GT之间的相似性
SFEM融合完得到的最终特征为
X
0
X_0
X0, GT是
Y
0
Y_0
Y0,
用DMS-SSIM网络来计算二者的loss:
DMS-SSIM是一个若干层的空洞卷积(使用固定且共享的高斯核参数)
得到的不同层级的特征可以用公式(8)表示:
空洞卷积会扩大感受野,这样后面层级的特征,每个像素的相当于融合了附近多个scale,这样再计算loss可以在不同scale都取得很好效果
然后对多个层级特征,应用一些统计学指标来度量相似性:
再进行处理得到最终loss: