Boosting Crowd Counting via Multifaceted Attention

MAN(人群计数)

Boosting Crowd Counting via Multifaceted Attention_第1张图片

提出问题:

同一张图片中由于远近关系人头大小可能差异很大,但是标签只有点标注,目前 CNN 和 全局 Attention 是没法很好应对这种尺度差异的;

有些标签位置不太准确,比如应该在人头正中心却标注的有些偏。

因此文章一共提出了三个模块,可学习区域注意力(LRA)局部注意力正则化(LAR)实例注意力损失前两个彼此关联,致力于解决第一个尺度差异问题;最后一个则是针对标签噪声,提出了非常简单却可以推广的损失范式。

解决方法:

提出了一种多方面注意网络(MAN)来改进局部空间关系编码中的transformer模型。MAN将来自vanilla transformer的全局注意力、可学习的局部注意力和实例注意力合并到一个计算模型中。

Boosting Crowd Counting via Multifaceted Attention_第2张图片

首先,提出了局部可学习区域注意(LRA)来动态地为每个特征位置分配独占注意。其次,我们设计了局部注意力正则化,通过最小化不同特征位置的注意力之间的偏差来监督LRA的训练,最后,我们提供了一种实例注意机制,以便在训练期间动态关注最重要的实例。

对于每个图像I,我们首先使用VGG-19作为主干来提取特征然后将特征映射展平并传输到具有所提出的LRA的transformer编码器中,以学习不同尺度下的特征。然后,使用回归解码器预测最终密度图最后,我们使用局部注意力正则化来监督LRA模块的训练,并使用实例注意力丢失来约束整个网络的训练

第一个模块叫做 Learnable Region Attention (LRA),主要思路就是针对每个特征学习一个应该注意的范围,最简单的方式就是整个矩形,毕竟只需要两个点来确定,类似于下面这样子:

Boosting Crowd Counting via Multifaceted Attention_第3张图片

文中公式:

Boosting Crowd Counting via Multifaceted Attention_第4张图片

上边式子代表图 (b),小于该点的地方都置 1,下边式子就代表图 (c),大于该点的地方是 1,最后两者一乘就能得到一个矩形 mask,可以代表其应该注意的范围。

但是这样会有两个问题,一是这样直接预测两个点是不可微的,其次这样形成的 mask 是严格的 0 / 1,其中比如矩阵中心和矩阵边缘注意力是一样的,灵活性很低。

因此本文利用注意力的角度直接预测一整张图然后把它累积积分起来,第一张图从左下到右上累积起来,即左下角值为 0,右上角值为总和;那第二张图就从右下到左上累积,这样其实它们两个重复的范围就可以形成一个区域

Boosting Crowd Counting via Multifaceted Attention_第5张图片

但是可能存在一个问题,就比如如果 ur 那张图大部分值都集中在左下角,那么在累积到左下角之前,其他位置是没有值的。如果 bl 也出现了一样的问题,那最后两者相乘可能就没有重复的范围,最后变成了一张都是 0 的图,不是文章希望看到的。

所以直接再把两个操作反过来一遍:

Boosting Crowd Counting via Multifaceted Attention_第6张图片

上面一行就代表了可能出现的极端情况

第二个模块叫做 Local Attention Regularization (LAR),它的目的就是为了监督前一个可学习的局部窗口 LRA,让它满足人头小时注意力窗口就小一点,人头大时,注意力范围自然也要大一点。这其实是有生理学依据的,人类对多物体注意力的分配其实取决于对它们实际大小的认知,就算在 2D 图片中尺寸差异比较大,但实际上分配给远处和近处同一类别物体的注意力是很相似的。

因此在一个注意力窗口内,人的数量其实应该是差不多的,这样就自然而然地完成了小人头窗口小,大人头窗口大了。模型将从特征层面上来监督这件事,简单点来说,直接让通过 mask 加权平均后的特征尽可能一致就好

Boosting Crowd Counting via Multifaceted Attention_第7张图片

四个颜色分别有一个对应的注意力窗口,经过加权平均特征聚集以后,窗口可以调整正确注意的大小和范围

损失函数

第三个模块就是针对标注错误提出的修正损失,叫做 Instance Attention Loss (IAL),这个损失形式就是对每一个惩罚差值加上一个注意力值

本文只提出了一个最简单的注意力值,就是忽略那些差值过大的,只关注差值合理的前百分之九十,因为本身如果标记错误其产生的误差可能很大。这样公式写出来就是:

文中 delta 取 0.9,就是只监督前百分之九十的差值

实验结果

Boosting Crowd Counting via Multifaceted Attention_第8张图片

你可能感兴趣的:(Crowd,density,estimation,transformer)