ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Countin论文笔记

概述

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

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

ICCV2019 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Countin论文笔记

如图所示,文章展示了多种不同的特征融合方式。前几张图片表示了从低到高或从高到低的单向融合,这样的方式都会产生一定的负面作用,不利于网络的表达。因此作者提出了一种双向特征融合的方式,将低层特征融合到高层,也将高层特征融合到低层。但类似图e中的方式一个方向仅仅提供了一条融合的支路,因此作者最终采用了一种multi level的融合方式,能对低层和高层特征进行更好地利用。网络的最终结构如下,backbone依旧是使用了VGG16.

Attention fuse module 将融合厚的四个特征作为输入,每个特征得到一个attention map再与输入的对应特征进行相乘后concat ,用一个1×1的卷积得到最终的输出密度度。

SCFB则对两个特征的支路进行相互的参差学习,类似于HRNET中的记过,这样能使不同的层学到不一样的特征而不必学习一些冗余信息,减轻了网络的负担。

本文的创新点在于multi level 的特征双向融合的思路,并且这样的融合也有不错的效果。