其他分享
首页 > 其他分享> > Multi-Scale Body-Part Mask Guide Attention for Person Re-identification

Multi-Scale Body-Part Mask Guide Attention for Person Re-identification

作者:互联网

Multi-Scale Body-Part Mask Guide Attention for Person Re-identification

论文:Multi-Scale Boyd-Part Mask Guide Attention for Person Re-identification

论文链接:MMGA

代码:

摘要

背景:由于人的姿态变化,不同的光照、遮挡、错位、背景杂乱等原因,对人的重识别仍然具有挑战性。

贡献:文中提出了一种多尺度身体局部语义掩模引导注意力网络(MMGA),可以联合全身和局部的注意力,帮助提取全局和局部特征。在MMGA 中,使用身体部位的语义掩模信息来指导相应位置注意力的训练。

模型评估:实验结果表明,该方法可以有效的降低人的姿态估计、不对称和背景杂波的影响。该方法在Market1501数据集实现 rank-1/mPA 的 95%/ 87.2%,在DukeMTMC-reID数据集上实现 rank-1/mAP的89.5% / 78.1%,优于当前的最新方法。

引言

最近的一些研究表明,定位身体重要部位并学习这些信息区域的有鉴别性的特征,可以减少背景杂波和遮挡的负面影响,从而提高ReID 的精度。受到人视觉系统的启发,采用人体掩模指导注意模型训练,将人体从背景中分割出来,然后利用二值掩模对注意力网络进行引导,但通过整个人的掩模来引导注意力可能会抑制局部具有较强反应的有信息的身体部位区域。为此,文中引入了一个多尺度的人体局部掩模引导注意网络。将遮体分为上半身遮体和下半身遮体,分别用于指导上半身注意和下半身注意的训练。如图1所示,提出的网络可以学习全身注意、上半身注意和下半身注意。并且只在训练阶段需要掩码,从而在推理阶段节省了大量的时间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kwvy4wcX-1606301579944)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125114201560.png)]

网络结构

网络中有两个注意力模块,第一个注意力模块仅由全身掩模引导训练,第二个注意力模块有三个分支,第一个分支由全身掩模引导,第二个分支由上半身掩模引导,第三个分支由下半身掩模引导。网络结构图如图3示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NBNgyx19-1606301579946)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125114812256.png)]

1、总体结构

网络使用resnet50 作为主干网,经最后一个空间下采样操作删除,得到更大的feature map,在主干网络末端,采用全局平均池化层和线性层来降低特征的维数,全局特征尺寸减小到1024个,上身尺寸和下身尺寸减小到512个。

2、注意模块

注意模块由空间注意力和通道注意力组成,使用人体掩模指导空间注意力的训练,如下图4,注意力模块的输入是一个三维张量X∈Rhinx winx cin,输出是一个三维张量A∈Rhoutx woutx cout.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OLCmcxpX-1606301579951)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125120457800.png)]

空间注意力

由三个卷积组成,第一卷积层的输入通道大小为Cin。其输出通道大小为Cin/s,其中s为空间注意减少超参数。第一个卷积层的内核大小为1。对于第二层卷积层,输入通道大小为Cin/s,输出通道大小为Cin/s2,内核大小为1。最后一个卷积层的输入通道大小为Cin/s2,输出通道大小为1,内核大小为1。经过三个卷积层后,空间注意力输出采用sigmoid 函数激活处理。由于resnet50在stage3 阶段有一个下采样,在第一个注意力模块第一层卷积和第二层卷积之间使用平均池化,是第一个注意力模块的输出与stage3的输出尺寸相等。

通道注意力

通道注意力和SENet 一样,详情看SENet。

空间注意力和通道注意力按元素的乘法组合起来,A = S X C,然后和feature map 逐元素相乘。

在图4中可以看出,利用掩码对注意力进行监督,其实只对空间注意力进行了指导训练,而没有对通道注意力进行指导训练。

3、Multi-scale Body-part Mask Guided Attention

文中的Multi-scale Body-part Mask Guided Attention 既能提取全局信息特征,又能兼顾局部判别特征。全身注意力、上半身注意力和下半身注意力分别由全身、上半身和下半身引导。

