人群计数 ICCV2019 Crowd Counting with Deep Structured Scale Integration Network (DSSINET)
Crowd Counting with Deep Structured Scale Integration Network
概述
本文介绍了ICCV 2019中的Crowd Counting with Deep Structured Scale Integration Network一文。
由于人群计数的数据中,人群的数目存在着较大的变化,因此一种做法是提炼图片不同尺度的特征进行融合,但在人群计数中许多的做法仅仅是对主干网络不同层级的特征进行融合。而这篇文章中使用了多个子网络,使用不同尺寸的图片作为输入来得到不同尺度的特征,对这些特征又提出了使用CRF来融合。
网络结构
网络结构如下图所示,backbone依然采用VGG16,而值得注意的是,网络由三个子网络组成,每个子网络输入图片的大小分别为原图的2倍,原大小和0.5倍大小。不同大小的图片通过不同数量的下采样子模块,在输入SFEM结构时,特征具有相同大小的尺寸。
网络中创新的部分主要在SFEM模块中,它将两个子网络的特征作为输入,融合后的特征作为输出。融合的过程借鉴了CRF的思想。由势函数:
可转换为:
其中的可看做是将特征传向的参数,在我们的网络中它自然就是一个卷积层。实际中文章使用了1*1的卷积,将i特征投影到j,反之也将j特征投影到i,然后与两条支路原本的特征相加,再将得到的特征进concat与之前上采样的输入结合作为M0,M1等子图。
同时文章还提出了一种损失函数,将M0和对应的GT密度图输入到一个多层的参数固定的空洞卷积网络(DMS-SSIM network)中,将对应从这个网络中输出的特征来计算SSIM LOSS。
实验结果
实验中,从图片中随机裁剪出224*224大小的子图作为输入,batch size为16,使用Adam作为优化器。这个网络在多个数据集上的表现都非常优异:
这篇文章还是颇具创新点的,使用了多个尺寸的图片作为输入来得到多尺度的特征。利用CRF的思想来结合特征,也提出了利用空洞卷积来计算SSIM LOSS,这一思路与风格迁移中的损失有些许相近的意味。作者也开源了代码。