人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)

Adaptive Density Map Generation for Crowd Counting

概述

  本文不同与之前的研究,文章针对了人群计数中密度图ground truth生成的问题进行了研究。由于人群计数中图片的标签是人头在图片中对应像素点的位置,这样的标签对于整张图片会非常稀疏。如果直接将其作为标签,网络很难得到一个好的表现。所以一种默认的做法是用高斯核对其进行处理,但核的大小需要自己确定,而核的大小则与图像中人头的大小有关,大的人头通常用大的核,小的人头通常选择小的核。MCNN中尝试采用了人头间距离来得到核的大小。但对于图像视角的关系,近处的人头通常比较大,对于的间距就会比较大,这样可能就会使用了太大的核使得对应生成密度图的大人头位置的值都很小。如果采用固定的核函数,又显得不那么合理。
  也有一些方法认为对于大的人头,采用了检测的方法来确定核的大小,但这样的方法比较繁琐,也依赖检测器的性能。
  所以本篇文章的核心就是针对密度图标签的生成过程进行优化,期望得到密度图的更好的表示,从而帮助网络训练。
  所以本篇文章主要的贡献:
        1.是分析了不同设置的高斯核对网络性能的影响很重要。
        2.提出了一种密度图生成器

提出的方法

  整个系统的组成如下:
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第1张图片
  Counter就是一个正常的人群计数网络,Refiner则是一个能refine原始密度图的网络。初始Loss的定义如下,其中 f f f就是counter, g g g则是refiner, X X X是输入的图片, Y Y Y则是原始的密度图。因此counting loss就是正常的L2 LOSS,只是原始的密度图被替换成了refiner输出的密度图。而refinement loss则是计refine后的密度图与原始密度图的差距。后面这一项的目的是,维持refine后密度图的数目和分布与原始密度图不能相差太大。
在这里插入图片描述
  Refiner和Counter是一起训练的,初始版本训练过程如下:
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第2张图片
  可以看到,Counter和Refiner是依次更新的,Counter根据counting loss更新,而Refiner根据整个Loss来更新。

  Refiner的结构:
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第3张图片
  首先使用原始的标注图片,用不同大小的高斯核生成一组不同的密度图。用这些密度图通过一个self-attention模块生成对应的一组attetion maps,再将这些maps进行融合,得到了Refine后的密度图。
  最终的损失函数如下,Counting loss没有发生什么变化,改变的是loss的后半部分。后半部分变成了对refine后密度图和原始点图中人数的差距,这样使得refine后的密度图与原始点图保持了一定的相似。
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第4张图片
  网络的更新过程也发生了一定的变化,generator就是原本的Refiner,此时会更新多次generator再更新依次Counter。在实验中这样能取得更好的结果。
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第5张图片

实验结果

  实验比较了不同kernel对网络性能的影响,文章提出的方法对多个网络的性能都有提升。
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第6张图片
  网络生成的密度图的结果如下,效果见仁见智吧。文章中给出的结果大多都比较不错。
人群计数 ICCV2019 Adaptive Density Map Generation for Crowd Counting (ADMG)_第7张图片
  总而言之,本文还是非常有创新意义的。它提供了一种另外的思路,让我们能注意到label生成的影响。在这个思路上可能可以有更多的工作进行。

论文地址

上一篇:人群计数 ICCV2019 Crowd Counting with Deep Structured Scale Integration Network (DSSINET)

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