人群计数 ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting(MBTTBF)

Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting

概述

  本文介绍ICCV2019中的人群计数文章。人群计数的目标是生成对应图片的人群密度图,在过去的方法中,采用的多尺度特征融合的方式常常是将low level的特征连接到网络的末尾。但本文认为这样的方式可能会影响低层网络的性能。

  由于我们知道,网络的高层常常代表了更丰富的语义特征,但由于多次的池化等操作后失去了空间位置的特征。而网络的低层则更多对应着细节和空间位置等信息。因此一种直观的想法就是将低层的特征和高层的特征进行融合,作为最终特征的输出。过去的研究中常常只采用了单向的特征流动,也就是仅仅将低层的信息融合到高层。这样虽然能恢复一部分空间信息,但是对低层网络的表现能力也会起到严重的负面作用。

网络结构

人群计数 ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting(MBTTBF)_第1张图片
  如图所示,文章展示了多种不同的特征融合方式。前几张图片表示了从低到高或从高到低的单向融合,这样的方式都会产生一定的负面作用,不利于网络的表达。因此作者提出了一种双向特征融合的方式,将低层特征融合到高层,也将高层特征融合到低层。但类似图e中的方式一个方向仅仅提供了一条融合的支路,因此最终作者采用了一种multi level的融合方式,能对低层和高层特征进行更好地利用。网络的最终结构如下。Backbone依旧是使用了VGG16

人群计数 ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting(MBTTBF)_第2张图片
其中的模块结构如下:
人群计数 ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting(MBTTBF)_第3张图片
  Attention fuse module将融合后的四个特征作为输入,每个特征得到一个attention map再与输入的对应特征进行相乘后concat,用一个1*1的卷积得到最终的输出密度图。
  SCFB则对两个特征的支路进行相互的残差学习,类似于HRNET中的结构,这样能使不同的层学到不一样的特征而不必学习一些冗余信息,减轻了网络的负担。

实验结果

  MBTTBF在多个数据集上都取得了优秀的结果,尤其在QNRF这个较困难的数据集上。
人群计数 ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting(MBTTBF)_第4张图片
本文的创新点在于multi level的特征双向融合的思路,并且这样的融合也有不错的效果。

论文地址

下一篇:人群计数 AAAI2019 Almost Unsupervised Learning for Dense Crowd Counting(GWTA-CCNN )

你可能感兴趣的:(深度学习,人群计数)