论文:https://arxiv.org/pdf/2005.11909v2.pdf
代码:https://github.com/valencebond/Strong_Baseline_of_Pedestrian_Attribute_Recognition

1 论文

本文分析了行人重识别常用数据集PETA和RAP的缺陷,对数据集进行了修正,得到了 P E T A z s PETA_{zs} PETAzs​和 R A P z s RAP_{zs} RAPzs​两个数据集。并且作者提出了强的baseline模型已经具有了很好的属性定位能力,无需使用额外的注意力机制或STN进行关注区域定位。

PETA和RAP数据集的缺陷

PETA和RAP数据集中最大的缺陷是,训练集中和测试集中包含了同一人的图像且图像间的差异很小,如Fig. 1(a)(b)所示,这和实际的项目应用场景是不符的。这会造成各算法的测试结果优于其实际应用结果,如Fig. 2所示,作者使用PETA测试数据集中不同重叠度的数据子集进行测试,可以明确发现当训练集和测试集没有人员重复时,模型的准确率会显著下降
修正PETA和RAP数据集

作者统计了原有PETA数据集划分方式下,训练集和测试集中来自于同一人的数据重复情况,如Fig. 3(a)所示,可以看出训练集和测试集中出现了很多的同一人的情况,具体是在训练集和测试集中,有1106个人重复出现,占测试集总人数的26.91%,重复出现的人的总图像量占总测试集的57.7%。而在实际应用中,基本上不会出现训练集和测试集是同一人的情况,Fig. 2也给出了,在PETA数据集上,如果只用不重复人的测试图像进行模型测试,精度相比使用现有的测试集会下降很多,所以非常有必要对现有的数据集进行修正。
作者提出了下面五个原则进行数据集的修正:

I I I是指Identity,指人数;N是图片数量;R是指各属性正样本的比例;T指阈值。

1,2,3是为了保证训练、验证和测试集分别包含的是不同人的图像,比例为3:1:1,且验证集中包含的人数和测试集包含的人数差异要小于 ∣ I a l l ∣ × T i d |I_{all}| \times T_{id} ∣Iall​∣×Tid​, T i d T_{id} Tid​设置为0.01;

4,5是为了保证训练集和测试集的属性分布(不理解作者的意图), T i m g T_{img} Timg​设置为300, T a t t r T_{attr} Tattr​设置为0.03.

作者按照上述五条规则对PETA和RAP数据集进行了重新划分,得到了 P E T A z s PETA_{zs} PETAzs​和 R A P z s RAP_{zs} RAPzs​数据集,如下表所示:
Baseline

数据集

N表示图像数量,M表示属性数量, y i y_i yi​表示各图像的属性label,这里是默认按照对各属性进行二分类判别的。

损失函数

因为把行人属性识别看成了是多个二分类问题,因此采用sigmoid激活函数,损失函数表示为:
w j w_j wj​是为了解决属性不均衡问题引入的参数,可以表示为:

r j r_j rj​表示训练集中第 j j j个属性为正的比例值。

度量标准

采用了五个度量标准:

  • 一个基于label的标准(mA),计算各属性的正样本和负样本分类的准确率的均值;
  • 四个基于instance的标准,分别是Acc、P、R和F1;
  • 主要使用mA和F1作为度量标准;

训练细节

  • 骨干网络:ResNet50
  • 输入图像大小:256 * 192,使用随机水平镜像
  • SGD,momentum=0.9,weight decay = 5e-4
  • 初始学习率 0.01
  • batchsize = 64
  • plateau学习率衰减策略,衰减比例0.1
  • 训练30个epoch

实验结果
existing表示原有数据集;zero-shot表示处理后的数据集,也就是 P E T A z s PETA_{zs} PETAzs​。

在原有数据集上的对比,也可以作为各算法的效果对比。有三点发现:

  • PA100K中训练集和测试集人员重叠较少,结果更可信;
  • 作者使用ResNet50比MsVAA效果更好,后者使用ResNet101,参数量更多;
  • 相比于VAC,使用了更多的数据增广策略,网络上也有两个额外的分支网络,作者使用ResNet50参数量少,但效果相当;
  • 将线性分类器替换为基于余弦距离的分类器,模型的效果可以小幅度提升;
  • 对各属性 分类器的权重进行归一化可以使其独立于正样本,有助于提升性能。

作者实现的baseline效果更好的原因是,一个效果更好的baseline可以进行更好地进行感兴趣区域的定位。作者用GradCAM测试了其方法定位的感兴趣区域,发现已经很准确了,所以无需使用额外的注意力机制了。

2 代码分析

作者使用了四个trick,分别为:

  • sample-wise loss not label-wise loss;

    loss = loss.sum() / batch_size if self.size_average else loss.sum()
    
  • big learning rate combined with clip_grad_norm;

    clip_grad_norm_(model.parameters(), max_norm=10.0)
    
  • augmentation Pad combined with RandomCrop;

    train_transform = T.Compose([T.Resize((height, width)),T.Pad(10),T.RandomCrop((height, width)),T.RandomHorizontalFlip(),T.ToTensor(),normalize,])
    
  • add BN after classifier layer.

    self.logits = nn.Sequential(nn.Linear(2048, nattr),nn.BatchNorm1d(nattr))
    