文中设计了两个注意模块,第一个注意力模块用于过滤背景影响,第二个注意模块精确提取全身特征、上身特征和下身特征。第一个注意模块利用主干resnet50的stage2 的输出作为输入,注意模块的输出和主干stage3的输出特征进行element-wise 乘法,然后作为第二注意模块的输入,第二而注意模块分为3个分支,第一个分支由全身掩模引导,作为全身的注意力,帮助提取全身特征;第二个分支注意上半身,通过上半身掩模来引导训练,提取上半身特征;第三个分支注意下半身,通过下半身掩模的引导,来提取下半身的特征。这三个注意分支的输出与主干resnet50 的第stage 4 的输出特征进行元素上的乘积乘法.

4、loss 函数

为了学习注意图,引入了掩模引导下的注意损失loss。使用 softmax 损失用于分类和 Triplet loss 用于度量学习。总损失是掩模引导注意力损失、交叉熵损失和Triplet loss损失的总和。

(1)Mask Guided Attention Loss: 掩模损失被用来训练空间注意力,首先将空间注意力进行归一化,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XiwTZEAg-1606301579955)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125133119658.png)]

然后对掩模和注意力做均方误差来计算注意力损失。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UodfPByq-1606301579958)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125133258416.png)]

M 是调整大小后的掩模,nbatch为训练的批次数量。

掩模引导下的注意力损失总量是四个部分的总和:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fp3N9FtV-1606301579961)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125133444075.png)]

使用 λ来平衡全身掩模引导注意力丢失和部分掩模引导注意力丢失。

(2)Softmax Loss: 在网络的最后,通过全局平均池化和线性层化,将全身特征降至1024维,上半身特征降至512维,下半身特征降至512维。上半身特征和下半身特征连接在一起,形成1024维的局部身体部位特征。通过这些全身特征和局部特征,可以用softmax损失来计算全身和局部的损失。损失函数如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntRDXKRY-1606301579962)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125133822862.png)]

(3) Triplet Loss:为了提高精度,我们的方法还采用了三元组损失。将全身特征、上半身特征和下半身特征连接在一起并进行归一化。新特征的维度为2048。在推理阶段也采用了新的特征。损失函数如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pHvkieK4-1606301579965)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125134047453.png)]

综合以上损失,我们最终得到的端到端多尺度局部掩模引导注意网络损失函数如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N0DHT6fM-1606301579967)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125134140797.png)]

λ1 和 λ2 被用来平衡不同的损失。

Experiments

1、语义分割网络使用的是JPPNet 网络,可分割出头部、手、手臂、腿等20个不同的身体部位,根据这些人体部位口罩,将整个人体分为上半身组和下半身组。我们之所以只将身体部位划分为这两组,是因为JPPNet模型无法如此准确地生成肢体掩模。当上下身体进一步细分时,会出现很多错误的掩模,或者一些身体部位的掩模不见了。但是,如果可以手工标记身体部位的掩模,或者用更准确的模型生成掩模,我们认为可以得到更好的效果,因为attention模型可以更加关注人体部位的局部细节。

2、数据预处理

采用常用的数据增强方法在人重新识别,所有的图像被调整为384×128。在训练阶段采用水平随机翻转和随机擦除。

3、实验结果

该模型在Market-1501、DukeMTMC-reID 数据集上的实验结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cFEoORqe-1606301579968)(C:\Users\Mr.fei\AppData\Roaming\Typora\typora-user-images\image-20201125165637408.png)]

总结

结果

该模型在Market-1501、DukeMTMC-reID 数据集上的实验结果如下:

[外链图片转存中…(img-cFEoORqe-1606301579968)]

总结

文中提出了一种多尺度的人体局部掩模引导注意网络。注意力模块的训练由全身掩模、上半身掩模和下半身掩模引导。我们的方法可以准确地定位人体的重要部位。实验表明,该方法能显著提高人再识别的准确率,并取得了较好的效果。此外,在本文中,只将人体掩模分为上半身和下半身。我们相信,如果我们能把面具分成更细的细节,我们就能进一步提高重新识别人的准确性。我们把这个实验留作以后的工作。

标签:Body,Multi,Scale,特征,下半身,上半身,模块,掩模,注意力
来源: https://blog.csdn.net/soarflight_ing/article/details/110140224