1.网络结构
(1)backbone(…conv3,conv4,conv5),尺寸压缩到1/16,输出层数为C,不确定,要看用什么backbone
(2)attention head应该是将backbone输出的C通道的feature map转化为3通道的feature map,经过不改变通道数的上采样,产生1/4原图大小的3个mask,每个mask是归一化的
(3)regression head应该是输出单通道的卷积操作,经过上采样,产生density map
(4)所有的上采样采用bilinear
(5)M1,M3,M3三个mask分别于D1,D2,D3三个density map进行相乘,再求和,产生一个合成的density map,最后经过上采样,得到最终预测的density map DF
2.Contribution
本文focus on在使得网络能够适应不同尺度的人头
本文分析,不同尺度来自于两个原因,1.同一张图片中,由于远近造成的近大远小,2.同一场景,由于拍摄图片的分辨率,造成的人头大小,对于分辨率问题,文章同一resize到1920x1080,
对于近大远小问题,采用
(1)backbone产生多个density map,配合多个mask的attention,产生一个综合的density map
(2)认为backbone前面层产生的density map比较注意小人头,后面的层产生的density map感受野较大,比较注意大人头,所以采用scale-aware loss:
这里的Sk(i,j)是每个人头用一个全1的圆表示的segmentation的mask,而background则是全0,对于density map D1,采用较小的圆半径,对于density map D2,D3,依次增大圆半径,让D1,D2,D3分别关注不同尺度的人头
最后一层输出的loss,就是普通的MSE loss
最终的loss:
(3)新的ground truth的制作方法,结合head detection和adaptive-geometry的counting ground truth的制作方法,
对于近处,如果人头能检测到,那么该人头的半径评估如下:
取两种方法的较小值,如果检测不到人头,那就直接用adaptive-geometry的结果,即ηGA基本上对于远处人头影响不大,这样做主要克服了近处分散的大人头用adaptive-geometry会偏大的问题
3.Experimet
采用了VGG16的backbone,比较三种contribution的效果,发现采用Multi density map+Mask-attention即(+M),以及Img Res(resize到1080P),带来的效果最明显,加了scale-aware loss效果不明显
4.评价
最大的亮点在于在backbone中就产生多个density map,最后进行叠加,但是,他们产生mask没有用segmantation ground truth,其实可以用不同人头大小的segmentation ground truth去进行不同的mask的训练,再与不同的density map进行结合