行人属性识别通常包含了多个属性的识别,如 gender, age, coat, trousers, luggage 等。在实际项目中我们发现,相比于人脸属性,行人属性识别具有其自身特点,难度更高:
- 部分属性仅和人体的部分区域相关,如上衣长短袖仅和人体上半身相关;
- 训练样本较难,主要表现为部分身体和遮挡 (如某些人体只有上半身或下半身,同一人体 bbox 中出现多个人体);
- 错标、歧义标签占比大 (实际场景中 > 30%);
- 某些样本标签丢失;
- 样本的类别分布不平衡;
- 某些属性是多分类,某些属性是二分类,不能简单地将多分类问题转化为二分类问题的;
- 某些属性占整张图片的区域过小,如墨镜,正脸情况下的双肩包预测;
归结起来,可以用如下几个关键词描述行人属性识别中遇到的挑战:
- Occlusion
- Trunction
- Imbalance
- Noisy Label
- Label Missing
在算法设计中比较简单粗暴的思路是每个属性采用独立模型,可以想见当属性很多时,即使是小模型, 高性能 GPU 都未必能够处理过来. 所以更具有可扩展性的做法是当成多任务 (multi-task) 或者多标签 (multi-label)学习. 特别地,当某些属性包含多个类 ($\geq3$) 时, 采用 multi-task learning 更合理。
基于多任务学习的属性识别面临诸多挑战,比如哪一层开始作为 share layer 开始分支, 不同任务之间 loss 的权重问题, 总结起来所面临的挑战包含如下几个方面:
- Networks Structure
- Adaptive Loss
- Class Imbalance
- Missing Labels
针对如上说列举的一些挑战, 也有相关文献提出了相应的解决方案. 但到目前为止, 还未看到哪一篇文献对以上问题进行了综合解决, 也许这只是一个工程问题, 大佬们都不屑于解决这样琐碎的问题 :yum::yum::yum:. 但是在产品落地的过程必须要解决这些问题.
Appendix
行人属性识别相关资源。
Projects
WPAL-network
- paper: Weakly-supervised Pedestrian Attribute Localization Network
- code: https://github.com/YangZhou1994/WPAL-network
HydraPlus-Net
- paper: HydraPlus-Net: Attentive Deep Features for Pedestrian Analysis
- code: https://github.com/xh-liu/HydraPlus-Net
VeSPA
- paper: Deep View-Sensitive Pedestrian Attribute Inference in an end-to-end Model
- code: https://github.com/asc-kit/vespa
SRN
- paper: Learning Spatial Regularization with Image-level Supervisions for Multi-label Image Classification
- code: https://github.com/zhufengx/SRN_multilabel
Dataset
RAP
RAP 共有 41585 个行人样本,包含 72 个属性,为室内场景。
该数据集需要申请。
PA-100K
- PA-100K 包含 100k 的行人图片,26 个常见属性 (如全局属性:性别,年龄等;物体级别属性手提包,电话,上衣等)。
- 图片源于室外监控视频,采集方式为跟踪行人轨迹,并随机分配到不同的文件夹,从而保证行人ID 和属性独立。
PETA
Download: https://www.dropbox.com/s/52ylx522hwbdxz6/PETA.zip?dl=0
PETA 包含 19k 图像,分辨率从 17x39 至 169x365. 共 8705 个行人,具有 61 个二值属性和 4 个多分类属性。
Evaluation
- Reference: Li, D., Zhang, Z., Chen, X., Ling, H., & Huang, K. (2016). A richly annotated dataset for pedestrian attribute recognition. arXiv preprint arXiv:1603.07054.
- code
indicators
- mA (mean Accuracy)
where $L$ is the number of attributes; $P_i$ and $TP_i$ are the numbers of positive examples and correctly predicted positive examples, respectively; $N_i$ and $TN_i$ are the numbers of negative examples and correctly predicted negative examples, respectively.
- Accuracy, Precision, Recall and F1