RethinkingPAR-行人属性识别
论文Rethinking of Pedestrian Attribute Recognition提供了valencebond/Rethinking_of_PAR。
数据
论文中尝试了多个行人属性识别数据集(PETA/RAP/PA100K/RAP2),在分析这些数据集的不足后重新创建了两个数据集:
- PAR\(_{zs}\):基于RAP数据集;
- PETA\(_{zs}\):基于PETA数据集。11241张训练集、3826张验证集、3933张测试集,35个属性。
因为RAP数据集的下载需要经过申请,流程繁琐,所以仅采用了PETA\(_{zs}\)数据集进行实验。
PETA\(_{zs}\)
论文调整了PETA数据集的文件存放,在Rethinking_of_PAR/data/PETA/
提供了标签文件dataset_zs_run0.pkl
,另外PETA的图像数据使用另一个仓库的预处理:
本仓库参考上述实现,将标签文件和图像文件存放在同一路径下:Baidu Drive 密码: 7a1q
1 | . |
属性解析
论文并没有完全采用PETA提供的105个属性,而是选择其中的35个属性标签,具体属性标签以及含义参考PETA (35 in 105)
对于行人属性数据集,依次标注不同区域的属性:
- head region(头部区域)
- 'accessoryHat':配饰帽子
- 'accessoryMuffler':配饰围巾
- 'accessoryNothing':无配饰
- 'accessorySunglasses':配饰太阳镜
- 'hairLong':长发
- upper region(上部区域)
- 'upperBodyCasual':休闲上衣
- 'upperBodyFormal':正式上衣
- 'upperBodyJacket':夹克外套
- 'upperBodyLogo':带有标志的上衣
- 'upperBodyPlaid':格子上衣
- 'upperBodyShortSleeve':短袖上衣
- 'upperBodyThinStripes':细条纹上衣
- 'upperBodyTshirt':T恤衫
- 'upperBodyOther':其他上衣
- 'upperBodyVNeck':V领上衣
- lower region(下部区域)
- 'lowerBodyCasual':休闲裤
- 'lowerBodyFormal':正式裤子
- 'lowerBodyJeans':牛仔裤
- 'lowerBodyShorts':短裤
- 'lowerBodyShortSkirt':短裙
- 'lowerBodyTrousers':长裤
- foot region(脚部区域)
- 'footwearLeatherShoes':皮鞋
- 'footwearSandals':凉鞋
- 'footwearShoes':鞋子
- 'footwearSneaker':运动鞋
- accessory/bag(配件/包)
- 'carryingBackpack':携带背包
- 'carryingOther':携带其他物品
- 'carryingMessengerBag':携带信使包
- 'carryingNothing':无携带物品
- 'carryingPlasticBags':携带塑料袋
- age(年龄)
- 'personalLess30':小于30
- 'personalLess45':小于45
- 'personalLess60':小于60
- 'personalLarger60':大于60
- gender(性别)
- 'personalMale':男性
- others(其他)
训练
模型
参考论文实现,使用resnet50测试PETA\(_{zs}\)数据集,使用pytorch 1.8.1 + torchvision 0.9.1
提供的ResNet预训练模型。
损失函数
Rethink_of_PAR的关键在于损失函数的设计,除了常规的BCELoss以外,论文还设计了加权函数来缓解不同属性标签数据量不平衡的问题。
实验
最好的的训练结果如下,本仓库实验结果和论文保持一致:
Dataset | Model | mA | Acc | Prec | Rec | F1 | |
---|---|---|---|---|---|---|---|
valencebond/Rethinking_of_PAR(Origin Paper) | PETA_zs | ResNet50 | 71.43 | 58.69 | 74.41 | 69.82 | 72.04 |
This Repos | PETA_zs | ResNet50 | 70.374 | 59.106 | 75.239 | 69.822 | 72.429 |
This Repos | PETA_zs | ResNet101 | 71.980 | 59.809 | 75.486 | 70.583 | 72.952 |
更多的实验查看RethinkingPAR/docs/train.md。尝试了多种训练配置,包括
- 不同的图像长宽比(256/192 vs. 256/128);
- 不同的训练预处理(w/wo Pad+RandomCrop);
- 不同的批量大小(64 vs. 256)。
从训练结果来看,
- 最好的图像缩放比例为
256/192
; - 对于更大模型(resent101),可以采用更丰富的图像预处理实现;
- 批量预处理的提高对模型性能没有提升。