其余的也就是正常的训练resnet模型。

Rethinking of Pedestrian Attribute Recognition: Realistic Datasets and A Strong Baseline相关推荐

  1. Pedestrian Attribute Recognition

    目录 行人属性识别主要挑战 数据集 RAP PETA PA-100k 评价指标 mA example-based evaluation 主流方法及未来方向 相关工作 HydraPlus-Net: At ...

  2. Pedestrian attribute recognition: A survey

    Pedestrian attribute recognition: A survey Pedestrian attribute recognition: A survey 1 引言 2 问题表述和挑战 ...

  3. 计算机视觉论文-2021-07-09

    本专栏是计算机视觉方向论文收集积累,时间:2021年7月9日,来源:paper digest 欢迎关注原创公众号 [计算机视觉联盟],回复 [西瓜书手推笔记] 可获取我的机器学习纯手推笔记! 直达笔记 ...

  4. 人群计数数据集汇总和详细介绍,全网最全,crowd counting datasets

    Crowd Counting数据集汇总 视频监控=video surveillance https://github.com/gjy3035/Awesome-Crowd-Counting/blob/m ...

  5. paper reading——《Improving Person Re-identification by Attribute and Identity Learning》

    ##这篇文章是关于利用行人属性提升行人再识别 论文链接:https://arxiv.org/pdf/1703.07220.pdf ###摘要 行人再识别(reid)和属性识别有着一个共同的目标是描述行 ...

  6. 【今日CV 计算机视觉论文速览 第124期】Tue, 4 Jun 2019

    今日CS.CV 计算机视觉论文速览 Tue, 4 Jun 2019 Totally 62 papers ?上期速览✈更多精彩请移步主页 Interesting: ?FE-GAN)于多尺度注意力机制的时 ...

  7. 计算机视觉论文-2021-06-14

    本专栏是计算机视觉方向论文收集积累,时间:2021年6月14日,来源:paper digest 欢迎关注原创公众号 [计算机视觉联盟],回复 [西瓜书手推笔记] 可获取我的机器学习纯手推笔记! 直达笔 ...

  8. 图片人群计数模型代码运行指南

    PaperWithCode 八大数据集模型排名:https://paperswithcode.com/task/crowd-counting 搜索关键词 "人群计数"(crowd ...

  9. 【AAAI 2020】全部接受论文列表(三)

    来源:AINLPer微信公众号(点击了解一下吧) 编辑: ShuYini 校稿: ShuYini 时间: 2020-01-22 最近武汉肺炎形势严峻,请小伙伴们带好口罩,做好防护,大家新年快乐~    ...

最新文章

  1. php实现 统计输入中各种字符的个数
  2. 数据库技巧——MySQL十大优化技巧
  3. TCP/IP协议(三次握手)
  4. CTE 中字符串拼接
  5. [转]Win下必备神器之Cmder
  6. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 能支撑10万以上客户端的数据同步下载问题...
  7. R语言实战应用精讲50篇(十三)-如何使用JAVA调用R语言,两种语言的完美结合
  8. boost::bucket_sorter用法的测试程序
  9. HTML中行内元素与块级元素的区别
  10. 最大公约数 和 最小公倍数
  11. 分类算法python程序_分类算法——k最近邻算法(Python实现)(文末附工程源代码)...
  12. git rebase 修改提交信息
  13. 盘一盘 Spring 核心技术之依赖注入 | 原力计划
  14. 计算机系统大作业-程序人生
  15. Android进阶之路(快速进阶第二天)RxAndroid使用
  16. 禾川Q1控制器连接威纶通显示屏
  17. C#中 //TODO: 的用法
  18. 51单片机驱动ESP8266
  19. slack 使用说明_我如何使用Slack作为自己的个人助理
  20. CEVA-Xx_V17.1.0_64b安装步骤

热门文章

  1. 做什么,怎么做?(20210615)
  2. 吴恩达深度学习课程笔记-3
  3. AD域用户与组管理 CSVDE批量创建用户
  4. 蓝叠安卓模拟器服务器未响应,蓝叠安卓模拟器常见问题汇总_蓝叠安卓模拟器常见问题解决方法_3DM手游...
  5. ABB阀门定位器调试步骤以及技术特点全面介绍
  6. html中矩形坐标,js怎么根据坐标在图片上画出矩形框?
  7. 如何将一连串图片做成动图?怎么把图片做成gif动态图?
  8. 前端的存储技术cookie、sessionStorage、localStorage
  9. 【第23章】云计算安全需求分析与安全保护工程(软考:信息安全工程师)--学习笔记
  10. 老杳与老杳吧:集成电路社区